[go: up one dir, main page]

DE102006021821A1 - Einstellbarer Zeitakkumulator - Google Patents

Einstellbarer Zeitakkumulator Download PDF

Info

Publication number
DE102006021821A1
DE102006021821A1 DE102006021821A DE102006021821A DE102006021821A1 DE 102006021821 A1 DE102006021821 A1 DE 102006021821A1 DE 102006021821 A DE102006021821 A DE 102006021821A DE 102006021821 A DE102006021821 A DE 102006021821A DE 102006021821 A1 DE102006021821 A1 DE 102006021821A1
Authority
DE
Germany
Prior art keywords
time
clock
signal
state
current
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102006021821A
Other languages
English (en)
Inventor
John H. Stanwood Guilford
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Agilent Technologies Inc
Original Assignee
Agilent Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Agilent Technologies Inc filed Critical Agilent Technologies Inc
Publication of DE102006021821A1 publication Critical patent/DE102006021821A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G04HOROLOGY
    • G04FTIME-INTERVAL MEASURING
    • G04F10/00Apparatus for measuring unknown time intervals by electric means
    • G04F10/04Apparatus for measuring unknown time intervals by electric means by counting pulses or half-cycles of an AC
    • GPHYSICS
    • G04HOROLOGY
    • G04GELECTRONIC TIME-PIECES
    • G04G5/00Setting, i.e. correcting or changing, the time-indication
    • G04G5/007Setting, i.e. correcting or changing, the time-indication by using a separate register into which the entire correct setting is introduced, which is thereafter transferred to the time counters

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Electric Clocks (AREA)
  • Measurement Of Unknown Time Intervals (AREA)

Abstract

Ein Zeitakkumulator ist einstellbar, um ungeachtet der Taktfrequenz eine ausreichende Berechnungszeit zu liefern. Der Zeitakkumulator umfasst ein erstes Register, das eine aktuelle Zeit speichert, und ein zweites Register, das einen Zeitinkrementwert speichert, der einem Multiplizierer entspricht, der mit einem ursprünglichen Zeitinkrement multipliziert ist, das einem Taktimpuls eines Taktsignals zugeordnet ist. Das Taktsignal ist in Rechenintervalle geteilt, wobei jedes Rechenintervall eine vorbestimmte Anzahl von Taktimpulsen äquivalent zu dem Wert des Multiplizierers umfasst. Der Zeitakkumulator umfasst ferner einen Summationsknoten zum Addieren der aktuellen Zeit zu dem Zeitwert, um jedes Rechenintervall eine aktualisierte aktuelle Zeit zu erzeugen.

