TDC-GP1 - acam messelectronic gmbh
Transcrição
TDC-GP1 - acam messelectronic gmbh
TDC-GP1 Universeller 2-Kanal TDC 2 Kanäle 250ps / 1 Kanal 125ps Auflösung Funktionsbeschreibung 18.12.2003 acam - solutions in time Precision Time Interval Measurement TDC-GP1 Zum Aufbau der Funktionsbeschreibung Inhaltsverzeichnis Zum Aufbau der Funktionsbeschreibung .............................................................. 3 1. Der GP1 im Überblick 4 Was ist ein TDC ? ............................................................................................ 4 1.2 Hauptmerkmale des TDC-GP1 ...................................................................... 4 1.3 Prinzipschaltbild des GP1 ............................................................................ 5 1.4 Messungen im Messbereich 1 ...................................................................... 6 1.5 Messungen im Messbereich 2 ...................................................................... 7 1.6 Die R-L-C Einheit ....................................................................................... 7 1.7 Der High Resolution Modus ......................................................................... 7 1.8 Der Resolution Adjust Modus ...................................................................... 8 1.9 Kalibration des GP1 ................................................................................... 8 1.10 Haupt-ALU und Vor-ALU ........................................................................... 8 1.11 Ausgangsregister .................................................................................... 9 1.12 Einstell- und Werteregister ....................................................................... 9 1.13 Rechnerschnittstelle ................................................................................ 9 1.14 Sonstige Funktionen des GP1 .................................................................. 10 2. Der GP1 im Detail 11 2.1 Vorbemerkung ......................................................................................... 11 2.2 Die Lese- und Schreibregister des GP1 ...................................................... 11 2.2.4 Initialisierung ....................................................................................... 16 2.3 Messen im Messbereich 1 ......................................................................... 17 2.4 Messen im Messbereich 2 ......................................................................... 20 2.5 Messen im Resolution Adjust Modus .......................................................... 23 2.6 Zuschalten des High Resolution Modus ....................................................... 27 2.7 RLC-Messung .......................................................................................... 29 2.8 Kalibration des GP1 ................................................................................. 33 2.9 Berechnungsmöglichkeiten mit dem GP1 ..................................................... 34 2.10 Die Rechnerschnittstelle......................................................................... 38 2.11 Sonstige Funktionen des GP1 .................................................................. 40 3. Anwendungsbeispiele 46 3.1 Applikationsbeispiel 1 ............................................................................... 46 3.2 Applikationsbeispiel 2 ............................................................................... 47 3.3 Einzelmessung im Messbereich 2 ............................................................... 48 3.4 Multihit: Auslesen mehrerer Hits ............................................................... 48 4. Messergebnisse und Diagramme 49 4.1 Was bedeuten Auflösung und Genauigkeit ? ................................................. 49 4.2 Standardabweichungen des TDC-GP1 .......................................................... 49 4.3 Offsetfehler des GP1 ................................................................................ 50 4.4 Systematische Fehler des GP1 .................................................................. 50 4.5 Histogramme .......................................................................................... 51 5. Bekannte Probleme und deren Lösung 53 5.1 Kalibrierwertgenerierung .......................................................................... 53 5.2 Fehler der ALU Berechnung ................................................................... 54 5.3 Retrigger ................................................................................................ 55 6 Letzte Änderungen 56 Kontakt ........................................................................................................ 56 7. Quick Reference 57 7.1Electrical Characteristics .......................................................................... 57 7.2 Pin Description ........................................................................................ 57 7.3 Timings ................................................................................................... 57 7.4 Registers ............................................................................................... 58 acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 2 TDC-GP1 Zum Aufbau der Funktionsbeschreibung Zum Aufbau der Funktionsbeschreibung Diese Funktionsbeschreibung des GP1 gliedert sich in 5 Hauptabschnitte. Sie ist so aufgebaut, dass man beim Arbeiten und Entwickeln mit diesem Baustein ein Informations- und Nachschlagewerk zur Hand hat, das möglichst alle Fragen beantworten kann, ohne dass die gesuchte Detailinformation in der Menge der anderen Informationen ertrinkt. Es sind dabei einige wichtige Informationen mehrfach in der Funktionsbeschreibung aufgeführt um dauerndes Herumblättern und Suche zu vermeiden. Die 5 Hauptabschnitte sind ! Der GP1 im Überblick Dieser Hauptabschnitt gibt einen Überblick über die vielfältigen Funktionsmöglichkeiten des GP1 ohne auf die einzelnen Funktionen im Detail einzugehen. Hier findet man alles Wissenswerte um die prinzipielle Einsetzbarkeit für eine geplante Messaufgabe abschätzen zu können. Ein lesenswerter Abschnitt für all diejenigen, die sich das erste Mal mit diesem Baustein beschäftigen, oder die sich für eine neue Entwicklung einen kurzen Überblick verschaffen wollen. ! Der GP1 im Detail Hier wird detailliert auf die Funktionen des Bausteines und deren Handhabung eingegangen. Die vielfältigen Möglichkeiten sind umfassend erläutert. Hier kann der Entwickler die Informationen finden, die er für eine Schaltungs- und Softwareentwicklung benötigt. ! Anwendungsbeispiele, Applikationshinweise Hier werden an einigen konkreten Beispielen die Beschaltung und die Ansteuerung des GP1 erläutert. ! Messergebnisse und Diagramme Grau ist alle Theorie - oder - erzählen kann man viel. Wie gut ist der GP1 eigentlich wirklich? Hier lässt der GP1 die Hosen runter und zeigt dem Anwender was in ihm steckt und zwar auch bzgl. seiner Grenzen. Dieser Abschnitt ist interessant für alle, aber besonders für diejenigen, die den Baustein bis an die Grenzen ausnutzen wollen (müssen). Ein interessanter Teil auch für diejenigen, die einen Vergleichsmaßstab der eigenen Messergebnisse suchen. Sind Ihre Messergebnisse deutlich besser oder schlechter als die unsrigen, rufen Sie uns an oder schicken Sie uns eine Mail. Wir geben gerne Tipps bzw. lernen gerne dazu. ! Bekannte Probleme und deren Lösung Hier finden Sie Beschreibungen und Umgehungsmöglichkeiten von Problemen des Bausteins. 'Nobody is Perfect' auch der GP1 hat 'Funktionalitäten', die in der Art nicht geplant waren. Dieses Kapitel sollte auf jeden Fall durchgelesen werden um von vornherein informiert zu sein und Problemen aus dem Weg zu gehen. acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 3 TDC-GP1 Was ist ein TDC ? 1. Der GP1 im Überblick Was ist ein TDC ? TDCs sind heute immer noch vielfach unbekannte Bausteine, deshalb hier einige kurze Anmerkungen dazu. Die Abkürzung TDC steht für T ime to D igital C onverter. Es sind Bausteine die Zeitdifferenzen hochauflösend in digitale Werte umwandeln. Sie sind damit das Analogon zu ADCs (Analog to Digital Converter), die das gleiche mit analogen Spannungen tun. Obwohl laut dieser Definition bereits Armbanduhren oder einfache digitale Zähler zu TDCs zu rechnen wären, ist der Begriff TDC nur für Zeitdifferenzwandler hoher Auflösung gebräuchlich. Unter TDCs versteht man deshalb im allgemeinen Wandler mit Auflösungen unter einer Nanosekunde. Diese Auflösungen sind mit Zählern o.ä. ohne erheblichen Aufwand nicht mehr zu erreichen und erfordern eigene, darauf zugeschnittene Lösungen. Die TDCs der acam-messelectronic gmbh basieren auf der Ausnutzung digitaler Laufzeiten vorwiegend auf CMOS Prozessen. Die damit erreichbaren Auflösungen liegen z. Zt. im Bereich von 30 ps - 300 ps je nach Verfahren. Der GP1 deckt mit seiner Auflösung von 250 ps im 2 Kanal Betrieb bzw. 125 ps im High Resolution Betrieb den Bereich der meisten Anwendungen ab. Ein TDC ist, wie jeder andere Baustein auch, nicht nur durch sein 'Key Feature' wie z. B. hier die Auflösung charakterisiert, sondern durch eine Vielzahl anderer Eigenschaften, wie Bedienbarkeit, Flexibilität in der Anwendung, problemloses 'Design In' u.s.w. Diesen Punkten haben wir bei der Entwicklung viel Aufmerksamkeit gewidmet und uns bemüht, den GP1 mit umfassenden Funktionsmöglichkeiten auszustatten. 1.2 Hauptmerkmale des TDC-GP1 Stichwortartig die Key Features des GP1: ! 2 Messkanäle mit je 250 ps Auflösung ! ! ! ! a. b. ! ! ! ! oder 1 Kanal mit 125 ps Auflösung beider Kanäle absolut identisch 4-fach Multihitfähigkeit, im Queuing bis 8-fach Multihit. Doppelpulsauflösung 15 ns typ. optional retriggerfähig 2 Messbereiche 3ns - 7.6 µs 60 ns -200 ms (mit Vorteiler, nur 1 Kanal) die 8 Ereignisse der beiden Kanäle können beliebig zueinander vermessen werden, keine minimale Zeitdifferenz erforderlich; negative Zeiten können erkannt und vermessen werden Resolution Adjust Modus; in diesem Modus kann die Auflösung quarzgenau und per Software temperaturunabhängig eingestellt werden 4 Ports zum Ausmessen von Widerständen, Induktivitäten und Kapazitäten Flankensensitivität der Messeingänge kann eingestellt werden ! Enable ! ! ! ! ! ! ! ! Pins der beiden Stopp-Eingänge ermöglichen flexible externe Fensterbildung leistungsfähige interne 16-Bit ALU, das Messergebnis kann kalibriert und mit einer 24-Bit Zahl multipliziert werden Berechnungszeit der ALU unabhängig von externem Takt; ca. 4 µs für komplette Kalibration und Multiplikation bis zu 4 kalibrierte oder 8 unkalibrierte Messwerte intern speicherbar Kalibrations- und Steuertakt von 500 kHz bis 35 MHz wählbar (bis 100 MHz bei Verwendung des chipinternen Vorteilers) platzsparendes und dennoch produktionsfreundliches 44 TQFP Gehäuse (0.8 mm Pitch, 1.27 mm max. Bauhöhe) industrieller Temperaturbereich: -40 ºC ... +85 ºC Betriebsspannungsbereich: 2.7 V ... 5.5 V extrem geringe Stromaufnahme, voll batterietauglich acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 4 TDC-GP1 1.3 Prinzipschaltbild des GP1 1.3 Prinzipschaltbild des GP1 Abbildung 1 acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 5 TDC-GP1 1.4 Messungen im Messbereich 1 1.4 Messungen im Messbereich 1 Der GP1 verfügt über 2 Messkanäle mit je ca. 250 ps typischer Auflösung und einem Grundmessbereich von 15 Bit. ! Beide Kanäle sind in der Auflösung absolut identisch. ! Beide Kanäle haben einen gemeinsamen Start und bis zu 4 voneinander unabhängige Stopps. ! Die Kanäle können optional hintereinander geschaltet werden (queuing), dadurch ist 1 Kanal mit 8fach Multihitfähigkeit möglich Es kann jedoch nicht nur der Start zu den jeweiligen Stopps vermessen werden, sondern auch die Stopps untereinander, gleichgültig ob es sich um Stopps des gleichen Kanals oder verschiedener Kanäle handelt. Es können beliebige Zeitdifferenzen der 8 möglichen Ereignisse gemessen werden. Vergleicht man Ereignisse verschiedener Kanäle, können beliebig kleine Zeitdifferenzen vermessen werden. Bei Ereignissen auf dem gleichen Kanal ist die Doppelpulsauflösung des Kanals der begrenzende Faktor. Bild 1 verdeutlicht den Zusammenhang. Die Doppelpulsauflösung liegt bei ca. 15 ns typ., d.h. kommen 2 Stopps auf dem gleichen Kanal in kürzerem Abstand als 15 ns, wird der 2. Stopp ignoriert, da er innerhalb der Erholzeit der Messeinheit liegt. Abbildung 2 : Mögliche Messfolge beim 2 Kanal Betrieb Es ist nicht notwendig zu wissen, welches der beiden Ereignisse, die man gegeneinander ausmessen will, das Erste war. Ist die Zeitdifferenz negativ wird auch das Ergebnis negativ. Eine mögliche Anwendung ist z.B. das Vermessen der Phasendifferenz zweier gegeneinander phasenmodulierter Signale. Man gibt das 1. Signal auf Kanal 1 und das 2. Signal auf Kanal 2. Es können nicht nur beliebig kleine Phasendifferenzen vermessen werden, sondern es können auch negative Phasenlagen erkannt und vermessen werden. Die direkte Vermessung einer Phasenmodulation um 0 ist möglich. Der Start der beiden Kanäle muss mindestens 3 ns vor dem ersten Stopp kommen. Das letzte Ereignis, das man vermessen will, muss innerhalb von (2 -2 LSBs ( ca. 7,6 µs) nach dem Start kommen, da sonst der TDC in den Timeout geht. Misst man Ereignisse zwischen Stopp 1 und Stopp 2 aus, ist die Lage des Startimpulses unter Beachtung der Timeout Bedingung nicht weiter von Bedeutung. Ein weiteres Feature im Messbereich 1 ist das Queuing. Darunter versteht man die Möglichkeit, die Hits beider Kanäle von einem Stopp-Input auszunutzen. Es entsteht dabei ein 1 Kanal TDC mit 8-fach Multihitfähigkeit. Ist diese Option eingestellt, wird, automatisch nachdem die Werteregister von Kanal 1durch Treffer gefüllt sind, der Stopp von Kanal 1 auf den 2. Kanal durchgeschaltet. Der Stopp-Input von Kanal 2 wird in diesem Modus ignoriert. 15 11 acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 6 TDC-GP1 1.5 Messungen im Messbereich 2 1.5 Messungen im Messbereich 2 Zum Messen größerer Zeitdifferenzen ist es vorteilhaft, ein Vorteilerprinzip einzuführen. Bei diesem Prinzip wird vom Start einer zu messenden Zeitdifferenz bis zur nächsten steigenden Flanke des Kalibriertaktes mit der Messeinheit gemessen (FC1). Danach startet ein Zähler der die ganzen Perioden des Vorteilers zählt. Mit der Stoppflanke der Zeitdifferenz wird die Messeinheit wieder gestartet und mit der nächsten Flanke des Kalibrationstaktes gestoppt (FC2). Im weiteren Verlauf werden eine und zwei Perioden des Kalibrationstaktes ausgemessen. Nach der Formel in Bild 2 kann dann die gemessene Zeitdifferenz berechnet werden. Der GP1 verfügt über einen 16-Bit Vorteiler. Es können mit diesem Verfahren auch sehr große Zeitdifferenzen (> 200 ms) mit der vollen Auflösung des TDCs gemessen werden. Abbildung 3 : Messen großer Zeitdifferenzen mit Vorteiler FC1 − FC 2 time = period * cc + , cc=value of the precounter Cal 2 − Cal1 Bei Messungen im Messbereich 2 verfügt der GP1 nur noch über einen Kanal. Der Stopp1 Eingang ist dabei aktiv. Dieser Kanal hat bei Einfachauflösung 4-fach Multihitfähigkeit. Es können keine Stoppereignisse untereinander, sondern nur zum Start hin vermessen werden. Die Doppelpulsauflösung beträgt 1,5 Perioden +24 ns des Kalibriertaktes. 1.6 Die R-L-C Einheit Es ist durch einfache Schaltungstechnik möglich, Verhältnisse von Widerständen, Kapazitäten oder Induktivitäten auf eine Zeitdifferenzmessung zurückzuführen. Die R-L-C Einheit ermöglicht es, mit einfacher Außenbeschaltung des Bausteines, dies direkt mit dem GP1 durchzuführen. Diese Einheit ermöglicht den Einsatz des Bausteines in verschiedenen Sensoranwendungen, die auf diese 3 Grundgrößen der Elektronik zurückgreifen. Der GP1 hat 4 Messports, an die Widerstände, Induktivitäten oder Kapazitäten angeschlossen werden können. Es wird prinzipiell von einer Verhältnismessung ausgegangen, d.h. man setzt z.B. einen Messwiderstand ins Verhältnis zu einem Referenzwiderstand. Ist der Messwiderstand temperaturabhängig, so kann man damit sehr einfach eine Temperaturmessung durchführen. In gleicher Art und Weise kann man die beiden anderen Grundgrößen der Elektrotechnik Kapazitäten und Induktivitäten ins Verhältnis setzen, und damit ebenfalls durch Zeitdifferenzmessung andere physikalische Größen schnell und hochgenau messen. 1.7 Der High Resolution Modus Der TDC-GP1 bietet durch die gewählte Schaltungstechnik die Möglichkeit, beide Kanäle zu verbinden und dadurch die Auflösung des Bausteines zu verdoppeln. Diese Option ist über die Moderegister des Chips einstellbar. In diesem Falle hat man einen 1 Kanal 4-fach Multihit TDC mit einer Auflösung von ca. 125 ps. Der Stopp 2 Eingang des Bausteines ist abgeschaltet. Die Messmöglichkeiten des einen Kanals bleiben sinngemäß Bild 1 erhalten. Auch hier können Ereignisse relativ zum Start oder untereinander vermessen werden. Benutzt man im Messbereich 2 den High Resolution Modus, hat man nur noch 3-fach Multihitfähigkeit. acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 7 TDC-GP1 1.8 Der Resolution Adjust Modus 1.8 Der Resolution Adjust Modus Ein weiteres äußerst interessantes Feature des GP1 ist der Resolution Adjust Modus. Dies ist die Möglichkeit, die Auflösung des Bausteines quarzgenau und für beide Kanäle gemeinsam einzustellen. Als Referenz für die Einstellung der Auflösung wird ein aus dem Referenztakt abgeleiteter Takt herangezogen. Die Auflösung des Bausteines wird per Software über ein Register festgelegt, sie ist direkt proportional zu dem eingestellten Wert und dem anliegenden Takt. Die sich ergebende Auflösung ist von vornherein exakt bekannt. Die Auflösung wird durch Veränderung der Messkreisspannung stabil gehalten, die wiederum über eine PLL (Phase Locked Loop) geregelt wird. Die äußere Beschaltung der PLL benötigt nur wenige einfache und preisgünstige Bauteile. Der GP1 verfügt über getrennte Spannungsversorgungen für I/O Buffer und interne Schaltung (Core). Es ist damit möglich, die I/Os des Chips mit einer konstanten Spannung (z.B. 5V) zu betreiben, und die Einstellung der Auflösung nur durch Regelung der Core Spannung zu erreichen. Es entstehen bei dieser Option keine Probleme der Pegelanpassung mit externen Komponenten. Im Resolution Adjust Modus gibt es keinen Start, sondern 2 Kanäle mit jeweils 4-fach Multihit Stopp. Es können die Stopp Ereignisse zueinander vermessen werden. Der Messbereich ist in diesem Modus nur halb so groß (2 - 2 ) LSB, ca. 3.8 µs (typ.), d.h. zwischen dem ersten und dem letzten Stopp dürfen nicht mehr als (2 - 2 ) LSBs an Zeitdifferenz liegen. 14 11 14 11 In diesem Modus ist die Auflösung nicht mehr abhängig vom einzelnen Baustein, nicht mehr abhängig von der Temperatur oder Spannung und absolut langzeitstabil. Es braucht in diesem Modus weder vor noch während des Betriebes kalibriert zu werden. Der Einstellbereich der Auflösung geht von -30% bis +8% der nominalen Auflösung bei 5 V, 25 °C. Während des Betriebes ist jederzeit abfragbar, ob der Baustein sich im Adjust Modus befindet. Falls er z.B. durch zu große Temperaturschwankungen und eine Einstellung zu knapp an der Einstellgrenze die Auflösung nicht mehr halten kann, geht er automatisch in den Floating Resolution Betrieb über, beobachtet den weiteren Verlauf, und stellt die gewählte Auflösung wieder ein, sobald es wieder möglich ist. In diesem Modus steigt die Stromaufnahme des Bausteines an. Der Baustein benötigt auch dann Strom, wenn nicht gemessen wird. Die Stromaufnahme beträgt fast unabhängig von der Messrate ca. 25 mA. Der Resolution Adjust Modus kann mit High Resolution Modus kombiniert werden. Er kann nicht mit dem Messbereich 2 kombiniert werden. 1.9 Kalibration des GP1 Wird der Baustein nicht im Resolution Adjust Modus betrieben, muss er regelmäßig kalibriert werden. Der GP1 kann: ! per Befehl ! automatisch nach einem Start/Stopp Ereignis kalibriert werden. Bei einem Kalibriervorgang werden aus dem Kalibriertakt eine und zwei Taktperioden vermessen. Die Ergebnisse werden in eigens dafür vorgesehenen Kalibrierwertregistern gespeichert, die bei jedem Kalibriervorgang mit den aktuellen Werten überschrieben werden. Ein separater Kalibriervorgang wird durch Setzen eines Bits im Moderegister ausgelöst. Das Bit wird automatisch gelöscht nachdem der Vorgang beendet ist. Bei automatischer Kalibrierung wird, nachdem die Anzahl der eingestellten Hits auf beiden Kanälen erreicht ist, eine Kalibration eingeleitet. (bitte 'bekannte Probleme und Lösungen' beachten) 1.10 Haupt-ALU und Vor-ALU Der GP1 verfügt über 2 arithmetisch logische Einheiten, welche die Rohwerte des Messkreises mathematisch bearbeiten. Die Vor-ALU dient dazu, die Rohwerte des Messkreises, die bedingt durch das Messprinzip in einem eigenen Format vorliegen, in einen unsigned Integer Wert umzurechnen, um ihn dann auf bekannte arithmetische Weise weiterverarbeiten zu können. Dieser ALU ist eine Datenselektionseinheit vorgeschaltet, welche die einzelnen Rohwerte der Register auswählt. Die VorALU benötigt keinen Takt. Die Haupt-ALU hat mehrere Aufgaben ! Offsetkorrektur und Subtraktion unkalibrierter Daten ! Kalibration der Messwerte mit den CAL Werten acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 8 TDC-GP1 1.11 Ausgangsregister ! Multiplikation des kalibrierten Wertes mit einer 24-Bit Festkommazahl, das MSB des Multiplikationsfaktors hat die Wertigkeit 2 . Alle Daten werden durch die Haupt-ALU geschleust, je nach eingestelltem Modus wird dabei der Wert nur durchgereicht, eine Offsetkorrektur bzw. Subtraktion zweier Werte vorgenommen oder ein Berechnungszyklus mit Kalibration und Multiplikation durchgeführt. Die Haupt ALU hat einen eigenen Taktgenerator, der sie von externen Takten unabhängig macht. Die Berechnungszeit für eine Kalibration beträgt ca. 2µs für eine anschließende Multiplikation ebenfalls ca. 2µs, so dass ein kompletter Zyklus ca. 4 µs benötigt. Ohne Kalibration oder Multiplikation werden zwischen 120-350ns Berechnungszeit je nach Modi benötigt, Die Frequenz des Taktgenerators kann eingestellt werden. 0 1.11 Ausgangsregister Die Haupt ALU schreibt die Messergebnisse in die Ausgangsregister (8 Register a 16 Bit) Nur Werte der Ausgangsregister können über die Rechnerschnittstelle des Bausteines ausgelesen werden. Ein unkalibrierter Messwert, der nicht im Messbereich 2 möglich ist, belegt 1 Register. Ein kalibrierter und (optional) multiplizierter Messwert belegt 2 Register. Es können 8 unkalibrierte oder 4 kalibrierte Werte im GP1 zwischengespeichert werden. Es können jederzeit alle oder einzelne Register ausgelesen werden, ohne dadurch andere Aktionen zu stören bzw. auszulösen. Die Werte werden rotierend von Register 0 bis 7 beschrieben. Wird nach dem Beschreiben des obersten Registers ein weiterer Berechnungsvorgang gestartet, wird der Wert wieder ins untere Register geschrieben. Da über die Rechnerschnittstelle beliebig viele Berechnungsvorgänge ausgelöst werden können, ist es möglich, die verschiedensten Zeitereignisse zueinander zu berechnen und auszulesen, ohne durch die Registeranzahl des GP1 behindert zu werden. 1.12 Einstell- und Werteregister Der GP1 verfügt über insgesamt Schreibregister: ! 7 Einstellregister à 8 Bit ! 4 Werteregister à 8 Bit, 3 für den Multiplikationswert und eines für den Einstellwert der PLL im Resolution Adjust Modus Leseregister: ! 8 Werteregister ! 2 Statusregister ! 1 Werteregister in dem der mittlere Einstellfaktor der PLL für den Resolution Adjust Modus steht Diese Register werden über die Rechnerschnittstelle beschrieben bzw. gelesen 1.13 Rechnerschnittstelle Der GP1 verfügt über eine Standard 8-Bit Rechnerschnittstelle. Über die Signale ! WRN ! RDN ! CSN ! ALE werden die Daten geschrieben und gelesen. Die Adressierung erfolgt über einen 4 Bit Adressbus. Die Schnittstellenarchitektur orientiert sich damit an gängigen und bekannten Standards. Der Daten und der Adressbus sind am Chip getrennt, können aber auch durch Verbinden der entsprechenden Pins zusammengelegt werden. Ebenfalls kann durch eine '1' am ALE Input das interne Address Latch transparent geschaltet werden, so dass die Register direkt durchadressiert werden können. Es ergeben sich eine Reihe von Beschaltungsmöglichkeiten, mit denen die Schnittstelle auf die jeweiligen Erfordernisse angepasst werden kann. Der Datenbus ist bidirektional, der Adressbus unidirektional. Beim Lesen der Messwertregister sorgt ein interner Zähler für ein automatisches Inkrementieren nach einem Lesevorgang, wenn die Adresse sich dabei nicht ändert. Durch Setzen des Lesezählers an die gewünschte Stelle und entsprechend viele Reads können die Messwerte auf einfache Art und Weise am Stück ausgelesen werden. Man kann durch neues Setzen der Adresse jederzeit auf einen anderen Messwert springen. Die Statusregister werden durch Direktadressierung ausgelesen, ein automatisches Inkrementieren findet hier nicht statt. acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 9 TDC-GP1 1.14 Sonstige Funktionen des GP1 1.14 Sonstige Funktionen des GP1 ! Auto Noise Einheit Der GP1 verfügt über eine Einheit, die pseudozufällig einen Offset zu den Stopps dazufügt, der ebenfalls in gleicher Art und Weise bei einer nachfolgenden Kalibration vorhanden ist. Dadurch ist es möglich, ein Pseudorauschen auf die Stoppereignisse zu addieren, das durch die Kalibration wieder herausgerechnet werden kann. Durch diesen Rauscheffekt wird beim Vermessen sehr konstanter Zeitdifferenzen eine Unterdrückung von Quantisierungseffekten erreicht. Dazu ist eine Mittelwertbildung über mehrere Messwerte notwendig. Einzelereignisse werden in der Genauigkeit dadurch nicht berührt. Im Resolution Adjust Modus macht die Auto Noise Einheit keinen Sinn, da durch die Art der Messung automatisch der gewünschte Effekt entsteht. ! Einstellbare Flankensensitivität Die Flankensensitivität des Start Eingangs und der Stopp Eingänge kann über die Moderegister eingestellt werden. ! Kanal Enable Jeder Stopp Eingang kann über einen externen Pin disabled werden. Damit kann unmittelbar z.B. über externe Logik der Kanal gesteuert werden. Es können beliebig Hits ausgeblendet werden (nicht im Messbereich 2). ! Spike Unterdrückung bei RDN und CSN In rauer Umgebung kann es sinnvoll sein, die Grenzfrequenz der Signale RDN und CSN zu begrenzen, um Spikes auf diesen Leitungen, die durch externe Störungen verursacht werden zu unterdrücken. Über die Moderegister ist dies beim GP1 wählbar. Ist das S pike-U U nterdrückungs-II nterface eingeschaltet, werden Spikes bis ca. 6 ns unterdrückt. Ohne Spikeunterdrückung werden solche Impulse vom GP1 je nach deren Länge als Read oder Chip Select Signal gewertet, es werden falsche Daten in die Register geschrieben oder es wird der Lesezeiger unzulässigerweise weitergetaktet. Durch Einschalten des SUI Interfaces wird das Timing der Schnittstelle langsamer, was zu berücksichtigen ist. ! Half Resolution Physikalisch bedingt hat der GP1 bei normaler und bei doppelter Auflösung eine relativ schlechte differentielle Nichtlinearität. Dies ist für die allermeisten Anwendungen nicht weiter von Belang. Bei einigen Anwendungen jedoch (vor allem bei physikalischen Experimenten) ist eine geringe differentielle Nichtlinearität von großer Wichtigkeit. Hier kommt die Eigenschaft der Kennlinie des GP1 positiv zum Tragen, dass die differentielle Nichtlinearität streng periodisch mit der Periode 2 ist, d.h. auf ein schmales LSB kommt immer ein breites und umgekehrt. Damit kann man durch Zusammenfassen von 2 LSBs die differentielle Nichtlinearität stark verbessern. Deshalb bietet der TDC-GP1 optional die Möglichkeit, die Auflösung zu halbieren. ! Retriggerfähigkeit Retri ggerfähigkeit Kommen ohne Retrigger bei einer Messung mehrere Start Impulse, so werden nach dem ersten Start weitere Starts ignoriert. Dies ist für manche Anwendungen ungünstig und es wäre besser, wenn der letzte Start zu den Stopps vermessen werden könnte. Diese Option bietet der Retrigger Modus. Kommen mit Retrigger mehrere Starts, ohne dass ein Stopp kommt, wird mit jedem Start die Messeinheit neu initialisiert. Nach dem ersten Stopp auf einem der beiden Kanäle wird ein weiterer Start dann ignoriert. Gerät nach einem Start die Messeinheit in den Überlauf und kommt ein weiterer Start, wird die Messeinheit ebenfalls neu initialisiert und es beginnt ein neuer Messlauf. Dieser Modus funktioniert nicht im Messbereich 2 und ebenfalls nicht im Resolution Adjust Modus. acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 10 TDC-GP1 2.1 Vorbemerkung 2. Der GP1 im Detail 2.1 Vorbemerkung Ziel dieses Hauptabschnittes ist es, den Benutzer in die Lage zu versetzen, den GP1 mit all seinen Möglichkeiten zu benutzen. Hier wird auf jede mögliche Funktion im Detail eingegangen. Die entsprechende Einstellung der Register wird erläutert, für die Funktion wichtige Register sind mit komplettem Inhalt im jeweiligen Abschnitt dargestellt. Soweit möglich wird auf die Kombinierbarkeit der einzelnen Features eingegangen. Dieser Hauptabschnitt ist für jeden ein Muss, der den GP1 in seine Schaltung einbaut bzw. Software dafür schreibt. ! Rohwerteregister 6 Rohwerteregister (15-Bit) pro Kanal. In diese Register werden direkt von der Messeinheit gewonnene Werte geschrieben. Mit Ausnahme des Resolution Adjust Modus sind diese Werte unkalibriert also prozess-, spannungs- und temperaturabhängig. Von diesen 6 Registern sind 2 Register nur für Kalibrierwerte reserviert. Die Rohwerteregister können nicht direkt ausgelesen werden. ! Ergebnisregister (nur lesen) 8 Ergebnisregister à 16-Bit. Dieser Ergebnisregister werden von der sequentiellen ALU je nach eingestelltem Berechnungsmodus beschrieben. Für einen unkalibrierten Wert der direkt aus den Rohwerten oder aus Differenzen von Rohwerten gewonnen wird, wird ein Register (16-Bit) benötigt, für einen kalibrierten Wert werden 2 Register (32-Bit) benötigt. ! Einstellregister, Werteregister (nur schreiben) 7 Einstellregister in denen die verschiedenen Betriebsmodi und sonstige Möglichkeiten eingestellt werden können und 4 Werteregister für den Multiplikationsfaktor und den PLL Einstellfaktor. ! Statusregister (nur lesen) ! 2 Statusregister in denen wichtige Statusparameter des GP1 ausgelesen werden können 1 Werteregister (nur lesen) In dieses Register schreibt die PLL den im Set Parameter Modus ermittelten Einstellfaktor der PLL. Dieser Wert dient zur Orientierung der möglichen Einstellfaktoren und damit den möglichen Auflösungen. 2.2 Die Lese- und Schreibregister des GP1 In tabellarischer Form die Einstellregister mit kurzen Erläuterungen 2.2.1 Schreibregister und Adressen Wichtige Bemerkung: Die Schreibregister können nicht gelesen werden Register 0 Adresse: 0 Bit Nr. Name 7 CAL 6 CALIBRATE 5 4 MULTIPLICATE MESSB2 3 EN_CAL_AUTO 2 1 0 EDGE_STP2 EDGE_STP1 EDGE_STA Bedeutung initialisiert einen separaten CAL Lauf # Update der CAL-Werte in den Kalibrierwert Registern instruiert die ALU eine Kalibrierberechnung durchzuführen instruiert die ALU eine Multiplikation durchzuführen schaltet in den Messbereich mit Vorteiler, 1= mit Vorteiler 1= nach einer Messung wird eine automatischer Kalibrierlauf durchgeführt selektiert Flankensensitivität Stopp2-Input 0=rise selektiert Flankensensitivität Stopp1-Input 0=rise selektiert Flankensensitivität Start-Input 0=rise Default 0 0 0 0 0 0 0 0 acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 11 TDC-GP1 2.2 Die Lese- und Schreibregister des GP1 Register 1 Adresse: 1 Bit Nr. Name Bedeutung 7 RESO_ADJ schaltet in Resolution Adjust Modus 6 HIGH_RES schaltet in High Resolution Modus 5 ADJ<5> Abgleichbit 5 des High Resolution Modus 4 ADJ<4> Abgleichbit 4 des High Resolution Modus 3 ADJ<3> Abgleichbit 3 des High Resolution Modus 2 ADJ<2> Abgleichbit 2 des High Resolution Modus 1 ADJ<1> Abgleichbit 1 des High Resolution Modus 0 ADJ<0> Abgleichbit 0 des High Resolution Modus Anmerkung: optimale Einstellung für ADJ<5:0> = 0x0d Default 0 0 0 0 0 0 0 0 Register 2 Adresse: 2 Bit Nr. Name 7 HIT2_IN<3> 6 HIT2_IN<2> 5 HIT2_IN<1> 4 HIT2_IN<0> 3 HIT1_IN<3> 2 HIT1_IN<2> 1 HIT1_IN<1> 0 HIT1_IN<0> Instruktionsregister für die ALU Berechnungsvorschrift: HIT1_IN - HIT2_IN Bedeutung Kanal select für oberes Nibble: 0= channel1, 1=channel2 #Hit für in Bit 7 selektiertem Kanal #Hit für in Bit 7 selektiertem Kanal #Hit für in Bit 7 selektiertem Kanal Kanal select für unteres Nibble: 0= channel1, 1=channel2 #Hit für in Bit 3 selektiertem Kanal #Hit für in Bit 3 selektiertem Kanal #Hit für in Bit 3 selektiertem Kanal Register 3 Adresse: 3 Bit Nr. Name 7 FAK_PLL<7> 6 ... 5 ... 4 ... 3 ... 2 ... 1 ... 0 FAK_PLL<0> Einstellregister für die Auflösung im Resolution Adjust Mode Bedeutung Default MSB Einstellfaktor der PLL 1 ... 0 0 0 0 0 ... 0 LSB Einstellfaktor der PLL 0 Register 4 Adresse: 4 Bit Nr. Name 7 SEL_CLK_TDC<2> 6 SEL_CLK_TDC<1> 5 SEL_CLK_TDC<0> 4 NEG_PH_PLL 3 2 1 0 SET_PAR_PLL SEL_CLK_PLL<2> SEL_CLK_PLL<1> SEL_CLK_PLL<0> Default 0 1 0 1 0 1 0 1 Bedeutung Default Teiler für Kalibriertakt TDC (Tabelle in 2.11.3) 0 ... 0 ... 0 Negierung des Phasen Outputs der PLL (muss auf '1' wenn 0 empfohlene Schaltung verwendet wird) 1=Track Modus der PLL (Set Par Modus) 0 Teiler für Referenztakt der PLL (Tabelle in 2.11.3) 0 ... 0 ... 0 acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 12 TDC-GP1 2.2 Die Lese- und Schreibregister des GP1 Register 5 Adresse: 5 Bit Nr. Name 7 RLC_NR<2> 6 RLC_NR<1> 5 RLC_NR<0> 4 SINGLE_EN 3 C_SEL 2 SEL_CLK_RLC<2> 1 SEL_CLK_RLC<1> 0 SEL_CLK_RLC<0> Register 6 Adresse: Adresse : 6 Bit Nr. Name 7 INT_SEL 6 QUEUING 5 RETRIG_EN 4 NOISE_EN 3 RLC_EN 2 USE_TRANS 1 SPEED<1> 0 SPEED<0> Register 7 Adresse: 7 Bit Nr. Name 7 HALF_RES 6 EN_SUI 5 EN_HIT2<2> 4 EN_HIT2<1> 3 EN_HIT2<0> 2 EN_HIT1<2> 1 EN_HIT1<1> 0 EN_HIT1<0> RLCRLC - Konfigurationsregister Bedeutung Einstellung welcher / wie viele RLC Ports gemessen werden " " selektiv Ports messen = 1, 0= alle Ports von 1 bis RLC_NR Kapazitätsverhältnisse ausmessen = 1 Teilerverhältnis für Takt der RLC Einheit " " Default 1 0 0 0 0 0 0 0 Bedeutung Interrupt Select (0= ALU fertig, 1= Overflow) Enable Queuing im Messbereich 1 Enable Retrigger Modus Noise Enable startet eine RLC-Messung 1= Benutzung eines externen Transistors bei der RLC Unit Frequenzeinstellung BIGALU Takt (default: lowest speed) (siehe auch 2.9.8) Default 0 0 0 0 0 0 Bedeutung Halbe Auflösung des Messkreises Enable der Spikeunterdrückung bei RDN Anzahl der möglichen Hits auf Kanal 2 (max. 4) " " Anzahl der erlaubten Hits auf Kanal 1 (max. 4) " " Default 0 0 1 0 0 1 0 0 1 0 Register 88 - 10 Adresse:8Adresse:8 - 10 Register 8 Register 9 Register 10 Adresse 11: Name Bit Nr. 7 POR. 6 POR. 5 POR. 4 POR. 3 n.c. 2 CLK_NOISE 1 INIT_BIGALU 0 INIT_TDC Multiplikationsfaktor<7..0> Multiplikationsfaktor<15..8> Multiplikationsfaktor<23..16> Default 0 0 128 Sonderadresse für Init Bedeutung Power On Reset (1) Power On Reset (0) Power On Reset (1) Power On Reset (0) Clock für PRBS Zähler in Auto Noise Einheit Init für Bigalu Einheit Init für TDC Einheit acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 13 TDC-GP1 2.2 Die Lese- und Schreibregister des GP1 2.2.2 Leseregister und Adressen Der GP1 Adresse 0 1 2 3 4 5 6 7 8 9 A verfügt über folgende Leseregister Name Bitbreite Bemerkung bei kalibrierten Daten ERG_REG0 16 Ergebnisregister 1 Nachkomma 0 ERG_REG1 16 Ergebnisregister 2 Vorkomma 0 ERG_REG2 16 Ergebnisregister 3 Nachkomma 1 ERG_REG3 16 Ergebnisregister 4 Vorkomma 1 ERG_REG4 16 Ergebnisregister 5 Nachkomma 2 ERG_REG5 16 Ergebnisregister 6 Vorkomma 2 ERG_REG6 16 Ergebnisregister 7 Nachkomma 3 ERG_REG7 16 Ergebnisregister 8 Vorkomma 3 STAT1 8 Statusregister 1 STAT2 8 Statusregister 2 REF_PLL 8 Register für Referenzwert der PLL der in einem SET_PAR Lauf gewonnen wurde Statusregister 1 Adresse: 8 Bit Nr. Name 7 PLL_LOCK 6 OFL 5 HIT2_TDC<2> 4 HIT2_TDC<1> 3 HIT2_TDC<0> 2 HIT1_TDC<2> 1 HIT1_TDC<1> 0 HIT1_TDC<0> Statusregister Adresse:9 Bit Nr. 7 6 5 4 3 2 1 0 Bedeutung Lock Anzeige der PLL Overflow der Messeinheit Anzeige der vorhandenen Hits in Kanal 2 Anzeige der vorhandenen Hits in Kanal 2 Anzeige der vorhandenen Hits in Kanal 2 Anzeige der vorhandenen Hits in Kanal 1 Anzeige der vorhandenen Hits in Kanal 1 Anzeige der vorhandenen Hits in Kanal 1 2 Name N.C. N.C. RLC_END Multiplicate Calibrate LD_REGS<2> LD_REGS<1> LD_REGS<0> Bedeutung nicht benutzt nicht benutzt Ende einer RLC-Messung Anzeige ob multipliziert wird (=Bit5 des Register0) Anzeige ob Kalibrationsberechnung durchgeführt wird (=Bit6 des Register 0) Ladezustand der Ausgangsregister Ladezustand der Ausgangsregister Ladezustand der Ausgangsregister 2.2.3 Erläuterungen zu den Leseregistern 2.2.3.1 Datenstruktur der Ergebnisregister Wie man aus obiger Tabelle entnehmen kann, verfügt der GP1 über 8 Ergebnisregister à 16 Bit. Die Datenstruktur und Belegung der Register hängt davon ab, ob es sich um kalibrierte oder unkalibrierte Daten handelt. Bei unkalibrierten Daten wird ein Ergebnisregister belegt, für kalibrierte Daten werden 2 Ergebnisregister benötigt. Zu den unkalibrierten Daten zählen in diesem Sinne auch die Ergebnisse, die im Resolution Adjust Modus gewonnen wurden. Datenstruktur Dat enstruktur unkalibrierte Daten Unkalibrierte Daten werden dann erzeugt, wenn im Einstellregister 0 das Bit 6 (Calibrate) auf 0 ist. acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 14 TDC-GP1 2.2 Die Lese- und Schreibregister des GP1 Unkalibrierte Daten sind vom Typ 'Signed Integer'. Die Zahl liegt im 2er Komplement vor vor. Beispiele: Registerinhalt 0x0ABC 0xC002 0x7073 0xFF12 sich ergebender Wert 2748 -16382 28787 -238 Datenstruktur kalibrierter Daten Kalibrierte Daten sind eine Festkommazahl mit 16 Bit Vorkomma- und 16 Bit Nachkommastellen. Jedes kalibrierte Ergebnis belegt somit 2 Ergebnisregister. Im unteren stehen die Nachkommastellen und im oberen die Vorkommastellen. Beispiele: Registerinhalte sich ergebender Wert Vorkomma.Nachkomma 0x0001.ABCD 1.671096 (Ergebnis von: 1+43981/65536) 0xFFFE.1234 -1.071105 (gilt nur im Messbereich 1) 0x0067.A001 103.62501 (Zahl nur im Messbereich 2 möglich) 0xD002.A001 53250.62501 (Zahl nur im Messbereich 2 möglich) Wie die Beispiele schon zeigen, gilt es einige Fälle zu unterscheiden. Es gilt: ! nur im Messbereich 1 sind negative Zahlen möglich. ! im Messbereich 2 gibt es nur positive Zahlen, die Zahl ist hier Vorzeichenlos zu betrachten ! ohne Multiplikation kann das Ergebnis im Messbereich 1 nicht größer als +- 1.99 werden, da keine größeren Zeitdifferenzen als das Doppelte des Kalibriertaktes berechnet werden können. 2.2.3.2 Auslesen der Ergebnisregister Während die Statusregister und das PLL Register durch eine Standard Memory Mapped Auslese ausgelesen werden, ist dies bei den Ergebnisregistern etwas anders. Grundsätzlich gilt ffür ür Ergebnisregister Folgendes: Wird beim Setzen der Leseadresse eins der Ergebnisregister selektiert und mehrfach von dieser Adresse gelesen, so wird mit jedem Auslesevorgang der interne Lesezeiger um eins inkrementiert. Legt man mit einem Lesevorgang eine neue Adresse an, so springt der Lesezeiger auf die neue Adresse. Für das Auslesen eines Ergebnisregisters sind immer 2 Read Strobes notwendig, bei denen die Adresse nicht geändert werden darf. Am 8-Bit Bus erscheint zuerst das LSByte und dann das MSByte. Beispiele: 1. Auslesen aller 8 Ergebnisregister Vorgehensweise: Anlegen der Adresse 0 und anschließend 16 Read Strobes. Es werden nun jeweils vom LSByte zum MSByte alle Ergebnisregister ausgelesen. 2. Auslesen von Ergebnisregister 1 und 3 Vorgehensweise: Anlegen der Adresse 1 und 2 Read Strobes; dann Anlegen der Adresse 3 und 2 Read Strobes. 2.2.3.3 Erläuterungen zu den Statusregistern Statusregister 1 Bit 00-5 Die Signale HIT1_TDC<2:0> und HIT2_TDC<2:0> zeigen die Anzahl der vorhandenen Hits auf jedem der Kanäle. Es sind jeweils Zahlen von 0 bis 4 möglich. Diese Hitzähler inkrementieren dann, wenn der Hit in der Messeinheit registriert wird. D.h. zum Zeitpunkt der Registrierung ist dieser Hit noch nicht auslesbar, sondern muss erst noch über die gewählten ALU Operationen ins Ausgangsregister geschrieben werden. Bit 6 Bit 6 zeigt einen Overflow der Messeinheit an. D.h. dieses Bit geht auf 1 wenn während einer Messung mit der gewählten Anzahl Hits eine Messbereichsüberschreitung stattfand. acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 15 TDC-GP1 2.2.4 Initialisierung Bit 7 Bit 7 signalisiert im Resolution Adjust Modus, dass die PLL eingerastet ist und die im Register gewählte Auflösung eingestellt werden konnte. Statusregister 2 Bit 00-2 Diese Bits zeigen an, auf welcher Adresse der Schreibzeiger der Ausgangsregister steht. Steht er z.B. auf 4 wurden die Adressen 0 - 3 bereits beschrieben, und es sind 4 abholbare 16 Bit Ergebnisse bzw. 2 abholbare 32 Bit Ergebnisse vorhanden. Die 0 ist hier doppelt belegt, d.h. 0 kann sowohl kein abholbares Ergebnis als auch 8 abholbare 16 Bit Ergebnisse bedeuten. Ist das Interrupt Flag (Pin 34) auf Values gestellt, kann mit diesem Pin entschieden werden, ob es sich um 0 oder 8 Werte handelt. Ist das INTFLAG auf 1, sind 8 abholbare Ergebnisse vorhanden. Bit 3 und 4 Diese beiden Bits zeigen an, ob die ALU auf Kalibration und/oder Multiplikation eingestellt ist. Es sind direkt die Bits 5 und 6 des Einstellregisters 0. Das Setzen und Auslesen dieser Bits kann z.B. auch für erste Tests der Rechnerschnittstelle verwendet werden. Bit 5 Bit 5 zeigt das Ende einer RLC-Messung an. 2.2.4 Initialisierung Vor jeder Messung steht, unabhängig vom gewählten Messmodi, eine Initialisierung des Bausteines an. Im elementarsten Fall besteht diese Initialisierung aus einem Power On Reset. Der GP1 verfügt über einen komfortablen Init Befehl der mehrere Möglichkeiten der Initialisierung zulässt. In folgender Tabelle ist der Init Befehl mit seinen Möglichkeiten näher erläutert. Adresse Bit Nr. 7 6 5 4 3 2 1 0 11: Name POR. POR. POR. POR. n.c. CLK_NOISE INIT_BIGALU INIT_TDC Sonderadresse für Init Bedeutung Power On Reset (1) Power On Reset (0) Power On Reset (1) Power On Reset (0) Clock für PRBS Zähler in Auto Noise Einheit Init für Bigalu Einheit Init für TDC Einheit ! Init der GP1 internen Messeinheit Mit dem INIT_TDC wird die interne TDC Einheit initialisiert. Der Hitzähler wird auf 0 gesetzt, ein evtl. Timeout wird gelöscht. Die Einheit ist wieder mit den vorher gewählten Einstellungen messbereit. Die TDC Einheit ist 30 ns nach der positiven Flanke von WRN wieder messbereit. ! Init der sequentiellen ALU Mit INIT_BIGALU wird die sequentielle ALU initialisiert. Der Schreibzeiger wird auf 0, d.h. auf das erste Ausgangsregister gesetzt, die Einheit ist wieder mit den vorher gewählten Einstellungen rechenbereit. Die BIGALU ist 30 ns nach der positiven Flanke von WRN wieder rechenbereit. ! Init des Auto Noise Zählers Das Bit 2 taktet bei einer 1 den Pseudozufallszähler der Auto Noise Einheit weiter, unabhängig ob diese Einheit enabled ist oder nicht. ! Power On Reset Mit einem hex A auf dem oberen Nibble des Datenbusses kann ein Power On Reset durchgeführt werden. Damit wird der gesamte Chip in den Grundzustand versetzt, alle Einstell- und Werteregister werden auf die Default Werte initialisiert. Die Rohwerteregister der TDC Messeinheit und die Ergebnisregister der Bigalu sind grundsätzlich nicht initialisierbar und werden auch durch einen Power On Reset nicht verändert. acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 16 TDC-GP1 2.3 Messen im Messbereich 1 Der Power On Reset kann auch über den Pin RST_N mit der gleichen Wirkung ausgelöst werden. Dieser Pin ist 'low active' (min. Dauer: 50 ns). Wird ein Power on Reset über die Software ausgelöst, so darf bis 50 ns nach der positiven Flanke des WRN Signals keine weitere Aktion erfolgen, da in dieser Zeit der GP 1 sich im Reset Zustand befindet. 2.3 Messen im Messbereich 1 Einstellung des Messbereiches: Relevante Register: Einstellregister 0 Adresse: 0 Relevante Bits: 4 Wirkung: 0 = Messbereich 1 ; 1 = Messbereich 2 Default: Messbereich 1 2.3.1 Mögliche Messfolge und Messzeiten Abbildung 4 : Zeiten im Messbereich 1 Der Messmodus 1 bietet einen 2 Kanal TDC mit Common Start und 4-fach Multihitfähigkeit pro Kanal. Bild 1 verdeutlicht eine typische Messfolge. Mit der sensitiven Flanke des Startimpulses wird die Messeinheit für beide Kanäle gemeinsam gestartet. Es können jetzt auf jedem Kanal voneinander unabhängig bis zu 4 Stopps kommen. Die Zeitdaten dieser Ereignisse relativ zum gemeinsamen Start werden in den 4 Rohwerteregistern der Kanäle gespeichert. Es sind dabei folgende Zeiten zu beachten (typ.): ! nach einem Start darf frühestens nach 3 ns ein Stopp auf einem der Kanäle kommen. Stopps die früher kommen, werden ignoriert. # t = 3 ns ! zwischen 2 Ereignissen auf dem gleichen Kanal müssen mindestens 15 ns liegen (Doppelpulsauflösung). Liegen Ereignisse näher aneinander wird das 2. Ereignis nicht erkannt, da es in der Erholzeit des Kanals liegt. # t = 15 ns ! zwischen 2 Ereignissen auf verschiedenen Kanälen gibt es keine Restriktionen bzgl. einer #t 0 ns minimalen Zeitdifferenz ! alle zu messenden Ereignisse müssen innerhalb von 30.720 LSBs (215-211) nach dem Start # t ≈ 7,6 µs (typ.) kommen ! die minimale Pulsweite des Starteingangs und der Stoppeingänge beträgt # tpw = 2.5 ns (typ.) 1 min 2 min . 3 min = 4 max Diese minimale Pulsweite gilt in allen Modi für negative und positive Pulse 2.3.2 Steuerung der ALU im Messbereich 1 Die ausführliche Beschreibung der gesamten Möglichkeiten der ALU ist in Abschnitt 2.9 in diesem Manual dargestellt. Hier eine Zusammenfassung für den Messbereich 1. Im Messbereich 1 kann man acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 17 TDC-GP1 2.3 Messen im Messbereich 1 ! jeden Stopp der beiden Kanäle zum Start hin vermessen ! alle Stopps untereinander vermessen ! das Ergebnis optional kalibrieren und multiplizieren Die Steuerung welches Ereignis zu welchem Ereignis vermessen wird, geschieht im Einstellregister 2. Es besteht aus 2 Einstellwerten à 4 Bit (Nibbles). Es wird die Berechnungsvorschrift Ergebnis = unteres Nibble - oberes Nibble durchgeführt. Ob kalibriert und multipliziert wird, wird im Einstellregister 0 festgelegt. Einige Beispiele zur Verdeutlichung (die kompletten Zusammenhänge in Abschnitt 2.9) Beispiel 1: Inhalt Register 0: 0x60 Inhalt Register 2: 0x01 Ergebnis: Es wird der erste Hit von Kanal 1 zum Start hin berechnet, das Ergebnis wird kalibriert und multipliziert 32-bittig in ein Ausgangsregister geschrieben. Der gesamte Berechnungsvorgang dauert ca. 4.2 µs. Unbedingt beachten, dass das Messergebnis nicht größer als die doppelte Periodendauer des Kalibriertaktes sein darf, da ansonsten die ALU in den Überlauf geht. Beispiel 2: Inhalt Register 0: 0x00 Inhalt Register 2: 0xA3 Ergebnis: Es wird vom 3. Hit des Kanals 1 der 2. Hit des Kanals 2 subtrahiert. Das Ergebnis wird 16bittig in ein Ausgangsregister geschrieben. Der gesamte Berechnungsvorgang dauert ca. 180 ns. 2.3.3 Steuerung der Messung, Einstellmöglichkeiten Es gibt verschiedene Möglichkeiten diese Messfolge zu steuern und auszuwerten. Praktisch alle Einstellmöglichkeiten sind auch bei anderen Messmodi einsetzbar. einsetzbar . Bitte die Hinweise b e achten. ! Enable der Hitanzahl Relevante Register: Einstellregister 7 Adresse: 7 Relevante Bits: 5-0 Wirkung: siehe Tabelle Default: 4 Hits pro Kanal Im Einstellregister 7 (Adresse 7) wird die Anzahl der möglichen Hits pro Kanal eingestellt. Es gilt dabei folgende Einstellung. Tabelle: Hit Enable Einstellungen EN_HITx<2> EN_HITx<1> EN_HITx<0> Anzahl der möglichen Hits 0 0 0 0 Hits, Software Disable des Kanals 0 0 1 1 Hit 0 1 0 2 Hits 0 1 1 3 Hits 1 0 0 4 Hits Werden beide Kanäle auf 0 Hits gesetzt, ist die gesamt Messeinheit disabled und ein Start wird ebenfalls ignoriert. Diese Einstellung ist unabhängig bei allen Messmodi verwendbar. ! Einstellung der Flankensensitivität Relevante Register: Einstellregister 0 Adresse: 0 Relevante Bits: 2-0 Wirkung: 0 = rise; 1 = fall Default: rise Diese Einstellung ist unabhängig bei allen Messmodi verwendbar. acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 18 TDC-GP1 2.3 Messen im Messbereich 1 ! Retrigger Modus Relevante Register: Einstellregister 6 Adresse: 6 Relevante Bits: 5 Wirkung: 0 = off; 1 = on Default: off Kommt im Retrigger Modus vor dem ersten Stopp auf einem der Kanäle mehr als 1 Start, so wird mit jedem Start die Messeinheit neu initialisiert und setzt diesen Start als den Beginn einer Messung (vgl. ohne Retrigger wird nach dem ersten Start jeder weitere Start ignoriert). Nach einem Stopp auf einem der Kanäle werden weitere Starts ignoriert. Damit hat man die Möglichkeit bei mehreren Starts ohne Stopp den letzten Start zu den Stopps hin zu vermessen. Der Retrigger Modus macht nur im Messbereich 1 Sinn, er muss im Messbereich 2 ausgeschaltet sein und hat bei Resolution Adjust keine Wirkung. Im Retrigger Modus steigt die minimal messbare Zeitdifferenz zwischen Start und den Stopps auf # t = 6 ns ! Queuing 1 min Relevante Register: Einstellregister 6 Adresse: 6 Relevante Bits: 6 Wirkung: 0 = off; 1 = on Default: off Unter Queuing versteht man die Möglichkeit, die verfügbaren Hits der beiden Kanäle von nur einem Stopp aus ausnutzen zu können. Ist das Queuing enabled, wird der Stopp 2 Eingang abgeschaltet. Kommen nun am Stopp 1 Eingang mehr Stopps als enabled sind, werden die Stopps auf Kanal 2 durchgeschaltet, bis auch dort die Anzahl der eingestellten Stopps erreicht ist. Man erhält dadurch einen 1 Kanal TDC mit 8-fach Multihitfähigkeit. Queuing ist auch im Resolution Adjust Modus möglich, nicht im Messbereich 2. ! Auto Noise Relevante Register: Einstellregister 6 Adresse: 6 Relevante Bits: 4 Wirkung: 0 = off; 1 = on Default: off Die Auto Noise Einheit addiert zum Stopp1 und Stopp2, gesteuert von einen Pseudozufallszahlengenerator, ein Offset Delay dazu. Die Delays beider Stopp Eingänge sind voneinander unabhängig, so dass auch zwischen den Stopps ein variables Delay auftritt. Sinn dieser Einstellmöglichkeit: Will und kann man zur Verbesserung des Messergebnisses Mittelwertbildung einsetzen und kann keinen Resolution Adjust Modus verwenden (z.B. wegen der Stromaufnahme), ist es notwendig, dass die zu mittelnden Werte nicht immer exakt die gleiche Zeitdifferenz aufweisen, sondern ein gewisses 'Rauschen' aufweisen, damit die Kennlinie des GP1 an möglichst vielen Stellen zur Messung herangezogen wird. Dies ist nicht der Fall, wenn sehr konstante Zeitdifferenzen gemessen werden, man würde immer wieder auf das gleiche LSB der Kennlinie treffen. Beispiel: Beim Vermessen eines quarzgenauen Taktes ist es ohne Auto Noise nicht möglich eine wesentliche Genauigkeitssteigerung durch Mittelwertbildung zu erreichen, da die gemessene Zeitdifferenz praktisch immer gleich ist, und damit immer das gleiche LSB getroffen wird. Das Weitertakten des Pseudo Zufallsgenerator und damit die Generierung eines neuen Offset Wertes geschieht bei der Initialisierung durch das Bit 3 des Registers 11. Es kann also bei einem Init entschieden werden, ob ein neuer Offset eingestellt wird oder nicht. Damit hat der Benutzer alle Flexibilität zum Einsatz dieser Option. Dieser Offset muss auch bei der zum Messwert gehörenden Kalibrierung bestehen bleiben. Dies ist bei Autokalibration automatisch der Fall, und muss bei separater Kalibrierung entsprechend gesteuert werden. Ist dies der Fall, wird bei der anschließenden Berechnung der Zeitdifferenz der addierte Offset wieder herausgerechnet, so dass dadurch kein zusätzlicher Messfehler entsteht. Auto Noise ist auch im Messbereich 2 möglich, bei Resolution Adjust macht diese Option keinen Sinn und führt zu zusätzlichen Messfehlern und sollte unbedingt ausgeschaltet bleiben. acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 19 TDC-GP1 2.4 Messen im Messbereich 2 2.4 Messen im Messbereich 2 Einstellung des Messbereiches: Relevante Register: Einstellregister 0 Relevante Bits: 4 Wirkung: 0 = Messbereich 1; Default: Messbereich 1 Adresse: 0 1 = Messbereich 2 2.4.1 Mögliche Messfolge und Messzeiten Abbildung 5 : Zeiten im Messbereich 2 FC1 − FC 2 time = period * cc + , cc=value of the precounter Cal 2 − Cal1 Zum Messen größerer Zeitdifferenzen ist es vorteilhaft, ein Vorteilerprinzip einzuführen. Bei diesem Prinzip wird vom Start einer zu messenden Zeitdifferenz bis zur nächsten positiven Flanke des Kalibriertaktes mit der Messeinheit gemessen (FC1). Danach startet ein Zähler, der die ganzen Perioden des Vorteilers zählt. Mit der Stoppflanke der Zeitdifferenz wird die Messeinheit wieder gestartet und mit der nächsten Flanke des Kalibrationstaktes gestoppt (FC2). Kommt mehr als 1 Stopp, wird mit den nächsten Stopps wie mit FC2 verfahren. Nach der Formel in Bild 1 kann dann die gemessene Zeitdifferenz mit den vorhandenen oder bei dieser Messung generierten Kalibrierwerten berechnet werden. Der GP1 verfügt über einen 16-Bit Vorteiler. Es können mit diesen Verfahren auch sehr große Zeitdifferenzen (bis 240 ms) mit der vollen Auflösung des TDCs gemessen werden. Bei Messungen im Messbereich 2 verfügt der GP1 nur noch über einen Kanal. Der Stopp1 Eingang ist dabei aktiv. Dieser Kanal hat bei Einfachauflösung 4-fach Multihitfähigkeit. Es können keine Stoppereignisse untereinander sondern nur zum Start hin vermessen werden. Es sind dabei folgende Zeiten zu beachten: ! nach einem Start darf frühestens nach 2 Kalibriertaktperioden der erste Stopp kommen. Stopps, die früher kommen, werden ignoriert. # t = 1.5 * CAL_CLK + 25ns ! zwischen 2 Stopps müssen mindestens 2 Kalibriertaktperioden + 4ns liegen. Liegen 2 Stopps näher aneinander wird der 2. Stopp nicht erkannt # t = 1.5 * CAL_CLK + 25ns Beispiel: bei 20 MHz Kalibriertakt liegt die minimal messbare Zeitdifferenz bei 104 ns ! alle zu messenden Stopps müssen innerhalb von 2 Kalibriertaktperioden kommen. # t = 2 * CAL_CLK Der Kalibriertakt wird über den einstellbaren Teilerfaktor SEL_CLK_TDC aus dem Referenztakt gewonnen: CAL_CLK = T *SEL_CLK_TDC. Je größer der Faktor des Vorteilers ist, desto größer ist der Messbereich t , desto schlechter ist aber die Doppelpulsauflösung t . 1min 2min 16 3max 16 ref 3max 2min Beispiel 1: Referenz Clock 20MHz: Tref Teiler Kalibrier Clock: ∆t = 50ns*64*2 ∆t = 1.5*50ns*64+24ns max max 16 = = = = 50ns 64 209.7ms 4824ns Beispiel 2: Referenz Clock20MHz: Tref Teiler Kalibrier Clock: ∆t = 50ns*1*2 ∆t = 1.5*50ns*1+24ns max max 16 = = = = 50ns 1 3.277ms 99ns acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 20 TDC-GP1 2.4 Messen im Messbereich 2 Bei niedrigem Kalibriertakt kann man Zeitdifferenzen über 200 ms mit der vollen Auflösung des GP1 messen. Hierbei ist jedoch zu beachten, dass die absolute Genauigkeit der gemessenen Zeitdifferenz von der Genauigkeit des Kalibriertaktes abhängt. Die obere Grenze des Messbereiches ist durch folgende Randbedingung gegeben: 2*T *SEL_CLK_TDC < 30.720*Resolution (≈7.6µs). Der Kalibriertakt kann 350 kHz bis 35 MHz betragen. Für nähere Erläuterungen bitte den Unterabschnitt Kalibration beachten. Bitte beachten: Der Kalibriertakt ist der Takt, der direkt auf die Messeinheit geführt wird. Er wird erzeugt aus dem externen Referenztakt der durch den im Einstellregister 4 (Bit 5-7) eingestellten Teilerfaktor geteilt wird. Die Frequenz am Referenztakteingang (Pin 3) kann bis zu 100 MHz betragen, wenn die internen Teiler verwendet werden. Verhalten des GP1 bei zu geringer Zeitdifferenz: Liegt zwischen Start und dem ersten Stopp eine Zeitdifferenz, die kleiner ist als 1.5 Kalibriertaktperioden + 25ns, so kann diese Zeitdifferenz nicht mehr mit Sicherheit gemessen werden. Der GP1 verhält sich dabei so, dass Zeiten zwischen 0.5 Perioden +25ns des Kalibriertaktes und 1.5 Perioden + 4 ns abhängig von der Phasenlage vom Start/Stopp zum Kalibriertakt noch vermessen werden können, wobei bei sinkender Zeitdifferenz die Wahrscheinlichkeit, dass der Wert noch gemessen werden kann, abnimmt. Unterhalb 0.5 Perioden + 25 ns wird kein Stopp mehr erkannt. Wichtig ist, dass keine falschen Ergebnisse produziert werden. Wird die Zeitdifferenz gemessen, dann ist das Ergebnis auch richtig. Wird sie nicht gemessen, wird dieser Stopp ignoriert und die Messeinheit läuft weiter. Kommt kein weiterer Stopp mehr, geht die Messeinheit in den Overflow. ref 2.4.2 Belegung der Rohwerteregister mit Messwerten Für das Verständnis einiger Einstellungen im Messmodus 2 und zur erfolgreichen Steuerung dieses Messmodus ist es unbedingt erforderlich, die Belegung der Rohwerteregister mit den Messwerten der Messeinheit zu beachten. Jeder der beiden Messkanäle hat 4 Rohwerteregister in denen unkalibrierte Messwerte der Messeinheit gespeichert werden. Diese Register werden im Messbereich 2 wie folgt belegt. Der Vollständigkeit halber auch mit der Belegung im 'High Resolution' Modus. Für die genaue Bedeutung bitte im entsprechenden Unterabschnitt nachschlagen. Kanal Rohwertregister 1 1 1 1 2 2 2 2 1 2 3 4 1 2 3 4 gespeicherter Wert im Messbereich 2 high resolution Normal FC 1 FC 1 FC 2 FC 2 FC 3 FC 3 FC 4 FC 4 FC 5 FC 1 n.c. FC 2 n.c. FC 3 n.c. FC 4 2.4.3 Steuerung der ALU im Messbereich 2 Die ausführliche Beschreibung der gesamten Möglichkeiten der ALU ist in Abschnitt 2.9 in diesem Manual dargestellt. Hier eine Zusammenfassung für den Messbereich 2. Im Messbereich 2 kann man ! den Stopp zum Start hin vermessen ! es können keine Stopps untereinander vermessen werden. ! das Ergebnis kann optional multipliziert werden. Es können nur kalibrierte Werte ausgegeben werden. Es muss immer das Calibrate Bit im Einstellregister 0 gesetzt sein. Die Steuerung, welches Ereignis zum Start vermessen wird geschieht im Einstellregister 2. Es besteht aus 2 Einstellwerten à 4 Bit (Nibbles). Es wird die Berechnungsvorschrift Ergebnis = unteres Nibble - oberes Nibble acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 21 TDC-GP1 2.4 Messen im Messbereich 2 durchgeführt. Die ALU muss so instruiert werden, dass sie zum gewünschten Hit gemäß folgender Formel die richtigen Finecount Werte voneinander subtrahiert. FC1 − FC 2 ∆t = CAL _ CLK * CC + Cal 2 − Cal1 Einige Beispiele zur Verdeutlichung (die kompletten Zusammenhänge in Abschnitt 2.9) Beispiel 1: Inhalt Register 0: 0x50 Inhalt Register 2: 0x21 # FC1 - FC2 Ergebnis: Es wird der 1. Hit zum Start hin berechnet, das Ergebnis wird kalibriert 32-bittig in ein Ausgangsregister geschrieben. Der gesamte Berechnungsvorgang dauert ca. 2.2 µs. Beispiel 2: Inhalt Register 0: 0x50 Inhalt Register 2: 0x91 # FC1-FC5 Ergebnis: Es wird der 4. Hit zum Start hin berechnet, das Ergebnis wird kalibriert 32-bittig in ein Ausgangsregister geschrieben. Der gesamte Berechnungsvorgang dauert ca. 2.2 µs. 2.4.4 Steuerung der Messung, Einstellmöglichkeiten ! Enable der Hitanzahl Relevante Register: Einstellregister 7 Adresse: 7 Relevante Bits: 5-0 Wirkung: siehe Tabelle Default: 4 Hits pro Kanal (gültig nur für Messbereich 1) Gemäß der Registerbelegung mit den FCx Werten ergibt sich folgende Tabelle für die Steuerung der erlaubten Hits EN_HIT1<2..0> 2 3 4 4 EN_HIT2<2..0> 0 0 0 1 Anzahl Hits 1 2 3 4 Für die Generierung eines Messwertes benötigt man 2 FC (FC1 und FC2-5) Werte, für jeden weiteren Hit wird ein weiterer FC Wert generiert. Der FC1 Wert wird für jeden Hit benötigt. ! Einstellung der Flankensensitivität Einstellung identisch mit Messbereich 1, bitte 2.3.2 beachten !!! ! Retrigger Modus ! ! Dieser Modus kann im Messbereich 2 nicht benutzt werden. Unbedingt ausschalten !!! Queuing Keine Wirkung des Queuing Bits im Messbereich 2 !!! Auto Noise Die Auto Noise Einheit funktioniert wie im Messbereich 1, jedoch mit der Ausnahme, dass bei Benutzen der Auto Noise Einheit kein 4-fach Multihit, sondern nur ein maximal 3-fach Multihit möglich ist. Bitte beachten: Auto Noise ist im Messbereich 2 nur dann sinnvoll, wenn der Startimpuls phasenstarr zum Kalibriertakt liegt. Haben Startimpuls und Kalibriertakt keine feste Phasenbeziehung, ist Auto Noise nicht notwendig, sondern entsteht quasi von selbst. In diesem Modus müssen die Stoppeingänge während der gesamten Messung extern aktiviert sein (Pin 37, 42). acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 22 TDC-GP1 2.5 Messen im Resolution Adjust Modus 2.5 Messen im Resolution Adjust Modus Einstellung des Messbereiches: Relevante Register: Einstellregister 1 Adresse: 1 Relevante Bits: 7 Wirkung: 0 = off; 1 = on Default: off Anmerkung: Die hohe Auflösung des GP1 wird durch Ausnutzung interner Gatterlaufzeiten erreicht. Diese Gatterlaufzeiten sind spannungs-, temperatur- und prozessabhängig. Bedingt durch diese Abhängigkeit ist im 'Normalfall' die Auflösung des GP1 unbekannt, und muss durch Kalibriermessungen ermittelt werden. Des Weiteren ist die Auflösung nicht konstant, sondern schwankt mit der Spannung und Temperatur. Dies gilt nicht im Resolution Adjust Modus des GP1. In diesem Modus kann die Auflösung des GP1 quarzgenau und absolut temperaturstabil eingestellt werden. Erreicht wird dies durch einen Phasenregelkreis (Phase-Locked Loop), der die Core Spannung des GP1 so regelt, dass die in einem Register eingestellte Auflösung exakt erreicht und gehalten wird. Der Resolution Adjust Modus kann im Messbereich 1 bei normaler Auflösung und bei High Resolution verwendet werden (bitte die Einschränkungen beachten). 2.5.1 Mögliche Messfolge und Messzeiten Beim Resolution Adjust Modus gibt es keinen Start Impuls, da sich die Messeinheit in einem prinzipiell anderen Betriebsmodus befindet. Abbildung 6 : Zeiten im Resolution Adjust Modus Es sind folgende Zeiten zu beachten (typ.): 2 Ereignissen auf dem gleichen Kanal müssen mindestens 15 ns liegen (Doppelpulsauflösung). Liegen Ereignisse näher aneinander wird das 2. Ereignis nicht erkannt, da es in der Erholzeit des Kanals liegt. # Messbereich1: t = 15 ns ! zwischen 1 min ! zwischen 2 Ereignissen auf verschiedenen Kanälen gibt es keine minimale Zeit # Messbereich1: t 2 min = 0 ns ! alle zu messenden Ereignisse müssen innerhalb von 15.360 LSBs (2 1 4 -2 1 1 ) nach dem ersten Messpuls auf einem der Stopps kommen (kann optional erweitert werden) # Messbereich1: t ≈ 3,8 µs (typ.) 3 max 2.5.2 Steuerung der ALU im Resolution Adjust Die ausführliche Beschreibung der gesamten Möglichkeiten der ALU ist in Abschnitt 2.9 weiter hinten in diesem Manual dargestellt. Hier eine Zusammenfassung für den Resolution Adjust Modus. Im Resolution Adjust kann man ! jeden Stopp der beiden Kanäle zu jedem anderen Stopp hin vermessen acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 23 TDC-GP1 2.5 Messen im Resolution Adjust Modus ! Es kann weder kalibriert noch multipliziert werden. Die Steuerung welches Ereignis zu welchem Ereignis vermessen wird, geschieht im Einstellregister 2. Es besteht aus 2 Einstellwerten à 4 Bit (Nibbles). Es wird die Berechnungsvorschrift Ergebnis = unteres Nibble - oberes Nibble durchgeführt. Einige Beispiele zur Verdeutlichung (die kompletten Zusammenhänge in Abschnitt 2.9) Beispiel 1: Inhalt Register 0: 0x00 Inhalt Register 2: 0x21 Ergebnis: Es wird vom 1. Hit des Kanals 1 der 2. Hit des Kanals 1 subtrahiert, das Ergebnis wird 16bittig in ein Ausgangsregister geschrieben. Der gesamte Berechnungsvorgang dauert ca. 180 ns. Beispiel 2: Inhalt Register 0: 0x00 Inhalt Register 2: 0xA3 Ergebnis: Es wird vom 3. Hit des Kanals 1 der 2. Hit des Kanals 2 subtrahiert. Das Ergebnis wird 16bittig in ein Ausgangsregister geschrieben. Der gesamte Berechnungsvorgang dauert ca. 180ns. 2.5.3 Einschränkungen im Resolution Adjust Modus Für den Resolution Adjust Modus gelten einige Einschränkungen, die es unbedingt zu beachten gilt. ! Nicht anwenden im Messbereich 2 Der Resolution Adjust Modus kann nur im Messbereich 1 verwendet werden. Im Messbereich 2 ist keine sinnvolle Messung möglich. Da im Messbereich 2 aufgrund des Aufbaus einer Messung immer eine Normierung z.B. mit den Kalibrierwerten erforderlich ist, wäre eine solche Berechnung auch im Resolution Adjust Modus notwendig, was den Effekt dieses Modus praktisch wieder aufheben würde ! keine Kalibrierwertgenerierung möglich Im Resolution Adjust Modus ist eine Kalibrierwertgenerierung nicht möglich - und - auch nicht notwendig. ! Kein kalibrieren oder multiplizieren der ALU Es ist in diesem Modus nicht möglich, mit der ALU eine Kalibrierberechnung durchzuführen. Auf eine Multiplikation des Ergebnisses sollte verzichtet werden. Sie kann aber durchgeführt werden, wenn der berechnete Wert der subtrahierten Hits positiv ist. ! Der Messbereich ist nur halb so s o groß wie ohne Resolution Adjust ( 15.360 LSBs) Durch richtige Interpretation der Messergebnisse ist es allerdings möglich den Messbereich praktisch zu verdreifachen (nicht im high Resolution). Bitte Unterpunkt 2.5.8 beachten. ! Keine negativen Werte bei 'H 'High igh Resolution' Bei Verwendung des High Resolution Modus ist es nicht möglich, durch die ALU negative Zeiten berechnen zu lassen. Dies ist auch nicht notwendig, da nur die Multihits eines Kanals untereinander vermessen werden können und hier von vornherein bekannt ist, welcher Hit vor welchem kam. Es kann also immer nur der Hit mit der niedrigeren Hitnummer von dem mit der höheren subtrahiert werden. 2.5.4 Externe Beschaltung des GP1 Im Falle, dass der Resolution Adjust Betrieb benutzt werden soll, muss eine externe Beschaltung für die Core Spannungsversorgung vorgesehen werden. Bild 1 zeigt ein Beispiel für eine preisgünstige externe Beschaltung der Core Spannungsversorgung des GP1 im Falle des Resolution Adjust Betriebs. Es ist zu beachten, dass nur die Core Spannung geregelt wird und nicht die I/O Spannung des Bausteines. Diese bleibt fest auf z.B. 5 V, ansonsten besteht die Gefahr, dass die Eingangsschutzdioden der Inputs des GP1 bei zu niedriger Betriebsspannung, verursacht durch die Regelung, überfahren werden. Achtung: Die Core darf unter keinen Umständen (Worst case Phase = 0) unter 2.7 V sinken. Ansonsten besteht die Gefahr der Fehlfunktion. acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 24 TDC-GP1 2.5 Messen im Resolution Adjust Modus Abbildung 7 5V 12V 2 x 22µ & 2 x 100n 2 x 100n Vi 10µ Vo LM 3 1 7 V c c_ c o re 2K2 V c c _ IO A d j. T D C -G P 1 Phase 4K7 10µ GND 5K6 10R Stromaufnahme: Im Resolution Adjust Betrieb steigt die Stromaufnahme des TDC-GP1 an. Sie liegt bei ca. 25 mA und ist praktisch unabhängig von der Messrate. 2.5.5 Steuerung der Messung, Einstellmöglichkeiten ! Einstellung des Messmodus Relevante Register: Relevante Bits: Wirkung: ! Enable der Hitanzahl Einstellregister 1 Adresse: 1 7 0 = off; 1 = on ;Default: off Relevante Register: Einstellregister 7 Adresse: 7 Relevante Bits: 5-0 Wirkung: siehe Tabelle Default: 4 Hits pro Kanal Gemäß der Registerbelegung mit den FCx Werten ergibt sich folgende Tabelle für die Steuerung der erlaubten Hits EN_HITx<2..0> Anzahl Hits 1 1 2 2 3 3 4 4 ! Einstellung der Flankensensitivität Einstellung identisch mit Messbereich 1 !!! ! Erkennung des Adjust Zustandes Ob die PLL die gewählte Auflösung einstellen konnte kann im Statusregister 1 Bit 7 abgefragt werden. Dieses Bit geht ca. 10 ms nachdem die PLL eingerastet ist auf 1. Für Labortests ist außerdem der Ausgang PHASE des GP1 ein guter Beobachtungspunkt. Im eingerasteten Zustand wird hier ein digitaler Takt mit veränderlichem Puls/Pause Verhältnis ausgegeben, dessen Gleichanteil die Regelspannung für den Spannungsregler ist. Die Gesamtzeit, welche die PLL braucht um einzurasten, liegt bei ca. 100 ms. ! Verhalten bei Überschreiten der Einstellgrenze Einstellgrenze Wurde eine Einstellung zu knapp an der Einstellgrenze gewählt und wird dann durch Temperaturänderungen diese Einstellgrenze überschritten, geht dieses Signal dauerhaft in eine 0 oder eine 1 über. Der Regelkreis kann nicht mehr nachregeln. Der GP1 befindet sich nun im Floating Resolution Modus. Das Signalisierungs-Bit im Statusregister 1 geht auf 0. Der Baustein geht automatisch wieder in den resolution Adjust Betrieb über, sobald es aufgrund der eingestellten Parameter oder sonstiger Bedingungen wieder möglich ist. Das gleiche Verhalten zeigt der GP1, wenn die Auflösung der Registereinstellungen von vornherein nicht eingestellt werden kann. acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 25 TDC-GP1 2.5 Messen im Resolution Adjust Modus 2.5.6 Weitere Besonderheiten im Resolution Adjust Modus Wie bereits beschrieben gibt es im Resolution Adjust Modus keinen Start. Es können damit nur die Stopps untereinander vermessen werden. Im Resolution Adjust Modus ist eine RLC-Messung durchführbar. Wobei es nicht sinnvoll ist, den Resolution Adjust Modus zu verwenden, wenn man nur über die RLC Ports messen will. Diese Option ist dazu gedacht, die Möglichkeit zu bieten, im Resolution Adjust Modus auch zusätzlich eine RLCMessung durchzuführen (z.B. eine Temperaturmessung) ohne den Modus verlassen zu müssen. Die PLL verfügt auch über einen SET_PAR Modus (Register 4 Bit 3). In diesem Modus ist der Regelkreis nicht geschlossen. Am Ausgang PHASE wird ein Takt mit festem 50:50 Puls Pause Verhältnis ausgegeben, man hätte also nach beiden Seiten den maximalen Regelbereich. Die PLL bestimmt nun von sich aus den Einstellwert des PLL-Einstellregisters (Register 3) der sich bei diesen Verhältnissen ergeben würde und schreibt ihn in das Leseregister hex A. Dieser Modus ist dazu da, sich einen Überblick über die Einstellmöglichkeiten zu verschaffen. Setzt man den Wert des PLL-Einstellregisters (Adresse 3) auf 255 und schaltet man den SET_PAR Modus ab, wird dieser ermittelte Wert automatisch verwendet und der Regelkreis wird geschlossen. Timeout: Auch im Resolution Adjust Modus wird ein Timeout generiert. Im Gegensatz zu den anderen Modi hat dies jedoch keinen Einfluss auf laufende Messungen. Es wird lediglich das Timeout Flag gesetzt. Die Messung wird nicht unterbrochen. Es werden nach einem Timeout weiterhin Hits bis zur maximal eingestellten Zahl akzeptiert. 2.5.7 Erweitern des Messbereiches auf bis zu 11 µs Wenn die 3.8 µs Messbereich nicht ausreichen, gibt es eine Möglichkeit diesen Messbereich durch richtige Interpretation der Ergebnisse praktisch zu verdreifachen. Hier macht man sich die Tatsache zunutze, dass der GP1 im Resolution Adjust Modus nach einem Timeout nicht aufhört zu messen, sondern auch darüber hinaus richtig misst. Nur die ALU ist nicht mehr in der Lage den Wertebereich kontinuierlich weiterzuführen. Die ALU reagiert wie folgt: Wird der Wertebereich der ALU überschritten (bei ca. 15.360 LSBs), wird von der ALU ein konstanter Offset von 30.720 LSB subtrahiert. Bis auf diesen Offset ist das Ergebnis korrekt. Dies eröffnet nur eine sehr einfache Möglichkeit den Messbereich erst einmal zu verdoppeln. Dazu ist es allerdings notwendig, dass man definitiv weiß, welcher Stopp vor welchem kam, das richtige Ergebnis darf nicht negativ sein. 2.5.7.1 Korrekturvorschrift für Verdoppelung des Messbereiches: Werden negative Ergebnisse ausgelesen, so müssen zu diesen Ergebnissen 30.720 LSB dazuaddiert werden. Der jetzt erhaltene Wertebereich liegt zwischen 0 und 30.720 LSB und damit bei ca. 7.8 µs (typ.). Damit werden nach ca. 30.720 LSBs die ausgelesenen Ergebnisse wieder positiv. Will man den möglichen Messbereich verdreifachen, muss man noch zusätzlich das Overflow Flag (Statusregister 1, Bit 6) auswerten. 2.5.7.2 Korrekturvorschrift für Verdreifachung des Messbereiches: Zusätzlich zu obiger Vorschrift gilt dann Folgendes: Ist das ausgelesene Messergebnis positiv und das Overflow Flag = 0 befinden wir uns im eigentlich richtigen Messbereich, das Ergebnis ist so korrekt. Ist das ausgelesene Messergebnis positive und das Overflow Flag = 1 befinden wir uns oberhalb von 30.720 LSBs. Es muss zum ausgelesenen Messergebnis 30.720 dazuaddiert werden. Da man mit dieser Erweiterung das Overflow Flag nicht im eigentlichen Sinn nutzt, muss man natürlich anderweitig sicherstellen, dass die so erweiterten Messbereiche des GP1 nicht überschritten werden, bzw. dass man ein Überschreiten des Messbereiches erkennt. (z.B. durch einen externen 1 MHz Zähler der grob die Hits einteilt) 2.5.8 Berechnung der Auflösung des GP1 Für die Einstellung der Auflösung sind 3 Parameter beteiligt acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 26 TDC-GP1 2.6 Zuschalten des High Resolution Modus ! die Periodendauer des Referenztaktes ! das Teilerverhältnis des Referenzteilers (Register 4: Bits 2.0) ! der eingestellte Wert des PLL -Einstellregisters (Register 3: alle Bits) Die sich einstellende Auflösung des TDC-GP1 berechnet sich nach folgender Formel Resolution = Beispiel: Tref ∗ 2nref 120 ∗ PLL _ L Referenz Takt = 10 MHz # Tref = 100 ns Teilerfaktor Referenztakt nref=5 #2 = 32 PLL-Einstellwert= 100 5 Mit diesen Einstellungen ergibt sich eine Auflösung von 266,66 ps bei einfacher Auflösung bzw. 133.33 ps bei high Resolution. 2.6 Zuschalten des High Resolution Modus Die beiden Kanäle des GP1 sind streng miteinander korreliert, was sich zum Beispiel darin äußert, dass sie immer exakt die gleiche Auflösung haben. Diese enge Kopplung eröffnet die Möglichkeit beide Kanäle so miteinander zu verschalten, dass ein 1 Kanal TDC mit der doppelten Auflösung entsteht. Dies ist im High Resolution Modus realisiert. Der Stopp 2 Eingang ist in diesem Modus abgeschaltet. Stopp Impulse auf Stopp 2 haben keine Wirkung. Der High Resolution Modus kann im ! Messbereich1 ! Messbereich2 ! Resolution Adjust Modus zugeschaltet werden 2.6.1 Mögliche Messfolge und Messzeiten a. Messbereich 1 und Messbereich 2 Abbildung 8 : Zeiten High Resolution, MB1 und MB2 Es sind dabei folgende Zeiten zu beachten (typ.): ! nach einem Start darf frühestens nach 3 ns ein Stopp auf einem der Kanäle kommen. Stopps die früher kommen werden ignoriert # Messbereich1: t = 3 ns # Messbereich2: t = 1.5*CAL_CLK+25ns ! zwischen 2 Ereignissen müssen mindestens 15 ns (Messbereich2: 2*CAL_CLK+4ns) liegen (Doppelpulsauflösung). Liegen Ereignisse näher aneinander wird das 2. Ereignis nicht sicher erkannt, da es in der Erholzeit des Kanals liegt. # Messbereich1: t = 15 ns # Messbereich2: t = 1.5*CAL1.5*CAL - CLK+25ns CLK +25ns ! alle zu messenden Ereignisse müssen innerhalb von 30.720 LSBs (2 -2 ) nach dem Start kommen (Messbereich2: 2 *CAL_CLK) # Messbereich1: t ≈ 3,8 µs (typ.) # Messbereich2: t = 2 *CAL*CAL - CLK 1 min 1 min 2 min 2 min 15 11 16 3 max 3 max 16 acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 27 TDC-GP1 2.6 Zuschalten des High Resolution Modus b. Resolution Adjust Modus Abbildung 9 : Zeiten High Resolution, Res. Adj. Modus Es können nur Ereignisse die auf dem Stopp1 Input ankommen untereinander vermessen werden Es sind dabei folgende Zeiten zu beachten (typ.): ! zwischen 2 Ereignissen müssen mindestens 15 ns liegen (Doppelpulsauflösung). Liegen Ereignisse näher aneinander wird das 2. Ereignis nicht sicher erkannt, da es in der Erholzeit des Kanals liegt. # Messbereich1: t = 15 ns ! alle zu messenden Ereignisse müssen innerhalb von 15.360 LSBs (2 -2 ) nach dem Start kommen 2 min 14 # Messbereich1: t 3 max 11 ≈ 1,9 µs (typ.) Im High Resolution kann keine Messbereichserweiterung gemäß werden. Vorschrift 2.5.8 durchgeführt 2.6.2 Steuerung der Messung, Einstellmöglichkeiten ! Einstellung des des Modus: Relevante Register: Relevante Bits: Wirkung: Einstellregister 1 Adresse: 1 6-0 Bit 6 = Aktivierung, 0=off, 1=on, Default=off Bit 5-0 Einstellbits, default=0 Um eine optimale Kennlinie in diesem Modus zu erhalten, müssen die Einstellbits 5-0 des Einstellregisters auf Bit< 5 .. 0>: 001101 gestellt werden. ! Messungen im Messbereich 1 Im Messbereich 1 hat man einen 1 Kanal TDC mit 4-fach Multihitfähigkeit. Enable der Hitanzahl Relevante Register: Einstellregister 7 Adresse: 7 Relevante Bits: 2-0 Wirkung: siehe Tabelle Default: 4 Hits pro Kanal Im Einstellregister 7 (Adresse 7) wird die Anzahl der möglichen Hits pro Kanal eingestellt. Es gilt dabei folgende Einstellung. EN_HIT1<2..0> 0 1 2 3 4 Anzahl der möglichen Hits 0 Hits, Software Disable des Kanals 1 Hit 2 Hits 3 Hits 4 Hits Die Bits EN_HIT2<2..0> werden nicht ausgewertet. Die Einstellung der Flankensensitivität, Retrigger Modus und Auto Noise bleiben wie bei einfacher Auflösung erhalten. Qeuing ist nicht möglich. acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 28 TDC-GP1 2.7 RLC-Messung ! Messungen Me ssungen im Messbereich 2 Im Messbereich 2 hat man einen 1 Kanal TDC mit 3-fach Multihitfähigkeit. Hier muss man auf einen Multihit verzichten, da bereits mit 3 Multihits alle Rohwerteregister belegt sind. ! Enable der Hitanzahl Relevante Register: Relevante Bits: Wirkung: Default: Im Einstellregister 7 folgende Einstellung. EN_HIT1<2..0> 2 3 4 Einstellregister 7 Adresse: 7 2-0 siehe Tabelle 3 Hits (Adresse 7) wird die Anzahl der möglichen Hits pro Kanal eingestellt. Es gilt dabei EN_HIT2<2..0> x x x Anzahl Hits 1 2 3 Die Bits EN_HIT2<2..0> werden nicht ausgewertet. Die Einstellung der Flankensensitivität, Retrigger Modus und Auto Noise bleiben wie bei einfacher Auflösung erhalten. 2.7 RLC-Messung 2.7.1 Prinzipielle Vorgehensweise Die Bestimmung vieler physikalischer Grundgrößen lässt sich relativ einfach auf eine Zeitdifferenzmessung zurückführen. Das gilt auch für die 3 Grundgrößen der Elektrotechnik ! R (Widerstand) ! L (Induktivität) ! C (Kapazität) Der GP1 bietet die Möglichkeit dies durch einfache äußere Beschaltung des Bausteines zu tun. Die Bestimmung der Größen erfolgt (wie bei allen anderen Messgeräten auch) über Verhältnisbildung mit RLC Komponenten bekannter Größe. Diesmal eine Verhältnisbildung über Zeitdifferenzen. Beispiel: Widerstandsbestimmung Hier wird im 1. Schritt über einen unbekannten Widerstand ein Kondensator entladen. Mit dem Beginn der Entladung wird ein Startimpuls generiert. Unterschreitet die Spannung des Kondensators die Schaltschwelle eines Komparators (z.B. Schmitt Trigger) wird ein Stoppimpuls generiert. Die Zeit zwischen Start und Stopp wird mit dem TDC gemessen. Im 2. Schritt wird das Ganze mit einem Referenzwiderstand bekannter Größe wiederholt. Das Verhältnis der beiden Zeitdifferenzen ist gleich dem Verhältnis der beiden Widerstände, wenn man bei beiden Messungen den gleichen Kondensator und Komparator verwendet. Beim Bestimmen von Induktivitäten und Kapazitäten geht man analog vor. Durch die sehr hohe Auflösung eines TDCs ist diese Art der Größenbestimmung innerhalb weniger Mikrosekunden durchführbar. Dies hat den Vorteil, dass man auch schnelle Änderungen erfassen kann. Ein weiterer Vorteil liegt in der geringen Stromaufnahme eines solchen Messvorgangs. Die komplette Bestimmung eines Widerstandes braucht bei richtiger Auslegung weniger als 1 µAs. Damit lassen sich bei wenigen Messungen pro Sekunde Betriebsströme von wenigen µA realisieren. Der Schaltungsaufwand ist sehr gering und damit kostengünstig. Es lassen sich sehr präzise Messungen durchführen. 2.7.2 Mögliche Messfolge und Messzeiten Messfolge Es lassen sich RLC-Messungen auf 2 verschiedene Arten durchführen ! als Komplettmessung von Port 1-n (n = 4). Hier werden so viele Ports ausgemessen (beginnend von Port 1) wie eingestellt sind ! als Einzelmessung. Hier wird nur der selektierte Port ausgemessen max acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 29 TDC-GP1 2.7 RLC-Messung Messzeiten Die RLC-Messung kann sowohl im Messbereich 1 als auch im Messbereich 2 durchgeführt werden. Die maximal messbare Zeitdifferenz ergibt sich aus den Messbereichen. Messablauf Die Messung wird mit einem 0-> 1 Übergang am Bit 3 des Einstellregister 6 gestartet. Nachdem ein Port ausgemessen wurde wird optional kalibriert. Danach wird die Berechnung der ALU durchgeführt, die vorher in den entsprechenden Registern eingestellt wurde. Nach der Berechnung wird das Ergebnis in ein Ausgangsregister der ALU geschrieben. Bei Multiportmessung wird dabei jeweils um eine Adresse erhöht. Nach dem Ende eines Messzyklus wird das RLC_END Flag gesetzt, das über das Statusregister abgefragt werden kann. Der ganze Zyklus dauert bei einer Messung mit 4 Ports ca. 1000 R-L-C Taktzyklen plus Messzeit. Bei einer 1 Port Messung ca. 250 R-L-C Taktzyklen plus Messzeit. Beispiel: Eine RLC-Messung mit 4 Ports und 10 MHz RLC Takt und einer Messzeit pro Port von ca. 10 µs benötigt ca. 140 µs. War die ALU auf kalibrieren geschaltet, stehen danach die 4 Messergebnisse je als 32 Bit Festkommazahl von Port 1 aus aufsteigend in den Ergebnisregistern 1-8. Jeder Wert belegt zwei 16-Bit Register. 2.7.3 Steuerung der Messung, Einstellmöglichkeiten ! Einstellung des Modus: Relevante Register: Relevante Bits: Wirkung: Einstellregister 6 Adresse: 6 3, 2 Bit 3 = Aktivierung, 0=off, 1=on, Default=off Bit 2 = Benutzung externer Transistoren 0= nein, 1= ja , default=nein Relevante Register: Einstellregister 5 Adresse: 5 Relevante Bits: 7-0 Wirkung: siehe weitere Erklärungen ! Einstellungen im Register 5: Register 5 Adresse: 5 Bit Nr. Name 7 RLC_NR<2> 6 RLC_NR<1> 5 RLC_NR<0> 4 SINGLE_EN 3 C_SEL 2 SEL_CLK_RLC<2> 1 SEL_CLK_RLC<1> 0 SEL_CLK_RLC<0> Bedeutung Auswahl welcher bzw. wie viele RLC Ports gemessen werden " " selektiv Ports Messen = 1, 0= alle Ports von 1 bis RLC_NR Kapazitätsverhältnisse ausmessen = 1 Select für Takt der RLC Einheit " " Default 1 0 0 0 0 0 0 0 Im Bit 7-5 wird bei SINGLE_EN=0 die Anzahl der zu messenden Ports eingestellt. Bei SINGLE_EN=1 wird der zu messende Port selektiert. Es gilt folgende Tabelle RLC_NR<2..0> SINGLE_EN=0 Anzahl Ports 0 1 1 2 2 3 3 4 4 SINGLE_EN=1 Port Nummer 1 2 3 4 C_SEL C_SEL Bei der R- und bei der L- Messung ist die Ansteuerung der Ports identisch. Bei einer C-Messung müssen die Ports dagegen anders angesteuert werden. Es ist deswegen notwendig dem Chip mitzuteilen, dass es sich um eine C-Messung handelt. Dafür ist Bit 3 (C_SEL) verantwortlich. Bei einer 1 wird von einer C-Messung ausgegangen und die Ports werden entsprechend angesteuert. acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 30 TDC-GP1 2.7 RLC-Messung SEL_CLK_RLC Die Ablaufsteuerung, welche die RLC-Messung steuert, wird vom CLK_REF getaktet. Dieser Takt kann durch einen chipinternen Teiler auf die Erfordernisse angepasst werden. Das Teilerverhältnis wird mit SEL_CLK_RLC eingestellt. SEL_CLK_RLC<2..0> 0 1 2 3 4 5 6 7 ! Teilerfaktor 1 2 4 8 16 32 64 64 Einstellungen im Register 6 Im Register 6 sind Bit 2 und 3 weitere Steuerbits für die RLC-Messung USE_TRANS Vor allem bei niederohmigen R- oder L- Messungen empfiehlt es sich nicht auf die chipinternen PortTreiber zurückzugreifen, sondern externe Transistoren zu verwenden, z.B. NPN-Transistoren. Benutzt man diese Möglichkeit, muss dies der GP1 wissen, um seine Ansteuerung entsprechend anzupassen. Dies geschieht über dieses Bit. Bei 1 wird von der Verwendung externer Transistoren ausgegangen. Ob diese Maßnahme ergriffen werden muss, hängt vom Widerstand und von der benötigten Messgenauigkeit ab. Mann kann davon ausgehen, dass die internen Port Treiber bei 5 V/ 25 C einen R -ON von ca. 15 Ohm haben und das Matching untereinander ca. 1.5 Ohm beträgt. Ob diese Qualität ausreicht, muss von Fall zu Fall entschieden werden. RLC_EN Mit einer 1 bei diesem Bit wird die RLC-Messung gestartet. Das Bit muss während der gesamten Messung auf 1 bleiben. Die Messung schaltet sich am Ende automatisch ab. Das RLC_END Flag wird auf dem Statusregister ausgegeben. DS Das RLC_EN Bit wird am Ende der Messung nicht automatisch auf 0 gesetzt. Will man eine neue RLCMessung starten, muss dieses Bit auf 0 und dann wieder auf 1 gesetzt werden, wobei das Bit mindestens 6 RLC-Taktperioden auf 0 sein muss. acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 31 TDC-GP1 2.7 RLC-Messung 2.7.4 Außenbeschaltung der Ports In den folgenden 3 Schaltbildern wird die Außenbeschaltung der Ports bei R-, L- und C-Messung mit und ohne externe Transistoren dargestellt. Abbildung 10: 10 : Widerstandsmessung mit externen Transistoren Abbildung 11: 11 : Externe Beschaltung bei Induktivitätsmessung ohne externe Transistoren Abbildung 12: 12 : Externe Beschaltung bei Kapazitätsmessung ohne externe Transistoren acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 32 TDC-GP1 2.8 Kalibration des GP1 2.7.5 Genauigkeiten bei der RLC-Messung Bei der RLC-Messung lassen sich die Verhältnisse der Komponenten bei Einzelmessung bis auf ca. 50 ppm genau bestimmen. Durch Mittelung über mehrere Messungen sind < 10 ppm erreichbar. Damit diese Genauigkeit auch erreicht werden kann, sind jedoch einige Dinge zu beachten. Die erreichbare Genauigkeit ist nicht von der TDC-Einheit abhängig, sondern vor allem von der Rauschfreiheit der Schmitt-Trigger Schwelle und der Niederohmigkeit der Schalttransistoren. Deshalb gilt es zu beachten. ! während des Messvorgangs dürfen keine I/O Operationen über den Bus stattfinden z.B. Polling des Statusregisters. Dies stört empfindlich die Schaltschwellengenauigkeit des Chip-internen SchmittTriggers. Ist dies nicht möglich, sollte ein externer Schmitt-Trigger vor den Input SENSE geschaltet werden, der diese Problematik behebt. ! sollen niederohmige Widerstände hochgenau vermessen werden (z.B. PT 500), sind externe Transistoren, am besten MOSFETs mit geringen RDS on, vorzusehen. Die internen Port Transistoren sind zu hochohmig. 2.8 Kalibration des GP1 (Hauptabschnitt 5 'Bekannte Probleme und deren Lösung' beachten) Es kann auf 2 verschiedene Arten eine Kalibrierung des GP1 durchgeführt werden ! per Befehl ! automatisch nach einem Start/Stopp Ereignis Bei einem Kalibriervorgang werden aus dem Kalibriertakt eine und zwei Taktperioden vermessen. Die Ergebnisse werden in speziellen Kalibrierwertregistern gespeichert, die bei jedem Kalibriervorgang mit den aktuellen Werten überschrieben werden. Ein separater Kalibriervorgang wird durch Setzen eines Bits im Moderegister ausgelöst. Das Bit wird automatisch gelöscht nachdem der Vorgang beendet ist. Bei automatischer Kalibrierung wird, nachdem die Anzahl der eingestellten Hits auf beiden Kanälen erreicht ist, eine Kalibration eingeleitet. Abbildung 13 Cal2 Cal1 offset Tref 2*T r e f 2.8.1 Steuerung der Kalibration ! separate Kalibrierung Relevante Register: Relevante Bits: Wirkung: Default: ! AutoAuto - Kalibrierung Relevante Register: Relevante Bits: Wirkung: Einstellregister 0 Adresse: 0 7 1 = Kalibrierung wird durchgeführt 0 Einstellregister 0 Adresse: 0 3 1 = Auto Kalibrierung wird durchgeführt 2.8.2 Wirkung der Einstellungen Separate Kalibrierung Wurde das Bit der separaten Kalibrierung gesetzt, werden aus dem am Messkreis anliegenden Kalibriertakt Start und Stoppsignale generiert, deren Abstand eine Kalibriertaktperiode ist. Daraus werden dann im Multihitverfahren 2 Hits generiert, die eine und zwei Kalibriertaktperioden darstellen. Nach einem separaten Kalibrierlauf wird das CAL Bit automatisch gelöscht. Damit muss für eine separate Kalibrierung nur einmal das Register 0 beschrieben werden. acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 33 TDC-GP1 2.9 Berechnungsmöglichkeiten mit dem GP1 Auto Kalibrierung Werden nur sehr wenige Messungen durchgeführt bzw. hat man genügend Zeit zwischen den Messungen, kann man alternativ auf automatische Kalibrierung schalten. Bei dieser Option wird automatisch, nachdem die Anzahl der eingestellten Hits erreicht ist, eine Kalibration durchgeführt, die den gleichen Ablauf wie die separate Kalibrierung hat. Die Kalibrierwerte können auch zur Kontrolle ausgelesen werden. Diese Möglichkeit wird im Abschnitt 'Berechnungsmöglichkeiten mit dem GP1' näher beschrieben. 2.9 Berechnungsmöglichkeiten mit dem GP1 Steuerung der ALU Wie bereits erwähnt, kann man nur Messwerte aus den 8 Ausgangsregistern des GP1 auslesen. Diese Ausgangsregister werden über die sequentielle ALU beschrieben. Die Art und Weise, wie diese Messwerte vorher durch die sequentielle ALU bearbeitet werden, lässt sich in sehr weiten Bereichen durch die Einstellregister 0, 1 und 2 steuern. 2.9.1 Wirkung der Einstellregister Register 2 Das elementare Einstellregister bei der Auswahl der Hits ist das Register 2. Hier stehen 2 Worte à 4 Bit zur Verfügung, welche zur Selektion der gewählten Hits dienen. Register 2 Adresse: 2 Bit Nr. Name 7 HIT2_IN<3> 6 HIT2_IN<2> 5 HIT2_IN<1> 4 HIT2_IN<0> 3 HIT1_IN<3> 2 HIT1_IN<2> 1 HIT1_IN<1> 0 HIT1_IN<0> Instruktionsregister für die ALU HIT1_IN - HIT2_IN Berechnungsvorschrift: Bedeutung Kanal select für oberes Nibble: 0= channel1, 1=channel2 #Hit für in Bit 7 selektiertem Kanal #Hit für in Bit 7 selektiertem Kanal #Hit für in Bit 7 selektiertem Kanal Kanal select für unteres Nibble: 0= channel1, 1=channel2 #Hit für in Bit 3 selektiertem Kanal #Hit für in Bit 3 selektiertem Kanal #Hit für in Bit 3 selektiertem Kanal Default 0 1 0 1 0 1 0 1 Jede Berechnung die durch die sequentielle ALU durchgeführt wird, beginnt mit der Funktion HIT1_IN - HIT2_IN Es wird dabei der selektierte Hit des oberen Nibbles des Einstellregisters 2 subtrahiert vom selektierten Hit des unteren Nibbles des Einstellregisters 2. Format der Nibbles im Einstellregister 2: Das oberste Bit des jeweiligen Nibbles selektiert die Kanalnummer. Nomenklatur: 0 = Kanal 1; 1= Kanal 2 Die unteren 3 Bit stellen die Hit Nummer des jeweiligen Kanals dar. Beispiele Inhalt v. Reg. 2: 0xa4 Wirkung: Inhalt v. Reg. 2: 0x13 Wirkung: Inhalt v. Reg. 2: 0x3b Wirkung: 4. Hit Kanals 1 3. Hit Kanals 1 3. Hit Kanals 2 minus 2. Hit des Kanal 2 minus 1. Hit des Kanal 1 minus 3. Hit des Kanal 1 Steht im oberen Nibble eine 0 wird zum Start hin vermessen d.h. der untere Wert ohne arithmetische Verarbeitung durchgereicht. Beispiele Inhalt v. Reg. 2: 0x04 Wirkung: Inhalt v. Reg. 2: 0x0c Wirkung: 4. Hit Kanal 1 4. Hit Kanal 2 acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 34 TDC-GP1 2.9 Berechnungsmöglichkeiten mit dem GP1 Selektion der Kalibrierwerte Durch die Einstellung des Registers 2 kann ebenfalls auf die Kalibrierwerte zugegriffen werden. Dabei gilt bei den unteren 3 Bit eines Nibbles: 6 = CAL 1; 7 = CAL2. Das obere Bit wiederum selektiert den Kanal. Beispiele Inhalt v. Reg. 2: 0x0f Wirkung: Inhalt v. Reg. 2: 0x06 Wirkung: Inhalt v. Reg. 2: 0x67 Wirkung: CAL 2 von Kanal 2 CAL 1 von Kanal 1 CAL 2 von Kanal 1 minus CAL 1 von Kanal 1 Der Wert 5 der unteren 3 Bit eines Nibbles ist nicht belegt. Dies ist der default Zustand des Registers 2 nach einem Power On Reset. Bei dieser Einstellung des Registers 2 führt die ALU keine Berechnung durch. Register 0 Die durch die Einstellung im Register 2 ausgewählten und durch die entsprechende Operation vorverarbeiteten Hits werden nun durch die gewählten Einstellungen der Bits 5 und 6 des Registers 0 weiterverarbeitet. Ist das Bit 6 des Registers 0 auf 1 wird das Ergebnis der vorherigen Operation kalibriert. Ist zusätzlich das Bit 5 des Registers 0 auf 1 wird das nach der Kalibration entstandene Ergebnis mit dem Wert des 24 Bit Multiplikationsregisters multipliziert. Achtung: Es ist nicht vorgesehen, dass ein Wert ohne vorangegangene Kalibration multipliziert wird. Dies macht normalerweise auch wenig Sinn, da es sich um unkalibrierte Werte handelt. Es ist dennoch möglich, wenn man sicherstellen kann, dass der zu multiplizierende Wert positiv und kleiner 15.360 ist. Bitte dann aber unbedingt beachten, dass trotzdem pro Wert 32 Bit beschrieben werden. 2.9.2 Das Multiplikationsregister Der Multiplikand für die Multiplikation wird in einem 24 Bit Multiplikationsregister gespeichert, das von der Rechnerschnittstelle beschrieben wird. Es gelten folgende Adressen. Register 88 - 10 Adresse:8Adresse:8 - 10 Register 8, Adresse 8 Register 9, Adresse 9 Register 10, Adresse 10 Multiplikationsfaktor<7..0> Multiplikationsfaktor<15..8> Multiplikationsfaktor<23..16> Default 0 0 128 Das MSB des 24 Bit Wertes hat die Wertigkeit 2 . Es lassen sich also Multiplikationsfaktoren von 0 bis 2 einstellen. Der Default Wert nach dem Power On Reset ist 1. 0 2.9.3 Verwendete Rechenvorschriften in Messbereich1 Folgende Rechenvorschrift kann im Messbereich 1 durchgeführt werden ERG= MULT ∗ Dabei ist: 1. VAL(HIT2_IN) - VAL(HIT1_IN) : 2. 2*CAL1-CAL2: 3. CAL2-CAL1: 4. MULT: 5. ERG: (VAL (HIT2 _ IN) − VAL (HIT1 _ IN)) − (2 ∗ CAL1 − CAL2) CAL2 − CAL1 Ausführung der Berechnung von Register 2 Offsetkorrektur durch die Kalibrierwerte Steigung (Auflösung) der Kalibriergeraden Multiplikationsfaktor Ergebnis, das in die Ausgangsregister geschrieben wird. Ist Calibrate und Multiplicate im Register 0 auf 0 wird nur Operation 1 durchgeführt. Ist Calibrate auf 1 wird die Operation des Bruchstriches ausgeführt. Ist auch Multiplicate auf 1 wird die gesamte Rechenvorschrift ausgeführt. 2.9.4 Verwendete Rechenvorschriften in Messbereich2 Folgende Rechenvorschrift wird im Messbereich 2 durchgeführt. (VAL (HIT1 _ IN) − VAL (HIT2 _ IN)) ERG = MULT ∗ CC + CAL2 − CAL1 acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 35 TDC-GP1 2.9 Berechnungsmöglichkeiten mit dem GP1 Dabei ist: Ausführung der Berechnung von Register 2 1. VAL(HIT1_IN) - VAL(HIT2_IN) : 2. CAL2-CAL1: Steigung (Auflösung) der Kalibriergeraden 3. CC Wert des Vorteilers (Coarse Count) Multiplikationsfaktor 4. MULT: 5. ERG: Ergebnis, das in die Ausgangsregister geschrieben wird. Calibrate sollte sinnvollerweise im Messbereich 2 immer auf 1 sein, da sonst kein interpretierbares Ergebnis zu Stande kommt. Ist nur Calibrate auf 1 wird die Rechenvorschrift mit Ausnahme der Multiplikation durchgeführt. Das Ergebnis steht dann als Vielfaches des Kalibriertaktes im Ausgangsregister. Ist auch Multiplicate auf 1 wird die gesamte Rechenvorschrift ausgeführt. 2.9.5 Besonderheiten im Messbereich 1 Der kalibrierte Wert (ohne Multiplikation) kann aufgrund der ALU Struktur nicht größer als 2 werden. Es wäre auch nicht sinnvoll einen solchen Wert erzeugen zu wollen, da dies ja bedeuten würde, dass der gemessene Wert größer als der CAL2 Wert wäre. In diesem Fall gäbe es zusätzliche Fehler durch Quantisierungsungenauigkeiten der Kennlinien. Abbildung 14 tmess forbidden Tcal 2*Tcal Es muss deshalb darauf geachtet werden, dass die Periode des Kalibriertaktes mindestens die Hälfte der maximal zu messenden Zeitdifferenz beträgt. Zum Abfangen von Fehlbedienungen verfügt die ALU im Messbereich 1 über eine Overflowanzeige. Ist ein Overflow bei der Berechnung eingetreten, wird das Bit mit der Wertigkeit 2 beim Einschreiben ins Ausgangsregister auf 1 gesetzt. Damit ist das Ergebnis größer als 128. Dies kann im normalen Betrieb nie auftreten, da selbst bei einer Multiplikation mit 2 ein korrektes Ergebnis nie größer als 4 werden kann. 7 2.9.6 Besonderheiten im Messbereich 2 In Messbereich 1 lässt sich mit oben beschriebenem Rechenbeispiel jede beliebige der vorhandenen Möglichkeiten der Hits berechnen. Der Messmodus 2 verfügt demgegenüber über einen prinzipiell anderen Messablauf, der sich in den Berechnungsmöglichkeiten niederschlägt. Wir haben hier 2 Finecounts, die mit der Messeinheit generiert werden und einen Coarse Count, der ein Zählerwert eines mit dem Kalibriertakt betriebenen Zählers darstellt. Im Messbereich 2 können keine Hits untereinander ausgerechnet werden. Es können nur die Werte zum Start hin berechnet werden. Die Einstellung des Registers 2 ergibt sich aus der Belegung der Finecounts in den Rohwertregistern. Zur Erinnerung (vgl. 2.4.2) Kanal Rohwertregister 1 1 1 1 2 2 2 2 1 2 3 4 1 2 3 4 gespeicherter Wert im Messbereich 2 Normal high resolution FC 1 FC 1 FC 2 FC 2 FC 3 FC 3 FC 4 FC 4 FC 5 FC 1 n.c. FC 2 n.c. FC 3 n.c. FC 4 Es müssen im Register 2 die Finecounts voneinander subtrahiert werden, die für die Berechnung des gewählten Hits notwendig sind. Die ALU generiert sich aus dieser Einstellung die Adresse für den dazugehörigen Coarse Count. acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 36 TDC-GP1 Beispiel: Es soll der 3. Hit berechnet werden. Daraus folgt das FC1 - FC 4 berechnet werden muss. Damit ergibt sich als Einstellung für das Register 2 der Wert: 'h41. Der dazugehörige Coarse Count wird von der ALU selbst bestimmt. Achtung: Werden Finecounts angegeben die keinen Sinn machen, wird auch dies von der ALU ohne Fehlermeldung akzeptiert und ein (sinnloses) Ausgangsergebnis generiert, dem man nicht unbedingt auf Anhieb ansieht, dass es falsch ist - hier unbedingt aufpassen. 2.9.7 Besonderheiten im Resolution Adjust Modus Im Resolution Adjust Modus können sinnvoller Weise nur Stopps untereinander vermessen werden. Das Ausmessen absoluter Werte macht keinen Sinn. Auch hier akzeptiert die ALU ohne Fehlermeldung die Adressierung eines Absolutwertes (0 im oberen Nibble) im Register 2, und schreibt einen sinnlosen Wert ins Ausgangsregister. Auch können im Resolution Adjust Modus jederzeit die Kalibrierwertregister ausgelesen werden. Es kann jedoch kein Kalibrationslauf durchgeführt werden. 2.9.8 Berechnungszeiten der ALU Die Berechnungszeiten der ALU sind abhängig vom verwendeten Modus, dem eingestellten Wert für den BIGALU Takt im Einstellregister 6 (SPEED<1:0> und der Betriebsspannung des Cores. Für den Speed Parameter im Einstellregister 6 gilt folgende Tabelle: SPEED<1:0> 0 1 2 3 Speed Faktor 1 1,37 1,37 Bemerkung nicht erlaubt mittlere Einstellung langsamste Einstellung (default) redundant mit Einstellung 2 Mit diesem Speed Faktor können alle nachfolgenden Zeiten bei entsprechender Einstellung multipliziert werden. Er ist bezogen auf die mittlere Einstellung. Bei mittlerer Speed Faktor Einstellung, 5 V Core Spannung, 25°C und typischen Eigenschaften des Chips gilt folgende Tabelle für die Berechnungszeiten. Tabelle: Berechnungszeiten High Res Berechnungszeit Berechnungsart HITx zum Start no 140 ns HITx - HITy no 180 ns HITx zum Start yes 182 ns HITx-HITy yes 263 ns + Kalibration + 2000 ns +Multiplikation + 2000 ns Bemerkungen: ! für Kalibration und Multiplikation sind jeweils die angegeben Werte zu den vorherigen Zeiten zu addieren ! im Resolution Adjust Modus nur HITx-HITy möglich Bei Berücksichtigung des Worst Case Herstellungsprozesses sind obige Zeiten mit dem Faktor 1.4 (Kp) zu multiplizieren bei Best Case mit dem Faktor 0,61 Für die Temperatur gilt folgende Tabelle Tabelle: Kt Temp Kt 125 C 1.26 85 C 1.15 70 C 1.11 25 C 1.00 -25 C 0.87 -40 C 0.82 -55 C 0.79 Für die Core Spannung gilt folgende Tabelle Tabelle: Kv VDD Kv 5.5 V 0.94 5.0 V 1.00 4.5V 1.07 3.3 V 1.39 3.0 V 1.54 2.7 V 1.74 Für die Berechnung der resultierenden ALU Berechnungszeit gilt folgende Formel Time=time1*Kp*Kv*Kt acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 37 TDC-GP1 2.10 Die Rechnerschnittstelle 2.10 Die Rechnerschnittstelle Der GP1 verfügt über eine 8-Bit Rechnerschnittstelle, die sich an den gängigen Standards orientiert. Sie verfügt über einen ! 8-Bit bidirektionalen Daten Bus ! 4-Bit unidirektionalen Address Bus und über die Steuersignale ! WRN (schreiben in den GP1, low active) ! RDN (lesen aus dem GP1, low active) ! CSN (Chip Select, low active) ! ALE (Address Latch Enable, das Address Latch ist high transparent) 2.10.1 Timing - Schreiben in den GP1 Bei Schreiben in den GP1 kann man 2 Fälle unterscheiden ! mit ALE, notwendig bei gemeinsamen Daten/Address Bus ! ohne ALE, bei getrenntem Daten/Address Bus kann das ALE Signal konstant auf '1' gelegt werden. Es kann natürlich auch bei getrenntem Daten/Address Bus mit ALE gearbeitet werden. Die folgenden beiden Diagramme zeigen die notwendigen Timings die bei beiden Fällen eingehalten werden müssen Abbildung 15: 15 : mit ALE und gemeinsamen Daten Address Bus Abbildung 16: 16 : ohne ALE und getrennten Daten Address Bus (ALE konstant auf '1') acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 38 TDC-GP1 2.10 Die Rechnerschnittstelle Es gelten folgende Zeiten Name Bedeutung tsu-d Th-d tsu-csn Th-csn tsu-adr Th-adr tpw-wl tpw-wh tpw-ale tsu-adr2 tsu-ale th-adr2 Setup-Time Daten zu positiver Flanke WRN Hold-Time Daten zu positiver Flanke WRN Setup-Time neg. Flanke CSN zu neg. Flanke WRN Hold-Time pos. Flanke CSN zu pos. Flanke WRN Setup-Time Adresse zu negativer Flanke ALE Hold-Time Adresse zu negativer Flanke ALE Puls-Weite des negativen WRN Pulses Puls-Weite positive Phase WRN Puls-Weite ALE Setup-Time Adresse zu positiver Flanke WRN, Fall 2 Setup-Time neg. Fl. ALE zu neg. Fl. WRN Hold-Time Adresse zu positiver Flanke WRN, Fall 2 Wert ohne SUI (Default) > 10 ns > 0 ns > 0 ns > 0 ns > 10 ns > 3 ns > 25 ns > 25 ns > 20 ns > 10 ns > 0 ns > 3 ns Wert mit SUI no Change no Change no Change no Change no Change no Change > 40 ns > 40 ns no Change no Change no Change > 3 ns Zur Beachtung: Diese Zeiten gelten im Standard Mode der Rechnerschnittstelle bei 5 V +- 10 % Betriebsspannung. ! Bei Benutzung des Spike Unterdrückungs-Interfaces gelten die Werte der rechten Spalte. ! Bei Verwendung geringer Betriebspannungen für den Core werden die angegebenen Werte größer. Bei Multiplikation aller Werte mit dem Faktor 2,5 kann jede Betriebsspannung zwischen 2.7 V und 5.5 V verwendet werden. Im Unterabschnitt 2.2 (Einstell- und Werteregister) sind alle beschreibbaren Register mit zugehörigem Inhalt angegeben. Die Timings der Schnittstelle gelten für das Schreiben aller Einstellund Werteregister und das Sonderregister INIT (Adresse 11). 2.10.2 Timing - Lesen aus dem GP1 Für das Lesen aus dem GP1 gelten die gleichen Grundvoraussetzungen wir für das Schreiben. Auch hier gilt es die Fälle zu unterscheiden, die in den nachfolgenden Diagrammen dargestellt sind. Abbildung 17: 17 : mit ALE und gemeinsamem Daten Address Bus acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 39 TDC-GP1 2.11 Sonstige Funktionen des GP1 Abbildung 18: 18 : ohne ALE und getrenntem Daten Address Bus (ALE konstant auf '1') Es gelten folgende Zeiten Name Bedeutung tv-d th-d tsu-csn th-csn tsu-adr th-adr tpw-wl tpw-wh tpw-ale tv-adrd tsu-ale th-adr2 Zeit bis Daten stabil sind von negativer Flanke RDN Hold-Time Daten zu positiver Flanke RDN Setup-Time neg. Flanke CSN zu neg. Flanke RDN Hold-Time pos. Flanke CSN zu pos. Flanke RDN Setup-Time Adresse zu negativer Flanke ALE Hold-Time Adresse zu negativer Flanke ALE Puls-Weite des negativen RDN Pulses Puls-Weite positive Phase RDN Puls-Weite ALE Setup-Time Adresse zu stabilen Daten Setup-Time neg. Fl. ALE zu neg. Fl. RDN Hold-Time Adresse zu positiver Flanke RDN, Fall 2 Wert ohne SUI (default) < 18 ns > 2 ns > 0 ns > 0 ns > 10 ns > 3 ns > 25 ns > 25 ns > 20 ns > 20 ns > 0 ns > 3 ns Wert mit SUI < 30 ns > 5 ns no Change no Change no Change no Change > 40ns > 40 ns no Change no Change no Change no Change Zur Beachtung: Diese Zeiten gelten im Standard Mode der Rechnerschnittstelle bei 5 V +- 10 % Betriebsspannung. ! Bei Benutzung des Spikeunterdrückungs-Interfaces gelten die Werte der rechten Spalte. ! Bei Verwendung geringer Betriebspannungen für den Core werden die angegebenen Werte größer. Bei Multiplikation aller Werte mit dem Faktor 2,5 kann jede Betriebsspannung zwischen 2.7 V und 5.5 V verwendet werden. 2.10.3 Test der Schnittstelle Eine Möglichkeit, die Kommunikation zwischen Microcontroller und TDC-GP1 zu testen besteht darin, dass man in das Register 0 den Wert 0x60 schreibt. Diese Bits werden im Statusregister 2 gespiegelt. Bei korrekter Kommunikation sollte man aus dem Register 9, Bits 3 und 4 jeweils eine ‚1’ auslesen. 2.11 Sonstige Funktionen des GP1 2.11.1 Enable der Messkanäle Jeder Kanal verfügt über einen Enable Pin (EN_STOPP1, EN_STOPP2). Über diesen Pin können die Stopps jedes Kanals einzeln und jederzeit enabled bzw. disabled werden. Bei einer 1 sind die Stopps der Kanäle enabled. Diese Pins betreffen nicht den Start Eingang. Ein Start wird auch dann akzeptiert, wenn beide Stopps über diese Pins disabled sind. Es können damit per externer Hardware gezielt einzelne Stopps aus- bzw. eingeblendet werden. Ist der Enable Eingang auf 1 werden Stopps am entsprechenden Eingang akzeptiert. Ist der Enable Eingang auf 0 werden ankommende Stopps ignoriert, die Messeinheit läuft dabei weiter. acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 40 TDC-GP1 2.11 Sonstige Funktionen des GP1 Achtung: Im Messbereich 2 müssen während der gesamten Messung die Enable Pins der Stopp Eingänge (Pin 37, 42) auf HIGH liegen. Ein Ausblenden einzelner Hits ist nicht möglich. Die Enable Eingänge haben im Messbereich 1 und Resolution Adjust Modus folgendes Timing zu den aktiven Flanken der Stopp Eingänge Tabelle: Setup/Hold Zeiten der Enable Setup Time Hold Time min. 1.4 ns 4 ns typ. 2.2 ns 6 ns max. 4 ns 11 ns d.h. im typischen Fall muss der Enable Eingang 2.2 ns vor der aktiven Flanke des betreffenden Stopps auf 1 sein und darf frühestens 6 ns nach der aktiven Flanke wieder auf 0 gehen. Verletzungen dieser Timings können auch zu falschen Messzeiten führen. 2.11.2 Interrupt Flag Der GP1 verfügt am Pin 34 über einen Signalisierungs- Ausgang, den man als Interrupt Signalisierung verwenden kann. Es stehen 2 Interrupt Quellen zur Verfügung, die auf diesen Ausgang gelegt werden können. ! Die Signalisierung, dass mindestens eines der Ausgangsregister beschrieben ist (default VALUE Einstellung) ! Overflow der Messeinheit (Overflow Einstellung) Die Selektion der Interrupt Quelle wird im Einstellregister 6 Bit 7 durchgeführt. Mit der Default Einstellung kann z.B. eine sehr schnelle Auslese durch externe Hardware organisiert werden, die mit der positiven Flanke des Interrupt Flags gestartet wird. Bei voller Ausnutzung dieser Möglichkeit lassen sich Messraten von ca. 4 Mio. Messungen/sec. erreichen. 2.11.3 Teilerfaktoren für die internen Takte Aus dem am Pin 3 zugeführten Referenztakt werden 3 interne Takte abgeleitet ! der Kalibriertakt für die Messeinheit ! der Referenztakt für die PLL ! der Takt für die Ablaufsteuerung der RLC Einheit Jeder dieser Takte kann unabhängig voneinander eingestellt werden. Es sind Teilerfaktoren bis zu 64. Dies erlaubt die flexible Anpassung des GP1 an die jeweiligen Gegebenheiten und Aufgaben. Die Einstellung der Teilerfaktoren erfolgt in den Registern 4 und 5. Es gelten folgende Einstellungen für die Teilerfaktoren SEL_CLK Teilerfaktor Bemerkung 0 1 1 2 2 4 3 8 4 16 5 32 6 64 bei SEL_CLK_RLC = 32 7 64 Am Referenztakteingang (Pin 3) können bis zu 100 MHz anliegen, wenn durch die internen Teilerverhältnisse sichergestellt ist, dass keiner der 3 daraus erzeugten Take über 35 MHz liegt. acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 41 TDC-GP1 2.11 Sonstige Funktionen des GP1 2.12 Sonstige Angaben 2.12.1 Empfohlene Betriebsbedingungen Außerhalb dieser Bereiche kann eine einwandfreie Funktion der Bausteine nicht garantiert werden Symbol minimal maximal Unit Parameter Unit Supply Voltage VDD 2.7 5.5 V Input Signal Voltage Vi 0 VDD V Ambient Temperature Ta -40 +85 C HI Input Voltage VIH 0.7 * VDD VDD V LOW Input Voltage VIL 0 0.3 * VDD V pos. trigger Spg Vp 0,8*VDD V neg. trigger Spg Vn 0,2*VDD V Hysterese Vh 1.0 V Input Rise/Fall Time tr, tf 0 200 ns Input Schmitt Rise/Fall tr, tf 0 10 ms 2.12.2 Absolut Maximum Ratings Ein Überschreiten dieser Werte kann zur sofortigen Zerstörung des Bausteines oder zur Beeinträchtigung der Langzeitzuverlässigkeit führen Parameter Parameter Supply Voltage Input Signal Voltage Input Pin Current Storage Temperature Lead Temperature Symbol VDD Vi Tst minimal -0.3 -0.3 -10.0 -55 maximal 7.0 VDD+0.3V +10.0 +125 300 Unit V V mA °C °C for 10 sec. 2.12.3 Stromaufnahme Es kann mit etwa folgenden Stromaufnahmen des Bausteines gerechnet werden @ 5V 25 C ! Ruhestromaufnahme Der Baustein hat eine typische Ruhestromaufnahme von ca. 1.5 µA ! Stromaufnahme ohne Resolution Adjust Ohne Resolution Adjust ist die Stromaufnahme streng linear von der aktiven Messzeit der Hochgeschwindigkeitseinheit abhängig. Bei der Messung braucht diese Einheit ca. 25 mA. Dazu zu kalkulieren ist noch der sonstige Stromverbrauch des GP1, der vor allem vom Arbeitstakt der ALU2 erzeugt wird. Es ist mit ca. folgenden Strömen zu rechnen - Messeinheit ca. 20 mA im aktiven Zustand - ALU2 ca. 5 mA bei der Berechnung - Referenzclock Einheit ca. 90 µA/MHz Beispiel: 1000 Messungen pro Sekunde über 1 µs Messzeit Messbereich1 jeweils Kalibrieren und Multiplizieren, 10 MHz Referenztakt. Es ergeben sich somit: Stromaufnahme der Messeinheit: Die Messeinheit ist 1ms/sec aktiv # 20 µA Stromaufnahme Referenzclock: bei 10 Mhz # 10 * 90 µA = 0,9 mA Stromaufnahme ALU: Bei 1000 Berechnungen/sec und 4 µs pro Berechnung = 40 ms aktive Zeit # 5 mA * 0,04 = 200 µA Der GP1 wird in diesem Modus ca. 1,2 mA Stromaufnahme haben. ! Stromaufnahme mit Resolution Adjust Mit Resolution Adjust bleiben die Stromaufnahmen vom Referenzclock und der ALU2 erhalten. Die Stromaufnahme des Messkreises und zusätzlich der PLL steigt jedoch auf ca. 25 mA an und dominiert damit praktisch die gesamte Stromaufnahme. Zu beachten ist noch, dass die Stromaufnahme etwa linear mit der Core Spannung sinkt, so dass je nach eingestellter Auflösung auch eine andere Stromaufnahme einstellt. acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 42 TDC-GP1 2.11 Sonstige Funktionen des GP1 2.12.4 Gehäusemaßzeichnung Passende Sockel: Yamaichi IC51-467.KS-11787 IC149-044-*52-55 2.12.5 Pinbelegung acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 43 TDC-GP1 2.11 Sonstige Funktionen des GP1 2.12.6 I/O Buffer Typ Folgende Buffertypen wurden für die entsprechenden I/O Signale verwendet Namen Direktion Buffertyp RLC_P1 ... RLC_P4, CHARGE OUTPUT 16 mA CMOS Tri State SENSE INPUT CMOS Schmitt-Trigger STOPP1, STOPP2, EN_STOPP1, EN_STOPP2 INPUT CMOS START, WRN, RDN, CSN, ALE, ADR0-3 RST_N, CLK_REF PHASE OUTPUT 4 mA CMOS INTFLAG OUTPUT 8 mA CMOS Slew Rate controlled DATA 0 .. DATA 7 BIDIR 8 mA CMOS Slew Rate controlled Unbedingt beachten: Keiner der Input Buffer und I/O Buffer hat einen internen Pull Up oder Pull Down. Es müssen daher alle Input Signale beschaltet werden, und der Datenbus darf nicht längere Zeit floaten. Es besteht ansonsten die Gefahr, dass diese Buffer oszillieren, dadurch die Stromaufnahme stark ansteigt und keine Funktion des GP1 mehr gegeben ist. 2.12.7 Auslegung der Spannungsversorgung Der TDC-GP1 ist zwar ein voll digitaler Baustein ohne analoge Komponenten, da er jedoch auf die 'analoge' Größe Durchlaufzeit für seine Funktion zurückgreift, gehen analoge Größen wie z.B. die Versorgungsspannung auf seine Messqualität ein. Die gute Auslegung seiner Betriebsspannung ist für gute Messergebnisse von besonderer Bedeutung. Bei einer Messung steigt sein Strom von praktisch 0 innerhalb weniger Nanosekunden auf ca. 25 mA an. Dieser kurzfristige Stromanstieg kann durch Spannungsregler nicht ausgeglichen werden. Eine hochkapazitive und induktionsarme Spannungsversorgung ist notwendig. Vor allem die Größe der Blockkapazitäten muss an die maximale Messzeit in der Anwendung angepasst werden. Die maximale Messzeit ist dabei die Summe aller Einzelzeiten einer Messung. Als guter Richtwert hat sich eine Größe von 30 µF Blockkapazität pro 1 µs Messzeit ergeben. Beispiel: Es wird in einer Applikation im Messbereich 2 mit 2 MHz Vorteiler gearbeitet. Die absolute Länge der Zeitdifferenz ist im Messbereich 2 nicht wichtig. Zählt man alle Laufzeiten der Hochgeschwindigkeitsmesseinheit inkl. Kalibration zusammen kommt man auf 4 Kalibriertaktperioden = 2 µs. Es ergibt sich damit eine erforderliche Blockkapazität von 60 µF. Es empfiehlt sich weiterhin, diese Kapazität auf mehrere (z.B. 3*22µF) Kapazitäten mit möglichst geringer Eigeninduktivität und geringem seriellen Widerstand zu verteilen. Die Verwendung zusätzlicher Keramikkondensatoren (z.B. 100 nF) ist zwar sicherlich kein Fehler, es wurden jedoch keine nennenswerten Effekte dadurch festgestellt. Es ist zusätzlich auf eine induktionsarme Verlegung der Spannungszuführungen auf der Platine zu achten. Multilayer Platinen mit Volllagen Vcc und GND haben sich gut bewährt, allerdings ist auch eine sorgfältige Auslegung auf einer 2-Lagen Platine ausreichend. 2.12.8 MIN/MAX Timings Die Timings des Bausteins, und dazu gehört auch die Auflösung, unterliegen 3 verschiedenen Änderungsparametern ! Prozesstoleranzen ! Spannungsschwankungen ! Temperaturschwankungen Die resultierenden Timings ergeben sich aus Tpd = T (typ.) * K * K * K pd p v T Kp = Prozesskoeffizient Kv = Spannungskoeffizient KT = Temperaturkoeffizient acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 44 TDC-GP1 2.11 Sonstige Funktionen des GP1 Für den Prozesskoeffizient gilt folgende Tabelle Tabelle: Kp Prozessbedingu ng Best-Case Typical Worst-Case Wert 0,61 1.0 1.4 Für die Spannung gilt folgende Tabelle Tabelle: Kv VDD Kv 5.5 V 0.94 5.0 V 1.00 4.5V 1.07 3.3 V 1.39 3.0 V 1.54 2.7 V 1.74 Für die Temperatur gilt folgende Tabelle Tabelle: Kt Temp Kt 125 C 1.26 85 C 1.15 70 C 1.11 25 C 1.00 -25 C 0.87 -40 C 0.82 -55 C 0.79 Unter Berücksichtigung aller Parameter ergeben sich folgende mögliche Auflösungen für den TDC-GP1 Best-Case Typical Worst-Case (-40 C, 5.5 V, Best-Case Prozess): ( 25 C, 5 V , typical Prozess): ( 85 C, 4,5 V, Worst-Case Prozess): 120 ps 220 ps * 380 ps * Die in diesem Datenbuch als typisch angegebene Auflösung von 250 ps ergibt sich aus der über mehrere Produktionschargen ermittelten mittleren Auflösung und nicht aus den sich aus den Prozessparametern ergebenden typischen Werten. Mit Hilfe obiger Tabellen kann man nun für den vorgesehenen Betriebsfall die zu erwartenden Auflösungen bzw. die im Resolution Adjust Betrieb möglichen Auflösungen berechnen. Beispiel: Resolution Adjust Betrieb; die Core Spannung soll bei 25°C bei 4 V liegen um die Auflösung über den vollen Temperaturbereich konstant halten zu können. Mit folgendem Auflösungsbereich muss über alle möglichen Produktionschargen kalkuliert werden. Best-Case: Tpd= 220ps * 0,61* 1.20 * 1,0 = 161 ps Typical: Tpd= 220ps * 1.0 * 1,20 * 1.0 = 264 ps Worst-Case: Tpd= 220ps * 1.4 * 1,20 * 1.0 = 369 ps Anmerkung: Der Kv Faktor von 1.20 bei 4 Volt wurde aus den Werten der Tabelle interpoliert Eine solch große Toleranz über die Chargen ist zwar möglich, aber sehr unwahrscheinlich. Die Auflösung schwankt aus der Erfahrung heraus aufgrund von Prozessschwankungen zwischen typisch 10 % und typisch + 25 %. Bausteine einer Charge schwanken um ca. +- 5% um den chargentypischen Wert. acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 45 TDC-GP1 3.1 Applikationsbeispiel 1 3. Anwendungsbeispiele Auf den folgenden Seiten sind Applikationsbeispiele dargestellt, welche die äußere Beschaltung des TDC-GP1 an einigen Beispielen erläutert. In diesem Abschnitt werden keine neuen Informationen geliefert, sondern es soll das auf vorhergehenden Seiten Geschriebene vertieft werden. 3.1 Applikationsbeispiel 1 In diesem einfachen Anwendungsbeispiel wurde von Folgendem ausgegangen ! µP Schnittstelle mit gemeinsamem Daten/Address Bus ! keine RLC-Messung ! kein Resolution Adjust Prinzipschaltbild: Applikation Note 1 Abbildung 19: 19 : Prinzipschaltbild: Anwendung 1 Weitere Anmerkungen: ! Ohne Resolution Adjust können die Vcc und GND Pins von Core und I/O Buffer jeweils zusammengelegt werden. ! Der Baustein kann mit 2,7 V ... 5,5 V betrieben werden ! Wenn die RLC Einheit nicht benutzt wird, muss Sense (Pin 7) auf Vcc gelegt werden ! RST_N (low aktiv) kann auch direkt auf Vcc gelegt werden. Power on Reset über Software auslösbar. ! hier nicht beschaltete Pins können offen gelassen werden acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 46 TDC-GP1 3.2 Applikationsbeispiel 2 3.2 Applikationsbeispiel 2 In diesem einfachen Anwendungsbeispiel wurde von Folgendem ausgegangen ! µP Schnittstelle mit getrenntem Daten/Address Bus ! keine RLC-Messung ! Resolution Adjust Modus Abbildung 20: 20 : Prinzipschaltung Anwendung 2 Weitere Anmerkungen: ! ! ! ! ! ! Im Resolution Adjust Modus müssen die Vcc von Core und I/O getrennt werden. detaillierte externe Beschaltung für Resolution Adjust in 2.6.2 (Seite 24) Start Eingang (Pin 36) ohne Funktion; muss auf Ground Der Baustein kann mit der Core Spannung von 2,7 V ... 5,5 V betrieben werden Wenn die RLC Einheit nicht benutzt wird, muss Sense (Pin 7) auf Vcc gelegt werden hier nicht beschaltete Pins können offen gelassen werden acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 47 TDC-GP1 3.3 Einzelmessung im Messbereich 2 3.3 Einzelmessung im Messbereich 2 Die folgende C-Routine zeigt, wie der TDC-GP1 typischerweise für eine Messung im Messbereich 2 angesprochen wird: Konfiguration: output_byte(Reg7,0x00); output_byte(Reg11,0x07); output_byte(Reg0,0x78); output_byte(Reg2,0x21); output_byte(Reg4,0xC0); output_byte(Reg7,0x02); Kommentar: Disable of Stopp inputs Init TDC and ALU Measurement range 2 autocalibration + multiplication FC1-FC2 -> Stopp1 Chan.1 – Start SEL_CLK_TDC = 6 Range = 2^16*50ns*64 = 209ms enable 2 hits on channel 1 Messung: while(!quit) { output_byte(Reg11,0x07); valid = 0; while(valid==0) { valid=input(INTFLAG); } nk0=input_byte(Reg0); nk1=input_byte(Reg0); vk0=input_byte(Reg0); vk1=input_byte(Reg0); vk1=vk1*256; vk1=vk1|vk0 nk1=nk1*256; nk1=nk1|nk0 } Init TDC and ALU Check Interrupt Flag Lower byte Higher byte Lower byte Higher byte xxxx.xxXX xxxx.XXxx xxXX.xxxx XXxx.xxxx shift left XXXX.xxxx shift left xxxx.XXXX result = 50.0*((float)(vk1)+(float)(nk1)/65536.0); 20MHz reference clock -> 50ns printf("result=%6.3fns\n",result); Print result end while 3.4 Multihit: Auslesen mehrerer Hits Schreibt man Software für eine Multihit-Anwendung, dann sollte man folgendes beachten: Sobald eine Messung abgeschlossen ist beginnt die ALU mit dem Bearbeiten der Berechnungsvorschrift, die im Register 2 vorgegeben ist. Das Ergebnis wird in das Ausgangsregister geschrieben. Sobald ein neuer Wert in das Register 2 geschrieben wird, beginnt die ALU automatisch mit der Bearbeitung der neuen Rechenvorschrift. Das Ergebnis wird in das folgende Ausgangsregister geschrieben. Der zeitliche Ablauf könnte also wie folgt aussehen: Enable 3 hits on channel1 Reg2: 0x01 Hit 1 - Start Init TDC Check INT_FLAG (wait until the measurement is finished) Reg2: 0x02 Hit 2 - Start Wait for 3us (time, the ALU needs for calculation) Reg2: 0x03 Hit 3 - Start Wait for 3us (time, the ALU needs for calculation) Set address pointer to zero With calibrated values read 12 times (4 Bytes each value, the Addresses are automatically incremented) Weitere Informationen finden Sie im ATMD-Manual. acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 48 TDC-GP1 4.1 Was bedeuten Auflösung und Genauigkeit ? 4. Messergebnisse und Diagramme Die folgenden Seiten zeigen was der GP1 eigentlich wirklich kann. Wo die Möglichkeiten und die Grenzen bzgl. seiner Messgenauigkeit und anderer wichtiger Parameter liegen. Alle hier gezeigten Ergebnisse wurden an den Prototypen des GP1 mit dem ATMD Messsystem evaluiert. 4.1 Was bedeuten Auflösung und Genauigkeit ? Zuallererst wollen wir hier einige Anmerkungen zu obiger Frage machen, und (zumindest für diesen Abschnitt) definieren. Wenn wir bei TDCs von Auflösung sprechen, dann meinen wir damit, in Analogie zu Analog-Digital-Convertern, die kleinste digitale Quantisierungsstufe, also ein LSB. Die Genauigkeit einer Messung wird durch verschiedene Parameter charakterisiert, deren Summe bzw. Überlagerung Einschränkungen zum idealen Wandler darstellen. Im Einzelnen unterscheiden wir hier: 4.1.1 Standardabweichung Die Standardabweichung ist der mittlere quadratische Fehler über eine Reihe von Messergebnissen zum arithmetischen Mittelwert dieser Messergebnisse. Sie ist damit ein gutes Maß für das 'Rauschen' der Messergebnisse verursacht durch Quantisierungseffekte oder andere zufällig verteilte Ungenauigkeitsquellen. Ist obige Annahme der Zufälligkeit erfüllt, lässt sich durch Mittelung von Ergebnissen die Standardabweichung mit der Wurzel der Mittelungsraten verbessern. Hat man beispielsweise die Möglichkeit, über 100 Messungen zu mitteln und dann den Mittelwert als eigentlichen Messwert zu nehmen, wird die Standardabweichung dieses Mittelwertes etwa 1/10 (Wurzel aus 100) der Standardabweichung eines Einzelwertes betragen. 4.1.2 Systematische Fehler Systematische Fehler sind Fehler, die an der gleichen Stelle der Kennlinie immer im gleichen Betrag und Richtung auftreten. Man wird also, wenn man die gleiche Zeitdifferenz misst, immer den gleichen Fehler vom wahren Wert haben. Systematische Fehler sind also nicht zufällig um das Messergebnis verteilt. Sie sind deshalb auch nicht durch Mittelwertbildung zu beseitigen sondern nur klarer herauszuarbeiten. Durch diesen Charakter sind sie im Allgemeinen die 'unangenehmeren' Fehler, die nur sehr schwer zu beseitigen sind. 4.1.2 Offsetfehler Der Offsetfehler ist ein über den gesamten Messbereich konstanter Fehlerwert, der zum Messwert addiert/subtrahiert wird. Offsetfehler zählen somit zu den systematischen Fehlern werden dennoch hier getrennt behandelt. 4.2 Standardabweichungen des TDC-GP1 Die erreichbaren Werte für die Standardabweichung sind vom verwendeten Messmodus abhängig. Sie können mit folgenden Standardabweichungen der Messergebnisse in folgenden Modi kalkulieren. ! Messbereich 1 ohne Resolution Adjust normale Auflösung: ca. 0,5 - 0,6 LSBs ! Messbereich 1 ohne Resolution Adjust high Resolution: ca. 0,6 - 0,7 LSBs ! Messbereich 2 ohne Resolution Adjust normale Auflösung: ca. 0,7 - 0,8 LSBs ! Messbereich 2 ohne Resolution Adjust high Resolution: ca. 0,8 - 0,9 LSBs ! Messbereich 1 mit Resolution Adjust normale Auflösung: ca. 0,7 - 0,8 LSBs ! Messbereich 1 mit Resolution Adjust high Resolution: ca. 0,8 - 0,9 LSBs Unbedingt beachten: Diese Werte sind durch Mittelwertbildung wie oben beschrieben noch deutlich zu verbessern. Wird ohne Resolution Adjust gearbeitet, muss bei Mittelwertbildung die gemessene Zeitdifferenz von sich aus einen Jitter von mehreren LSBs aufweisen. Ist dies nicht der Fall, kann man durch die Auto Noise Einheit 'nachhelfen'. Mit dieser Maßnahme kann eine Verbesserung um ca. den Faktor 5-10 erreicht werden, dann machen sich systematische Effekte vom Auto Noise bemerkbar, und verhindern eine weiteres steigern der Messgenauigkeit. Mit Resolution Adjust hat man optimale stochastische Vorraussetzungen. Hier kann man durch Mittelwertbildung die Genauigkeit des Ergebnisses bis in den Femtosekundenbereich hinein steigern, ohne sich zusätzliche Fehler dabei einzuhandeln. Auch braucht die gemessene Zeitdifferenz kein Eigenrauschen zu besitzen, der GP1 sorgt von sich aus in diesem Modus für die notwendige Statistik bei der Messung. acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 49 TDC-GP1 4.3 Offsetfehler des GP1 4.3 Offsetfehler des GP1 Auch beim Offsetfehler des GP1 ist genau zwischen den Messmodi zu unterscheiden. Es ist mit folgenden Restoffsets bei folgenden Modi und Betriebsarten zu rechnen. ! Messbereich 1 ohne Resolution Adjust normale Auflösung: < 1,2 LSB ! Messbereich 1 ohne Resolution Adjust high Resolution: < 2,0 LSB ! Messbereich 2 ohne Resolution Adjust normale Auflösung: < 0,5 LSB ! Messbereich 2 ohne Resolution Adjust high Resolution: < 0,8 LSB ! Messbereich 1 mit Resolution Adjust normale Auflösung: < 0,3 LSB ! Messbereich 1 mit Resolution Adjust high Resolution: < 0,1 LSB Zu beachten ist auch hier ein prinzipieller Unterschied zwischen Betrieb mit und ohne Resolution Adjust. Ohne Resolution Adjust ist der Offset temperaturabhängig und wird letztendlich von den Kalibriervorgängen innerhalb der oben angegebenen Bereiche gehalten. Mit Resolution Adjust ist der Offset durch die Schaltungsanordnung stabilisiert und ist deutlich weniger anfällig gegen Temperaturschwankungen. In diesem Modus beträgt die Temperaturdrift ohne High Resolution noch ca. 0.1 LSB über den gesamten Temperaturbereich und mit High resolution sogar nur noch ca. 0.03 LSB. Der Offset ist dann also praktisch von der Temperatur unabhängig !!!! 4.4 Systematische Fehler des GP1 Abbildung Abbi ldung 21: 21 : Genauigkeit TDCTDC - GP1, AV 10.000 Dat.: 10.5.97 0,25 0,24 Error GP1 / ns 0,23 0,22 0,21 Reihe1 0,2 0,19 0,18 0,17 0,16 195,4551 190,42137 185,39577 180,40298 175,41056 170,39779 165,41228 160,42126 155,36739 150,42376 145,43062 140,37081 135,4293 130,39672 125,38159 120,44567 115,40721 110,40566 105,4324 100,40153 0,15 Time / ns Obiges Diagramm zeigt die gemessene Abweichung des GP1 zu einem Referenzgerät im Zeitbereich von 100 ns - 200 ns. Der GP1 wurde mit Resolution Adjust und normaler Auflösung betrieben. Um systematische Fehler überhaupt erkennen zu können, muss mit hohen Mittelungsraten gearbeitet werden, um diese Fehler aus dem Quantisierungsrauschen herauszufiltern. Es wurde eine Mittelungsrate von 10.000 gewählt. Bitte die Teilung der Y-Achse von 10ps/div beachten. Der absolute Offset von ca. 190 ps ist nicht weiter von Belang, da dieser von leicht unterschiedlichen Leitungslängen, Schaltschwellen u.s.w. herrührt. Man erkennt hier systematische Abweichungen in der Kennlinie in der Größenordnung von ca. 10 ps Spitze-Spitze. Nähere Untersuchungen haben allerdings eindeutig ergeben, dass selbst diese kleinen Fehler nicht vom GP1 sondern vom Referenzgerät stammen. Wir können daher feststellen, dass der systematische Messfehler des GP1 z.Zt. nicht exakt festgestellt werden kann, da er unterhalb des von uns messbaren liegt. Er ist auf jeden Fall deutlich kleiner als 10 ps. Es macht also bei GP1 Sinn, bei Bedarf und Möglichkeit durch hohe Mittelungsraten das Ergebnis entsprechend zu verbessern, ohne durch die systematischen Fehler ins Limit zu laufen und sich ggf. selbst zu belügen. acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 50 TDC-GP1 4.5 Histogramme 4.5 Histogramme Für einige Anwendungen in Forschung und Industrie wird der GP1 zur Histogrammbildung eingesetzt, so dass hier vor allem Fragen nach der Homogenität (differentielle Nichtlinearität) der Kennlinie zu stellen sind. Auch im Falle der Histogrammbildung bzw. bei allen anderen Anwendungen, wo es auf minimale differentielle Nichtlinearität ankommt, ist es absolut zu empfehlen den Resolution Adjust Modus zu verwenden. Hier wird man die besseren Ergebnisse erzielen. Bild 1 zeigt das Histogramm bei normaler Auflösung im Resolution Adjust Modus. Hier sieht man deutlich die Periodizität der Breite der einzelnen LSBs. Auf ein breites LSB folgt ein schmales und umgekehrt. Man sieht auch weitere periodische Abweichungen, die sich alle 30 LSBs wiederholen. Die differentielle Nichtlinearität beträgt in diesem Modus ca. 50 %. Abbildung 22 Histogramm, normres, resoadj, Dat.: 7.5.97 350 300 Width/ps 250 200 Reihe1 150 100 50 583 576 569 562 555 548 541 534 527 520 513 506 499 492 485 478 471 464 457 450 443 436 429 422 415 408 0 # LSB Ist man auf eine sehr gute differentielle Nichtlinearität angewiesen, kann man den Half Resolution Modus mit Resolution Adjust verwenden. Dieser fasst dann jeweils 2 LSB schon im GP1 zusammen. Der Modus ist über die Einstellregister selektierbar. Das Ergebnis ist in Abbildung 23 dargestellt. Die differentielle Nichtlinearität ist auf ca. 2 % gesunken. Erkauft hat man sich dies durch die Verdoppelung der Auflösung, in diesem Fall auf 485 ps. Allerdings dürfte jetzt die Qualität des Histogramms fast keine Wünsche mehr offen lassen. Der Half Resolution Modus kann mit dem High Resolution Modus verknüpft werden. Somit erhält man einen TDC, der bei einer Auflösung von typ. 250ps eine vergleichbar gute differentielle Nichtlinearität bietet. Abbildung 24 zeigt die Messergebnisse für den Resolution Adjust Modus. Mit dieser Kombination steht allerdings nur ein Messkanal zur Verfügung. acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 51 TDC-GP1 4.5 Histogramme Abbildung 23: 23 : Histogramm, halfres, resadj. re sadj. 500 450 400 Width/ps 350 300 250 200 150 100 50 483 486 489 2 4 495 480 0 492 477 8 474 6 471 468 465 462 459 456 453 450 447 444 441 438 435 432 429 426 423 420 417 414 411 0 LSB Abbildung 24: 24 : Histogram, half+high res, resoadj. 350 300 200 150 100 50 79 79 79 78 78 4 78 2 78 0 78 8 77 6 77 4 2 77 77 0 8 77 6 76 4 76 2 76 76 0 76 8 75 6 75 4 75 2 75 0 75 8 74 6 4 74 74 2 0 74 Width/ps 250 LSB acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 52 TDC-GP1 5.1 Kalibrierwertgenerierung 5. Bekannte Probleme und deren Lösung 5.1 Kalibrierwertgenerierung Betrifft: - separate Kalibrierung über Einstellregister 0 Bit 7 - automatische Kalibrierung über Einstellregister 0 Bit 3 Auswirkung: Kommt nach einer Kalibration des Bausteines ein weiterer Start auf den Baustein ohne das vorher ein Init des TDC Messkreises (Adresse 11 Bit 0) gegeben wurde, so startet der Messkreis erneut. Evtl. darauf folgende Stopps sind nicht mehr durch Timeout oder Hit Enable (Einstellregister 7 ) limitiert. Kommen genügend Stopps, werden auch die Kalibrierwertregister überschrieben. Der Fall tritt nur auf wenn ein weiterer Start kommt. Kommen nach einer Kalibration nur weitere Stopps, werden diese ignoriert. Dieses Problem betrifft nicht den Resolution Adjust Modus. Beispiel: Ein typischer Fall, wo dies in der Regel zu erheblichen Problemen führt, ist das Ausmessen einer Frequenz durch den TDC-GP1. Hier gibt man den auszumessenden Takt sinnvoller Weise gleichzeitig auf Start und Stopp Input. Führt man nun eine separate Kalibration aus oder hat man Auto Kalibration eingestellt, kommen bei einem kontinuierlich laufenden Takt nach der Kalibration weitere Starts und Stopps auf den Messkreis, welche die richtigen Messwerte in den Werteregistern überschreiben. Lösung des Problems: Liegt obiger Fall des nicht steuerbaren Starts vor, sollte auf Autokalibration verzichtet werden. Eine sichere separate Kalibration führt man folgender Weise aus. 1. Hit Enables in Einstellregister 7 auf 0 stellen 2. Separate Kalibrierung im Einstellregister 0 auslösen 3. nach dem Ende der Kalibrierung Init TDC über Adresse 11 auslösen 4. Hit Enables in Einstellregister 7 auf die gewünschte Anzahl einstellen Programmbeispiel in Borland C aus den Applikationsprogrammen des ATMD // secure calibration of the TDC-GP1 outport(adr_cntrl2,7); // disable Hits outport(adr_tdc,0x00); outport(adr_cntrl2,11); // init TDC outport(adr_tdc,0x01); outport(adr_cntrl2,0); // selecting separate calibration bit outport(adr_tdc,0x80): outport(adr_cntrl2,7); // enable Hits outport(adr_tdc,0x09); // minimum 1 in each channel; now the separate calibration is done // end of calibration acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 53 TDC-GP1 5.2 Fehler der ALU 5.2 Fehler der ALU Berechnung Resolution Adjust Mode Betrifft: Half Resolution im Resolution Adjust Modus High Resolution im Resolution Adjust Modus Half Resolution mit High Resolution im Resolution Adjust Modus Betrifft nicht normale Auflösung im Resolution Adjust Modus Auswirkung: Wird im Resolution Adjust Modus das Half Resolution oder das High Resolution Bit gesetzt (Einstellregister 7 Bit 7 oder Einstellregister 1 Bit 6) kommt es zu Fehlern in der ALU. Dieser Fehler betrifft bei Half Resolution nur negative Zeiten. Half Resolution: Der Fehler wirkt sich dadurch aus, dass das Ergebnis um 15.360 LSBs zu groß ist. Nur wenige Ergebnisse sind falsch. Der Fehler kann dadurch erkannt werden, dass in diesem Modus keine Ergebnisse größer 7.680 vorkommen können. Die falschen Ergebnisse liegen alle im Bereich von 7.680 bis 15.360. Der Fehler kommt mit einer Wahrscheinlichkeit von ca. 0.03 % vor. Beispiel: Ausgelesener Wert: 6.500 # Ergebnis korrekt Ausgelesener Wert: -3.000 # Ergebnis korrekt Ausgelesener Wert: 8.500 # Ergebnis falsch; korrekt: 8.500-15.360 = - 6.860 High Resolution: Der Fehler wirkt sich dadurch aus, dass das Ergebnis um 15.360 LSBs zu klein oder zu groß ist. Nur wenige Ergebnisse sind falsch. Dementsprechend müssen 15.360 LSB addiert oder subtrahiert werden. Der Fehler kommt mit einer Wahrscheinlichkeit von ca. 0.03 % vor. Beispiel: Ausgelesener Wert: 6.500 # Ergebnis korrekt Ausgelesener Wert: -1.000 # Ergebnis falsch; korrekt: -1.000+15.360 = 14.360 High Resolution mit Half Resolution: Der Fehler wirkt sich dadurch aus, dass das Ergebnis um 7.680 LSBs zu groß ist. Nur wenige Ergebnisse sind falsch. Der Fehler kann dadurch erkannt werden, dass in diesem Modus keine Ergebnisse größer 7.680 vorkommen können. Die falschen Ergebnisse liegen alle im Bereich von 7.680 bis 15.360. Der Fehler kommt mit einer Wahrscheinlichkeit von ca. 0.03 % vor. Beispiel: Ausgelesener Wert: 6.500 # Ergebnis korrekt Ausgelesener Wert: 8.500 # Ergebnis falsch; korrektes Ergebnis: 8.500-7.680 = 820 Lösung des Problems: Ergebnisse auf Einhaltung obiger Wertebereiche überprüfen und ggf. nach obigen Vorschriften korrii gieren. korr acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 54 TDC-GP1 5.3 Retrigger 5.3 Retrigger Kommt im Retrigger-Mode nach einem Stoppimpuls ein weiterer Startimpuls (Nr. 2), so wird dieser korrekterweise nicht berücksichtigt. Kommt nach diesem Startimpuls Nr. 2 ein Stoppimpuls, so bewirkt dieser, dass ein weiterer Startimpuls (Nr. 3) zwar ebenfalls nicht berücksichtigt wird, dass aber die Statusregister zurückgesetzt werden. Der Fehler kann extern durch eine Schaltung behoben werden, die nach dem Eintreffen eines Stoppimpulses den Start-Eingang bis zum nächsten TDC-INIT abschaltet. Abbildung 25: 25 : Externe Schaltung bei Retrigger mit Multihit acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 55 TDC-GP1 Kontakt 6 Letzte Änderungen Okt-2000: Kapitel 5.1 Sichere Kalibration Feb-2001: Kapitel 2.4.4, 2.11.1 Kein Hit-Disable im MB2 Dez-2003: Kapitel 2.4.3, 2.5.4 und 2.10.3 Kontakt Hauptsitz: Repräsentanten: acam-messelectronic gmbh Am Hasenbiel 27 D - 76297 Stutensee-Blankenloch Ph: +49-7244-7419-0 Fax: +49-7244-7419-29 email: [email protected] www.acam.de $ USA Transducers Direct, LCC 1120 Cottonwood Dr Loveland, Ohio 45140 Ph: 513-583-9491 Fax: 513-583-9476 email: [email protected] www.transducersdirect.com $ Israel ArazimLtd. 4 Hamelacha St. Lod P.O.Box 4011 Lod 71110 Ph: 972-8-9230555 Fax: 972-8-9230044 email: [email protected] www.arazim.co.il $ Schweiz Computer Controls AG Neunbrunnenstr. 55 8050 Zürich Tel.: +41-1-308 6666 Fax: +41-1-308 6655 email: [email protected] www.ccontrols.ch Distributoren: $ France microel (CATS S.A.) Immeuble "Oslo" - Les Fjords 19, avenue de Norvège Z.A. de Courtaboeuf - BP 3 91941 LES ULIS Cedex Tél. : +33 1 69 07 08 24 Fax : +33 1 69 07 17 23 [email protected] www.microel.fr $ Italy ESCO ITALIANA S.p.A. Via G.B. Stucchi, 66/28 20052 Monza (MI) Ph. : (+39) 039/20481 Fax : (+39) 039/2048234 email : [email protected] www.escoitaliana.it $ P.R. China Broadtechs Technology Co. Ltd. 38-6-401 Xiang Hua Qiao Road, Chang Ning District Shanghai, 200052 Ph.: +86-21-62837389 Fax: +86-21-62830657 email : [email protected] www.broadtechs.com Die hier präsentierten Informationen sind nach bestem Wissen korrekt. Die acam-messelctronic gmbh übernimmt jedoch keine Verantwortung für Fehler oder Auslassungen. Die acam-messelectronic übernimmt keine Verantwortung für den Gebrauch dieser Information, dies geht allein auf Verantwortung und Risiko des Nutzers. Eventuell bestehende Patentansprüche von anderer Seite sind hier nicht berücksichtigt. acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 56 TDC-GP1 7. Quick Reference 7.1Electrical Characteristics Recommended Operating conditions Parameter Symbol min. Supply Voltage Vcc-IO 2.7 Vcc-core 2.7 Input Signal Voltage Vi 0 Ambient Temperature Ta -40 HI Input Voltage VIH 0.7 * Vcc-IO LOW Input Voltage VIL 0 pos. trigger Spg Vp neg. trigger Spg Vn 0,2* Vcc-IO Hysteresis Vh 1.0 Input Rise/Fall Time tr, tf 0 Input Schmitt Rise/Fall tr, tf 0 Absolute Maximum Ratings Parameter Symbol min. Supply Voltage Vcc-IO -0.3 Input Signal Voltage Vi -0.3 Input Pin Current -10.0 Storage Temperature Tst -55 Lead Temperature max. 5.5 Vcc-IO+0,3 VDD +85 Vcc-IO 0.3 * Vcc-IO 0,8* Vcc-IO 200 10 Unit V V V C V V V V V ns ms max. 7.0 Vcc-IO+0.3V +10.0 +125 300 (10s) Unit V V mA C C Integral non-linearity Differential non-linearity MB1, normal resolution MB1, high + half resolution Resolution adjust, normal res. Resolution adjust, normal res. INIT TDC INIT ALU Power On Reset Symbol RST_N TEST CLK_REF CHARGE VCC_CORE GND_CORE SENSE RLC_P4 RLC_P3 RLC_P2 RLC_P1 GND_IO DATA0- DATA3 VCC_IO GND_IO DATA4-DATA7 ADR0-ADR3 GND_Core VCC_CORE ALE RDN WRN CSN Phase INTFLAG VCC_IO START EN_STOPP2 STOPP2 VCC_IO GND_IO STOPP1 EN_STOPP1 GND_Core VCC_Core Start typ. 250 Max. 308 0.6 0.7 0.8 0.9 0.9 0.9 t2 t3 t5 Measurement range 1, normal resolution: Timings (@ 25°C, 5V): t1 Minimum time difference t2 Double pulse resolution one channel t3 Double pulse resolution between 2 channels t4 Maximum time interval (30,720*Resolution) t5 Minimum pulse width Number of channels Number of hits per channel start available min. typ. 3ns 15ns 0ns 7.6us 2.5ns Max. 4.2ns 21ns 4ns 2 4 yes Measurement range 1, high resolution: Timings (@ 25°C, 5V): t1 Minimum time difference t2 Double pulse resolution one channel t4 Maximum time interval (15,360*Resolution) t5 Minimum pulse width Number of channels Number of hits per channel Start available 1 4 yes Measurement range 2, normal resolution: Timings (@ 25°C, 5V): t1 Minimum time difference t2 Double pulse resolution one channel t4 Maximum time difference t5 Minimum pulse width Number of channels Number of hits per channel Start available min. typ. max. 1.5*CAL_CLK+25ns 1.5*CAL_CLK+25ns 2^16*CAL_CLK 2.5ns 4ns 1 4 yes min. typ. 3ns 15ns 3.8us 2.5ns Max. 4.2ns 21ns 4ns Measurement range 2, high resolution: Timings (@ 25°C, 5V): min. typ. max. t1 Minimum time difference 1.5*CAL_CLK+25ns t2 Double pulse resolution one channel 1.5*CAL_CLK+25ns t4 Maximum time difference 2^16*CAL_CLK t5 Minimum pulse width 2.5ns 4ns Number of channels 1 Number of hits per channel 3 Start available yes CAL_CLK = Tref * SEL_CLK_TDC (control register 4) Resolution Adjust Mode, normal resolution: Timings (@ 25°C, 5V): min. typ. max. t2 Double pulse resolution one channel 15ns 21ns t3 Double pulse resolution between 2 channels 0ns t4 Maximum time interval (15,360*Resolution) 3.8us t5 Minimum pulse width 2.5ns 4ns Number of channels 2 Number of hits per channel 4 Start available no Unit ps LSB LSB LSB LSB LSB LSB 1.2 2.0 0.5 0.8 0.3 0.1 42 42 70 Stop2 7.3 Timings min. 134 .25 ,03 30 30 50 Stop1 Description Reset (low active) Test pin, must be connected to GND Input external reference clock Charge pin for RLC measurements Core supply voltage Core Ground Schmitt trigger input for RLC-measurements Port 4 for RLC-measurement Port 3 for RLC-measurement Port 2 for RLC-measurement Port 1 for RLC-measurement (Reference) Ground of IO Ports Data bus Supply voltage IO ports Ground IO ports Data bus Address bus Core Ground Core supply voltage Address latch enable (high active) Read (low active) Write (low active) Chip select (low active) Phase out for regulation in res. Adj. mode Interrupt flag (high active) Supply voltage IO ports Start input enable Stopp input 2 (high active) Stopp input 2 Supply voltage IO ports Ground IO ports Stopp 1 input enable Stopp input 1 (high active) Ground core Supply voltage core Timings (@ 25°C, 5V): Resolution (LSB) Standard deviation MB1, normal resolution MB1, high resolution MB2, normal resolution MB2, high resolution Resolution adjust, normal res. Resolution adjust, high resolution Offset MB1, normal resolution MB1, high resolution MB2, normal resolution MB2, high resolution Resolution adjust, normal res. Resolution adjust, high res. 18 18 30 LSB LSB LSB LSB LSB LSB ns ns ns t4 t1 7.2 Pin Description Pin 1 2 3 4 5 6 7 8 9 10 11 12 13-16 17 18 19-22 23-26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 0 Resolution Adjust Mode, high resolution: Timings (@ 25°C, 5V): t2 Double pulse resolution one channel t3 Double pulse resolution between 2 channels t4 Maximum time interval (7.680*Resolution) t5 Minimum pulse width Number of channels Number of hits per channel Start available min. typ. 15ns 0ns 1.9us 2.5ns Max. 21ns 4ns 1 4 no LSB LSB LSB LSB LSB LSB acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Bl. - Germany - www.acam.de 57 7.4 Registers Write Registers Reg isters and Addresses Register 0 Bit Name 7 CAL 6 5 4 3 2 1 0 Address: 0 Description initializes a separate CAL run# Update of CAL-values in the calibration value registers instructs the ALU to do a calibration calculation instructs the ALU to do a multiplication '1' switches to measurement with predivider 1= automatic calibration after measurement selects slope sensitivity Stopp2-Input 0=rise selects slope sensitivity Stopp1-Input 0=rise selects slope sensitivity Start-Input 0=rise CALIBRATE MULTIPLICATE MESSB2 EN_CAL_AUTO EDGE_STP2 EDGE_STP1 EDGE_STA Register 1 Bit Name 7 RESO_ADJ 6 HIGH_RES 5 ADJ<5> 4 ADJ<4> 3 ADJ<3> 2 ADJ<2> 1 ADJ<1> 0 ADJ<0> Address: 1 Description (Remark: optimum value for ADJ<5:0> = 0x0d) switches to resolution adjust mode switches to high resolution mode adjustment bit 5 of high resolution mode adjustment bit 4 of high resolution mode adjustment bit 3 of high resolution mode adjustment bit 2 of high resolution mode adjustment bit 1 of high resolution mode adjustment bit 0 of high resolution mode Register 2 Bit Name 7 HIT2_IN<3> 6 HIT2_IN<2> 5 HIT2_IN<1> 4 HIT2_IN<0> 3 HIT1_IN<3> 2 HIT1_IN<2> 1 HIT1_IN<1> 0 HIT1_IN<0> Address: 2 Description channel select for upper Nibble: 0= channel1, 1=channel2 hit-no. for channel selected in bit 7 hit-no. for channel selected in bit 7 hit-no. for channel selected in bit 7 channel select for lower Nibble: 0= channel1, 1=channel2 hit-no. for channel selected in bit 3 hit-no. for channel selected in bit 3 hit-no. for channel selected in bit 3 Description of nibbles in detail HITx_IN<3> HITx_IN<2> HITx_IN<1> 0 0 0 0 or 1 0 0 0 or 1 0 1 0 or 1 0 1 0 or 1 1 0 0 or 1 1 1 0 or 1 1 1 Register 3 Bit Name 7 FAK_PLL<7> 6 ... 5 ... 4 ... 3 ... 2 ... 1 ... 0 FAK_PLL<0> ... LSB adjustment of PLL SET_PAR_PLL SEL_CLK_PLL<2> SEL_CLK_PLL<1> SEL_CLK_PLL<0> Register 5 Bit Name 7 RLC_NR<2> 6 RLC_NR<1> 5 RLC_NR<0> 4 SINGLE_EN 3 C_SEL 2 SEL_CLK_RLC<2> 1 SEL_CLK_RLC<1> 0 SEL_CLK_RLC<0> Register 6 Bit Name 7 INT_SEL 6 QUEUING 5 RETRIG_EN 4 NOISE_EN 3 RLC_EN 2 USE_TRANS 1 SPEED<1> 0 SPEED<0> Number of Hits Start 1. Hit of channel 1 or 2 2. Hit of channel 1 or 2 3. Hit of channel 1 or 2 4. Hit of channel 1 or 2 Cal 1 of channel 1 or 2 Cal 2 of channel 1 or 2 Address: 3 Description MSB adjustment of PLL ... Register 4 Bit Name 7 SEL_CLK_TDC<2> 6 SEL_CLK_TDC<1> 5 SEL_CLK_TDC<0> 4 NEG_PH_PLL 3 2 1 0 HITx_IN<0> 0 1 0 1 0 0 1 Address: 4 Description divider for calibration clock of TDC ... ... Negotiation of phase outputs of PLL (has to be '1' if the recommended circuit is used) 1=Track mode of PLL (Set Par Modus) divider for reference clock of PLL ... ... Address: 5 Description sets the number of RLC-ports to be measured or the number of the port " single port measure. = 1, 0= all ports 1 to n measure capacitors = 1 clock divider for RLC-unit " " Address: 6 Description Interrupt Select (0= ALU ready, 1= Overflow) Enable Queuing in measurement range 1 Enable retrigger mode Noise Enable starts RLC measurement 1= RLC-unit uses external transistor sets frequency of BIGALU (default: lowest speed) " Register 7 Bit Name 7 HALF_RES 6 EN_SUI 5 EN_HIT2<2> 4 EN_HIT2<1> 3 EN_HIT2<0> 2 EN_HIT1<2> 1 EN_HIT1<1> 0 EN_HIT1<0> Address: 7 Description Half resolution Enable spike suppression at RDN number of allowed hits on channel 2 (max. 4) " " number of allowed hits on channel 1 (max. 4) " " Register 88-10 Register 8 Register 9 Register 10 Address:8Address:8-10 multiplication factor<7..0> multiplication factor <15..8> multiplication factor <23..16> Register 11 Bit Name 7 POR. 6 POR. 5 POR. 4 POR. 3 n.c. 2 CLK_NOISE 1 INIT_BIGALU 0 INIT_TDC Address 11: Description Power On Reset (1) Power On Reset (0) Power On Reset (1) Power On Reset (0) Clock for PRBS counter in auto noise unit Init for Bigalu unit Init for TDC unit Read registers and Addresses 0 1 2 3 4 5 6 7 8 9 A Name ERG_REG0 ERG_REG1 ERG_REG2 ERG_REG3 ERG_REG4 ERG_REG5 ERG_REG6 ERG_REG7 STAT1 STAT2 REF_PLL No.Bits 16 16 16 16 16 16 16 16 8 8 8 Description Result register 1 Result register 2 Result register 3 Result register 4 Result register 5 Result register 6 Result register 7 Result register 8 Status register 1 Status register 2 Reference value of the SET_PAR run calibrated data after-decimal 0 pre-decimal 0 after-decimal 1 pre-decimal 1 after-decimal 2 pre-decimal 2 after-decimal 3 pre-decimal 3 PLL that is won in a Statusregister 1 Name Bit 7 PLL_LOCK 6 OFL 5 HIT2_TDC<2> 4 HIT2_TDC<1> 3 HIT2_TDC<0> 2 HIT1_TDC<2> 1 HIT1_TDC<1> 0 HIT1_TDC<0> Address: 8 Description Indicates whether PLL has locked Overflow of measuring unit Indicates number of present hit on channel 2 Indicates number of present hit on channel 2 Indicates number of present hit on channel 2 Indicates number of present hit on channel 1 Indicates number of present hit on channel 1 Indicates number of present hit on channel 1 Statusregister 2 Bit Name 7 N.C. 6 N.C. 5 RLC_END 4 Multiply 3 Calibrate 2 LD_REGS<2> 1 LD_REGS<1> 0 LD_REGS<0> Address: 9 Description not used not used End of RLC-measurement Indication of multiplication (=Bit5 of register0) Indication of calibration (=Bit6 of register 0) pointer position in result register pointer position in result register pointer position in result register Clock/PLL divider factors SEL_CLK_x division by 0 1 1 2 2 4 3 8 4 16 5 32 6 64 7 64 Description with SEL_CLK_RLC = 32