-
Die Erfindung betrifft eine Messvorrichtung zur hochpräzisen Laufzeitmessung. Die Laufzeitmessung ist eines der Schlüsselverfahren für die Implementation von Lokalisiserungsalgorithmen. Zudem spielt Laufzeitmessung eine wichtige Rolle bei der Untersuchung verschiedenster physikalischer Effekte. Grobe Laufzeitmessung für große Zeitdifferenzen erfolgt vorrangig mit zählerbasierten Verfahren, wobei die Auflösung der Laufzeitmessung durch die Taktrate des Zählers begrenzt ist. Feine Laufzeitmessung für kleine Zeitdifferenzen wird entweder mit analogen Verfahren oder unter Verwendung sogenannter Tapped Delay Lines (TDLs) durchgeführt. TDLs bieten den Vorteil einer rein digitalen und somit preiswerten Umsetzung.
-
Eine TDL wird gewöhnlich als Kette von Verzögerungsgliedern („TDL elements”), welchen jeweils ein Flip-flop zugeordnet ist, realisiert. Eine solche TDL ist in dargestellt. Die Dateneingänge D der Flip-flops werden mit einem dem jeweiligen Flip-flop zugeordneten Abgriffpunkt („tab”) der Kette von Verzögerungsgliedern verbunden. Der Eingang der Kette von Verzögerungsgliedern wird mit einem ersten Signaleingang für ein erstes Messsignal S1 verbunden. Die Takteingänge CLK aller Flip-flops der TDL werden direkt mit einem zweiten Signaleingang für ein zweites Messsignal S2 verbunden. Vorzugsweise weist jedes Verzögerungsglied dieselbe Verzögerungszeit τ auf.
-
Erreicht das erste Messsignal S1 den Dateneingang D eines Flip-flops, bevor das zweite Messsignal S2 den Takteingang CLK desselben Flip-flops erreicht, wird das Flip-flop in dem Moment, in dem das zweite Messsignal S2 den Takteingang CLK erreicht, den logischen Pegel des ersten Messsignals S1, der an seinem Eingang D anliegt, laden und auf seinem Ausgang Q[0...5] ausgeben. Im umgekehrten Fall, also wenn das zweite Messsignal S2 den Takteingang CLK erreicht, bevor das erste Messsignal S1 am Eingang D des Flip-flops anliegt, wird das Flip-flop die logische Inverse ausgeben. Dadurch trifft der Ausgangswert des Flip-flops eine Aussage darüber, welches der beiden Messsignale S1, S2 zuerst am Flip-flop eingetroffen war.
-
Da nun das erste Messsignal S1 aufgrund der sich bei Durchlaufen der Kette von Verzögerungsgliedern erhöhenden Gesamtverzögerung am Dateneingang D jedes Flip-flops zu einer anderen Zeit erscheint (siehe die Darstellung der zeitlichen Verhältnisse von Beispielsignalen S1, S2 oberhalb der TDL in ), kann eine zeitliche Verzögerung ΔT des zweiten Messsignals S2 gegenüber dem ersten Messsignal S1 bestimmt werden, indem die Ausgangswerte Q[0...5] aller Flip-flops der TDL betrachtet werden.
-
Das in gezeigte Beispiel einer TDL kann eine Verzögerung nur bestimmen, wenn S2 später den logischen Pegel wechselt als S1. Eine TDL kann jedoch modifiziert werden, so dass auch eine Bestimmung eines Verzögerungswertes möglich ist, wenn das erste Messsignal S1 gegenüber dem zweiten Messsignal S2 verzögert ist. Ein Beispiel für eine solche Lösung ist aus „Bio-inspired 0.35 μm CMOS Time-to-Digital Converter with 29.3 ps LSB”, A. Mozsáry, A. Rodriguez-Vázquez. et al., Proceedings of the European 32nd Solid-State Circuits Conference, 2006, ESSCIRC 2006, Seiten 170 bis 173, bekannt, bei der Signale in zwei in entgegengesetzter Richtung verlaufende TDLs eingespeist werden. Jeweils ein Abgriff einer der beiden TDLs wird logisch mit einem Abgriff der anderen TDL kombiniert und die Ausgänge zweier benachbarter Logikgatter an den Daten- beziehungsweise den Takteingang eines D-Flip-Flops gegeben. Die in den D-Flip-Flops gespeicherten binären Werte geben dann Aufschluss über das zeitliche Verhältnis des Eintreffens der beiden Signale in den TDLs.
-
Die Genauigkeit der Messung ist bei den genannten Ansätzen durch die Verzögerungszeit τ eines Verzögerungsgliedes vorgegeben und beträgt bei gängigen Implementierungen ca. 50 ps. Der in gezeigte Ergebnisvektor [111100] würde also einer Verzögerung des zweiten Messsignals S2 gegenüber dem ersten Messsignal S1 von ca. 200 ps entsprechen. Die Messgenauigkeit (Zeitauflösung) von ca. 50 ps ist für viele Anwendungen zu gering, weshalb es sich die vorliegende Erfindung zur Aufgabe macht, eine Messvorrichtung anzugeben, die eine höhere Messgenauigkeit unter Beibehaltung der einfachen und preiswerten Implementierungsmöglichkeit der TDL ermöglicht.
-
Dem entsprechend führt die Erfindung eine Messvorrichtung zur hochpräzisen Laufzeitmessung ein, welche über eine Mehrzahl von Reihen von Logikelementen, einen ersten Messeingang für ein erstes Messsignal und einen zweiten Messeingang für ein zweites Messsignal verfügt. Jedes der Logikelemente weist einen ersten und einen zweiten Signaleingang für ein erstes bzw. zweites Eingangssignal auf und ist ausgebildet, einen ersten logischen Ausgangswert auszugeben, wenn nach Inbetriebnahme ein logischer Pegel des ersten Eingangssignals wechselt und ein logischer Pegel des zweiten Eingangssignals seit Inbetriebnahme konstant geblieben ist, und einen zweiten logischen Ausgangswert auszugeben, wenn nach Inbetriebnahme der logische Pegel des zweiten Eingangssignals wechselt und der logische Pegel des ersten Eingangssignals seit Inbetriebnahme konstant geblieben ist. Der erste Messeingang ist mit dem ersten Signaleingang eines ersten Logikelementes einer ersten Reihe von Logikelementen und der zweite Messeingang mit dem zweiten Signaleingang eines letzten Logikelementes einer letzten Reihe von Logikelementen verbunden. Die ersten Signaleingänge aller Logikelemente sind miteinander elektrisch verbunden und die zweiten Signaleingänge aller Logikelemente sind miteinander elektrisch verbunden.
-
Da die elektrische Verbindung der ersten bzw. zweiten Signaleingänge der Logikelemente zu den ersten bzw. zweiten Signaleingängen direkt benachbarter Logikelemente zwangsläufig einen begrenzten elektrischen Leitwert und einen Kapazitätsbelag aufweisen, verzögern diese parasitären Effekte den Signalfluss des ersten bzw. zweiten Messsignals auf dem Weg von Logikelement zu Logikelement. Diese Verzögerung ist jedoch gegenüber der Verzögerung eines Verzögerungsgliedes wie z. B. eines CMOS-Inverters sehr gering, weshalb sich auch eine deutlich erhöhte zeitliche Auflösung ergibt.
-
Jedes Logikelement muss zu einem durch eines der beiden Messsignale festgelegten Zeitpunkt eine Bestimmung des logischen Pegels des anderen der beiden Messsignale durchführen. Da die Flanke eines Messsignals beim Durchlaufen der Messvorrichtung nicht durch aktive Elemente aufgefrischt wird, flacht diese mit der zurückgelegten Wegstrecke immer mehr ab. Dadurch sinkt jedoch auch die Sicherheit der Bestimmung des logischen Pegels, weil gleichbleibende Störbeeinflussungen ΔUn der Eingangssignale der Logikelemente etwa durch Rauschen der Versorgungsspannungen bei immer flacheren Flanken ΔU0/Δt0 immer größeren zeitlichen Abweichungen Δtn entsprechen. Hinzukommt, dass bei einem Aufbau der Logikelemente als Flip-flop wie für die TDL (nur ohne Verzögerungsglieder) beschrieben, auch die Flanke an den Takteingängen der Flip-flops abflacht, so dass der Zeitpunkt, zu dem die Bestimmung des logischen Pegels durchgeführt wird, ebenfalls aufgrund von Störeinstreuungen immer ungenauer wird. Die Erfindung tritt diesen Effekten entgegen, indem sie ein Feld von mehreren Reihen von Logikelementen vorsieht, an dessen gegenüberliegenden Ecken der erste und zweite Messeingang angeschlossen sind, so dass die Bestimmung des logischen Pegels von immer mehr Logikelementen durchgeführt wird, je weiter ein Messsignal in die Messvorrichtung vordringt. Dadurch wird die mit dem Durchlaufen der Messvorrichtung immer ungenauer werdende Bestimmung des logischen Pegels durch eine immer häufiger parallel ausgeführte Messung kompensiert.
-
Bevorzugt weist die Messvorrichtung eine Ausleseeinheit auf, die ausgebildet ist, die Ausgangswerte der Logikelemente zu empfangen und auszugeben. Dadurch ist ein einfaches Auslesen des Ergebnisvektors (Ausgangswerte) möglich.
-
Zusätzlich kann die Messvorrichtung eine mit der Ausleseeinheit verbundene Auswertungseinheit besitzen, welche ausgebildet ist, anhand der von der Ausleseeinheit ausgegebenen Ausgangswerte eine Verzögerung zwischen einem Wechsel eines logischen Pegels des ersten Messsignals und einem Wechsel eines logischen Pegels des zweiten Messsignals zu bestimmen und als Ergebniswert auszugeben. Die Auswertungseinheit besitzt den Vorteil, direkt ein verwertbares Ergebnis der Messung bereitzustellen.
-
Besonders bevorzugt besitzt die Messvorrichtung hierzu eine mit der Auswertungseinheit verbundene Speichereinheit für eine Vielzahl von Statusvektoren, welchen jeweils ein Verzögerungswert zugeordnet ist, auf. Die Auswertungseinheit ist hierbei ausgebildet, die von der Ausleseeinheit ausgegebenen Ausgangswerte mit der Vielzahl von Statusvektoren zu vergleichen und bei Übereinstimmung der Ausgangswerte mit einem der Statusvektoren den dem Statusvektor zugeordneten Verzögerungswert als Ergebniswert auszugeben. Die Statusvektoren können beispielsweise in einem Kalibrierungsverfahren ermittelt und dann für spätere Messungen verwendet werden.
-
Die Auswertungseinheit kann alternativ ausgebildet sein, eine erste Anzahl von ersten Ausgangswerten und eine zweite Anzahl von zweiten Ausgangswerten zu bestimmen.
-
Die Auswertungseinheit kann dann ausgebildet sein, einen ersten Ergebniswert auszugeben, wenn die erste Anzahl größer als die zweite Anzahl ist, und einen vom ersten Ergebniswert verschiedenen zweiten Ergebniswert auszugeben, wenn die zweite Anzahl größer ist als die erste Anzahl. Diese besonders einfache Ausführung der Auswertungseinheit erlaubt eine binäre Ergebnisbestimmung in dem Sinne, dass lediglich festgestellt wird, welches Messsignal zuerst an der Messvorrichtung anlag.
-
Die Auswertungseinheit kann auch ausgebildet sein, ein Verhältnis der ersten Anzahl und der zweiten Anzahl zu bestimmen und als Ergebniswert auszugeben. In diesem Fall erlaubt der Ergebniswert zusätzlich auch noch eine Aussage, um wieviel früher eines der Messsignale vor dem jeweils anderen Messsignal an der Messvorrichtung anlag.
-
Besonders bevorzugt ist die Auswertungseinheit ausgebildet, jedem Logikelement einen ersten Verzögerungswert für das erste Messsignal und einen zweiten Verzögerungswert für das zweite Messsignal zuzuweisen. Die Auswertungseinheit bestimmt eine erste Gruppe von Logikelementen, die den ersten Ausgangswert ausgeben und wenigstens ein direkt benachbartes Logikelement haben, das den zweiten Ausgangswert ausgibt, und eine zweite Gruppe von Logikelementen, die den zweiten Ausgangswert ausgeben und wenigstens ein direkt benachbartes Logikelement haben, das den ersten Ausgangswert ausgibt. Dann bestimmt die Auswertungseinheit einen ersten Mittelwert der den Logikelementen der ersten Gruppe zugeordneten ersten Verzögerungswerte und einen zweiten Mittelwert der den Logikelementen der zweiten Gruppe zugeordneten zweiten Verzögerungswerte, berechnet eine Differenz des ersten Mittelwertes und des zweiten Mittelwertes und gibt diese als Ergebniswert aus. Diese Variante erlaubt eine statistische Mittelung der verschiedenen gleichzeitig durchgeführten Bestimmungen und dadurch eine Reduktion des Messfehlers.
-
Zusätzlich kann die Auswertungseinheit ausgebildet sein, die den Logikelementen der ersten und zweiten Gruppe zugeordneten ersten bzw. zweiten Verzögerungswerte vor der Mittelwertbildung zu gewichten. Dabei gewichtet sie einen ersten Verzögerungswert der Logikelemente der ersten Gruppe jeweils mit einem ersten Gewichtungsfaktor, wenn das jeweilige Logikelement genau ein direkt benachbartes Logikelement hat, das den zweiten Ausgangswert ausgibt, mit einem zweiten Gewichtungsfaktor, wenn das jeweilige Logikelement genau zwei direkt benachbarte Logikelemente hat, die den zweiten Ausgangswert ausgeben, und mit einem dritten Gewichtungsfaktor, wenn das jeweilige Logikelement genau drei direkt benachbarte Logikelemente hat, die den zweiten Ausgangswert ausgeben. Umgekehrt werden die Verzögerungswerte der zweiten Gruppe entsprechend gewichtet, also mit dem ersten Gewichtungsfaktor, wenn das jeweilige Verzögerungselement genau ein direkt benachbartes Logikelement hat, das den ersten Ausgangswert ausgibt, mit dem zweiten Gewichtungsfaktor, wenn das jeweilige Logikelement genau zwei direkt benachbarte Logikelemente hat, die den ersten Ausgangswert ausgeben, und mit dem dritten Gewichtungsfaktor, wenn das jeweilige Logikelement genau drei direkt benachbarte Logikelemente hat, die den ersten Ausgangswert ausgeben. Dabei ist der erste Gewichtungsfaktor größer als der zweite Gewichtungsfaktor und der zweite Gewichtungsfaktor größer als der dritte Gewichtungsfaktor.
-
Diese Ausführungsvariante berücksichtigt, dass ein einzelnes Logikelement, das von drei Logikelementen, die einen entgegengesetzen Ausgangswert ausgeben, umgeben ist, mit hoher Wahrscheinlichkeit einem Messfehler unterliegt, während ein Logikelement, dessen vier Nachbarn sich jeweils hälftig auf die beiden möglichen Ausgangswerte verteilen, bereits einen zuverlässigeren Ausgangswert zur Verfügung stellt. Dem entsprechend kann ein Verzögerungswert eines Logikelementes, das nur einen Nachbarn mit entgegengesetztem Ausgangswert aufweist, mit einem noch höheren Gewichtungswert versehen werden.
-
Zusätzlich kann vorgesehen sein, isolierte Logikelemente, also solche Logikelemente, deren Ausgangswerte gegenüber den Ausgangswerten aller vier benachbarter Logikelemente entgegengesetzt sind, vollständig zu ignorieren. Außerdem ist es möglich, abhängig von der jeweiligen lokalen Ausbreitungsrichtung der Messsignale Ausgangswerte, die bestimmte Muster aufweisen, zu ignorieren oder mit einem größeren oder geringeren Gewichtungsfaktor zu versehen.
-
Besonders bevorzugt ist die Messvorrichtung als integrierter Schaltkreis ausgeführt. Solche Integrierten Schaltkreise weisen gewöhnlich mehrere Verdrahtungsebenen auf, welche aufgrund unterschiedlicher Querschnittsflächen der Leiter unterschiedliche Leitwerte aufweisen. Zusätzlich können weitere Leitwerte erzeugt werden, indem Leiter verschiedener Verdrahtungsebenen parallel geführt und miteinander durch Kontaktierungen verbunden werden, so dass sich die Leitwerte der einzelnen Verdrahtungsebenen summieren. Außerdem ist es möglich, den lateralen Durchmesser eines Leiters zu erhöhen, um dessen Leitwert zu erhöhen. Ebenso kann der Kapazitätsbelag der Leitung beeinflusst werden, indem in einem wählbaren Abstand zur Leitung eine Masse- oder Versorgungsleitung geführt wird. Durch geeignete Wahl von Leitwert und Kapazitätsbelag können somit für jede Anwendung geeignete Laufzeitverzögerungen erzeugt werden.
-
Besonders einfach und preiswert lässt sich die Messvorrichtung aufbauen, indem ein Field Programmable Gate Array (FPGA) verwendet wird. Ein FPGA stellt eine Sonderform eines integrierten Schaltkreises dar, die über eine Vielzahl von in einem Feld angeordneten Zellen verfügt, deren Funktion und Verbindung sich durch Programmierung wählen lässt. Da ein FPGA meist auch über komplexe Logikzellen und Speicherzellen verfügt, kann auch die Auswertungseinheit einfach auf dem FPGA verwirklicht werden.
-
Die Erfindung wird im Folgenden anhand von Abbildungen von Ausführungsbeispielen näher erläutert.
-
Es zeigen:
-
eine Tapped Delay Line gemäß dem Stand der Technik,
-
eine bevorzugte Ausführungsform der erfindungsgemäßen Messvorrichtung,
-
einen zeitlichen Ablauf einer Messung, und
-
Beispiele für mögliche Ergebnisvektoren.
-
zeigt eine bevorzugte Ausführungsform der erfindungsgemäßen Messvorrichtung 10. Die Messvorrichtung 10 verfügt über zwei Signaleingänge 11, 12, welche an gegenüberliegenden Ecken eines Feldes von Logikelementen [1, 1] bis [m, n] angeschlossen sind. Jedes Logikelement [1, 1] bis [m, n] besitzt zwei Signaleingänge, von denen jeweils einer mit dem ersten Signaleingang 11 und einer mit dem zweiten Signaleingang 12 verbunden ist. Dadurch sind auch alle ersten Signaleingänge aller Logikelemente mit den ersten Signaleingängen aller anderen Logikelemente verbunden. Entsprechendes gilt für alle zweiten Signaleingänge aller Logikelemente. Am einfachsten kann die Verdrahtung verwirklicht werden, indem an jeder Reihe [y, 1...n] von Logikelementen und an jeder Spalte [1...m, y] von Logikelementen jeweils eine Leitung für jedes der beiden Messsignale entlang geführt wird.
-
Bevorzugt ist das Feld von Logikelementen quadratisch ausgeführt, so dass m gleich n ist. Aufgrund der unterschiedlichen Wegstrecken, die jedes der beiden Messsignale von den jeweiligen Signaleingängen 11, 12 zu einem bestimmten Logikelement zurücklegen muss, ergibt sich für jedes Logikelement ein bestimmtes Paar von Verzögerungen. Jedes Logikelement ist ausgeführt, einen ersten logischen Ausgangswert auszugeben, wenn das erste Messsignal das Logikelement vor dem zweiten Messsignal erreicht hat. Im entgegengesetzten Fall, also wenn das zweite Messsignal das Logikelement vor dem ersten Messsignal erreicht hat, wird das Logikelement einen zweiten logischen Ausgangswert, der sich vom ersten logischen Ausgangswert unterscheidet, ausgeben.
-
Die Messvorrichtung 10 besitzt eine Ausleseeinheit 13, die mit den Signalausgängen der Logikelemente [1, 1] bis [m, n] verbunden und ausgebildet ist, die logischen Ausgangswerte aller Logikelemente [1, 1] bis [m, n] zu empfangen und auszugeben. Zudem weist die abgebildete Ausführungsform der Messvorrichtung 10 eine mit der Ausleseeinheit 13 verbundene Auswertungseinheit 14 auf, welche wiederum mit einer Speichereinheit 15 für eine Vielzahl von Statusvektoren verbunden ist. Die Auswertungseinheit 14 ist ausgebildet, die von der Ausleseeinheit 13 ausgegebenen Ergebnisvektoren zu empfangen und mit den in der Speichereinheit 15 abgelegten Statusvektoren zu vergleichen. Jedem der Statusvektoren ist eine Verzögerungszeit zugeordnet, bei deren Vorliegen zwischen dem ersten und zweiten Messsignal sich der jeweilige Statusvektor ergibt. Findet die Auswertungseinheit 14 eine Übereinstimmung zwischen dem Ergebnisvektor und einem der in der Speichereinheit 15 abgelegten Statusvektoren, gibt sie den dem übereinstimmenden Statusvektor zugeordneten Verzögerungswert als Ergebniswert der Messung aus.
-
Die Statusvektoren können beispielsweise durch zuvor durchgeführte Kalibrierungsmessungen bestimmt worden sein. Für die Funktion der Messvorrichtung 10 ist es unerheblich, welche exakten Laufzeitverzögerungen die Messsignale auf ihren Wegen durch die Messvorrichtung 10 von einem Logikelement zum nächsten tatsächlich unterworfen sind. Auch ist es unerheblich, ob die Verzögerungen jeweils gleich sind, wie es eine Voraussetzung der Tapped Delay Line ist. Dadurch wird der Aufbau der Messvorrichtung gemäß der Erfindung wesentlich gegenüber dem Stand der Technik vereinfacht.
-
zeigt einen zeitlichen Ablauf einer Messung anhand dreier Teilabbildungen ) bis ). Im abgebildeten Beispiel erscheint das erste Messsignal am ersten Signaleingang 11, bevor das zweite Messsignal am zweiten Signaleingang 12 anliegt.
-
In der Teilabbildung ) hat das erste Messsignal bereits die Logikelemente [1, 1],[1, 2] und [2, 1] erreicht, weshalb diese den ersten logischen Ausgangswert (vertikale Schraffur) speichern und ausgeben.
-
In der zweiten Teilabbildung ) hat das erste Messsignal zusätzlich die Logikelemente [1, 3],[2, 2], [2, 3], [3, 1] und [3, 2] erreicht, während das später eintreffende zweite Messsignal erst das Logikelement [m, n] (hier [5, 5]) erreicht hat, so dass dieses Logikelement den zweiten logischen Ausgangswert ausgibt (horizontale Schraffur).
-
Die dritte Teilabbildung ) zeigt schließlich das vollständige Ergebnis der Messung. Anhand der logischen Ausgangswerte aller Logikelemente (Ergebnisvektor) kann nun die Verzögerung zwischen den beiden Messsignalen bestimmt werden.
-
zeigt Beispiele für mögliche Ergebnisvektoren anhand dreier Teilabbildungen ) bis ). Im Beispiel der Teilabbildung ), welche der Teilabbildung ) entspricht, lag das erste Messsignal am ersten Signaleingang 11 an, bevor das zweite Messsignal am zweiten Signaleingang 12 anlag. Dem entsprechend geben mehr Logikelemente den ersten logischen Ausgangswert aus als den zweiten logischen Ausgangswert. Im Beispiel der Teilabbildung ) traten die beiden Messsignale ungefähr gleichzeitig auf, im dritten Beispiel (Teilabbildung ) schließlich erschien das zweite Messsignal am Signaleingang 12, bevor das erste Messsignal am Signaleingang 11 anlag.