Description

  • Zeit- (oder Phasen-) Akkumulatoren werden häufig verwendet, um die aktuelle Zeit in einer digitalen Schaltung zu verfolgen. Ein Zeitakkumulator ist durch ein Addieren eines Zeitinkrements zu der aktuellen Zeit mit einer Rate, die die Taktfrequenz genannt wird, wirksam. Das Zeitinkrement kann fest, variabel oder zeitveränderlich sein. Ein Beispiel einer zeitveränderlichen Implementierung ist eine Servo-Schleife, die verwendet wird, um das Zeitinkrement zu variieren, um den Zeitakkumulator in Synchronisation mit einer externen Zeitreferenz zu halten. Je höher die Taktfrequenz, desto höher die Auflösung des Zeitakkumulators und desto genauer kann der Zeitakkumulator verwendet werden, um Ereignisse zeitlich zu steuern. Beispielsweise kann ein Zeitakkumulator verwendet werden, um einen Zeitgeberwert zu setzen, die Zeit eines externen Ereignisses aufzuzeichnen (d. h. einen Zeitstempel) oder ein Auslösesignal für ein externes Ereignis zu einer gegebenen Taktfrequenz zu erzeugen.
  • Eine höhere Taktfrequenz reduziert jedoch notwendigerweise die Zeit, die verfügbar ist, um die Addition des Zeitinkrements und irgendwelche anderen Operationen zu berechnen, die an dem Zeitinkrementwert durchgeführt werden müssen (z. B. Servoschleifenberechnungen). Falls der Zeitakkumulator in einer Vorrichtung implementiert ist, die bei einer hohen Taktfrequenz wirksam ist, die nicht genügend Zeit erlaubt, damit der Zeitakkumulator alle Berechnungen desselben vor dem nächsten Takt abschließen kann, kann die aktuelle Zeit, die durch den Zeitakkumulator aufgezeichnet wird, ungenau sein. Lösungen für dieses Problem umfassen ein Verwenden einer schnelleren Hardware bei dem Zeitakkumulator oder ein Entspannen der Genauigkeitsanforderungen der Vorrichtung und ein Verwenden einer niedrigeren Takt frequenz, wodurch dem Zeitakkumulator mehr Zeit zwischen Taktpulsen gegeben wird, in der die Berechnungen durchzuführen sind. Eine schnellere Hardware ist gewöhnlich jedoch teurer und bei vielen Anwendungen ist ein Reduzieren der Genauigkeit der Vorrichtung eventuell nicht erwünscht. Deshalb besteht ein Bedarf nach einem langsameren Zeitakkumulator, der zum Wirksamsein bei einer höheren Taktfrequenz in der Lage ist.
  • Es ist die Aufgabe der vorliegenden Erfindung, einen Zeitakkumulator und ein Verfahren zum Akkumulieren von Zeit mit verbesserten Charakteristika zu schaffen.
  • Diese Aufgabe wird durch einen Zeitakkumulator gemäß Anspruch 1 und ein Verfahren gemäß Anspruch 15 gelöst.
  • Ausführungsbeispiele der vorliegenden Erfindung sehen einen einstellbaren Zeitakkumulator vor, der zum Liefern einer ausreichenden Berechnungszeit ungeachtet der Taktfrequenz in der Lage ist. Der Zeitakkumulator umfasst ein erstes Register, das eine aktuelle Zeit speichert, und ein zweites Register, das einen Zeitinkrementwert speichert, der einem Multiplizierer entspricht, der mit einem ursprünglichen Zeitinkrement multipliziert ist, das einem Taktpuls eines Taktsignals zugeordnet ist. Das Taktsignal ist in Rechenintervalle geteilt, wobei jedes Rechenintervall eine vorbestimmte Anzahl von Taktpulsen äquivalent zu dem Wert des Multiplizierers umfasst. Der Zeitakkumulator umfasst ferner einen Summationsknoten zum Addieren der aktuellen Zeit zu dem Zeitwert, um eine aktualisierte aktuelle Zeit in jedem Rechenintervall zu erzeugen.
  • Bei einem Ausführungsbeispiel umfasst der einstellbare Zeitakkumulator ferner einen Zähler zum Zählen von Taktpulsen in dem Taktsignal, um einen Taktzustand zu bestimmen, der eine aktuelle Anzahl von gezählten Taktpulsen angibt. Der Zähler erzeugt ein Taktfreigabesignal zu dem ersten Register, wenn die aktuelle Anzahl von gezählten Taktpulsen gleich der vorbestimmten Anzahl von Taktpulsen ist. Ansprechen auf einen Empfang des Taktfreigabesignals wird das erste Register getaktet, um die aktuelle Zeit zu dem Summationsknoten auszugeben.
  • Bei einem Aspekt der Erfindung umfasst der Zeitakkumulator ferner einen ersten und einen zweiten Multiplexer. Der erste Multiplexer wählt zwischen Zeitoptionen aus, wobei jede Zeitoption ein Zeitwert ist, der einer ursprünglichen Zeit entspricht, die einem jeweiligen Vielfachen des ursprünglichen Zeitinkrements hinzugefügt ist, das geringer als der Multiplizierer ist. Auf einen Empfang eines Auslösesignals bzw. Triggersignals hin erzeugt der Zähler ein erstes Auswahlsignal, das den Taktzustand angibt, zu dem ersten Multiplexer für eine Auswahl einer Ausgewählten der Zeitoptionen, die dem Taktzustand zugeordnet ist. Zusätzlich erzeugt der Zähler auch ein zweites Auswahlsignal in einem ersten Zustand in Abwesenheit des Auslösesignals und in einem zweiten Zustand auf einen Empfang des Auslösesignals hin. Der zweite Multiplexer speichert die aktualisierte aktuelle Zeit als die aktuelle Zeit in dem ersten Register, wenn das zweite Auswahlsignal sich in dem ersten Zustand befindet, und speichert die ausgewählte Zeitoption als die aktuelle Zeit in dem ersten Register, wenn das zweite Auswahlsignal sich in dem zweiten Zustand befindet.
  • Bei einem anderen Aspekt der Erfindung umfasst der Zeitakkumulator ferner ein Zeitstempelregister, das verbunden ist, um ein Auslösesignal zu empfangen. Ansprechend auf das Auslösesignal speichert das Zeitstempelregister die aktuelle Zeit aus dem ersten Register und den Taktzustand aus dem Zähler als einen Zeitstempel.
  • Bei einem weiteren Aspekt der Erfindung umfasst der Zeitakkumulator ferner eine Steuerung zum Erzeugen eines Auslösesignals basierend auf Statussignalen, die durch jeweilige Komparatoren erzeugt werden. Jedes der Statussignale gibt einen Zustand der aktuellen Zeit relativ zu einer jeweili gen Auslösezeit an. Jede der Auslösezeiten stellt eine ursprüngliche Auslösezeit bei einem jeweiligen Vielfachen des ursprünglichen Zeitinkrements dar, das geringer als der Multiplizierer ist. Die Komparatoren erzeugen die jeweiligen Statussignale derselben in entweder einem ersten Zustand, wenn die aktuelle Zeit die jeweilige Auslösezeit überschreitet, oder einem zweiten Zustand, wenn die aktuelle Zeit der jeweiligen Auslösezeit vorangeht. Bei einem exemplarischen Ausführungsbeispiel bestimmt die Steuerung einen Taktzustand des Taktsignals in einem aktuellen Rechenintervall aus der Anzahl von Statussignalen in dem ersten Zustand und erzeugt das Auslösesignal bei dem Taktpuls, der dem Taktzustand entspricht, in einem nachfolgenden Rechenintervall.
  • Die offenbarte Erfindung wird mit Bezug auf die zugehörigen Zeichnungen beschrieben, die exemplarische Ausführungsbeispiele der Erfindung zeigen und die hierin durch Bezugnahme in die Beschreibung derselben aufgenommen sind.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
  • 1 ein schematisches Blockdiagramm, das einen einstellbaren Zeitakkumulator gemäß Ausführungsbeispielen der vorliegenden Erfindung darstellt;
  • 2 Zeitdiagramme des Betriebs des einstellbaren Zeitakkumulators von 1 gemäß Ausführungsbeispielen der vorliegenden Erfindung;
  • 3 einen exemplarischen Prozess zum Akkumulieren von Zeit gemäß Ausführungsbeispielen der vorliegenden Erfindung;
  • 4 ein schematisches Blockdiagramm einer exemplarischen Implementierung des einstellbaren Zeitakku mulators, um die Zeit zu setzen, gemäß Ausführungsbeispielen der vorliegenden Erfindung;
  • 5 einen exemplarischen Prozess zum Setzen der Zeit unter Verwendung eines einstellbaren Zeitakkumulators gemäß Ausführungsbeispielen der vorliegenden Erfindung;
  • 6 ein schematisches Blockdiagramm einer exemplarischen Implementierung des einstellbaren Zeitakkumulators, um die Zeit aufzuzeichnen, gemäß Ausführungsbeispielen der vorliegenden Erfindung;
  • 7 einen exemplarischen Prozess zum Aufzeichnen der Zeit unter Verwendung eines einstellbaren Zeitakkumulators gemäß Ausführungsbeispielen der vorliegenden Erfindung;
  • 8A und 8B schematische Blockdiagramme von exemplarischen Implementierungen des einstellbaren Zeitakkumulators, um einen Auslöser zu erzeugen, gemäß Ausführungsbeispielen der vorliegenden Erfindung; und
  • 9 einen exemplarischen Prozess zum Erzeugen eines Auslösers unter Verwendung eines einstellbaren Zeitakkumulators gemäß Ausführungsbeispielen der vorliegenden Erfindung.
  • 1 ist ein schematisches Blockdiagramm, das einen exemplarischen und vereinfachten einstellbaren Zeitakkumulator 10 gemäß Ausführungsbeispielen der vorliegenden Erfindung darstellt. Der einstellbare Zeitakkumulator 10 umfasst ein Zeitinkrementregister 20, einen Summationsknoten 50, ein Zeitregister 60 und einen Zähler 80. Das Zeitinkrementregister 20 behält einen Zeitinkrementwert 35 bei, der durch den Summationsknoten 50 zu einer aktuellen Zeit 70 addiert wird, um eine aktualisierte aktuelle Zeit 55 zu erzeugen.
  • Die aktualisierte aktuelle Zeit 55 ist in dem Zeitregister 60 als die aktuelle Zeit 70 gespeichert. Das Zeitregister 60 gibt die aktuelle Zeit 70 zu dem Summationsknoten 50 aus, um die aktuelle Zeit 70 in Synchronisation mit einem Taktsignal 90 zu aktualisieren.
  • Der Zeitinkrementwert 35 ist ein Vielfaches eines ursprünglichen Zeitinkrements 30, dahingehend, dass das ursprüngliche Zeitinkrement 30 mit einem Multiplizierer 40 multipliziert ist, um den Zeitinkrementwert 35 zu erzeugen. Das ursprüngliche Zeitintervall ist die Menge an Zeit, die bei jedem Taktpuls zu der aktuellen Zeit addiert wird, der hierin als eine Taktperiode (von einer ansteigenden Flanke des Taktsignals 90 zu der nächsten ansteigenden Flanke des Taktsignals 90) definiert ist. Das ursprüngliche Zeitinkrement 30 entspricht dem Zeitintervall zwischen aufeinanderfolgenden Taktpulsen in dem Taktsignal 90. Falls beispielsweise das Taktsignal 90 alle 10 Nanosekunden (ns) einen Taktpuls erzeugt, beträgt das ursprüngliche Zeitinkrement 30 10 ns. Falls somit der Zeitakkumulator 10 zum Wirksamsein bei der Taktfrequenz des Taktsignals 90 in der Lage ist, ist der Wert des Multiplizierers 40 „1", um bei jedem Taktpuls 10 ns zu der aktuellen Zeit 70 zu addieren.
  • Falls jedoch der Zeitakkumulator 10 mit einer langsameren Rate als der Taktfrequenz läuft, ist der Wert des Multiplizierers 40 (N) von dem Verhältnis zwischen der Taktperiode und der Betriebszeit des Zeitakkumulators 10 abhängig. Falls beispielsweise der Zeitakkumulator 10 20 Nanosekunden (ns) benötigt, um die aktuelle Zeit 70 zu berechnen und zu speichern, und die Taktperiode 10 ns beträgt, beträgt der Wert des Multiplizierers 40 zwei (N = 2). Somit wird das ursprüngliche Zeitintervall 30 mit zwei multipliziert, um den Zeitinkrementwert 35 von 20 ns zu erzeugen (2·10 ns = 20 ns), der zu der aktuellen Zeit 70 addiert wird. Folglich darf der Zeitakkumulator 10 bei 1/N·Taktfrequenz wirksam sein, während immer noch die Zeitauflösung und die Genauigkeit beibehalten ist, die durch die Taktfrequenz geliefert wird. Bei einigen Ausführungsbeispielen kann der Wert des Multiplizierers 40 zwischen Aktualisierungen der aktuellen Zeit abhängig von dem Verhältnis der Taktperiode und der Betriebszeit des Zeitakkumulators 10 variieren.
  • Es ist klar, dass die Taktfrequenz des Taktsignals 90 durch die erwünschte Taktfrequenz einer Vorrichtung bestimmt ist, die den Zeitakkumulator 10 umfasst, und deshalb von der Anwendung abhängig ist. Bei einigen Ausführungsbeispielen kann der Wert des Multiplizierers 40 variieren, um den Zeitakkumulator 10 mit einer zeitveränderlichen Taktfrequenz zu synchronisieren. Wie es oben beschrieben ist, ist der Wert des Multiplizierers 40 gleich der Anzahl von Taktpulsen des Taktsignals 90, die notwendig sind, damit der Zeitakkumulator 10 die Berechnungen desselben durchführen kann. Diese Anzahl von Taktpulsen wird hierin als ein Rechenintervall bezeichnet. Somit aktualisiert der Zeitakkumulator 10 die aktuelle Zeit 70 einmal in jedem Rechenintervall.
  • Der Zähler 80 zählt die Taktpulse des Taktsignals 90, um einen Taktzustand zu bestimmen, der eine aktuelle Anzahl von gezählten Taktpulsen angibt. Wenn die Anzahl von gezählten Taktpulsen gleich dem Wert des Multiplizierers 40 ist und deshalb ein Rechenintervall vergangen ist, erzeugt der Zähler 80 ein Taktfreigabesignal 95 zu dem Zeitregister 60, das das Zeitregister 60 durch das Taktsignal 90 taktet. Das Zeitregister 60 gibt die aktuelle Zeit 70 zu dem Summationsknoten 50 aus, der die aktuelle Zeit 70 zu dem Zeitinkrementwert 35 addiert und die aktualisierte aktuelle Zeit 55 erzeugt, die in dem Zeitregister 60 als die neue aktuelle Zeit 70 gespeichert wird. Somit wird der Zeitakkumulator 10 jeden N-ten Taktpuls aktualisiert. Zusätzlich wird der Zähler 80 rückgesetzt, sobald der Zähler 80 das Taktfreigabesignal 95 erzeugt hat, um ein Zählen von Taktpulsen während des nächsten Rechenintervalls zu beginnen.
  • Der Betrieb des einstellbaren Zeitakkumulators 10 von 1 wird mit Bezug auf die Zeitdiagramme, die in 2 gezeigt sind, besser verständlich. Wie es in 2 zu sehen ist, umfasst das Taktsignal 90 Taktpulse 200, die durch bekannte Zeitintervalle getrennt sind, derart, dass die ansteigende Flanke jedes Taktpulses 200 mit einer Rate empfangen wird, die der erwünschten Auflösung entspricht. Der Zählerwert 210 wird jedes Mal inkrementiert, wenn der Zähler 80 eine ansteigende Flanke eines Taktpulses 200 während eines Rechenintervalls 215 erfasst. Somit gibt der Zählerwert 210 den Taktzustand des Taktsignals 90 an, wobei der Taktzustand der aktuellen Anzahl von gezählten Taktpulsen 200 in dem Taktsignal 90 entspricht. In 2 umfasst das Rechenintervall 215 drei Taktpulse 200 und deshalb wird der Zählerwert 210 bei der ansteigenden Flanke des nächsten Taktpulses 200 nach dem dritten gezählten Taktpuls 200 rückgesetzt.
  • Jeder Zählerwert 210 (gezählter Taktpuls) stellt eine unterschiedliche Phase des Rechenintervalls 215 dar. Durch ein Bemerken der Phase des Rechenintervalls 215 können verschiedenen Zeitsteuerungsoperationen bei der Taktfrequenz des Taktsignals 90 durchgeführt werden, obwohl der Zeitakkumulator 10 lediglich mit 1/N·der Taktfrequenz aktualisiert wird, wie es unten in Verbindung mit 4-9 detaillierter beschrieben ist.
  • Das Taktfreigabesignal 95 wird auf ein Zählen von „N" Taktpulsen 200 hin erzeugt. Wie es in 2 gezeigt ist, wird das Taktfreigabesignal 95 beispielsweise bei der ansteigenden Flanke des dritten gezählten Taktpulses 200 erzeugt (allgemein bei dem Bezugszeichen 220 gezeigt). Wenn das Taktfreigabesignal 95 erzeugt ist, wird die aktuelle Zeit 70 aktualisiert. Da das Rechenintervall 215 drei Taktpulse 200 umfasst, wird das Taktfreigabesignal 95 alle drei Taktpulse 200 erzeugt und wird der Wert 230 der aktuellen Zeit 70 alle drei Taktpulse 200 aktualisiert. Wie es in 2 gezeigt ist, wird beispielsweise zu einer anfänglichen Zeit der Wert 230 der aktuellen Zeit 70 von T0 auf T3 aktualisiert, derart, dass der Wert der aktuellen Zeit 70 am Ende des ersten Rechenintervalls 215 T3 beträgt. Nach drei Taktpulsen 200 wird der Wert 220 der aktuellen Zeit 70 erneut von T3 auf T6 aktualisiert, derart, dass der Wert 220 der aktuellen Zeit 70 am Ende des zweiten Rechenintervalls 215 T6 beträgt.
  • 3 stellt einen exemplarischen Prozess 300 zum Akkumulieren von Zeit gemäß Ausführungsbeispielen der vorliegenden Erfindung dar. Der Prozess 300 beginnt bei einem Block 310, bei dem ein Zeitinkrementwert aus der Multiplikation eines Multiplizierers mit einem ursprünglichen Zeitintervall bestimmt wird. Das ursprüngliche Zeitintervall ist die Menge an Zeit, die benötigt wird, um zu der aktuellen Zeit bei jedem Taktpuls (Taktperiode) addiert zu werden, und der Multiplizierer wird aus der Zeit bestimmt, die erforderlich ist, um die Akkumulation durchzuführen. Falls beispielsweise ein Taktpuls alle 10 ns auftritt und die Akkumulationszeit 30 ns beträgt, beträgt der Wert des Multiplizierers drei. Somit wird das ursprüngliche Zeitintervall (10 ns) mit drei multipliziert, um den Zeitinkrementwert von 30 ns zu erzeugen.
  • Der Prozess geht bei einem Block 320 weiter, bei dem ein Taktsignal mit einer Taktfrequenz empfangen wird. Unter Verwendung des oben beschriebenen Beispiels beträgt die Taktfrequenz eines Taktsignals, das alle 10 ns einen Taktpuls erzeugt, 100 MHz. Bei einem Block 330 werden die Taktpulse des Taktsignals gezählt. Vor dem Empfangen des Taktsignals wird beispielsweise ein Zähler auf eins initialisiert. Sobald das Taktsignal zu dem Zähler eingegeben ist, wird der Zähler bei der ansteigenden Flanke jedes Taktpulses in dem Taktsignal um eins inkrementiert. Unter Verwendung des gleichen Beispiels wird, falls die Zeit zwischen ansteigenden Flanken von sequentiellen Taktpulsen 10 ns beträgt, der Zähler alle 10 ns um eins inkrementiert.
  • Der Prozess geht bei einem Block 340 weiter, bei dem der aktuelle Wert des Zählers mit einer vorbestimmten Anzahl von Taktpulsen gleich dem Wert des Multiplizierers verglichen wird. Falls der aktuelle Wert des Zählers nicht gleich dem Wert des Multiplizierers ist, zählt der Zähler weiterhin Taktpulse. Unter Verwendung des gleichen Beispiels wird, wenn die Zähler die ansteigende- Flanke eines ersten Taktpulses in dem Taktsignal erfasst, der Zähler von eins auf zwei inkrementiert. Da der Wert des Multiplizierers drei beträgt, zählt der Zähler weiterhin Taktpulse, bis der Zähler drei Taktpulse gezählt hat.
  • Sobald der aktuelle Wert des Zählers gleich dem Wert des Multiplizierers ist, wird bei einem Block 350 der Zeitinkrementwert, der bei dem Block 310 bestimmt wird, zu einer aktuellen Zeit addiert, um die aktuelle Zeit zu aktualisieren. Falls beispielsweise die aktuelle Zeit 30 ns beträgt und das Zeitwertinkrement 30 ns beträgt, wird bei dem Block 350 die aktuelle Zeit auf 60 ns erhöht. Bei einem Block 360 wird der Zähler rückgesetzt und der Prozess wiederholt sich bei dem Block 320. Falls die aktualisierte aktuelle Zeit von dem Block 350 60 ns beträgt und der Wert des Multiplizierers immer noch drei beträgt, zählt unter Verwendung des gleichen Beispiels der Zähler drei zusätzliche Taktpulse in dem Taktsignal bei dem Block 330 und wird nach den drei zusätzlichen Taktpulsen die aktuelle Zeit von 60 ns auf 90 ns erhöht.
  • 4 ist ein schematisches Blockdiagramm einer exemplarischen Implementierung des einstellbaren Zeitakkumulators 10 gemäß Ausführungsbeispielen der vorliegenden Erfindung. In 4 wird der einstellbare Zeitakkumulator 10 in Verbindung mit einer Auslöseschaltung (nicht spezifisch gezeigt) verwendet, um nicht nur eine neue Zeit, um dieselbe in das Zeitregister 60 zu laden, sondern auch die Phase zu identifizieren, bei der die Aktualisierung auftreten sollte. Wie bei 1 umfasst der Zeitakkumulator 10 das Zeitinkrementregister 20, das den Zeitinkrementwert 35 speichert, das Zeitregister 60, das die aktuelle Zeit 70 speichert, den Summationsknoten 50 zum Addieren des Zeitinkrementwerts 35 zu der aktuellen Zeit 70, um die aktualisierte aktuelle Zeit 55 zu erzeugen, und den Zähler 80 zum Zählen der Taktpulse des Taktsignals 90.
  • Der Zeitakkumulator 10 umfasst ferner einen ersten Multiplexer 410 und einen zweiten Multiplexer 430. Der erste Multiplexer 410 wählt zwischen Zeitoptionen 405a, 405b, 405c ... 405N aus, die in Registern 400a, 400b, 400c ... 400N gespeichert sind. Die Zeitoption 405a, die in dem Register 400a gespeichert ist, entspricht einem neuen Zeitwert, der in den Zeitakkumulator geladen wird, um die aktuelle Zeit 70 des Zeitakkumulators 10 zu einer speziellen Zeit zu aktualisieren. Die Zeitoptionen 405b, 405c ... 405N, die in den nachfolgenden Registern 400b, 400c ... 400N gespeichert sind, sind alle ein Zeitintervall auseinander, wobei sich das Zeitintervall auf die Menge an Zeit zwischen aufeinanderfolgenden Taktpulsen in dem Taktsignal 90 bezieht. Somit ist die Zeitoption 405b, die in dem Register 400b gespeichert ist, gleich dem neuen Zeitwert plus dem Zeitintervall, ist die Zeitoption 405c, die in dem Register 400c gespeichert ist, gleich dem neuen Zeitwert plus zweimal dem Zeitintervall und ist die Zeitoption 405N, die in dem Register 400N gespeichert ist, gleich dem neuen Zeitwert plus (N – 1)-mal dem Zeitintervall.
  • Wie es oben beschrieben ist, zählt der Zähler 80 die Taktpulse des Taktsignals 90, um eine Taktzustand zu bestimmen, der eine aktuelle Anzahl von gezählten Taktpulsen angibt. Die Anzahl von unterschiedlichen Taktzuständen ist äquivalent zu der Anzahl von Taktpulsen in dem Rechenintervall. Somit stellt jeder Taktzustand (gezählte Taktpuls) eine unterschiedliche Phase des Rechenintervalls dar. Die Phaseninformationen werden verwendet, um eine der Zeitoptionen 405a ... 405N auszuwählen, die in den Registern 400a ... 400N gespeichert sind, um dieselbe als die neue aktuelle Zeit 70 in das Zeitregister 60 zu laden.
  • Genauer gesagt, ist der Zähler 80 verbunden, um ein Auslösesignal 420 zu empfangen, um ein Laden von einer der Zeitoptionen 405a ... 405N in das Zeitregister 60 auszulösen. Wenn der Zähler 80 das Auslösesignal 420 empfängt, erzeugt der Zähler 80 ein erstes Auswahlsignal 440, das den aktuellen Taktzustand angibt, zu dem ersten Multiplexer 410, um die spezielle Zeitoption 405a ... 405N zu identifizieren, die der erste Multiplexer 410 auswählen sollte. Jeder Taktzustand entspricht einer speziellen Zeitoption 405a ... 405N. Beispielsweise entspricht die Zeitoption 405a einem anfänglichen Taktzustand, entspricht die Zeitoption 405b einem ersten Taktzustand, entspricht die Zeitoption 405b einem zweiten Taktzustand und entspricht die Zeitoption 405N einem N-Taktzustand. Falls beispielsweise das erste Auswahlsignal 400 angibt, dass der aktuelle Taktzustand der zweite Taktzustand ist, wählt der erste Multiplexer 410 die Zeitoption 405c aus, die in dem Register 400c gespeichert ist.
  • Zusätzlich zu dem Taktfreigabesignal 95 und dem ersten Auswahlsignal 440 erzeugt der Zähler 80 ferner ein zweites Auswahlsignal 450 zu dem zweiten Multiplexer 430. Das zweite Auswahlsignal 450 weist einen ersten Zustand auf, wenn der Zähler 80 das Auslösesignal 420 nicht empfängt, und einen zweiten Zustand, wenn der Zähler 80 das Auslösesignal 420 empfängt. Der zweite Multiplexer 430 wählt zwischen der ausgewählten Zeitoption 405, die durch den ersten Multiplexer 410 geliefert wird, und der aktualisierten aktuellen Zeit 55 aus, die durch den Summationsknoten 50 geliefert wird und die als die neue aktuelle Zeit 70 in dem Zeitregister 60 zu speichern ist. Der zweite Multiplexer 430 wählt die aktualisierte aktuelle Zeit 55 von dem Summationsknoten 50 als die neue aktuelle Zeit 70 aus und speichert dieselbe in dem Zeitregister 60, wenn das zweite Auswahlsignal 450 sich in dem ersten Zustand befindet. Gleichermaßen wählt der zweite Multiplexer 430 die ausgewählte Zeitoption 405 von dem ersten Multiplexer 410 als die neue aktuelle Zeit 70 aus und speichert dieselbe in dem Zeitre gister 60, wenn das zweite Auswahlsignal 450 sich in dem zweiten Zustand befindet.
  • 5 stellt einen exemplarischen Prozess 500 zum Setzen der Zeit unter Verwendung eines einstellbaren Zeitakkumulators gemäß Ausführungsbeispielen der vorliegenden Erfindung dar. Der Prozess 500 beginnt bei einem Block 510, bei dem ein neuer Zeitwert gesetzt und in den einstellbaren Zeitakkumulator geladen wird. Bei einem Block 520 werden die Zeitoptionen für jede Phase aus dem geladenen neuen Zeitwert bestimmt. Jede Zeitoption beginnt mit dem neuen Zeitwert und addiert zu demselben ein Vielfaches (N) des Zeitintervalls zwischen aufeinanderfolgenden Taktpulsen eines Taktsignals, wobei N ≥ 0. Falls es beispielsweise drei Phasen in einem Rechenintervall gibt, können die drei Zeitoptionen den neuen Zeitwert, den neuen Zeitwert plus dem Zeitintervall und den neuen Zeitwert plus zweimal dem Zeitintervall umfassen.
  • Der Prozess geht bei einem Block 530 weiter, bei dem ein Auslösesignal bei dem Zeitakkumulator empfangen wird, um das Laden des neuen Zeitwerts in den Zeitakkumulator auszulösen. Bei einem Block 540 wird der Taktzustand (Phase des Rechenintervalls) zu der Zeit, zu der das Auslösesignal empfangen wird, bestimmt und bei einem Block 550 wird die Zeitoption, die dem aktuellen Taktzustand entspricht, als der neue Zeitwert ausgewählt, der in den Zeitakkumulator geladen wird. Unter Verwendung des oben beschriebenen Beispiels wird, falls der aktuelle Taktzustand zu der Zeit, zu der das Auslösesignal empfangen wird, angibt, dass das Taktsignal sich in der zweiten Phase des Rechenintervalls befindet, die zweite Zeitoption, die dem neuen Zeitwert plus dem Zeitintervall entspricht, als die neue aktuelle Zeit für den Zeitakkumulator ausgewählt.
  • 6 ist ein schematisches Blockdiagramm einer anderen exemplarischen Implementierung des einstellbaren Zeitakkumulators 10 gemäß Ausführungsbeispielen der vorliegenden Erfindung. In 5 wird der einstellbare Zeitakkumulator 10 in Verbindung mit einer Auslöseschaltung (nicht gezeigt) verwendet, um die Zeit eines externen Ereignisses durch ein Erzeugen eines Zeitstempels aufzuzeichnen. Wie bei 1 umfasst der Zeitakkumulator 10 das Zeitinkrementregister 20, das den Zeitinkrementwert 35 speichert, das Zeitregister 60, das die aktuelle Zeit 70 speichert, den Summationsknoten 50 zum Addieren des Zeitinkrementwerts 35 zu der aktuellen Zeit 70, um die aktualisierte aktuelle Zeit 55 zu erzeugen, und den Zähler 80 zum Zählen der Taktpulse des Taktsignals 90.
  • Der Zeitakkumulator 10 umfasst ferner ein Zeitstempelregister 600 zum Erzeugen und Speichern eines Zeitstempels. Das Zeitstempelregister 600 ist verbunden, um die aktuelle Zeit 70 von dem Zeitregister 60 und einen aktuellen Taktzustand 610 von dem Zähler 80 zu empfangen. Bei jedem Taktpuls gibt der Zähler 80 den aktuellen Taktzustand 610 (z. B. die Anzahl von gezählten Taktpulsen) aus, um die aktuelle Phase des Rechenintervalls anzugeben. Die Phaseninformationen werden verwendet, um zu ermöglichen, dass das geeignete Zeitinkrement zu der aktuellen Zeit 70 in entweder einer Hardware oder einer Software addiert wird, um einen korrekten Zeitstempel zu erzeugen.
  • Um einen Zeitstempel zu erzeugen, speichert (latcht) ein externes Ereignis eine Kopie des Zeitregisters 60 durch ein Senden eines Zeitstempelfreigabesignals 620 zu dem Zeitstempelregister 600 zwischen. Wenn das Zeitstempelregister 600 das Zeitstempelfreigabesignal 620 empfängt, wird das Zeitstempelregister 600 durch das Taktsignal 90 getaktet, um sowohl die aktuelle Zeit 70 von dem Zeitregister 60 als auch den aktuellen Taktzustand 610 von dem Zähler 80 zu speichern. Die aktuelle Zeit 70 in Verbindung mit dem aktuellen Taktzustand 610 bildet den Zeitstempel.
  • 7 stellt einen exemplarischen Prozess 700 zum Aufzeichnen der Zeit unter Verwendung eines einstellbaren Zeitakkumulators gemäß Ausführungsbeispielen der vorliegenden Erfindung dar. Der Prozess 700 beginnt bei einem Block 710, bei dem ein Zeitstempelauslösesignal durch den einstellbaren Zeitakkumulator empfangen wird. Das Zeitstempelauslösesignal wird durch ein externes Ereignis erzeugt, um die Zeit des externen Ereignisses aufzuzeichnen. Der Prozess geht bei Blöcken 720 und 730 weiter, bei denen sowohl die aktuelle Zeit des einstellbaren Zeitakkumulators als auch der aktuelle Taktzustand zu der Zeit eines Empfangs des Zeitstempelauslösesignals bestimmt werden. Bei einem Block 740 werden die aktuelle Zeit und der aktuelle Taktzustand als der angeforderte Zeitstempel für das externe Ereignis beibehalten. Mit einer Kenntnis des aktuellen Taktzustands kann der tatsächliche (korrekte) Zeitstempel bestimmt werden (z. B. durch ein Addieren eines Vielfachen des Zeitintervalls zwischen aufeinanderfolgenden Taktpulsen entsprechend dem aktuellen Taktzustand zu der aktuellen Zeit).
  • 8A und 8B sind schematische Blockdiagramme von anderen exemplarischen Implementierungen des einstellbaren Zeitakkumulators gemäß Ausführungsbeispielen der vorliegenden Erfindung. In 8A und 8B wird der einstellbare Zeitakkumulator 10 verwendet, um ein Auslösesignal zu erzeugen, um ein externes Ereignis auszulösen. Obwohl es in 8A und 8B nicht spezifisch gezeigt ist, umfasst der Zeitakkumulator 10 wie in 1 das Zeitinkrementregister, das den Zeitinkrementwert speichert, das Zeitregister 60, das die aktuelle Zeit 70 speichert, den Summationsknoten zum Addieren des Zeitinkrementwerts zu der aktuellen Zeit 70, um die aktualisierte aktuelle Zeit zu erzeugen, und den Zähler zum Zählen der Taktpulse des Taktsignals.
  • In 8A umfasst der Zeitakkumulator 10 ferner ein Auslöseregister 810, das eine Auslösezeit 815 speichert, einen Differenzknoten 800 zum Bestimmen eines Differenzwerts 805, der die Differenz zwischen der aktuellen Zeit 70 und der Auslösezeit 815 darstellt, Register 820a, 820b, 820c ... 820N, die jeweilige Zeitintervallwerte 825a, 825b, 825c ... 825N speichern, Komparatoren 830a, 830b, 830c ... 830N zum Vergleichen der jeweiligen Zeitintervallwerte 825a, 825b, 825c ... 825N mit dem Differenzwert 805 und eine Steuerung 850. Jeder der Komparatoren 830a, 830b, 830c ... 830N erzeugt ein jeweiliges Statussignal 840a, 840b, 840c ... 840N zu der Steuerung 850. Jedes der Statussignale 840a, 840b, 840c ... 840N gibt den Zustand der aktuellen Zeit 70 relativ zu einer jeweiligen inhärenten Auslösezeit an, wobei jede inhärente Auslösezeit die gespeicherte Auslösezeit 815 bei einem jeweiligen Vielfachen des Zeitintervalls zwischen aufeinanderfolgenden Taktpulsen darstellt, wobei das Vielfache zwischen Null und der Anzahl von Taktpulsen in einem Rechenintervall (d. h. dem Multipliziererwert) liegt.
  • Beispielsweise kann sich jedes Statussignal 840a, 840b, 840c ... 840N entweder in einem ersten Zustand befinden, wenn die aktuelle Zeit 70 die jeweilige inhärente Auslösezeit überschreitet, oder einem zweiten Zustand, wenn die aktuelle Zeit 70 die jeweilige inhärente Auslösezeit nicht überschreitet. Basierend auf der Anzahl von Statussignalen 840a, 840b, 840c ... 840N in dem ersten Zustand bestimmt die Steuerung 850 den aktuellen Taktzustand des Taktsignals in einem aktuellen Rechenintervall. Die Steuerung 850 erzeugt das Auslösesignal 860 bei dem Taktpuls entsprechend dem bestimmten Taktzustand in einem nachfolgenden Rechenintervall.
  • Bei einem Ausführungsbeispiel vergleicht jeder Komparator 830a, 830b, 830c ... 830N den jeweiligen Zeitintervallwert 825a, 825b, 825c ... 825N mit dem Differenzwert 805, um zu bestimmen, ob der Differenzwert 805 kleiner oder gleich dem jeweiligen Zeitintervallwert 825a, 825b, 825c ... 825N ist. Falls der Differenzwert 805 kleiner oder gleich zumindest einem der Zeitintervallwerte 825a, 825b, 825c ... 825N ist, erzeugt die Steuerung 850 das Auslösesignal 860 in dem nächsten Rechenintervall bei einem Taktpuls, der aus der Anzahl von Statussignalen 840a, 840b, 840c ... 840N bestimmt ist, die angeben, dass der Differenzwert 805 kleiner als der jeweilige Zeitintervallwert 825a, 825b, 825c ... 825N ist.
  • Falls es beispielsweise vier Taktpulse in einem Rechenintervall gibt und jeder Taktpuls 10 ns beträgt, beträgt der erste Zeitintervallwert 825a null, beträgt der zweite Zeitintervallwert 825b zehn, beträgt der dritte Zeitintervallwert 825c zwanzig und beträgt der vierte Zeitintervallwert 825N dreißig. Falls die Auslösezeit 815 auf 62 ns gesetzt ist und die aktuelle Zeit 80 ns beträgt, ist der Differenzwert 805 18 ns und würde der erste Komparator 830a ein Statussignal 840a ausgeben, das angibt, dass der Differenzwert 805 größer null ist, würde der zweite Komparator 830b ein Statussignal 840b ausgeben, das angibt, dass der Differenzwert größer zehn ist, würde der dritte Komparator 830c ein Statussignal 840c ausgeben, das angibt, dass der Differenzwert kleiner als zwanzig ist, und würde der vierte Komparator 830N ein Statussignal 840N ausgeben, das angibt, dass der Differenzwert kleiner als dreißig ist.
  • Wenn zwei der Komparatoren (die Komparatoren 830c und 830N) Statussignale 840c und 840N erzeugen, die angeben, dass der Differenzwert 805 kleiner oder gleich den jeweiligen Zeitintervallwerten 825c und 825N ist, bestimmt die Steuerung 850, dass das Auslösesignal 860 sich in der zweiten Phase des Rechenintervalls befinden sollte. Die Steuerung 850 erzeugt dann das Auslösesignal 860 in der zweiten Phase des nächsten Rechenintervalls. Falls alle vier Komparatoren 830a, 830b, 830c ... 830N Statussignale 840a, 840b, 840c ... 840N erzeugten, die angeben, dass der Differenzwert kleiner oder gleich den jeweiligen Zeitintervallwerten 825a, 825b, 825c ... 825N ist, würde die Steuerung 850 als ein anderes Beispiel bestimmen, dass sich das Auslösesignal 860 in der ersten Phase des Rechenintervalls befinden sollte. Falls lediglich ein Komparator 830N ein Statussignal 840N erzeugte, das angibt, dass der Differenzwert kleiner oder gleich dem jeweiligen Zeitintervallwert 825N ist, wür de die Steuerung 850 als ein weiteres Beispiel bestimmen, dass sich das Auslösesignal 860 in der vierten Phase des Rechenintervalls befinden sollte.
  • In 8B umfasst der Zeitakkumulator 10 ferner ein Register 810, das die ursprüngliche Auslösezeit 815 speichert, Register 870a, 870b ... 870N, die jeweilige Auslösezeitintervallwerte 875a, 875b ... 875N speichern, die jeweils die ursprüngliche Auslösezeit 815 darstellen, die zu einem Vielfachen des Zeitintervalls zwischen aufeinanderfolgenden Taktpulsen addiert ist, wobei das Vielfache zwischen 0 und dem Multipliziererwert (N-1) liegt, Komparatoren 830a, 830, 830c ... 830N zum Vergleichen der jeweiligen Auslösezeitintervallwerte 815, 875a, 875b ... 875N mit der aktuellen Zeit 70 und die Steuerung 850. Wie bei 8A erzeugt jeder der Komparatoren 830a, 830, 830c ... 830N ein jeweiliges Statussignal 840a, 840, 840c ... 840N zu der Steuerung 850, das den Zustand der aktuellen Zeit 70 relativ zu den Auslösezeitintervallwerten 815, 875a, 875b ... 875N angibt.
  • Bei einem Ausführungsbeispiel vergleicht beispielsweise jeder Komparator 830a, 830, 830c ... 830N den jeweiligen Auslösezeitintervallwert 815, 875a, 875b ... 875N mit der aktuellen Zeit 70, um zu bestimmen, ob die aktuelle Zeit 70 größer oder gleich (erreicht oder vorbei) dem jeweiligen Auslösezeitintervallwert 815, 875a, 875b ... 875N ist. Falls die aktuelle Zeit 70 größer oder gleich zumindest einem der Auslösezeitintervallwerte 875a, 875b ... 875N ist, erzeugt die Steuerung 850 das Auslösesignal 860 in dem nächsten Rechenintervall bei einem Taktpuls, der aus der Anzahl von Statussignalen 840a, 840, 840c ... 840N bestimmt ist, die angeben, dass die aktuelle Zeit 70 kleiner als der jeweilige Auslösezeitintervallwert 815, 875a, 875b ... 875N ist.
  • 9 stellt einen exemplarischen Prozess 900 zum Erzeugen eines Auslösers unter Verwendung eines einstellbaren Zeitakkumulators gemäß Ausführungsbeispielen der vorliegenden Erfindung dar. Der Prozess 900 beginnt bei einem Block 910, bei dem eine Anzahl (N) von Zeitintervallwerten entsprechend der Anzahl von Taktzuständen eines Rechenintervalls geliefert wird. Jeder Zeitintervallwert ist ein Vielfaches eines Zeitintervalls zwischen aufeinanderfolgenden Taktpulsen, wobei das Vielfache zwischen null und der Anzahl von Taktpulsen in dem Rechenintervall (d. h. dem Multipliziererwert) liegt. Der Prozess geht bei Blöcken 920 und 930 weiter, bei denen eine Auslösezeit geliefert wird und die Auslösezeit entsprechend jedem Zeitintervallwert bestimmt wird. Bei einem Ausführungsbeispiel ist beispielsweise die Auslösezeit, die jedem Zeitintervallwert entspricht, durch den Zeitintervallwert selbst dargestellt. Bei einem anderen Ausführungsbeispiel ist die Auslösezeit, die jedem Zeitintervallwert entspricht, die Auslösezeit, die zu dem jeweiligen Zeitintervallwert hinzugefügt wird.
  • Der Prozess geht bei einem Block 940 weiter, bei dem die aktuelle Zeit während eines aktuellen Rechenintervalls empfangen wird. Bei einem Block 950 wird die aktuelle Zeit mit der Auslösezeit verglichen, die jedem Zeitintervallwert entspricht. Bei einem Ausführungsbeispiel wird zum Beispiel die Differenz zwischen der Auslösezeit und der aktuellen Zeit bestimmt und wird diese Differenz mit den Zeitintervallwerten selbst verglichen. Bei einem anderen Ausführungsbeispiel wird die aktuelle Zeit mit der Auslösezeit verglichen, die zu jedem Zeitintervallwert addiert wird.
  • Bei einem Block 960 wird eine Entscheidung getroffen, ob die aktuelle Zeit größer als die Auslösezeit ist, die einem oder mehreren der Zeitintervallwerte entspricht. Falls nicht, wiederholt sich der Prozess bei dem Block 940, um einen neunen Zeitwert zu empfangen. Falls dem so ist, geht der Prozess bei einem Block 970 weiter, bei dem der aktuelle Taktzustand des Taktsignals in dem aktuellen Rechenintervall basierend auf der Anzahl von Auslösezeiten bestimmt wird, die Zeitintervallwerten entsprechen, die größer als die aktuelle Zeit sind. Der Prozess geht dann bei einem Block 980 weiter, bei dem ein Auslösesignal in dem nächsten Rechenintervall bei dem Taktpuls erzeugt wird, der dem bestimmten Taktzustand entspricht.
  • Wie Fachleute auf dem Gebiet erkennen, können die innovativen Konzepte, die in der vorliegenden Anmeldung beschrieben sind, über einen breiten Bereich von Anwendungen modifiziert und variiert werden. Folglich sollte der Schutzbereich des Gegenstands des Patents nicht auf irgendeine der spezifischen, exemplarischen, erörterten Lehren begrenzt sein, sondern ist anstelle dessen durch die folgenden Ansprüche definiert.

