-
STAND DER TECHNIK
-
Die vorliegende Beschreibung betrifft die Datenkommunikation. Herkömmlicherweise kann zur Synchronisierung von Datenübertragungen zwischen einem Sender und einem Empfänger ein Referenztaktsignal mit einem Datensignal übertragen werden. Das Wachstum der Bandbreite bei der modernen Datenübertragung folgt im Allgemeinen einem logarithmischen Gesetz und Netzwerk- und Punkt-zu-Punkt-Verbindungen favorisieren schnelle Datentransfers ohne ein Referenztaktsignal.
-
Während schneller Datentransfers können Jitter erzeugt werden, die das transferierte Signal kontaminieren. Mit einem Neu-Timer kann man Jitter säubern und Datenübertragungen synchronisieren. Zur Synchronisation von Datenübertragungen ohne Übermittlung eines Referenztaktsignals kann herkömmlicherweise ein schmales Frequenzoffset zwischen dem Sender und dem Empfänger verwendet werden. Zum Beispiel wird in einem passiven optischen Netzwerk (PON) eine saubere lokale Referenz in einem Empfänger erzeugt, um die empfangenen Daten zu synchronisieren, aber die Differenz zwischen der Senderfrequenz und Empfängerfrequenz wird auf 200 ppm (Millionstel) begrenzt. Aufgrund der begrenzten Bandbreiten können mit diesen herkömmlichen Ansatz Mehrfach-Protokoll- und Mehrfach-Datenraten-Datenübertragungen nicht erreicht werden. US 2008 / 0 192 873 A1 offenbart ein Verfahren zum Empfangen eines Datensignals, das mehrere Bits umfasst. Das Verfahren umfasst ferner das Erzeugen eines Taktsignals. Aus dem Datensignal werden mehrere Abtastungen mit einer durch das Taktsignal bestimmten Abtastrate erfasst, und es wird bestimmt, ob ein Übergangspunkt von einem ersten Bit der mehreren Bits zu einem zweiten Bit der mehreren Bits innerhalb der mehreren Proben auftritt.
-
KURZFASSUNG
-
Die Erfindung bestimmt sich durch die unabhängigen Ansprüche. Die abhängigen Ansprüche entsprechen bevorzugten Ausführungsformen. Im Allgemeinen kann ein innovativer Aspekt des in der vorliegenden Beschreibung beschriebenen Gegenstands in Vorrichtungen realisiert werden, die einen Neu-Timer umfassen. Der Neu-Timer umfasst Taktregenerationsschleifen-Schaltkreise, ausgelegt zum Empfangen eines ein Referenztaktsignal gesendeten Eingangsdatensignals und zum Erzeugen eines Ausgangsreferenztaktsignals mit einer justierbaren Taktfrequenz, die im Wesentlichen mit einer Datenrate des Eingangsdatensignals übereinstimmt, auf der Basis des Eingangsdatensignals. Der Neu-Timer umfasst Datendetektionsschleifen-Schaltkreise, ausgelegt zum Erzeugen eines Phasenoffset-Steuersignals zur Justierung einer Phase eines Taktsignals, das das Eingangsdatensignal abtastet, auf der Basis des Eingangsdatensignals, und zum Erzeugen eines abgetasteten Eingangsdatensignals auf der Basis des Phasenoffset-Steuersignals. Der Neu-Timer umfasst einen elastischen Puffer, der mit den Taktregenerationsschleifen-Schaltkreisen und den Datendetektionsschleifen-Schaltkreisen gekoppelt ist, wobei der elastische Puffer ausgelegt ist zum Speichern eines Überlaufteils oder eines Unterlaufteils des abgetasteten Eingangsdatensignals, der sich aus einer Frequenzdifferenz zwischen dem Ausgangsreferenztaktsignal und dem abgetasteten Eingangsdatensignal ergibt. Der elastische Puffer ist ferner ausgelegt zum Erzeugen eines Ausgangsdatensignals, das sich im Wesentlichen mit dem Ausgangsreferenztaktsignal ausrichtet, auf der Basis des gespeicherten Überlaufteils oder des Unterlaufteils des abgetasteten Eingangsdatensignals.
-
Die Hauptrolle des elastischen Puffers: Ermöglichen verschiedener Anpassungs- und Verfolgungsfähigkeiten zwischen der Datendetektionsschleife und der Taktregenerationsschleife. Dies führt zu einer Erfindung mit hoher Jittertoleranz und niedriger Jittererzeugung.
-
Die obigen und andere Ausführungsformen können gegebenenfalls jeweils ein oder mehrere der folgenden Merkmale alleine oder in Kombination umfassen. Insbesondere umfasst eine Ausführungsform alle folgenden Merkmale in Kombination. Der Neu-Timer kann einen Datenratendetektor umfassen, der dafür ausgelegt ist, die Datenrate des Eingangssignals auf der Basis des Eingangsdatensignals zu bestimmen. Der Datenratendetektor kann dafür ausgelegt sein, ein Datenprotokoll des Eingangsdatensignals zu detektieren.
-
Die Taktregenerationsschleifen-Schaltkreise können einen ersten Phasendetektor, einen Integrierer und einen Oszillator umfassen. Der erste Phasendetektor kann mit dem Integrierer und dem Oszillator gekoppelt sein. Der Integrierer kann mit dem ersten Phasendetektor und dem Oszillator gekoppelt sein. Der Oszillator kann ausgelegt sein zum Erzeugen des Ausgangsreferenztaktsignals. Der erste Phasendetektor kann ausgelegt sein zum Bestimmen einer Phasendifferenz zwischen dem Ausgangsreferenztaktsignal und dem Eingangsdatensignal. Der Integrierer kann ausgelegt sein zum Bestimmen einer mittleren Phasendifferenz auf der Basis der Phasendifferenz und akkumulierten Phasendifferenz. Auf der Basis der mittleren Phasendifferenz kann der Integrierer auch ein Taktregenerations-Steuersignal zur Justierung einer Frequenz des Ausgangsreferenztaktsignals, das durch den Oszillator erzeugt wird, erzeugen.
-
Die Datendetektionsschleifen-Schaltkreise können einen Verzögerungsregelkreis, einen Phaseninterpolator und einen zweiten Phasendetektor umfassen. Der Verzögerungsregelkreis kann mit der Taktregenerationsschleife und dem Phaseninterpolator gekoppelt sein. Der Phaseninterpolator kann mit dem Verzögerungsregelkreis und dem zweiten Phasendetektor gekoppelt sein. Der zweite Phasendetektor kann mit dem Phaseninterpolator und dem elastischen Puffer gekoppelt sein. Der Verzögerungsregelkreis kann ausgelegt sein zum Erzeugen eines phasenverriegelten Taktsignals auf der Basis des Ausgangsreferenztaktsignals. Der Phaseninterpolator kann ausgelegt sein zum Erzeugen eines phasenjustierten Taktsignals auf der Basis des phasenverriegelten Taktsignals und des Phasenoffset-Steuersignals von dem zweiten Phasendetektor. Der zweite Phasendetektor kann ausgelegt sein zum Bestimmen einer Phasendifferenz zwischen dem phasenjustierten Taktsignal und dem Eingangsdatensignal und zum Justieren des Phasenoffset-Steuersignals auf der Basis der Phasendifferenz.
-
Auf der Basis des phasenverriegelten Taktsignals und des justierten Phasenoffset-Steuersignals kann der Phaseninterpolator ausgelegt sein zum Erzeugen eines aktualisierten phasenjustierten Taktsignals, nachdem der zweite Phasendetektor das Phasenoffset-Steuersignal justiert. Der zweite Phasendetektor kann ausgelegt sein zum Abtasten des Eingangsdatensignals unter Verwendung des aktualisierten phasenjustierten Taktsignals. Der zweite Phasendetektor kann eine Offsetsteuereinheit umfassen, die dafür ausgelegt ist, zu bestimmen, ob die Phasendifferenz zwischen dem phasenjustierten Taktsignal und dem Eingangsdatensignal eine Schwellenbedingung erfüllt. Als Reaktion auf Bestimmung, ob die Phasendifferenz zwischen dem phasenjustierten Taktsignal und dem Eingangsdatensignal die Schwellenbedingung erfüllt, kann der zweite Phasendetektor eine zusätzliche Justierung auf das Phasenoffset-Steuersignal anwenden.
-
Der elastische Puffer kann ausgelegt sein zum Bestimmen einer Phasenverschiebung zwischen dem Ausgangsreferenztaktsignal und dem abgetasteten Eingangsdatensignal und zum Anwenden der Phasenverschiebung auf das abgetastete Eingangsdatensignal, um das Ausgangsdatensignal zu erzeugen, das sich im Wesentlichen mit dem Ausgangsreferenztaktsignal ausrichtet. Der elastische Puffer kann ein Puffer mit Pipeline sein.
-
Vorteilhafte Implementierungen können ein oder mehrere der folgenden Merkmale umfassen. Ein Neu-Timer unterstützt Mehrfach-Protokoll und/oder Mehrfach-Datenraten-Datenübertragungen ohne Referenztaktsignal. Es sind weniger Komponenten notwendig, um Datenübertragung ohne ein Taktsignal zu detektieren. Ein Neu-Timer verfolgt und entfernt während der Datenübertragung erzeugte Jitter. Ein elastischer Puffer erlaubt, dass Referenztaktregeneration und Datendetektion unabhängig voneinander sind. Der elastische Puffer kann als Pipeline-FIFO (First-in-First-out) implementiert werden. Das Ausgangsdatensignal folgt dem regenerierten Signal mit niedriger Jittererzeugung, weist Rauschtaktspreizungsfähigkeit und niedrige Latenz auf. Synchronisierte und saubere Takt- und Datensignale können z. B. zur Verarbeitung der Daten an andere Vorrichtungskomponenten ausgegeben werden.
-
Die Einzelheiten einer oder mehrerer Ausführungsformen der Erfindung werden in den beigefügten Zeichnungen und in der nachfolgenden Beschreibung dargelegt. Andere Merkmale, Aufgaben und Vorteile der Erfindung werden aus der Beschreibung und den Zeichnungen und aus den Ansprüchen ersichtlich.
-
Figurenliste
-
- 1 ist eine Blockdarstellung eines beispielhaften Neu-Timers.
- 2 ist eine Blockdarstellung eines beispielhaften Neu-Timers.
- 3 ist ein Flussdiagramm, das ein Beispiel für einen Prozess zum Erzeugen eines Datensignals und Taktsignals darstellt.
-
In den verschiedenen Zeichnungen geben gleiche Bezugssymbole gleiche Elemente an.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die vorliegende Beschreibung beschreibt eine Neu-Timerarchitektur für Datenübertragungen. Insbesondere beschreibt die vorliegende Beschreibung eine Neu-Timerarchitektur, die Mehrfach-Protokoll- und/oder Mehrfach-Datenraten-Übertragungen unterstützt, wobei keine Übertragung eines Referenztaktsignals vorgesehen ist. Die in der vorliegenden Beschreibung beschriebene Neu-Timerarchitektur kann in verdrahteter Kommunikation oder kontaktloser Kommunikation verwendet werden. Verdrahtete Kommunikation kann Signalkommunikation zwischen Komponenten auf einer Vorrichtung, zwischen Vorrichtungen oder zwischen Systemen unter Verwendung von elektrischen oder optischen Kabeln umfassen. Kontaktlose Kommunikation kann Signalkommunikation zwischen Komponenten auf einer Vorrichtung, zwischen Vorrichtungen oder zwischen Systemen ohne Verwendung von Kabeln umfassen. Zum Beispiel können eng gekoppelte Paare von Sender/Empfänger mit einem in einem Abschlussteil eines ersten Leitungspfads angeordneten Sender und einem in einem Abschlussteil eines zweiten Leitungspfads angeordneten Empfänger eingesetzt werden. Der Sender und Empfänger können abhängig von den Frequenzen und der Stärke der Sendeenergie in dichter Nähe zueinander angeordnet sein und der erste Leitungspfad und der zweite Leitungspfad können mit Bezug aufeinander nicht zusammenhängend sein.
-
1 zeigt einen beispielhaften Neu-Timer 100. Der Neu-Timer 100 kann eine Vorrichtung, ein System, ein Subsystem eines Systems, Schaltkreise, die die nachfolgend beschriebenen Funktionen ausführen, oder eine beliebige Kombination davon sein. Im Allgemeinen empfängt der Neu-Timer 100 ein Eingangsdatensignal 101 ohne Referenztaktsignal und erzeugt ein Ausgangstaktsignal 121 und ein Ausgangsdatensignal 123, das durch das Ausgangstaktsignal 121 abgetastet werden kann. Der Neu-Timer 100 umfasst eine Taktregenerationsschleife 103, eine Datendetektionsschleife 105 und einen elastischen Puffer 107. Bei einigen Implementierungen kann der NeuTimer 100 einen Datenraten-/Protokolldetektor 109 umfassen.
-
Im Allgemeinen umfasst die Taktregenerationsschleife 103 Schaltkreise, die dafür ausgelegt sind, auf der Basis des empfangenen Eingangsdatensignals 101 ein sauberes Ausgangstaktsignal 121 zu regenerieren, wobei das Ausgangstaktsignal 121 zum Neuabtasten der Ausgangsdaten verwendet werden kann. Das Ausgangstaktsignal 121 wird in die Taktregenerationsschleife 103 rückgeschleift und die Taktregenerationsschleife 103 ist ferner dafür ausgelegt, das Ausgangstaktsignal 121 zu verfolgen bzw. an die Schwankungen des Eingangsdatensignals 101, die mit der Zeit auftreten, anzupassen. Eine beispielhafte Schwankung in dem Eingangsdatensignal 101 kann Jitter umfassen. Das Eingangsdatensignal 101 kann Daten umfassen, die unter Verwendung eines bestimmten Protokolls mit einer bestimmten Datenrate codiert wurden. Zum Beispiel kann das Eingangsdatensignal 101 Daten umfassen, die unter Verwendung des USB-3.0-Protokolls mit 5 Gbps codiert wurden.
-
Bei einigen Implementierungen kann, wenn die Datenrate und das Datenprotokoll des Eingangsdatensignals 101 in dem Neu-Timer 100 vor dem Empfang des Eingangsdatensignals 101 vorkonfiguriert sind, die Taktregenerationsschleife 103 beim Empfang der Eingangsdaten 101 ein Ausgangstaktsignal 121 regenerieren. Wenn zum Beispiel der Neu-Timer 100 dazu vorkonfiguriert ist, Daten von einem Sender mit 5 Gbps zu empfangen, kann die Taktregenerationsschleife 103 ein Ausgangstaktsignal 121 regenerieren, das Daten mit 5 Gbps abtastet.
-
Bei einigen anderen Implementierungen kann, wenn die Datenrate und das Datenprotokoll des Eingangsdatensignals 101 vor dem Empfang des Eingangsdatensignals 101 unbekannt sind, die Taktregenerationsschleife 103 ein Ausgangstaktsignal 121 regenerieren, nachdem der Datenraten-/Protokolldetektor 109 die Datenrate und das Datenprotokoll des Eingangsdatensignals 101 bestimmt. Der Datenraten-/Protokolldetektor 109 umfasst im Allgemeinen Schaltkreise, die dafür ausgelegt sind, die Datenrate und das Datenprotokoll des Eingangsdatensignals 101 zu bestimmen. Bei einigen Implementierungen kann der Datenraten-/Protokolldetektor 109 dafür ausgelegt sein, auf der Basis einer oder mehrerer Eigenschaften des Eingangsdatensignals 101 die Datenrate oder das Datenprotokoll des Eingangsdatensignals 101 zu bestimmen. Zum Beispiel kann ein 8-Bit- bis 10-Bit-Codierer (ein 8b/10b-Codierer) Eingangsdaten mit bestimmten Eigenschaften, wie etwa Lauflänge, Flankenzählwert, Übergangsdichte oder Gleichstrom- bzw. DC-Gleichgewicht, codieren. Der Datenraten-/Protokolldetektor 109 kann dafür ausgelegt sein, auf der Basis des Flankenzählwerts der Daten innerhalb eines spezifischen Zeitraums die Datenrate des Eingangsdatensignals 101 zu bestimmen. Der Datenraten-/Protokolldetektor 109 kann dafür ausgelegt sein, auf der Basis der Übergangsdichte der Daten das Datenprotokoll des Eingangsdatensignals 101 zu bestimmen. Bei einigen Implementierungen kann, nachdem der Datenraten-/Protokolldetektor 109 die Datenrate und das Datenprotokoll des Eingangsdatensignals 101 bestimmt, der Datenraten-/Protokolldetektor 109 dafür ausgelegt sein, ein Taktsignal zu erzeugen, das der Taktregenerationsschleife 103 zugeführt wird, um das Ausgangstaktsignal 121 zu regenerieren.
-
Die Datendetektionsschleife 105 umfasst im Allgemeinen Schaltkreise, die dafür ausgelegt sind, einen oder mehrere Phasenpunkte zur Abtastung des Eingangsdatensignals 101 zu bestimmen, um abgetastete Daten 125 zu erzeugen. Bei einigen Implementierungen kann die Datendetektionsschleife 105 ausgelegt sein zum Empfangen des Eingangsdatensignals 101 und des Ausgangstaktsignals 121 als Eingaben und zum Bestimmen des einen oder der mehreren Phasenpunkte durch Vergleichen einer Phasendifferenz zwischen dem Eingangsdatensignal 101 und einem phasenverzögerten Bild des Ausgangstaktsignals 121. Zum Beispiel können Jitter mit der Zeit in dem Eingangsdatensignal 101 schwanken, und die Datendetektionsschleife 105 kann eine aktuelle vordere Flanke des Eingangsdatensignals 101 und eine vordere Flanke des phasenverzögerten Ausgangstaktsignals 121 vergleichen, um eine Phasendifferenz zwischen dem Eingangsdatensignal 101 und dem phasenverzögerten Ausgangstaktsignal 121 zu bestimmen. Die Datendetektionsschleife 105 kann auf der Basis des Vergleichs einen oder mehrere aktualisierte Phasenpunkte zur Abtastung des Eingangsdatensignals 101 bestimmen.
-
Der elastische Puffer 107 umfasst im Allgemeinen Schaltkreise, die dafür ausgelegt sind, das Ausgangstaktsignal 121 und die abgetasteten Daten 125 zu empfangen, um das Ausgangsdatensignal 123 zu erzeugen. Da die Taktregenerationsschleife 103 und die Datendetektionsschleife 105 zwei unabhängige Schleifen sind, kann der durch jede Schleife gehende Takt eine Phasendifferenz aufweisen. Bei einigen Implementierungen ist der elastische Puffer 107 ausgelegt zum Bestimmen der Phasendifferenz zwischen dem Ausgangstaktsignal 121 und den abgetasteten Daten 125 und zum Erzeugen des Ausgangsdatensignals 123, wobei die Phasendifferenz kompensiert ist. Zum Beispiel kann der elastische Puffer 107 eine Latenz zu den ausgegebenen abgetasteten Daten 125 hinzufügen, dergestalt, dass das Ausgangstaktsignal 121 und das Ausgangsdatensignal 123 miteinander synchronisiert sind. Bei einigen anderen Implementierungen ist der elastische Puffer 107 ausgelegt zum Bereitstellen einer Phasenverschiebung zwischen dem Ausgangstaktsignal 121 und den abgetasteten Daten 125 zur Kompensation der Phasendifferenz. Die Menge an Phasenverschiebung kann auf der Basis eines externen Steuersignals gesteuert werden.
-
2 zeigt eine Blockdarstellung eines beispielhaften Neu-Timers 200, die eine beispielhafte Implementierung des Neu-Timers 100 darstellt. Die Implementierung des Neu-Timers 100 ist nicht auf die Beschreibungen des beispielhaften Neu-Timers 200 beschränkt. Der NeuTimer 200 empfängt im Allgemeinen ein Eingangsdatensignal 201 ohne Referenztaktsignal und erzeugt ein Ausgangstaktsignal 221 und ein Ausgangsdatensignal 223, das durch das Ausgangstaktsignal 221 abgetastet werden kann. Der Neu-Timer 200 umfasst einen Datenraten-/Protokolldetektor 203, einen Oszillator 205 , einen ersten Phasendetektor 207 , einen Integrierer 209 , einen zweiten Phasendetektor 211 , einen Verzögerungsregelkreis 213, einen Phaseninterpolator 215 und einen elastischen Puffer 217.
-
Der Datenraten-/Protokolldetektor 203 ist dem Datenraten-/Protokolldetektor 109 ähnlich. Bei einigen Implementierungen ist der Datenraten-/Protokolldetektor 203 dafür ausgelegt, die Datenrate des Eingangsdatensignals auf der Basis des Eingangsdatensignals 201 zu bestimmen. Bei einigen Implementierungen ist der Datenraten-/Protokolldetektor 203 dafür ausgelegt, ein Datenprotokoll des Eingangsdatensignals 201 zu detektieren. Der Oszillator 205 kann ein elektronischer Oszillator sein, der durch ein Steuersignal gesteuert wird, um eine Taktausgabe zu erzeugen, die eine Oszillationsfrequenz aufweist. Zum Beispiel wird, wenn der Oszillator ein spannungsgesteuerter Oszillator (VCO) ist, die Oszillationsfrequenz durch eine angelegte Spannungssteuerung bestimmt. Bei einigen Implementierungen kann, nachdem der Datenraten-/Protokolldetektor 203 die Datenrate des Eingangsdatensignals 201 bestimmt, der Datenraten-/Protokolldetektor 203 den Oszillator 205 neu kalibrieren, um ein Ausgangstaktsignal 221 zu erzeugen, das eine Frequenz aufweist, die im Wesentlichen mit der Datenrate des Eingangsdatensignals 201 übereinstimmt, so dass das Ausgangstaktsignal 221 zum Abtasten des Ausgangsdatensignals 223 verwendet werden kann.
-
Bei einigen Implementierungen können der erste Phasendetektor 207, der Integrierer 209 und der Oszillator 205 eine Taktregenerationsschleife zum Justieren des Ausgangstaktsignals 221 bilden, die der Taktregenerationsschleife 103 ähnlich ist. Zum Beispiel ist der erste Phasendetektor 207 elektrisch mit dem Integrierer 209 und dem Oszillator 205 gekoppelt, und der Integrierer 209 ist elektrisch mit dem ersten Phasendetektor 207 und dem Oszillator 205 gekoppelt, um die Taktregenerationsschleife zu bilden.
-
Der erste Phasendetektor 207 ist ausgelegt zum Bestimmen einer Phasendifferenz 241 zwischen dem Ausgangstaktsignal 221 und dem Eingangsdatensignal 201. Der erste Phasendetektor 207 kann unter Verwendung von Schaltkreisen implementiert werden, die das Ausgangstaktsignal 221 und das Eingangsdatensignal 201 empfangen und ein Ausgangssignal erzeugen, das eine Phasendifferenz zwischen dem Ausgangstaktsignal 221 und dem Eingangsdatensignal 201 repräsentiert. Zum Beispiel kann der erste Phasendetektor 207 ein Bang-Bang-Phasendetektor, ein Phasenfrequenzdetektor, ein Analogmultiplizierer-Phasendetektor, ein Binärphasendetektor, ein Überabtastungs-Phasendetektor oder beliebige andere geeignete Phasendetektoren sein, die die Funktion der Phasendetektion ausführen können.
-
Der Integrierer 209 ist ausgelegt zum Bestimmen einer mittleren Phasendifferenz auf der Basis der Phasendifferenz 241 und einer akkumulierten Phasendifferenz. Auf der Basis der mittleren Phasendifferenz kann der Integrierer 209 ausgelegt sein zum Erzeugen eines Taktregenerations-Steuersignals 243 zur Justierung der Frequenz des Ausgangstaktsignals 221, das durch den Oszillator 205 erzeugt wird, so dass das Ausgangstaktsignal 221 gemäß Jittern, die mit der Zeit in dem Eingangsdatensignal 201 auftreten, justiert werden kann, während ein sauberes Signal aufrechterhalten wird. Die Taktregenerationsschleife, einschließlich des Phasendetektors 207, des Integrierers 209 und des Oszillators 205, kann sich ähnlich wie ein Tiefpassfilter verhalten.
-
Bei einigen Implementierungen bilden der Verzögerungsregelkreis 213, der Phaseninterpolator 215 und der zweite Phasendetektor 211 eine Datendetektionsschleife, die der Datendetektionsschleife 105 ähnlich ist. Die Datendetektionsschleife kann auf der Basis des Eingangsdatensignals 201 ein Phasenoffset-Steuersignal 235 zum Justieren einer Phase eines Taktsignals, das das Eingangsdatensignal 201 abtastet, und auf der Basis des Phasenoffset-Steuersignals 235 ein abgetastetes Eingangsdatensignal 237 erzeugen. Zum Beispiel ist der Phaseninterpolator 215 mit dem Verzögerungsregelkreis 213 und dem zweiten Phasendetektor 211 gekoppelt, der elektrisch mit dem Phaseninterpolator 215 rückgekoppelt ist, um die Datendetektionsschleife zu bilden.
-
Der Verzögerungsregelkreis 213 ist elektrisch mit dem Oszillator 205 gekoppelt und ist dafür ausgelegt, auf der Basis des Ausgangstaktsignals 221 ein phasenverriegeltes Taktsignal 231 zu erzeugen. Der Verzögerungsregelkreis 213 kann unter Verwendung von Schaltkreisen implementiert werden, die das Ausgangstaktsignal 221 empfangen und das Ausgangstaktsignal 221 auf der Basis einer Verzögerung eines Vergleichs zwischen dem durch den Verzögerungsregelkreis 213 erzeugten verzögerten Takt und dem Ausgangstaktsignal 221 verzögern.
-
Der Phaseninterpolator 215 ist ausgelegt zum Erzeugen eines phasenjustierten Taktsignals 233 auf der Basis des PhasenoffsetSteuersignals 235 von dem zweiten Phasendetektor 211. Zum Beispiel kann der Phaseninterpolator 215 das phasenverriegelte Taktsignal 231 verzögern, um das phasenjustierte Taktsignal 233 zu erzeugen, wobei die Verzögerung durch das Phasenoffset-Steuersignal 235 gesteuert wird.
-
Der zweite Phasendetektor 211 ist ausgelegt zum Bestimmen einer Phasendifferenz zwischen dem phasenjustierten Taktsignal 233 von dem Phaseninterpolator 215 und dem Eingangsdatensignal 201. Auf der Basis der Phasendifferenz ist der zweite Phasendetektor 211 ausgelegt zum Justieren des Phasenoffset-Steuersignals 235, das in einer Schleife zu dem Phaseninterpolator 215 zurückgeführt wird. Der zweite Phasendetektor 211 kann unter Verwendung von Schaltkreisen implementiert werden, die das phasenjustierte Taktsignal 233 und das Eingangsdatensignal 201 empfangen und ein Phasenoffset-Steuersignal 235 erzeugen, das eine Phasendifferenz zwischen dem phasenjustierten Taktsignal 233 und dem Eingangsdatensignal 201 repräsentiert. Zum Beispiel kann der zweite Phasendetektor 211 ein Bang-Bang-Phasendetektor, ein Überabtastungs-Phasendetektor oder beliebige andere geeignete Phasendetektoren sein, die die Funktion der Phasendetektion ausführen.
-
Bei einigen Implementierungen kann der zweite Phasendetektor 211 eine Offsetsteuereinheit 219 umfassen. Die Offsetsteuereinheit 219 ist ausgelegt zum Bestimmen, ob die Phasendifferenz zwischen dem phasenjustierten Taktsignal 233 und dem Eingangsdatensignal 201 eine Schwellenbedingung erfüllt, und als Reaktion auf eine Bestimmung, dass die Phasendifferenz die Schwellenbedingung erfüllt, kann die Offsetsteuereinheit 219 eine zusätzliche Justierung auf das Phasenoffset-Steuersignal 235 anwenden. Wenn zum Beispiel die Phasendifferenz des Eingangsdatensignals 201 während einer bestimmten Periode unerwartet hinterherhinkt, kann die Offsetsteuereinheit 219 dieses unerwartete Ereignis detektieren, indem bestimmt wird, dass die Phasendifferenz zwischen dem phasenjustierten Taktsignal 233 und dem Eingangsdatensignal 201 eine Schwelle übersteigt, und die Offsetsteuereinheit 219 kann nachfolgend ein größeres Phasenoffset-Steuersignal 235 an den Phaseninterpolator 215 anlegen.
-
Der zweite Phasendetektor 211 ist ferner ausgelegt zum Abtasten des Eingangsdatensignals 201 unter Verwendung des phasenjustierten Taktsignals 233. Bei einigen Implementierungen kann der zweite Phasendetektor 211 einen oder mehrere Phasenpunkte zur Abtastung des Eingangsdatensignals 201 auswählen, um abgetastete Eingangsdaten 237 zu erzeugen. Zum Beispiel kann der zweite Phasendetektor 211 einen Phasenpunkt zur Abtastung des Eingangsdatensignals 201 in der Nähe der vorderen oder hinteren Flanken des Eingangsdatensignals 201 auswählen.
-
Der elastische Puffer 217 ist mit dem Oszillator 205 und dem zweiten Phasendetektor 211 gekoppelt. Der elastische Puffer 217 ist ausgelegt zum Empfangen des Ausgangstaktsignals 221 und der abgetasteten Eingangsdaten 237 und zum Erzeugen eines Ausgangsdatensignals 223, das sich im Wesentlichen mit dem Ausgangsreferenztaktsignal 221 ausrichtet, so dass das Ausgangsreferenztaktsignal 221 zum Abtasten des Ausgangsdatensignals verwendet werden kann. Bei einigen Implementierungen kann der elastische Puffer 217 eine Phasenverschiebung zwischen dem Ausgangstaktsignal 221 und den abgetasteten Eingangsdaten 237 bestimmen und die Phasenverschiebung auf die abgetasteten Eingangsdaten 237 anwenden, um das Ausgangsdatensignal 223 zu erzeugen, das sich im Wesentlichen mit dem Ausgangsreferenztaktsignal ausrichtet. Der elastische Puffer 217 kann unter Verwendung einer Pipeline-Pufferschaltung implementiert werden. Bei einigen anderen Implementierungen können getrennte Schaltkreise verwendet werden, um eine Phasenverschiebung zwischen dem Ausgangstaktsignal 221 und den abgetasteten Eingangsdaten 237 zu bestimmen, und der elastische Puffer 217 kann durch die getrennten Schaltkreise gesteuert werden, um eine Verzögerung zwischen dem Ausgangstaktsignal 221 und den abgetasteten Eingangsdaten 237 anzuwenden, um die Phasenverschiebung zu kompensieren und um das Ausgangsdatensignal 223 zu erzeugen, das sich im Wesentlichen mit dem Ausgangsreferenztaktsignal ausrichtet. Der elastische Puffer 217 wirkt nachfolgend als Schnittstelle zwischen den zwei Taktdomänen durch Speichern und Freigeben eines Überlauf- und/oder eines Unterlaufteils der abgetasteten Eingangsdaten 237. Ein Teil der abgetasteten Eingangsdaten 237 kann Datenbit der abgetasteten Eingangsdaten 237 sein. Ein Beispiel für das Speichern eines Teils der abgetasteten Eingangsdaten 237 kann Stapeln des Teils der abgetasteten Eingangsdaten 237 in dem elastischen Puffer 217 umfassen. Ein Beispiel für Freigeben eines Teils der abgetasteten Eingangsdaten 237 kann Entstapeln des Teils der abgetasteten Eingangsdaten 237 in dem elastischen Puffer 217 umfassen. Dieser Prozess erlaubt der Datendetektionsschleife und Taktregenerationsschleife, getrennte und verschiedene Anpassungs-/Verfolgungsfähigkeiten aufzuweisen, die zu hohen Jittertoleranzen und geringer Jittererzeugung führen.
-
3 ist ein Flussdiagramm, das ein Beispiel für einen Prozess 300 zum Erzeugen eines Datensignals und eines Taktsignals darstellt. Der Prozess 300 kann durch einen Neu-Timer, wie etwa den Neu-Timer 100 oder den Neu-Timer 200, der oben beschrieben wird, oder eine andere NeuTimervorrichtung ausgeführt werden.
-
Der Neu-Timer empfängt ein Eingangsdatensignal, das ohne Referenztaktsignal gesendet wird (302). Zum Beispiel kann der Neu-Timer 200 das Eingangsdatensignal 201 empfangen. Bei einigen Implementierungen bestimmt der Neu-Timer die Datenrate des Eingangsdatensignals. Zum Beispiel kann der Datenraten-/Protokolldetektor 203 auf der Basis des Flankenzählwerts der Daten innerhalb eines spezifischen Zeitraums die Datenrate des Eingangsdatensignals 201 bestimmen. Bei einigen Implementierungen bestimmt der Neu-Timer ein Datenprotokoll des Eingangsdatensignals. Zum Beispiel kann der Datenraten-/Protokolldetektor 203 das Datenprotokoll des Eingangsdatensignals 201 auf der Basis der Übergangsdichte der Daten bestimmen.
-
Der Neu-Timer erzeugt durch eine Taktregenerationsschleife und auf der Basis des Eingangsdatensignals ein Ausgangsreferenztaktsignal mit einer justierbaren Taktfrequenz, die im Wesentlichen mit einer Datenrate des Eingangsdatensignals übereinstimmt (304). Bei einigen Implementierungen umfasst die Taktregenerationsschleife einen ersten Phasendetektor, einen Integrierer und einen Oszillator. Zum Beispiel kann die Taktregenerationsschleife den ersten Phasendetektor 207, den Integrierer 209 und den Oszillator 205 umfassen. Die Taktregenerationsschleife kann das Ausgangsreferenztaktsignal auf der Basis der Datenrate des Eingangsdatensignals, bestimmt durch den Datenratendetektor, erzeugen. Zum Beispiel kann der Oszillator 205 das Ausgangstaktsignal 221 auf der Basis der Datenrate des Eingangsdatensignals, bestimmt durch den Datenraten-/Protokolldetektor 203, erzeugen. Die Taktregenerationsschleife kann eine Phasendifferenz zwischen dem Ausgangsreferenztaktsignal und dem Eingangsdatensignal bestimmen. Zum Beispiel kann der erste Phasendetektor 207 eine Phasendifferenz zwischen dem Ausgangstaktsignal 221 und dem Eingangsdatensignal 201 bestimmen. Auf der Basis der Phasendifferenz und einer akkumulierten Phasendifferenz kann die Taktregenerationsschleife eine mittlere Phasendifferenz bestimmen. Zum Beispiel kann der Integrierer 209 auf der Basis der Phasendifferenz 241 und einer akkumulierten Phasendifferenz eine mittlere Phasendifferenz bestimmen.
-
Auf der Basis der mittleren Phasendifferenz kann die Taktregenerationsschleife ein Taktregenerations-Steuersignal zur Justierung einer Frequenz des durch den Oszillator erzeugten Ausgangsreferenztaktsignals erzeugen. Zum Beispiel kann der Integrierer 209 auf der Basis der mittleren Phasendifferenz ausgelegt sein zum Erzeugen eines Taktregenerations-Steuersignals 243 zur Justierung einer Frequenz des durch den Oszillator 205 erzeugten Ausgangstaktsignals 221, dergestalt, dass das Ausgangstaktsignal 221 gemäß Jittern justiert werden kann, die mit der Zeit in dem Eingangsdatensignal 20 akkumuliert werden, während ein sauberes Signal aufrechterhalten wird.
-
Durch eine Datendetektionsschleife und auf der Basis des Eingangsdatensignals erzeugt der Neu-Timer ein Phasenoffset-Steuersignal zur Justierung einer Phase eines Taktsignals, das das Eingangsdatensignal abtastet (306). Bei einigen Implementierungen umfasst die Datendetektionsschleife einen Verzögerungsregelkreis, einen Phaseninterpolator und einen zweiten Phasendetektor. Zum Beispiel bilden der Verzögerungsregelkreis 213, der Phaseninterpolator 215 und der zweite Phasendetektor 211 eine Datendetektionsschleife.
-
Die Datendetektionsschleife kann auf der Basis des Ausgangsreferenztaktsignals ein phasenverriegeltes Taktsignal erzeugen. Zum Beispiel kann der Phasenregelkreis 213 auf der Basis des Ausgangstaktsignals 221 ein phasenverriegeltes Taktsignal 231 erzeugen. Auf der Basis des phasenverriegelten Taktsignals und des Phasenoffset-Steuersignals von dem zweiten Phasendetektor kann die Datendetektionsschleife ein phasenjustiertes Taktsignal erzeugen. Zum Beispiel kann der Phaseninterpolator 215 das phasenverriegelte Taktsignal 231 verzögern, um das phasenjustierte Taktsignal 233 zu erzeugen, wobei die Verzögerung durch das Phasenoffset-Steuersignal 235 gesteuert wird.
-
Die Datendetektionsschleife kann eine Phasendifferenz zwischen dem phasenjustierten Taktsignal und dem Eingangsdatensignal bestimmen. Zum Beispiel kann der zweite Phasendetektor 211 eine Phasendifferenz zwischen dem phasenjustierten Taktsignal 233 von dem Phaseninterpolator 215 und dem Eingangsdatensignal 201 bestimmen. Die Datendetektionsschleife kann das Phasenoffset-Steuersignal auf der Basis der Phasendifferenz justieren. Zum Beispiel kann der zweite Phasendetektor 211 auf der Basis der Phasendifferenz das Phasenoffset-Steuersignal 235, das in einer Schleife zu dem Phaseninterpolator 215 zurückgeführt wird, justieren, um das phasenjustierte Taktsignal 233 zu justieren.
-
Bei einigen Implementierungen umfasst die Datendetektionsschleife eine Offsetsteuereinheit. Zum Beispiel kann der zweite Phasendetektor 211 eine Offsetsteuereinheit 219 umfassen. Die Datendetektionsschleife kann bestimmen, dass die Phasendifferenz zwischen dem phasenjustierten Taktsignal und dem Eingangsdatensignal eine Schwellenbedingung erfüllt. Als Reaktion auf eine Bestimmung, dass die Phasendifferenz die Schwellenbedingung erfüllt, kann die Datendetektionsschleife eine zusätzliche Justierung auf das justierte Phasenoffset-Steuersignal anwenden. Wenn zum Beispiel die Phasendifferenz des Eingangsdatensignals 201 während eines bestimmten Zeitraums unerwartet hinterherhinkt, kann die Offsetsteuereinheit 219 dieses unerwartete Ereignis detektieren, indem bestimmt wird, dass die Phasendifferenz zwischen dem phasenjustierten Taktsignal 233 und dem Eingangsdatensignal 201 eine Schwelle übersteigt. Die Offsetsteuereinheit 219 kann nachfolgend ein größeres Phasenoffset-Steuersignal 235 an dem Phaseninterpolator 215 anlegen, um die Phasendifferenz zu kompensieren.
-
Bei einigen Implementierungen erzeugt die Datendetektionsschleife nach dem Justieren des Phasenoffset-Steuersignals ein aktualisiertes phasenjustiertes Taktsignal auf der Basis des phasenverriegelten Taktsignals und des justierten Phasenoffset-Steuersignals. Zum Beispiel kann, nachdem der zweite Phasendetektor 211 das Phasenoffset-Steuersignal 235 justiert, der Phaseninterpolator auf der Basis des justierten Phasenoffset-Steuersignals 235 ein aktualisiertes phasenjustiertes Taktsignal 233 erzeugen.
-
Der Neu-Timer erzeugt auf der Basis des Phasenoffset-Steuersignals und der Datendetektionsschleife ein abgetastetes Eingangsdatensignal (308). Bei einigen Implementierungen kann die Datendetektionsschleife das Eingangsdatensignal unter Verwendung des phasenjustierten Taktsignals abtasten. Zum Beispiel kann der zweite Phasendetektor 211 unter Verwendung des phasenjustierten Taktsignals 233 einen oder mehrere Phasenpunkte zur Abtastung des Eingangsdatensignals 201 auswählen, um abgetastete Eingangsdaten 237 zu erzeugen.
-
Der Neu-Timer speichert durch einen elastischen Puffer einen Teil der abgetasteten Eingangsdaten (310). Bei einigen Implementierungen speichert der elastische Puffer einen Überlaufteil oder einen Unterlaufteil des abgetasteten Eingangsdatensignals auf der Basis eines Vergleichs zwischen dem Ausgangsreferenztaktsignal und dem abgetasteten Eingangsdatensignal. Zum Beispiel kann der elastische Puffer 217 das Ausgangstaktsignal 221 und das abgetastete Eingangsdatensignal 237 empfangen. Der elastische Puffer 217 kann das Ausgangstaktsignal 221 und das abgetastete Eingangsdatensignal 237 vergleichen und bestimmen, dass eine Differenz von N Taktzyklen zwischen dem Ausgangstaktsignal 221 und dem abgetasteten Eingangsdatensignal 237 besteht, wobei N eine ganze Zahl ist. Der elastische Puffer 217 kann den N-Taktzyklus des abgetasteten Eingangsdatensignals 237 speichern, um die Verzögerung/Latenz der Ausgangsdaten 223 auf einen vorbestimmten Wert zu setzen.
-
Der Neu-Timer erzeugt durch den elastischen Puffer und auf der Basis des gespeicherten Überlaufteils oder des Unterlaufteils des abgetasteten Eingangsdatensignals ein Ausgangsdatensignal, das sich im Wesentlichen mit dem Ausgangsreferenztaktsignal ausrichtet (312). Bei einigen Implementierungen kann der Neu-Timer durch den elastischen Puffer eine Phasenverschiebung zwischen dem Ausgangsreferenztaktsignal und dem abgetasteten Eingangsdatensignal bestimmen. Der Neu-Timer kann durch den elastischen Puffer die Phasenverschiebung auf das abgetastete Eingangsdatensignal anwenden, um das Ausgangsdatensignal zu erzeugen, das sich im Wesentlichen mit dem Ausgangsreferenztaktsignal ausrichtet. Zum Beispiel ist der elastische Puffer 217 von 2 ausgelegt zum Empfangen des Ausgangstaktsignals 221 und der abgetasteten Eingangsdaten 237 und zum Erzeugen eines Ausgangsdatensignals 223, das sich im Wesentlichen mit dem Ausgangsreferenztaktsignal 221 ausrichtet, so dass das Ausgangsreferenztaktsignal 221 zur Abtastung des Ausgangsdatensignals 223 verwendet werden kann.
-
Es wurde eine Anzahl von Ausführungsformen der Erfindung beschrieben. Dessen ungeachtet versteht sich, dass verschiedene Modifikationen vorgenommen werden können, ohne vom Wesen und Schutzumfang der Erfindung abzuweichen. Dementsprechend liegen andere Ausführungsformen im Schutzumfang der folgenden Ansprüche.
-
Obwohl die vorliegende Beschreibung viele spezifische Implementierungsdetails enthält, sollten diese nicht als Beschränkungen des Schutzumfangs irgendeiner Erfindung oder des Schutzumfangs des Beanspruchbaren aufgefasst werden, sondern stattdessen als Beschreibungen von Merkmalen, die für konkrete Ausführungsformen bestimmter Erfindungen spezifisch sein können. Bestimmte Merkmale, die in der vorliegenden Beschreibung im Kontext getrennter Ausführungsformen beschrieben werden, können auch in Kombination in einer einzigen Ausführungsform implementiert werden. Umgekehrt können verschiedene Merkmale, die im Kontext einer einzigen Ausführungsform beschrieben werden, auch in mehreren Ausführungsformen getrennt oder in einer beliebigen geeigneten Subkombination implementiert werden. Obwohl oben Merkmale als in bestimmten Kombinationen wirkend beschrieben sein und sogar anfänglich dementsprechend beansprucht werden können, können ein oder mehrere Merkmale aus einer beanspruchten Kombination in einigen Fällen aus der Kombination herausgenommen werden, und die beanspruchte Kombination kann eine Subkombination oder Abwandlung einer Subkombination betreffen.
-
Obwohl Operationen in den Zeichnungen in einer bestimmten Reihenfolge abgebildet sind, sollte dies ähnlich nicht als Erfordernis aufgefasst werden, dass solche Operationen in der konkreten gezeigten Reihenfolge oder in sequentieller Reihenfolge auszuführen sind oder dass alle dargestellten Operationen auszuführen sind, um wünschenswerte Ergebnisse zu erzielen. Unter bestimmten Umständen kann Multitasking und Parallelverarbeitung vorteilhaft sein. Außerdem sollte die Trennung verschiedener Systemmodule und Komponenten in den oben beschriebenen Ausführungsformen nicht als Erfordernis solcher Trennung in allen Ausführungsformen aufgefasst werden, und es versteht sich, dass die beschriebenen Programmkomponenten und Systeme im Allgemeinen in einem einzigen Softwareprodukt miteinander integriert oder in mehrere Softwareprodukte verpackt werden können.
-
Es wurden konkrete Ausführungsformen des Gegenstands beschrieben. Andere Ausführungsformen liegen im Schutzumfang der folgenden Ansprüche. Zum Beispiel können die in den Ansprüchen angeführten Schritte in einer anderen Reihenfolge ausgeführt werden und immer noch wünschenswerte Ergebnisse erzielen. Als ein Beispiel erfordern die in den beigefügten Figuren abgebildeten Prozesse nicht unbedingt die konkrete gezeigte Reihenfolge oder sequentielle Reihenfolge, um wünschenswerte Ergebnisse zu erzielen. In einigen Fällen kann Multitasking und Parallelverarbeitung vorteilhaft sein.