Claims (23)

  1. Zeitakkumulator (10), der folgende Merkmale aufweist: ein erstes Register (60), das eine aktuelle Zeit (70) speichert; ein zweites Register (20), das einen Zeitinkrementwert (35) speichert, der einem Multiplizierer (40) entspricht, der mit einem ursprünglichen Zeitinkrement (30) multipliziert ist, das einem Taktpuls (200) eines Taktsignals (90) zugeordnet ist; einen Summationsknoten (50), der verbunden ist, um die aktuelle Zeit (70), den Zeitinkrementwert (35) und das Taktsignal (90) zu empfangen, und wirksam ist, um die aktuelle Zeit (70) zu dem Zeitwert (35) zu addieren, um eine aktualisierte aktuelle Zeit (55) zu erzeugen und die aktualisierte aktuelle Zeit (55) jedes Rechenintervall (215) in dem ersten Register (60) als die aktuelle Zeit (70) zu speichern; wobei jedes Rechenintervall (215) eine vorbestimmte Anzahl von Taktpulsen (200) des Taktsignals (90) umfasst, die äquivalent zu dem Multiplizierer (40) ist.
  2. Zeitakkumulator (10) gemäß Anspruch 1, der ferner folgendes Merkmal aufweist: einen Zähler (80), der verbunden ist, um das Taktsignal (90) zu empfangen, und wirksam ist, um Taktpulse (200) in dem Taktsignal (90) zu zählen, um einen Taktzustand zu bestimmen, der eine aktuelle Anzahl von gezählten Taktpulsen (200) angibt.
  3. Zeitakkumulator (10) gemäß Anspruch 2, bei dem der Zähler (80) ferner wirksam ist, um ein Taktfreigabesignal (95) zu dem ersten Register (60) zu erzeugen, wenn die aktuelle Anzahl von gezählten Taktpulsen (200) gleich der vorbestimmten Anzahl von Taktpulsen (200) ist, wobei das Taktfreigabesignal (95) das erste Register (60) mit dem Taktsignal (90) taktet.
  4. Zeitakkumulator (10) gemäß Anspruch 3, bei dem das erste Register (60) wirksam ist, um die aktuelle Zeit (70) auf einen Empfang des Taktsignals (90) hin zu dem Summationsknoten (50) auszugeben.
  5. Zeitakkumulator (10) gemäß einem der Ansprüche 2 bis 4, bei dem er Zähler (80) rückgesetzt wird, wenn die aktuelle Anzahl von gezählten Taktpulsen (200) gleich der vorbestimmten Anzahl von Taktpulsen (200) ist.
  6. Zeitakkumulator (10) gemäß einem der Ansprüche 2 bis 5, der ferner folgendes Merkmal aufweist: einen ersten Multiplexer (410), der verbunden ist, um Zeitoptionen (405) zu empfangen und zwischen den Zeitoptionen (405) auszuwählen, wobei jede der Zeitoptionen (405) einen jeweiligen Zeitwert umfasst, der einer ursprünglichen Zeit entspricht, die zu einem jeweiligen Vielfachen des ursprünglichen Zeitinkrements (30) addiert ist, wobei jedes jeweilige Vielfache kleiner oder gleich dem Multiplizierer (40) ist.
  7. Zeitakkumulator (10) gemäß Anspruch 6, bei dem der Zähler (80) verbunden ist, um ein Auslösesignal (420) zu empfangen, und ansprechend auf das Auslösesignal (420) ferner wirksam ist, um ein erstes Auswahlsignal (440), das den Taktzustand angibt, zu dem ersten Multiplexer (410) für eine Auswahl einer Ausgewählten der Zeitoptionen (405) zu erzeugen, die dem Taktzustand zugeordnet ist.
  8. Zeitakkumulator (10) gemäß Anspruch 7, bei dem der Zähler (80) ferner wirksam ist, um in einem ersten Zu stand in Abwesenheit des Auslösesignals (420) und in einem zweiten Zustand auf einen Empfang des Auslösesignals (420) hin ein zweites Auswahlsignal (450) zu erzeugen.
  9. Zeitakkumulator (10) gemäß Anspruch 8, der ferner folgendes Merkmal aufweist: einen zweiten Multiplexer (430), der verbunden ist, um die ausgewählte Zeitoption (405) von dem ersten Multiplexer (410), und die aktualisierte aktuelle Zeit (55) von dem Summationsknoten (50) und das zweite Auswahlsignal (450) von dem Zähler (80) zu empfangen, wobei der zweite Multiplexer (430) wirksam ist, um die aktualisierte aktuelle Zeit (55) als die aktuelle Zeit (70) in dem ersten Register (60) zu speichern, wenn das zweite Auswahlsignal (450) sich in dem ersten Zustand befindet, und um die ausgewählte Zeitoption (405) als die aktuelle Zeit (70) in dem ersten Register (60) zu speichern, wenn das zweite Auswahlsignal (450) sich in dem zweiten Zustand befindet.
  10. Zeitakkumulator (10) gemäß einem der Ansprüche 2 bis 9, der ferner folgendes Merkmal aufweist: ein Zeitstempelregister (600), das verbunden ist, um die aktuelle Zeit (70) von dem ersten Register (60), den Taktzustand (610) von dem Zähler (80) und ein Auslösesignal (620) zu empfangen, wobei das Zeitstempelregister (600) wirksam ist, um auf einen Empfang des Auslösesignals (620) hin die aktuelle Zeit (70) und den Taktzustand (610) als einen Zeitstempel zu speichern.
  11. Zeitakkumulator (10) gemäß einem der Ansprüche 1 bis 10, der ferner folgendes Merkmal aufweist: eine Steuerung (850), die verbunden ist, um Statussignale (840) zu empfangen, die jeweils einen Zustand der aktuellen Zeit (70) relativ zu einer jeweiligen Auslösezeit angeben, wobei jede jeweilige Auslösezeit eine ursprüngliche Auslösezeit (850) bei einem jeweiligen Vielfachen des ursprünglichen Zeitinkrements (30) kleiner oder gleich dem Multiplizierer (40) darstellt, wobei die Steuerung (850) wirksam ist, um ein Auslösesignal (860) basierend auf den Statussignalen zu erzeugen.
  12. Zeitakkumulator (10) gemäß Anspruch 11, der ferner folgendes Merkmal aufweist: einen jeweiligen Komparator (830) für jede der jeweiligen Auslösezeiten jeweils zum Erzeugen des jeweiligen Statussignals (840) in entweder einem ersten Zustand, wenn die aktuelle Zeit (70) die jeweilige Auslösezeit überschreitet, oder einem zweiten Zustand, wenn die aktuelle Zeit (70) der jeweiligen Auslösezeit vorhergeht.
  13. Zeitakkumulator (10) gemäß Anspruch 12, bei dem die Steuerung (850) ferner wirksam ist, um einen Taktzustand des Taktsignals (90) aus einer Anzahl der Statussignale (840) in dem ersten Zustand zu bestimmen und um das Auslösesignal (860) bei dem Taktpuls (200) entsprechend dem Taktzustand in einem nachfolgenden Rechenintervall (215) zu erzeugen.
  14. Zeitakkumulator (10) gemäß Anspruch 12 oder 13, bei dem die jeweilige Auslösezeit eine ursprüngliche Auslösezeit (815) umfasst, die zu dem jeweiligen Vielfachen des ursprünglichen Zeitinkrements (30) addiert ist.
  15. Verfahren zum Akkumulieren von Zeit, das folgende Schritte aufweist: Liefern (310) eines Zeitinkrementwerts (35), der einem Multiplizierer (40) entspricht, der mit einem ursprünglichen Zeitinkrement (30) multipliziert ist, das einem Taktpuls (200) eines Taktsignals (90) zugeordnet ist; Empfangen (320) des Taktsignals (90); Zählen (330) von Taktpulsen (200) des Taktsignals (90); und Addieren (350) des Zeitinkrementwerts (35) zu einer aktuellen Zeit (70), um eine aktualisierte aktuelle Zeit (55) als die aktuelle Zeit (70) zu erzeugen, wenn eine aktuelle Anzahl von gezählten Taktpulsen (200) des Taktsignals (90) gleich einer vorbestimmten Anzahl von Taktpulsen (200) des Taktsignals (90) ist, die äquivalent zu dem Multiplizierer (40) ist.
  16. Verfahren gemäß Anspruch 15, das ferner folgenden Schritt aufweist: Rücksetzen der aktuellen Anzahl von gezählten Taktpulsen (200) des Taktsignals (90), wenn die aktuelle Anzahl von gezählten Taktpulsen (200) gleich der vorbestimmten Anzahl von Taktpulsen (200) ist.
  17. Verfahren gemäß Anspruch 15 oder 16, das ferner folgende Schritte aufweist: Liefern von Zeitoptionen, wobei jede der Zeitoptionen (405) eine ursprüngliche Zeit umfasst, die zu einem jeweiligen Vielfachen des ursprünglichen Zeitinkrements (30) addiert ist, wobei jedes jeweilige Vielfache kleiner oder gleich dem Multiplizierer (40) ist; Empfangen eines Auslösesignals (420); Erzeugen eines ersten Auswahlsignals (440), das die aktuelle Anzahl von gezählten Taktpulsen (200) angibt, ansprechend auf das Auslösesignal (420); und Auswählen einer Ausgewählten der Zeitoptionen (405), die der aktuellen Anzahl von gezählten Taktpulsen (200) zugeordnet ist.
  18. Verfahren gemäß Anspruch 17, das ferner folgende Schritte aufweist: Erzeugen eines zweiten Auswahlsignals (450) in einem ersten Zustand in Abwesenheit des Auslösesignals (420) und in einem zweiten Zustand auf einen Empfang des Auslösesignals (420) hin; Auswählen der aktualisierten aktuellen Zeit (55) als die aktuelle Zeit (70), wenn sich das zweite Auswahlsignal (450) in dem ersten Zustand befindet; und Auswählen des ausgewählten Zeitwerts als die aktuelle Zeit (70), wenn sich das zweite Auswahlsignal (450) in dem zweiten Zustand befindet.
  19. Verfahren gemäß einem der Ansprüche 15 bis 18, das ferner folgende Schritte aufweist: Empfangen eines Auslösesignals (420); und Erzeugen eines Zeitstempels mit der aktuellen Zeit (70) und der aktuellen Anzahl von gezählten Taktpulsen (200) des Taktsignals (90) ansprechend auf das Auslösesignal (420).
  20. Verfahren gemäß einem der Ansprüche 15 bis 19, das ferner folgende Schritte aufweist: Empfangen von Statussignalen (840), die jeweils einen Zustand der aktuellen Zeit (70) relativ zu einer jeweiligen Auslösezeit angeben, wobei die jeweilige Auslösezeit jeweils eine ursprüngliche Auslösezeit (815) bei einem jeweiligen Vielfachen des ursprünglichen Zeitinkrements (30) kleiner oder gleich dem Multiplizierer (40) darstellt; und Erzeugen eines Auslösesignals (860) basierend auf den Statussignalen (840).
  21. Verfahren gemäß Anspruch 20, das ferner folgenden Schritt aufweist: Erzeugen des jeweiligen Statussignals (840) in entweder einem ersten Zustand, wenn die aktuelle Zeit (70) die jeweilige Auslösezeit überschreitet, oder einem zweiten Zustand, wenn die aktuelle Zeit (70) der jeweiligen Auslösezeit vorausgeht.
  22. Verfahren gemäß Anspruch 21, bei dem das Erzeugen des Auslösesignals (860) ferner folgende Schritte umfasst: Bestimmen eines Taktzustands des Taktsignals (90) aus einer Anzahl der Statussignale (840) in dem ersten Zustand; und Erzeugen des Auslösesignals (860) bei dem Taktpuls (200), der dem Taktzustand entspricht, in einem nachfolgenden Rechenintervall (215).
  23. Verfahren gemäß Anspruch 21 oder 22, bei dem die jeweilige Auslösezeit eine ursprüngliche Auslösezeit (815) umfasst, die zu dem jeweiligen Vielfachen des ursprünglichen Zeitinkrements (30) addiert ist.
DE102006021821A 2005-08-09 2006-05-10 Einstellbarer Zeitakkumulator Withdrawn DE102006021821A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/199,786 US7668891B2 (en) 2005-08-09 2005-08-09 Adjustable time accumulator
US11/199,786 2005-08-09

Publications (1)

Publication Number Publication Date
DE102006021821A1 true DE102006021821A1 (de) 2007-02-22

Family

ID=36955528

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102006021821A Withdrawn DE102006021821A1 (de) 2005-08-09 2006-05-10 Einstellbarer Zeitakkumulator

Country Status (4)

Country Link
US (1) US7668891B2 (de)
JP (1) JP2007047160A (de)
DE (1) DE102006021821A1 (de)
GB (1) GB2429076A (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7555364B2 (en) * 2001-08-22 2009-06-30 MMI Controls, L.P. Adaptive hierarchy usage monitoring HVAC control system
US20080172238A1 (en) * 2007-01-12 2008-07-17 Yosuke Muraki Electronic system with run-time information
US8341443B2 (en) * 2007-05-11 2012-12-25 Freescale Semiconductor, Inc. System and method for secure real time clocks
AU2008251024B2 (en) * 2007-05-15 2013-01-24 Chronologic Pty Ltd USB based synchronization and timing system
US7890761B1 (en) * 2007-09-25 2011-02-15 United Services Automobile Association (Usaa) Systems and methods for strong authentication of electronic transactions
US8156338B1 (en) 2007-09-25 2012-04-10 United Services Automobile Association Systems and methods for strong authentication of electronic transactions
CN102064927B (zh) * 2010-09-21 2013-11-13 四川和芯微电子股份有限公司 时序纠错系统及方法
US11050501B2 (en) * 2018-06-14 2021-06-29 Microchip Technology Incorporated Performing PHY-level hardware timestamping and time synchronization in cost-sensitive environments

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0328793A (ja) 1989-06-27 1991-02-06 Fujitsu Ltd 時刻変換装置
US5233573A (en) * 1992-07-01 1993-08-03 Motorola Inc. Digital data processor including apparatus for collecting time-related information
US5673005A (en) * 1995-08-18 1997-09-30 International Business Machine Corporation Time standard circuit with delay line oscillator
JP3028793B2 (ja) 1996-08-13 2000-04-04 住友電気工業株式会社 超電導薄膜およびその作製方法
US6967510B2 (en) * 2003-10-16 2005-11-22 International Business Machines Corporation Time-base implementation for correcting accumulative error with chip frequency scaling

Also Published As

Publication number Publication date
GB0613859D0 (en) 2006-08-23
GB2429076A (en) 2007-02-14
US20070038690A1 (en) 2007-02-15
JP2007047160A (ja) 2007-02-22
US7668891B2 (en) 2010-02-23

Similar Documents

Publication Publication Date Title
DE10045568B4 (de) Ereignisgestütztes Halbleiterprüfsystem
DE3215847C2 (de) Zeitmeßverfahren und Vorrichtung zu seiner Durchführung
DE102008046831B4 (de) Ereignisgesteuerte Zeitintervallmessung
DE3818546C2 (de)
DE102006060067A1 (de) Genaues Einstellen eines lokalen Taktes
DE2838549A1 (de) Impulsbreitenmesschaltung
DE2216123C3 (de) Verfahren und Anordnung zur Analog-Digital-Umsetzung unter mehrfacher Integration
DE102014112124B4 (de) Vorrichtung und verfahren zum auswerten der leistung einessystems in einer regelschleife
DE69517604T2 (de) Zeitgeber mit mehreren kohärenten synchronisierten takten
DE102006021821A1 (de) Einstellbarer Zeitakkumulator
DE4205346A1 (de) Taktgeber
EP0771422B1 (de) Verfahren zum messen des phasenjitters eines datensignals
DE4437069A1 (de) Taktgenerator für Halbleiter-Prüfgerät
DE3234575A1 (de) Verfahren und anordnung zum messen von frequenzen
DE10016611A1 (de) Prüfsystem
DE69522871T2 (de) Verbesserter Zeitgeber für Datenprozessoren
DE68914273T2 (de) Arbeitsverfahren eines Zeitmessers.
DE3743434C2 (de)
DE2943630C2 (de) Verfahren und Vorrichtung zur Messung einer Funktionskenngröße einer Uhr
DE60219156T2 (de) Verfahren und Einrichtung für die parallele Synchronisation von mehreren seriellen Datenströmen
DE2613930C3 (de) Digitaler Phasenregelkreis
DE102006027835A1 (de) Ein Verfahren und eine Vorrichtung zum Extrahieren einzelner Pulse aus einem Eingangssignal
DE19713660A1 (de) Phasenjustierung schneller paralleler Signale
DE3843261A1 (de) Schaltungsanordnung zur steuerung der phase eines taktsignals
DE102018129062B3 (de) Filterverfahren und filter

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: AGILENT TECHNOLOGIES, INC. (N.D.GES.D. STAATES, US

8139 Disposal/non-payment of the annual fee