HINTERGRUND DER ERFINDUNG
1. Gebiet der Erfindung
Die vorliegende Erfindung bezieht sich auf ein Datenrückgewinnungsverfahren
und eine Datenrückgewinnungsschaltung zum Wiederherstellen von seriell übertragenen
Daten.
2. Beschreibung des Standes der Technik
In den letzten Jahren und weiterhin wurden verschiedene Arten von
Hochgeschwindigkeits-Schnittstellenstandards vorgeschlagen und in praktischen Gebrauch
genommen, um auf den Bedarf für die Hochgeschwindigkeits-Datenübertragung
zu antworten. Beispiele solcher Schnittstellenstandards umfassen USB (universeller
serieller Bus), seriellen ATA (Anschluss der fortschrittlichen Technologie), IEEE
1394, 1G/10G Ethernet (eingetragene Handelsmarke), InfiniBand, RapidIO, Faserkanal
und PCI Express (Peripheriekomponenten-Verbindungsbus). Es wird erwartet, dass in
der Zukunft immer mehr Betonung auf die Datenübertragung mit höherer Rate
und großer Kapazität gelegt wird.
Die meisten der Hochgeschwindigkeitsschnittstellen verwenden serielle
Übertragungsschemen zur Übertragung von Daten gemäß einer vorbestimmten
Frequenz. Ein Takt mit dieser Frequenz wird in die übertragenen Daten eingebettet.
Das Empfangsende extrahiert diesen Takt aus den empfangenen Daten und stellt die
empfangenen Daten auf der Basis des extrahierten Taktsignals wieder her. Die Schaltung
zum Durchführen des Wiederherstellungsprozesses wird Taktdaten-Rückgewinnungsschaltung
(CDR-Schaltung) genannt.
In herkömmlichen CDR-Schaltungen wird im Allgemeinen ein Phasenregelkreis
(PLL) verwendet. Das Oszillationssignal (oder der Takt) des spannungsgesteuerten
Oszillators (VCO) des PLL wird so gesteuert, dass er mit der Phase der empfangenen
Daten synchronisiert wird. Das Oszillationssignal wird als Wiedergabetaktsignal
ausgegeben. Das empfangene Signal wird unter Verwendung des Wiedergabetaktsignals
als Referenz zwischengespeichert und folglich genau wiederhergestellt.
Zusammen mit der Zunahme der Datenübertragungsrate jedes Jahr
hat jedoch die VCO-Frequenz die GHz-Größenordnung für die Datenübertragung
erreicht. Die CDR-Schaltung, die einen solchen Hochfrequenz-VCO enthält, hat
einige negative Effekte, einschließlich einer vergrößerten Chipgröße,
eines erhöhten Leistungsverbrauchs und erhöhter Kosten. Außerdem
kann die durch die Verdrahtung induzierte Taktverzögerung in einer solchen
Situation, in der eine weitere Beschleunigung der Datenübertragung erforderlich
ist, nicht ignoriert werden und die Verdrahtungsanordnung und die Vorrichtungsanordnung
wurden ausreichend in Erwägung gezogen. Folglich wird die Schaltungskonstruktion
komplizierter. Da die Verdrahtungsverzögerung erheblich von den Eigenschaften
der verwendeten Werkzeuge oder Vorrichtungen abhängt, kann die Verdrahtungsanordnung
für jeden Prozess neu entworfen werden müssen, und im schlimmsten Fall
kann die Schaltung selbst neu entworfen werden müssen. Folglich wird die Wiederverwendbarkeit
der Schaltung verschlechtert und die Entwicklungsdauer wird lang.
Um das vorstehend beschriebene Problem zu beseitigen, wird eine Überabtast-Datenrückgewinnungsschaltung
vorgeschlagen. Siehe B Kim et al., "A 30-MHz Hybrid Analog/Digital Clock Recovery
Circuit in 2-um CMOS" IEEE JSSC, Dezember 1990, auf 1385–1394.
1 ist ein schematisches Blockdiagramm, das die Struktur
einer herkömmlichen Taktdaten-Rückgewinnungsschaltung (CDR-Schaltung)
darstellt. Die herkömmliche CDR-Schaltung umfasst einen Mehrphasentaktgenerator
200, eine Flip-Flop-Schaltung 201 und einen digitalen PLL (DPLL)
202. Der Mehrphasentaktgenerator 200 ist durch einen Phasenregelkreis
(PLL) oder einen verzögerten Regelkreis (DLL) strukturiert und erzeugt mehrere
Takte, deren Phasen vom Referenztakt (RefCLK) in regelmäßigen Intervallen
verschoben sind.
Die Flip-Flop-Schaltung (F/F-Schaltung) 201 umfasst mehrere
Flip-Flops, wovon jedes Eingangsdaten am Dateneingangsanschluss über einen
gemeinsamen Pfad empfängt und einen Takt (einen der Takte CLK1–CLKN)
am Takteingangsanschluss empfängt. Jedes Flip-Flop nimmt die Eingangsdaten
an der steigenden Flanke (oder der fallenden Flanke) des entsprechenden Takts an.
Folglich sind die aus der Flip-Flop-Schaltung 201 ausgegebenen Daten ein
Satz von Datenelementen, die mit den phasenverschobenen Takten abgetastet sind.
Der digitale PLL 202 erfasst den Logikinversionszeitpunkt aus der Bitsequenz,
die von der Flip-Flop-Schaltung 201 geliefert wird, wählt einen Takt
synchron mit dem Inversionszeitpunkt aus den mehreren Takten aus und stellt den
ausgewählten Takt als Rückgewinnungstakt (RecCLK) wieder her. Der DPLL
202 wählt auch Daten, die mit einem Takt mit verschobener Phase (z.
B. ein Takt mit entgegengesetzter Phase) vom Rückgewinnungstakt (beispielsweise
ein Takt mit entgegengesetzter Phase) abgetastet wurden, aus und gibt sie als Rückgewinnungsdaten
(RecData) aus. Der Dateninversionszeitpunkt wird nach dem Filtern (oder Glätten
durch ein Filter) erfasst, um den Rückgewinnungstakt (RecCLK) auszuwählen.
Dieser Rückgewinnungstakt (RecCLK) wird im Signalprozessor
der späteren Stufe verwendet. Mit dieser Anordnung können alle Schaltungen
abgesehen vom Mehrphasengenerator 200 durch digitale Schaltungen strukturiert
und leicht implementiert werden.
Die Phasendifferenz zwischen den mehreren Takten muss jedoch genau
gesteuert werden, da eine ungleichmäßige Phasendifferenz Fehler einführen
kann.
2 ist ein Ablaufplan, der das Problem zeigt, das durch
die Veränderung der Phasendifferenz in der herkömmlichen Taktdatenrückgewinnungsschaltung
verursacht wird. In diesem Beispiel werden vier Takte (CLK1–CLKN4) erzeugt,
deren Phase um vorgeschriebene Grade verschoben ist. Es wird angenommen, dass die
Phase von CLK2 um &Dgr; hinter dem idealen Zustand erhalten wird, dass CLK2 als
Rückgewinnungstakt (RecCLK) ausgewählt wird und dass jeder Datensatz synchron
mit dem Rückgewinnungstakt im Signalprozessor verarbeitet wird. Wenn die Phase
des Rückgewinnungstakts (RecCLK) auf jene von CLK 1 zum Zeitpunkt Tsw umgeschaltet
wird, wird die Periode (T') des Rückgewinnungstakts (RecCLK) im Gegensatz zur
ursprünglichen Phasendifferenz um &Dgr; kürzer. Folglich kann die Zeit
Tsu', die erforderlich ist, um das Flip-Flop im Signalprozessor einzurichten, nicht
garantiert werden und im schlimmsten Fall treten Fehler auf. Selbst wenn die Schaltung
derart entworfen ist, dass die Takte in regelmäßigen Intervallen an den
Ausgangsanschlüssen des Mehrphasentaktgenerators 200 erzeugt werden,
werden diese Takte durch einen Versatz (beispielsweise aufgrund der Verdrahtung
oder Last) vor dem Rückgewinnungstakt-Ausgangsanschluss (RecCLK-Ausgangsanschluss)
beeinflusst. Der Versatz wird auffällig, wenn die Betriebsgeschwindigkeit zunimmt.
In diesem Fall muss die Veränderung der Verzögerung zwischen mehreren
Takten an jeder Stelle beseitigt werden; eine solche Beseitigung ist jedoch sehr
schwierig und wurde noch nicht verwirklicht.
Eine weitere Veröffentlichung JP 2002-190724A offenbart ein Phasensteuerverfahren
zum Einstellen der Taktphase unter Verwendung eines Phaseninterpolators am Mehrphasentaktgenerator.
Die Verwendung eines Phaseninterpolators ermöglicht, dass mehrere Takte ausgegeben
werden, wobei die Phase in strengen regelmäßigen Intervallen verschoben
ist. Der Schaltungsmaßstab wird jedoch groß und die Verdrahtungsverzögerung
aufgrund des Hochgeschwindigkeitsbetriebs kann nicht ignoriert werden. Die Verdrahtungsverzögerung
könnte durch Korrigieren der Phasen der mehreren Takte in jeder Eingangsstufe
vermieden werden; dieses Verfahren ist jedoch genauso schwierig wie die Implementierung
einer Überabtast-CDR-Schaltung, die mit einer Überabtastfrequenz (die
viermal die Taktfrequenz der übertragenen Daten in dem in 2
gezeigten Beispiel ist) arbeitet.
Für diejenigen Vorrichtungen, die eine herkömmliche CDR-Schaltung
mit einem analogen PLL oder eine Überabtast-CDR-Schaltung verwenden, um den
Takt aus den Eingangsdaten zurückzugewinnen, um eine Signalverarbeitung auf
der Basis des zurückgewonnenen Takts durchzuführen, wird folglich die
Entwicklungsperiode immer länger, wenn die Übertragungsrate zunimmt, da
die CDR-Konstruktion schwieriger wird.
WO 03/036853 A offenbart eine Übergangserfassungs-, Validierungs-
und Speicherschaltung (TDVM-Schaltung), die die Position eines Übergangs in
einem Strom von seriell übertragenen binären Daten (Bits), die überabgetastet
werden, erfasst und ein Steuersignal erzeugt, das angibt, welches abgetastete Signal
die besten Daten darstellt. Der eingehende Datenstrom wird durch die n Phasen eines
Mehrphasen-Taktsignals überabgetastet. Die Frequenz des Mehrphasen-Taktsignals
ist aus Stabilitätsgründen dieselbe oder die Hälfte der Frequenz
der eingehenden Daten. Die n überabgetasteten Signale (S) werden in die TDVM-Schaltung
eingespeist, die aus drei Abschnitten besteht. Der erste Abschnitt erfasst den Übergang
in den Positionen von zwei aufeinander folgenden abgetasteten Signalen gemäß
einer speziellen Signalverarbeitung, die zweimal drei Vergleiche an sechs aufeinander
folgenden überabgetasteten Signalen (wobei das mittlere jederzeit ausgeschlossen
wird) durchführen muss. Der zweite Abschnitt validiert die zweite Erfassung
als Übergangsposition. Der dritte Abschnitt speichert die validierte Übertragungsposition
und erzeugt ein Steuersignal, das verwendet wird, um die Daten zurückzugewinnen.
Dieses Steuersignal kann beispielsweise in einer Abtastauswahl/Datenausrichtungs-Schaltung
verwendet werden, um das überabgetastete Signal auszuwählen, das sich
für die anschließende Verarbeitung am besten eignet.
US 6 266 799 A offenbart ein Daten/Takt-Rückgewinnungssystem
zur Verwendung in Vernetzungs-Sendeempfängereinheiten mit hoher Geschwindigkeit.
Das Daten/Takt-Rückgewinnungssystem umfasst eine Abtastschaltung mit vier Phasen,
die dazu konfiguriert ist, eine Dateneingangswellenform zu empfangen und Ausgangsdaten
zu erzeugen. Eine Übergangserfassungsschaltung ist dazu beschaffen, die von
der Abtastschaltung mit vier Phasen erzeugten Ausgangsdaten zu empfangen. Die Übergangserfassungsschaltung
ist dazu konfiguriert, festzustellen, ob ein Takt der Dateneingangswellenform voreilt
oder nacheilt. Ein Zähler zum Verschieben des Takts, wenn der Takt von der
Übergangserfassungsschaltung als der Dateneingangswellenform entweder voreilend
oder nacheilend festgestellt wird, so dass die Verschiebung dazu konfiguriert ist,
den Takt und die Dateneingangswellenform zu synchronisieren. Ein
Decodierer empfängt Steuersignale vom Zähler, so dass der Decodierer ein
Auswahlsignal erzeugt. Das Daten/Takt-Rückgewinnungssystem umfasst ferner einen
Multiplexer zum Auswählen von vier vorbestimmten Taktphasen in Reaktion auf
das vom Decodierer erzeugte Auswahlsignal.
ZUSAMMENFASSUNG DER ERFINDUNG
Es ist eine Aufgabe der vorliegenden Erfindung, ein verbessertes Datenrückgewinnungsverfahren
zum genauen Wiederherstellen von Daten zu schaffen.
Die vorstehend erwähnte Aufgabe wird durch den Gegenstand der
unabhängigen Ansprüche gelöst. Die abhängigen Ansprüche
richten sich auf vorteilhafte Ausführungsformen.
VORTEILE DER ERFINDUNG
Vorteilhafterweise wird ein Datenrückgewinnungsverfahren zum
genauen Wiederherstellen von Daten unter Verwendung eines unabhängigen Takts
bei oder unter der Taktfrequenz der Eingangsdaten anstelle von Rückgewinnungstakten,
die in den Eingangsdaten enthalten sind, unter einem geringeren Einfluss von Jitter,
selbst wenn der Jitter in den Eingangsdaten enthalten ist, geschaffen.
Vorteilhafterweise wird ein Datenrückgewinnungsverfahren geschaffen.
Das Verfahren umfasst die Schritte:
- (a) Überabtasten von Daten, die seriell synchron mit einem ersten Takt
mit einer Frequenz f1 übertragen wurden, unter Verwendung eines Mehrphasentakts,
der durch Verschieben einer Phase eines zweiten Takts mit einer Frequenz f2 in einem
vorgeschriebenen Intervall erzeugt wird, wobei die zweite Frequenz f2 des Mehrphasentakts
auf oder unter der ersten Frequenz f1 liegt;
- (b) Extrahieren von f1/f2 Bits im Durchschnitt aus den überabgetasteten
Daten; und
- (c) Rückgewinnen der extrahierten Bits, um die empfangenen Daten wiederherzustellen.
Ferner wird vorteilhafterweise eine Datenrückgewinnungsschaltung
zum Wiederherstellen von Daten durch Überabtasten von seriell übertragenen
Daten geschaffen. Die Datenrückgewinnungsschaltung umfasst:
- (a) eine Abtasteinheit, die so konfiguriert ist, dass sie Daten, die seriell
synchron mit einem ersten Takt mit der Frequenz f1 übertragen wurden, unter
Verwendung eines Mehrphasentakts, der durch Verschieben einer Phase eines zweiten
Takts mit der Frequenz f2 in einem vorgeschriebenen Intervall erzeugt wird, überabtastet,
wobei die zweite Frequenz f2 des Mehrphasentakts auf oder unter der ersten Frequenz
f1 liegt;
- (b) eine Datenwiederherstellungseinheit, die so konfiguriert ist, dass sie f1/f2
Bits im Durchschnitt aus den überabgetasteten Daten extrahiert und die extrahierten
Bits zurückgewinnt, um die empfangenen Daten wiederherzustellen.
In dieser Weise wird die seriell übertragene Datensequenz unter
Verwendung eines Mehrphasentakts mit der Frequenz f2 überabgetastet, wobei
die Frequenz auf oder unter der Taktfrequenz f1 liegt, die in den seriell übertragenen
Daten enthalten ist, ohne direkt den Datenübertragungstakt f1 zu verwenden.
Eine vorgeschriebene Anzahl von Bits werden aus den überabgetasteten Daten
extrahiert, wobei die Phasenabweichung aufgrund der Frequenzdifferenz berücksichtigt
wird. Folglich kann der Datenrückgewinnungsprozess selbst bei einer hohen Übertragungsrate
leicht ausgeführt werden, während eine nachteilige Auswirkung von Jitter
verhindert wird, und eine genaue Datenrückgewinnung wird verwirklicht.
Mit dem Datenrückgewinnungsverfahren und der Datenrückgewinnungsschaltung
wird ein separater Takt, der vom Datenübertragungstakt unabhängig ist,
verwendet, um die empfangenen Daten überabzutasten. Außerdem werden die
empfangenen Daten unter Verwendung des Taktmusters mit derselben Periode wie jener
des in den empfangenen Daten enthaltenen Übertragungstakts zurückgewonnen,
während die Phase des Taktmusters verschoben wird. Folglich besteht ein geringer
Einfluss der Frequenzdifferenz und/oder von Jitter auf die zurückgewonnenen
Daten. Da die Frequenz f2 des Mehrphasentakts auf einen Bruchteil des Takts f1 der
empfangenen Daten gesetzt werden kann, kann die Schaltung leicht auf einen Anstieg
der Datenübertragungsrate eingehen.
KURZBESCHREIBUNG DER ZEICHNUNGEN
Weitere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung
werden aus der folgenden ausführlichen Beschreibung besser ersichtlich, wenn
sie in Verbindung mit den begleitenden Zeichnungen gelesen wird, in denen:
1 ein Blockdiagramm ist, das die Struktur einer herkömmlichen
Taktdaten-Rückgewinnungsschaltung (CDR-Schaltung) darstellt;
2 ein Ablaufplan ist, der ein Problem in der herkömmlichen
CDR-Schaltung aufgrund einer Abweichung der phasenverschobenen Takte zeigt;
3 ein schematisches Diagramm ist, das die Struktur
der physikalischen Ebene einer seriellen Datenübertragung darstellt, auf die
die Datenrückgewinnungsschaltung der vorliegenden Erfindung angewendet
wird;
4 ein Blockdiagramm einer Datenrückgewinnungsschaltung
gemäß der ersten Ausführungsform der Erfindung ist;
5 ein Ablaufplan ist, der ein Beispiel von Wellenformen
der Hauptsignale in der Überabtasteinheit zeigt;
6 ein Blockdiagramm des Auswahlsignalgenerators ist;
7A ein Ablaufdiagramm ist, das die Wellenformen der
Hauptsignale im Auswahlsignalgenerator zeigt, und 7B
eine vergrößerte Ansicht eines Teils des Ablaufplans von 7A
ist;
8 ein schematisches Diagramm ist, das den Phasenübergang
des Taktmusters CKP zeigt;
9 eine Tabelle ist, die ein Beispiel einer Umsetzungsregel
zum Umsetzen des Zustandssignals in ein Taktmuster CKP zeigt;
10 ein Blockdiagramm ist, das ein Beispiel der Datenauswahleinrichtung
darstellt;
11A und 11B Diagramme
sind, die die Bitsynchronisation der Datenrückgewinnungsschaltung gemäß
der ersten Ausführungsform der Erfindung darstellen;
12 ein Diagramm zum Erläutern der Beziehung zwischen
dem Phasenfehler und der Jittertoleranz ist;
13 ein Blockdiagramm ist, das ein Beispiel des Entserialisierers
zeigt, der in der Datenrückgewinnungsschaltung verwendet wird;
14 ein Schaltplan ist, der die detaillierte Struktur
des im Entserialisierer verwendeten Schieberegisters darstellt;
15A ein Ablaufplan ist, der verschiedene Signale darstellt,
die in der Symbolsynchronisations-Steuereinheit und im Symbolumsetzer, die in
13 gezeigt sind, verwendet werden, und 15B
eine vergrößerte Ansicht eines Teils des Ablaufplans von 15A
ist;
16 ein Ablaufplan des Datenrückgewinnungsverfahrens
gemäß der ersten Ausführungsform der Erfindung ist;
17A bis 17E Beispiele
von verschiedenen Datenelementen darstellen, die aus den überabgetasteten Daten
erzeugt werden;
18 ein Diagramm ist, das zum Erläutern der Umsetzung
in Symboldaten verwendet wird;
19 ein Schaltplan ist, der die Struktur des Phasenregelkreises
(PLL) darstellt;
20 ein Blockdiagramm ist, das den PLL und mehrere physikalische
Ebenen darstellt;
21 ein Blockdiagramm ist, das einen Auswahlsignalgenerator
darstellt, der in einer Datenrückgewinnungsschaltung gemäß der zweiten
Ausführungsform der Erfindung verwendet wird;
22 eine Tabelle ist, die ein Beispiel einer Umsetzungsregel
zum Umsetzen des Zustandssignals in Auswahlsignale Se1F und Se1R darstellt;
23 ein Blockdiagramm einer Datenauswahleinrichtung
ist, die in einer Datenrückgewinnungsschaltung gemäß der zweiten
Ausführungsform der Erfindung verwendet wird;
24 ein Ablaufplan von Signalen ist, die aus der Datenauswahleinrichtung
ausgegeben werden; und
25 ein Graph ist, der die Jittertoleranz gemäß
der zweiten Ausführungsform der Erfindung zeigt.
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
Die bevorzugten Ausführungsformen der vorliegenden Erfindung
werden nun nachstehend in Verbindung mit den beigefügten Zeichnungen erläutert.
(Erste Ausführungsform)
3 ist ein schematisches Blockdiagramm, das eine serielle
Datenübertragung darstellt, auf die eine Datenrückgewinnungsschaltung
gemäß der ersten Ausführungsform der Erfindung angewendet wird.
Die physikalische Ebene 100 umfasst einen Sender
101 zum Senden von Daten und einen Empfänger 102 zum Empfangen
von Daten. Daten werden zu und von einer anderen physikalischen Ebene
120 mit einem Paar eines Senders 122 und Empfängers
121 über Übertragungsleitungen 106 und 107
gesendet und empfangen. Die physikalische Ebene 100 weist einen PLL
113 zum Erzeugen eines Takts mit der Frequenz f2 aus einem Referenztakt
RefCLK 1 auf. Die physikalische Ebene 120 weist einen PLL 123
zum Erzeugen eines Takts mit der Frequenz f1 aus einem Referenztakt RefCLK 2 auf.
Die physikalischen Ebenen 100 und 120 arbeiten mit Frequenzen f2
und f1, die durch die PLLs 113 bzw. 123 erzeugt werden. Das Paar
des Senders 101 und Empfängers 102 und das Paar des Senders
121 und Empfängers 122 werden Ports genannt. Die serielle
Datenübertragung wird zwischen den Ports punktweise durchgeführt.
Die Übertragungsleitungen 106 und 107 der vorliegenden
Ausführungsform bilden eine Duplexleitung, die das Senden und Empfangen von
Daten gleichzeitig über separate Übertragungsleitungen ermöglicht;
die Erfindung ist jedoch nicht auf dieses Beispiel begrenzt und Halbduplex (oder
Teilduplex) kann verwendet werden. Anstelle der Übertragungsleitungen
106 und 107 können drahtlose Übertragungskanäle
auch verwendet werden.
Der Sender 101 umfasst einen Codierer 103 zum Codieren
von Übertragungsdaten Dtx, die von einer oberen Ebene geliefert werden, gemäß
einer vorgeschriebenen Umsetzungsregel, einen Serialisierer 104 zum Umsetzen
der codierten Daten in serielle Daten und eine Ausgabeeinheit 105 zum Ausgeben
der seriell umgesetzten Daten an die Übertragungsleitung 106. Die
Daten werden über die Übertragungsleitung 106 unter Verwendung
von Differenzsignalen übertragen. Der Codierer 103 codiert die Eingangsdaten
durch eine 8b/10b-Codierung zum Umsetzen von 8-Bit-Daten in 10-Bit-Daten ("Symboldaten"
genannt). Durch die 8b/10b-Umsetzung wird ein spezieller K-Zeichensatz mit 10 Bits
unter Verwendung eines Ein-Bit-Steuerbits (DtxK) im Gegensatz zu tatsächlichen
Daten erzeugt. Da die 8b/10b-Umsetzung bekannt ist, wird auf eine detaillierte Erläuterung
in dieser Ausführungsform verzichtet.
Der PLL 113 erzeugt einen Datenübertragungstakt BCLK
mit einer Frequenz, die durch das zugehörige Protokoll definiert ist, sowie
einen internen Takt PCLK, der durch Dividieren des Übertragungstakts BCLK durch
10 beispielsweise durch die internen Operationen auf der Basis des extern gelieferten
Referenztakts RevCLK1 erhalten wird. Wenn beispielsweise die Datenübertragungsrate
1,5 Gbps ist, wird der Übertragungstakt BCLK mit 2,5 GHz erzeugt und der interne
Takt PCLK wird mit 250 MHz erzeugt. Der interne Takt PCLK wird zum Codierer
103 geliefert, während der Übertragungstakt BCLK und der interne
Takt PCLK zum Serialisierer 104 geliefert werden, um jede Komponente anzusteuern.
Das Datensenden und -empfangen zu und von der oberen Ebene werden auch synchron
mit dem internen Takt PCLK ausgeführt.
Die Empfangseinheit 102 umfasst eine Empfangsende-Eingangseinheit
(Rx) 108 zum Binarisieren der Differenzsignale, die über die Übertragungsleitung
107 übertragen wurden, eine Datenrückgewinnungseinheit (DR)
109 zum wiederherstellen der binarisierten Daten, einen Entserialisierer
(DES) 110 zum Umsetzen der wiederhergestellten Daten in parallele Symboldaten
mit 10 Bits, einen elastischen Puffer (BE) 111 zum Absorbieren der Frequenzdifferenz
zwischen dem Sendeseitentakt und dem Empfangsseitentakt und einen Decodierer (DEC)
112 zum Umsetzen der 10-Bit-Symboldaten in 8-Bit-Daten (10b/8b-Umsetzung).
Die physikalische Gegenstückebene 120 umfasst auch eine
Sendeeinheit 122, die Daten synchron mit einem Übertragungstakt mit
der Frequenz f1, der vom PLL 123 aus dem extern gelieferten Referenztakt
RefCLK2 erzeugt wird, sendet.
Der elastische Puffer 111 absorbiert die Frequenzdifferenz
durch Hinzufügen oder Löschen von speziellen Codes. Obwohl in dem in
3 gezeigten Beispiel der elastische Puffer
111vor dem Decodierer 112 angeordnet ist, kann er nach dem Decodierer
112 angeordnet sein. Der annehmbare Bereich einer Frequenzdifferenz ist
durch den zugehörigen Schnittstellenstandard definiert.
Die Datenrückgewinnungsschaltung der ersten Ausführungsform
wird auf die Datenrückgewinnungseinheit 109 der Empfangseinheit
102 angewendet. In diesem Beispiel fungiert die Datenrückgewinnungsschaltung
auch als Entserialisierer 110; die Erfindung ist jedoch nicht auf dieses
Beispiel begrenzt. Die Struktur und die Funktion der anderen Komponenten der physikalischen
Ebene 100 können willkürlich modifiziert werden, solange sie
mit der Datenrückgewinnungsschaltung der ersten Ausführungsform kombiniert
werden.
In der physikalischen Ebene 100 der ersten Ausführungsform
werden Mehrphasentakte, die zur Datenrückgewinnungseinheit 109 geliefert
werden, und interne Takte PCLK, die zum elastischen Puffer 111 geliefert
werden, durch den PLL 113 erzeugt. Diese Takte werden auch zur Sendeeinheit
101 geliefert (zum Liefern des internen Takts PCLK und des Übertragungstakts
BCLK zum Serialisierer 104 und zum Codierer 103). Folglich wird
der PLL 113 gemeinsam zur Takterzeugung in der Sendeeinheit 101
und der Empfangseinheit 102 verwendet. Dies wird durch Erzeugen von Takten
aus einem separaten Referenztakt RefCLK1, der vom Referenztakt RefCLK2 des Gegenstück-Ports
unabhängig ist, verwirklicht, um alle Komponenten der physikalischen Ebene
100 anzusteuern.
4 ist ein Blockdiagramm der Datenrückgewinnungsschaltung
gemäß der ersten Ausführungsform der Erfindung. Die Datenrückgewinnungsschaltung
umfasst eine Überabtasteinheit 1, einen Mehrphasentaktgenerator
2 und eine Symboldaten-Wiederherstellungseinheit 3.
In diesem Beispiel ist die in 3 gezeigte
Datenrückgewinnungseinheit 109 durch einen Teil der Überabtasteinheit
1 und einen Teil der Symboldaten-Wiederherstellungseinheit 3 strukturiert
und der in 3 gezeigte Entserialisierer 110
ist durch den anderen Teil der Symbolwiederherstellungseinheit 3 strukturiert.
Der in 3 gezeigte PLL 113 ist durch den Mehrphasentaktgenerator
2 strukturiert.
Der Entserialisierer 110 entspricht einem Serien-Parallel-Umsetzer.
Der Serien-Parallel-Umsetzer muss nicht notwendigerweise in der Datenrückgewinnungsschaltung
enthalten sein und er kann separat vorgesehen sein.
Die Überabtasteinheit 1 nimmt empfangene Daten synchron
mit den Mehrphasentakten CK0-CK11, die vom Mehrphasentaktgenerator 2 geliefert
werden, an und gibt überabgetastete Daten OVSD aus.
Die Symboldaten-Wiederherstellungseinheit 3 stellt 10-Bit-Symboldaten
SYM aus den überabgetasteten Daten OVSD wieder her, um den Symboltakt SYMCLK
zu erzeugen. Folglich hat die Symboldaten-Wiederherstellungseinheit 3 die
Datenrückgewinnungsfunktion und eine Entserialisierungsfunktion. Die Symboldaten-Wiederherstellungseinheit
3 arbeitet synchron mit einem der Mehrphasentakte (CK0 in dem in
4 gezeigten Beispiel).
Der Mehrphasentaktgenerator 2 erzeugt einen Takt mit einer
vorgeschriebenen Frequenz aus dem Referenztakt RefCLK und verschiebt die Phase des
erzeugten Takts in regelmäßigen Intervallen, um Mehrphasentakte zu erzeugen.
In dieser Ausführungsform erzeugt der Mehrphasentaktgenerator 2 mehrere
phasenverschobene Takte CK0-CK11, von denen jeder eine Frequenz f2 aufweist, die
die Hälfte des Übertragungstakts BCLK mit einer vorbestimmten Periode
U1 ist. In diesem Fall ist die Phasendifferenz unter den Mehrphasentakten ein sechstel
(1/6) der Periode U1. Mit anderen Worten, wenn die Datenübertragungsrate 2,5
Gbps ist (wobei U1 400 ps ist), dann werden zwölf Takte mit einer Phasendifferenz
von 66,7 ps erzeugt, wobei jeder Takt eine Periode von 800 ps und eine Taktfrequenz
von 1,25 GHz aufweist.
Die Frequenz f2 des Mehrphasentakts ist nicht notwendigerweise die
Hälfte des Übertragungstakts und sie kann auf ein Viertel (1/4) des Übertragungstakts
gesetzt werden. Ebenso ist die Phasendifferenz unter den Mehrphasentakten nicht
auf 1/6 von U1 begrenzt. Außerdem kann der Mehrphasentaktgenerator
1 separat von der Datenrückgewinnungsschaltung vorgesehen sein, obwohl
er in diesem Beispiel in der Datenrückgewinnungsschaltung enthalten ist.
Unter Verwendung von Mehrphasentakten, wobei jeder Takt eine Frequenz
f2 aufweist, die niedriger ist als die Übertragungstaktfrequenz f1, kann in
der Datenrückgewinnungsschaltung die Oszillationsfrequenz des Mehrphasentaktgenerators
2 verringert werden und daher kann sie eine erhöhte Übertragungsrate
bearbeiten.
Als nächstes wird jede Komponente erläutert. Die Überabtasteinheit
1 umfasst einen Satz von zwölf Flip-Flops (F/F0 bis F/F11)
4 und einen Serialisierer 5 zum Ausgeben der Eingansdaten synchron
mit einem der Takte (z. B. mit dem Takt CK0). Die empfangenen Daten werden gemeinsam
mit dem Eingangsanschluss von jedem der zwölf Flip-Flops 4 verbunden
und bei der steigenden Flanke von einem der Mehrphasentakte CK0–CK11 in das
zugehörige Flip-Flop 4 aufgenommen. Die Ausgänge des Flip-Flop-Satzes
4 sind Q0 bis Q11.
Der Serialisierer 5 besitzt beispielsweise zwei Flip-Flops
zum Zwischenspeichern der Ausgangsgruppe Q0–Q5 bzw. der Ausgangsgruppe Q6–Q11.
Dann werden die zwei Gruppen von abgetasteten Datenelementen miteinander kombiniert
und ein Satz von Ausgängen Q0–Q11 wird als überabgetastete Daten
OVSD synchron mit einem der Mehrphasentakte (z. B. mit CK0) ausgegeben.
5 ist ein Ablaufplan, der ein Beispiel von Wellenformen
der Hauptsignale darstellt, die in der Überabtasteinheit 1 verwendet
werden. Die Wellenform (a) stellt die empfangenen Daten dar, die Wellenform (b)
stellt den Datenübertragungstakt dar (der in der Überabtasteinheit nicht
tatsächlich existiert, sondern für eine bessere Erläuterung dargestellt
ist), die Wellenformen (c-0) bis (c-11) stellen die Mehrphasentakte CK0–CK11
dar, die Wellenformen (d-0) bis (d-11) stellen die Daten Q0–Q11 dar, die
in die zugehörigen Flip-Flops 4 mit der Zeitsteuerung der Mehrphasentakte
eingegeben und aus den Flip-Flops 4 ausgegeben werden, ein Paar von Wellenformen
(e-0) und (e-6) stellt zwei Datengruppen Q0-Q5 bzw. Q6–Q11 dar, die in den
Serialisierer 5 eingegeben werden, und die Wellenform (f) stellt die überabgetasteten
Daten OVSD dar, die aus dem Serialisierer 5 ausgegeben werden.
Die Periode von jedem der Mehrphasentakte CK0–CK11 wird auf
das Doppelte von jener der Taktperiode U1(2·U1) des Datenübertragungstakts
(durch (b) angegeben) gesetzt und die Phasen der Mehrphasentakte verschieben sich
in regelmäßigen Intervallen. Die Punkte, die auf die Wellenform (a) der
empfangenen Daten ausrichten, geben die Abtastpunkte an, an denen die Daten in die
Flip-Flops 4 mit den Zeitsteuerungen der Mehrphasentakte eingegeben werden.
Die Ausgangssignale Q0–Q11 der Flip-Flops 4 ändern sich, wie
durch (d-0) bis (d-11) dargestellt.
Die erste Gruppe von Daten Q0–Q5 wird beim Takt CK0 in den
Serialisierer 5 eingegeben, welcher als QQ[0:5] bezeichnet und mit (e-0)
markiert ist. Die zweite Gruppe von Daten Q6-Q11 wird beim Takt CK6 in den Serialisierer
5 eingegeben, der als QQ[6:11] bezeichnet und mit (e-6) markiert ist. Bei
den nächsten Takten CK0 werden QQ[0:5] und QQ[6:11] kombiniert oder serialisiert
und als überabgetastete Daten OVSD [0:11] ausgegeben, wie durch die Wellenform
(f) angegeben. In 5 bezeichnet die linke Seite der
Bitsequenz das LSB, das den früheren zeitlichen Abtastpunkt darstellt.
Diese Anordnung ist vorteilhaft, da, wenn alle Ausgangssignale Q0–Q11
auf einmal genommen werden, die Einrichtungszeit für die letzten paar Bits
(beispielsweise für Q10 und Q11) ausläuft und folglich die korrekten Daten
nicht erfasst werden können. Um dieses Problem zu beseitigen, werden die Daten
in den Serialisierer in zwei Schritten eingegeben, um eine stabile Datenerfassung
zu garantieren. Die Anzahl von Schritten zum Eingeben der Daten kann weiter erhöht
werden, um eine zuverlässige Datenerfassung zu erreichen.
Im Allgemeinen schwankt die steigende Flanke oder die fallende Flanke
der empfangenen Daten zufällig oder aufgrund verschiedener Faktoren, wie durch
den schraffierten Teil A dargestellt. Dieses Phänomen ist als Jitter bekannt.
Insbesondere schwanken die Abtastdaten mit oder nahe der Datenübertragungszeitsteuerung,
die durch weiße Punkte dargestellt ist, und eine genaue Datenwiederherstellung
kann verhindert werden. Dagegen kann die in der Ausführungsform verwendete
Mehrschritt-Datenerfassung den Jitter verringern und ermöglicht eine genaue
Datenwiederherstellung.
Die Symboldaten-Wiederherstellungseinheit 3 umfasst eine
Datenauswahleinheit 6, einen Auswahlsignalgenerator 7, einen Entserialisierer
8 und einen Kommadetektor 9. Die Symboldaten-Wiederherstellungseinheit
3 stellt 10-Bit-Symboldaten SYM aus den überabgetasteten Daten OVSD
durch Serien-Parallel-Umsetzung wieder her und gibt einen phasenverschobenen Symboltakt
SYMCLK aus.
Die überabgetasteten Daten OVSD sind 12-Bit-Daten, die durch
Abtasten von zwei Bits der Übertragungsdaten unter Verwendung von 6-Phasen-Taktsignalen
erhalten werden. Aus den überabgetasteten 12-Bit-Daten OVSD wird jedes in einer
vorgeschriebenen Phase abgetastete Bitpaar ausgewählt und ausgegeben.
Wenn die Frequenz des Übertragungstakts, der in den von der Sendeeinheit
122 der physikalischen Ebene 120 gesandten Daten enthalten ist,
derselbe wie oder ein Bruchteil einer natürlichen Zahl der Frequenz des Mehrphasen-Abtasttakts
(jeder von CK0–CK11) ist, der in der Empfangseinheit 102 der physikalischen
Ebene 100 verwendet wird, kann die Abtastphase fest sein. Es besteht jedoch
typischerweise ein gewisser Bereich einer Frequenzdifferenz und daher wird die Abtastphase
geringfügig eingestellt. Ein 2-Bit-Datenelement (d. h. die Anzahl von zurückgewonnenen
Bits ist zwei) wird beispielsweise gewöhnlich ausgegeben und ein 1-Bit-Datenelement
und ein 3-Bit-Datenelement werden selektiv zu bestimmten Zeitpunkten ausgegeben.
Wenn 1000 ppm (0,1 %) Frequenzdifferenz existieren, ist die empfangene
Datensequenz um ein Bit alle 1000 Bits der Übertragungsdaten versetzt. Daher
wird ein 1-Bit-Datenelement oder ein 3-Bit-Datenelement alle 500 Zyklen des Überabtasttakts
CK0 ausgegeben.
Der Auswahlsignalgenerator 7 erzeugt ein Auswahlsignal (Sel),
das die Datenerfassungsphase (oder anzunehmende Bitposition) in den überabgetasteten
Daten OVSD angibt, sowie Zustandssignale S0 und S1 zum Angeben der Anzahl von zurückzugewinnenden
Bits (1, 2 oder 3). Wenn S0 "1" ist und S1 "0" ist, ist die Anzahl von auszuwählenden
Bits 1. Wenn S1 "1" ist und SO "0" ist, ist die Anzahl von Bits 3. Wenn sowohl S0
als auch S1 "1" sind, ist die Anzahl von Bits 2. Es ist derart konstruiert, dass
die Situation, in der sowohl S0 als auch S1 "1" werden, nicht vorkommt.
Die Datenauswahleinheit 6 gibt selektiv ein 1-Bit-Datenelement,
ein 2-Bit-Datenelement oder ein 3-Bit-Datenelement (d0, d1 oder d2) aus den überabgetasteten
Daten OVSD auf der Basis des Auswahlsignals Sel und der Zustandssignale S0 und S1
aus. Außerdem gibt die Datenauswahleinheit 6 Zustandssignale S0' und
S1' aus, die hinter S0 und S1 um eine vorgeschriebene Zeit verzögert sind.
Der Kommadetektor 9 erfasst ein Komma (einen speziellen Code,
der "Komma" heißt), der in die Übertragungsdaten in einem vorgeschriebenen
Intervall eingefügt wird, und gibt ein Kommaerfassungssignal Det aus.
Der Entserialisierer 8 setzt seriell eingegebene Datenelemente
d0–d2, die von der Datenauswahleinheit 6 geliefert werden, in parallele
10-Bit-Symboldaten SYM um (Serien-Parallel-Umsetzung). Der Entserialisierer
8 gibt auch einen Symboltakt SYMCLK aus.
6 ist ein Blockdiagramm des in 4
gezeigten Auswahlsignalgenerators 7, 7A ist
ein Ablaufdiagramm, das die Wellenformen der Hauptsignale des Auswahlsignalsgenerators
7 zeigt, und 7B ist eine vergrößerte
Ansicht eines Teils von Signalwellenformen. Die mit (a) bis (h-2) in 7A
bezeichneten Signale entsprechen denjenigen Signalen, die mit denselben
Namen in 6 angegeben sind. In 7B
sind die mit (b) bis (g-2) bezeichneten Signale in einer vergrößerten
Ansicht dargestellt. Die in 7A und 7B
dargestellte Bitsequenz stellt das LSB bis zum MSB von links nach rechts dar. Das
LSB ist das am frühesten empfangene Bit.
Die Wellenform (a) stellt den Takt CK0 dar, der vom Mehrphasentaktgenerator
2 geliefert wird, die Wellenform (b) stellt überabgetastete Daten
OVSD[0:11] dar, die Wellenform (c) stellt das Signal RxEdge mit beiden Flanken der
überabgetasteten Daten OVSD dar, die Wellenform (d) stellt den Übergangszustand
dar, der eingeführt wird, wenn die Phase des Taktmusters gemäß den
Übertragungsdaten verschoben wird, die Wellenform (e) stellt ein Taktmuster
CKP dar, das aus einer Sequenz von 12 Bits besteht, die durch den Überabtasttakt
CK0 erzeugt werden, und die Wellenform (f) stellt die fallende Flanke CKEdge [0:11]
des Taktmusters CKP dar. Die Wellenformen (g-1) und (g-2) stellen Phasenverschiebungsindikatoren
(UP und DN) dar, die die Phasenverschiebungszeitsteuerung des Taktmusters angeben,
die mit Bezug auf 8 nachstehend beschrieben werden.
Die Wellenformen (h-1) und (h-2) stellen Zeitpunkte dar, zu denen die Anzahl der
Phasenverschiebungsindikatoren (UP und DN) eine vorgeschriebene Anzahl (N) übersteiget.
Bei Rückkehr zu 6 umfasst der Auswahlsignalgenerator
7 einen Detektor 20 für beide Flanken, einen Vergleicher
21, einen Zähler 22, eine Zustandssteuereinheit
23, einen Taktmusterumsetzer (CKP-Umsetzer) 24, einen Flankendetektor
25 und einen Auswahlsignalumsetzer 26. Der Auswahlsignalgenerator
7 arbeitet auf der Basis des Takts CK0 (der als Wellenform (a) in
7 dargestellt ist), der vom Mehrphasentaktgenerator 2
geliefert wird.
Der Detektor 20 für beide Flanken erfasst die steigende
Flanke und die fallende Flanke der Bitsequenz der überabgetasteten Daten OVSD
(durch die Wellenform (b) dargestellt) und erzeugt ein Signal für beide Flanken
RxEdge (als Wellenform (c) dargestellt) zum Angeben der Flankenposition.
Das RxEdge-Signal ist das EXOR-Ergebnis (exklusive logische Summe)
der überabgetasteten Daten OVSD [0:11] und der um eine Phase verzögerten
Daten dOVSD [0:11], die um ein Bit von OVSD verzögert sind. Die verzögerten
Daten dOVSD [0:11] werden ausgedrückt als
dOVSD [0:11] = {pOVSD [11], OVSD [0:10]}
wobei pOVSD [11] um einen Takt vorherige Daten von OVSD [11] sind. Wie in
7 dargestellt, wird beispielsweise, wenn OVSD [0:11] "011111100000"
ist, dann dOVSD [0:11] "001111110000" und RxEdge [0:11] wird "010000010000".
Der Vergleicher 21 vergleicht das Signal beider Flanken RxEdge
(Wellenform (c)) und das Signal der fallenden Flanke CKEdge des Takts CL0, um festzustellen,
welche Phase voreilt. Wenn die Phase von CKEdge vorn liegt, dann wird das DN-Signal
(g-2) auf "H" gesetzt. Wenn CKEdge hinter dem Flankensignal RxEdge liegt, dann wird
das UP-Signal (G-1) auf "H" gesetzt. Wenn die Phasen von RxEdge und CKEdge miteinander
übereinstimmen, werden die DN- und UP-Signale auf "L" gesetzt.
Der Zähler 22 zählt die ausgegebenen UP-Signale
und DN-Signale. Wenn die Anzahl von UP-Signalen oder die Anzahl von DN-Signalen
einen vorgeschriebenen Wert N erreicht, der durch das LPF-Festlegungssignal definiert
ist, wird ein SUP-Signal (h-1) oder ein SDN-Signal (h-2) ausgegeben. Der Zähler
22 zählt das UP-Signal oder das DN-Signal, was als Schleifenfilter
eines Phasenregelkreises (PLL) funktioniert.
Der Zähler 22 ist beispielsweise ein digitaler Vorwärts-Rückwärts-Zähler.
Wenn das UP-Signal "H" ist, wird der Zählerwert um 1 inkrementiert, und wenn
das DN-Signal "H" ist, wird der Zählerwert um 1 dekrementiert. Wenn der Zählerwert
den vorgeschriebenen positiven Wert (beispielsweise positives N) übersteigt,
wird das SUP-Signal auf "H" gesetzt und der Zählerwert wird auf den Anfangswert
(beispielsweise Null) zurückgesetzt. Wenn der Zählerwert unter den vorgeschriebenen
negativen Wert (beispielsweise negatives N) gelangt, wird das SDN-Signal auf "H"
gesetzt und der Zähler wird initialisiert.
Die positiven und negativen Schwellenwerte können unter Verwendung
des LPF-Einstellsignals verändert werden, um den Mittelungsbereich zu ändern.
Durch Mitteln des Phasenverschiebungs-Vergleichsergebnisses am Zähler kann,
ob die mittlere Position des Datenübergangszeitpunkts der überabgetasteten
Daten OVSD vor oder hinter dem Takt liegt, erfasst werden, selbst wenn der Datenübergangszeitpunkt
der überabgetasteten Daten OVSD aufgrund von Jitter in den empfangenen Daten
schwankt.
Die positiven und negativen Schwellenwerte werden unter Berücksichtigung
der Antwortcharakteristik auf die Frequenzdifferenz zwischen dem Empfangsende und
dem Sendeende ausgewählt. Wenn beispielsweise die Frequenzdifferenz 1000 ppm
ist, sind sechs SUP-Signale (oder sechs SDN-Signale) zur Ausgabe unter 500 Takten
CK0 geeignet und N kann auf einen geeigneten Wert (beispielsweise 16 oder 32), der
geringer als 83 ist, und zum Erreichen des Mittelungseffekts gesetzt werden.
Um die Struktur zu vereinfachen, wenn eine Phasenvoreilung oder Phasenverzögerung
für mehrere Flanken im Vergleicher 21 erfasst wird, werden sowohl
das UP-Signal als auch das DN-Signal auf "H" gesetzt. In diesem
Fall zählt der Zähler 22 nicht vorwärts oder rückwärts,
wenn sowohl das UP-Signal als auch das DN-Signal "H" sind.
Die Zustandssteuereinheit 23 steuert sechs Phasenzustände
(st0–st5) des Taktmusters CKP. Das Taktmuster CKP in diesem Beispiel ist
ein 12-Bit-Taktmuster, das vom Übertragungstakt in zwölf Phasen von Taktsignalen
überabgetastet wird, wobei jeder Takt eine Frequenz aufweist, die zum Übertragungstakt
und einem Zwölftel der Periode äquivalent ist.
8 ist ein schematisches Diagramm, das den Phasenübergang
des Taktmusters CKP darstellt. Die Übergangsbedingung des Taktmusters CKP besteht
darin, dass sich der Phasenzustand jedes Mal, wenn ein SUP-Signal mit "H"-Pegel
aus dem Zähler 22 ausgegeben wird, im Uhrzeigersinn einzeln unter
sechs Zuständen St0–St5 verschiebt, und jedes Mal, wenn ein SDN-Signal
mit "H"-Pegel aus dem Zähler 22 ausgegeben wird, gegen den Uhrzeigersinn
verschiebt. Der Anfangszustand ist beispielsweise St0 und die Zustandssteuereinheit
23 gibt das Zustandssignal, das den Anfangszustand St0 angibt, zusammen
mit den Zustandssignalen S0 und S1 aus. Das Zustandssignal S0 wird "H", wenn der
Phasenzustand von St4 auf St3 übergeht, und das Zustandssignal S1 wird "H",
wenn der Phasenzustand von St3 auf St4 übergeht.
Bei Rückkehr zu 6 setzt der CKP-Umsetzer
24 das Zustandssignal in das Taktmuster CKP um.
9 ist eine Tabelle, die ein Beispiel einer Umsetzungsregel
zum Umsetzen des Zustandssignals in das Taktmuster CKP darstellt. Das in
9 gezeigte Taktmuster ist ein 12-Bit-Muster, das in
zwölf Phasen überabgetastet ist, die durch Unterteilen der Periode (IU1)
des Übertragungstakts definiert sind, und wenn die Phase des Taktmusters CKP
um ein Bit voreilt, wenn der Phasenzustand in den nächsten Zustand in den Zuständen
St0–St5 übergeht.
Der Auswahlsignalumsetzer 26 setzt das Zustandssignal in
das Auswahlsignal Sel um. Das Auswahlsignal Sel wird bei der steigenden Flanke des
Taktmusters CKP "1 ". Diese Umsetzungsregel ist auch in 9
zusammen mit der Taktmuster-Umsetzungsregel (CKP-Umsetzungsregel) dargestellt.
Wenn der Phasenzustand von St4 auf St3 oder von St3 auf St4 übergeht,
wird ein anderes Auswahlsignal, das auf der rechten Seite der Tabelle dargestellt
ist, ausgegeben. Die Zustandssignale S0 und S1 stellen die Anzahl von auszuwählenden
oder zurückzugewinnenden Bits, d. h. die Anzahl von Bits "1" im Auswahlsignal
oder die Anzahl von steigenden Flanken eines Takts, dar. Wenn S0 "1" ist, ist die
Anzahl von Bits "1", die im Auswahlsignal Sel enthalten sind, eins. In diesem Fall
soll ein 1-Bit-Datenelement ausgegeben werden. Wenn S1 "1" ist, ist die Anzahl von
Bits "1" im Auswahlsignal Sel drei. In diesem Fall soll ein 3-Bit-Datenelement ausgegeben
werden. Wenn S0 und S1 "0" sind, ist die Anzahl von Bits "1" zwei, was der gewöhnliche
Fall ist. Wie in 9 dargestellt, ist, wenn sich der
Phasenzustand von St4 auf St3 verschiebt, nur ein Bit im Auswahlsignal Sel "1 ".
Wenn sich der Phasenzustand von St3 zu St4 verschiebt, werden drei Bits im Auswahlsignal
Sel "1". Diese Muster sind von den gewöhnlichen Auswahlsignalen, die zwei effektive
Bits "1" enthalten, verschieden.
Der Flankendetektor 25 erfasst eine Bitposition, in der die
Logik der Bitsequenz des Taktmusters CKP invertiert wird, wenn sich ein Bit von
"1" auf "0" ändert, d. h. die Position der fallenden Flanke des Taktmusters
CKP, und gibt ein Signal CKEdge für eine fallende Flanke aus. Das Signal CKEdge
für eine fallende Flanke wird durch Durchführen einer logischen Operation
(~CKP&dCKP) am Taktmustersignal CKP und den um eine Phase verzögerten Daten
dCKP [0:11], die um ein Bit vom Taktmuster CKP bitweise verzögert sind, ausgegeben.
Das Symbol "~CKP" stellt eine NOT-Operation dar und "&" stellt eine
AND-Operation dar. Wenn ein um einen Takt vorheriges CKP [11] als pCKP11 bezeichnet
wird, dann wird dCKP [0:11] ausgedrückt als
dCKP[0:11] = {pCKP11, CKP[0:11]}
wie bereits vorstehend beschrieben wurde.
Mit Rückkehr zu 7 sind die überabgetasteten
Daten OVSD (Wellenform (b)) Daten, die von den Übertragungsdaten "10101010..."
an der Überabtasteinheit 1 überabgetastet wurden, und bestehen
aus aufeinander folgenden Datensequenzen von "011111100000". Das als Wellenform
(d) dargestellte Zustandssignal beginnt mit St0. Auf der Basis des Zustandssignals
St0 wird das Taktmuster CKP (Wellenform (d)) von "000111000111" gemäß
der in 9 gezeigten Umsetzungsregel ausgegeben. Das
Flankensignal RxEdge (Wellenform (c)) wird "010000010000" und die fallende Flanke
DKEdge des Taktmusters CKP (Wellenform (f)) wird "100000100000".
In der in der vergrößerten Ansicht I von 7B
gezeigten Periode (i) liegt die ansteigende Position des Taktmusters CKP vor der
Flankenposition RxEdge der überabgetasteten Daten OVSD. Folglich wird das mit
(g-2) bezeichnete DN-Signal "H". Wenn der Zählerwert des Zählers
22 -N erreicht, wird das mit (h-2) bezeichnete SDN-Signal "H" und der Übergangszustand
ändert sich zu St5, wie durch die Wellenform (d) angegeben. Folglich ändert
sich das Taktmuster CKP (Wellenform (e)) zu "100011100011" und
die Phasen von RxEdge (Wellenform (c)) und CKEdge (Wellenform (f)) kommen in Übereinstimmung,
wie in der vergrößerten Ansicht II von 7B
dargestellt. In dieser Weise wird das Taktmuster CKP mit den überabgetasteten
Daten OVSD synchronisiert.
10 ist ein schematisches Blockdiagramm der Datenauswahleinrichtung
6. Die Datenauswahleinrichtung 6 besitzt eine erste Auswahleinrichtung
30 und eine zweite Auswahleinrichtung 31. Die erste Auswahleinrichtung
30 stellt Datenelemente d0 und d1 aus den überabgetasteten Daten OVSD
[0:5] auf der Basis des Auswahlsignals Sel [0:5] und der Zustandssignale S0 und
S1 wieder her. Die zweite Auswahleinrichtung 31 stellt ein Datenelement
d2 aus den überabgetasteten Daten OVSD [6:11] auf der Basis des Auswahlsignals
Sel [6:11], das aus dem Auswahlsignalgenerator 7 ausgegeben wird, wieder
her.
Die Datenelemente d0, d1 und d2 werden gemäß den folgenden
Regeln umgesetzt, wobei das Symbol "&" das logische Produkt oder eine AND-Operation
darstellt.
Wenn S0 "H" ist, ignoriere d0 und d1;
Wenn S1 "H" ist, setze d0 in OVSD[0] um und setze d1 in OVSD[5] um;
Wenn S0 und S1 "L" sind, setze d0 in das logische Produkt OVSD[k] & Sel[k] um, wobei
k von 0 bis 5 verändert wird, und ignoriere d1; und
Setze d2 in das logische Produkt OVSD[k] & Sel[k] um, wobei k von 6 bis 11 variiert,
ungeachtet des S0-Pegels und S1-Pegels ("H" oder "L").
Wenn S0 "H" ist, wird nur d2 zu effektiven Daten. Wenn S1 "H" ist,
sind drei Datenelemente d0, d1 und d2 effektiv. Wenn sowohl S0 als auch S1 "L" sind,
werden zwei Datenelemente d0 und d1 effektiv.
Wenn diese effektiven Datenelemente ausgegeben werden, werden die
Zustandssignale S0' und S1', die um die Operationsverzögerungszeit des Selektors
von S0 und S1 verzögert sind, ausgegeben, um die effektiven Zustände der
wiederhergestellten Daten d0, d1 und d2 anzugeben.
Als nächstes wird eine Erläuterung der Synchronisation zwischen
dem Taktmuster CKP und den überabgetasteten Daten OVSD durchgeführt, die
ausgeführt wird, wenn die Taktfrequenz f1 der empfangenen Daten nicht mit der
Taktfrequenz f2 (die die Auswertung der Mehrphasentakte CK0–CK11 beider Flanken
ist) des Empfangsendes übereinstimmt.
11A und 11B sind Diagramme
zum Erläutern der Bitsynchronisation in der Datenrückgewinnungsschaltung
gemäß der Ausführungsform der Erfindung. Das Diagramm von
11A gilt, wenn f1 größer ist als f2 (f1 >
f2), und das Diagramm von 11B gilt für f1 <
f2.
In 11A und 11B
bedeutet &Dgr;&PHgr; die Phasendifferenz zwischen den empfangenen Daten und dem
Taktmuster CKP, die einen positiven Wert annimmt, wenn die Phase der empfangenen
Daten voreilt. Es wird angenommen, dass zur Zeit ta0 und tb0 das Taktmuster synchron
mit CK0 (Phasenzustand st0) fällt, wobei die Phase mit jener der empfangenen
Daten konsistent ist. Die Bezeichnung "Zählstand" stellt den Zählerwert
dar.
(1) Fall für f1 > f2
Die Phasendifferenz &Dgr;&PHgr; nimmt allmählich zu. Da die
Phase des Taktmusters mit den überabgetasteten diskreten Daten (empfangenen
Daten) OVSD verglichen wird, kann betrachtet werden, dass diese Phasen miteinander
übereinstimmen, wenn &Dgr;&PHgr; im Bereich von 0 bis &pgr;/3 liegt. Wenn
die Phasendifferenz &pgr;/3 übersteigt, d. h., wenn die Zeit ta1 übersteigt,
wird das Phasenvoreilungssignal (UP-Signal) "H" und der Zählerwert des Zählers
22 nimmt zu. Wenn der Zählerwert einen vorgeschriebenen Wert (z. B.
+N) zur Zeit ta2 erreicht, wird das SUP-Signal auf "H" gesetzt, um die Phase vorzuschieben.
Folglich eilt die Phase des Taktmusters CKP um &pgr;/3 vor und die Phasendifferenz
&Dgr;&PHgr; nimmt um &pgr;/3 ab.
(2) Fall für f1 < f2
Die Phasendifferenz &Dgr;&PHgr; nimmt allmählich ab. Wenn
die Phasendifferenz negativ ist (&Dgr;&PHgr; < 0), wird ein Phasenverzögerungssignal
(DN-Signal) erfasst und der Zählerwert nimmt ab. Wenn der Zählerwert einen
vorgeschriebenen Wert (-N in diesem Fall) zur Zeit tb1 erreicht, wird das SDN-Signal
auf "H" gesetzt, um die Phase zu verzögern. Folglich nimmt die Phasendifferenz
&Dgr;&PHgr; um &pgr;/3 zu.
Diese Operationen werden wiederholt, um den bitsynchronisierten Zustand
zu erreichen. Es sollte beachtet werden, dass ein stationärer Phasenfehler
existiert.
12 ist ein Diagramm, das verwendet wird, um die Beziehung
zwischen dem Phasenfehler und der Jittertoleranz zu erläutern. Das obere Muster
gibt ein Augenmuster mit einer Phasendifferenz &Dgr;&PHgr; von Null (&Dgr;&PHgr;=0)
an, die als Fall (a) bezeichnet ist, und das untere Muster gibt ein Augenmuster
mit einer Phasendifferenz &Dgr;&PHgr; von &pgr;/2 an, die als Fall (b) bezeichnet
ist. In diesen Augenmustern stellen die schraffierten Teile Jitterbereiche dar,
in denen Daten nicht genau zurückgewonnen werden können. Der von den Jitterbereichen
sandwichartig eingefügte mittlere Teil wird Öffnung genannt, in welchem
Bereich Daten genau zurückgewonnen werden können.
Wenn der Phasenzustand St0 ist, liegt die fallende Flanke des Taktmusters
CKP bei der Phase 0. Zu diesem Zeitpunkt ist die Phase 3 des Auswahlsignals Sel
"1" und die überabgetasteten Daten OVSD[3] (und OVSD[9]), die in der Phase
3 abgetastet werden, werden wiederhergestellt. Mit dem in 12
dargestellten Jitter befindet sich die Phase 3 in der Augenöffnung sowohl für
&Dgr;&PHgr;=0 als auch &Dgr;&PHgr;=&pgr;/2 und die Daten können genau
wiederhergestellt werden. Wenn jedoch der Jitter zunimmt, kann eine genaue Datenrückgewinnung
nicht durchgeführt werden, insbesondere wenn ein Phasenfehler auftritt, wie
im Fall (b). In diesem Fall wird die Anzahl von Phasen des Mehrphasentakts erhöht,
um den stationären Phasenfehler zu verringern.
13 ist ein Blockdiagramm eines Entserialisierers
8, der in der Datenwiederherstellungseinheit 3, die in
4 gezeigt ist, verwendet wird. Der Entserialisierer
8 umfasst ein Schieberegister 36, in das die wiederhergestellten
Datenelemente d0, d1 und d2 eingegeben werden, einen Symbolumsetzer 37
und eine Symbolsynchronisations-Steuereinheit 38. Das Schieberegister
36 verschiebt und hält nacheinander die wiederhergestellten Datenelemente
d0, d1 und d2 gemäß dem Zustandssignal S0' und S1' und gibt parallele
Daten (PData) aus.
14 ist ein Schaltplan des in 13
gezeigten Schieberegisters 36. Das Schieberegister 36 umfasst
Flip-Flops (Register) 40(0)–40(11) und Multiplexer
41(1)–41(11). Die Flip-Flops 40(0)–40(11)
sind in Kaskade geschaltet, um ein Schieberegister zu bilden. Jeder der Multiplexer
41(1)–41(11) wählt ein Eingangssignal unter den drei
Eingangsanschlüssen gemäß den Zustandssignalen S0' und S1' aus und
gibt das ausgewählte an das zugehörige Flip-Flop aus. Auf der Basis dieser
Auswahl wird das Verschiebungsausmaß umgeschaltet und eines der Datenelemente
d0, d1 und d2 wird selektiv in das Flip-Flop (Registerelement) eingegeben. In
14 ist der Rest der Flip-Flops (F/F 40(5)
und die nachfolgenden) weggelassen.
Die drei Eingänge in jeden Multiplexer entsprechen einer 3-Bit-Verschiebung,
2-Bit-Verschiebung bzw. 1-Bit-Verschiebung von der Oberseite. Wenn S1' "H" ist,
wird das obere Eingangssignal ausgewählt und ausgegeben. Wenn S0' "H" ist,
wird das untere ausgewählt. Im Rest der Fälle wird das mittlere ausgewählt.
Die zwölf Flip-Flops 40 geben die Registerausgangssignale Q0-Q11 aus,
die die parallelen Daten PData [0:11] definieren, die aus dem Schieberegister
36 ausgegeben werden. In dieser Weise wird das zurückgewonnene Datenelement
mit 1, 2 oder 3 Bits in parallele Daten PData umgesetzt.
Der in 13 gezeigte Kommadetektor stellt
fest, ob ein vorgeschriebenes Kommacodemuster in den parallelen Daten PData enthalten
ist, die vom Entserialisierer 8 (genauer vom Schieberegister
36 des Entserialisierers 8) geliefert werden. Der Kommadetektor
9 liefert das Erfassungsergebnis Det und die erfasste Position (DetPos),
falls erfasst, zum Entserialisierer 8. Die erfasste Position wird beispielsweise
durch die Bitzahl des LSB des erfassten Kommacodemusters angegeben.
Der Kommacode bei der 8b/10b-Umsetzung ist "0011111010" oder "1100000101
", wobei das Bit des linken Endes das erste empfangene Bit (FRB) ist. Ein anderes
Codemuster, wie z. B. "0011111001" oder "1100000110", mit den Attributen, die den
Symbolbegrenzer angeben, kann erfasst werden.
Wenn beispielsweise PData [11:0] "100111110101" ist, dann stimmt PData
[10:0] mit dem Kommamuster überein und daher wird das Erfassungssignal Det
auf "H" gesetzt und DetPos=1 wird als erfasste Position DetPos ausgegeben.
15A ist ein Ablaufplan, der verschiedene Wellenformen
zeigt, die verwendet werden, um die Symbolsynchronisationseinheit 38 und
den Symbolumsetzer 37, die in 13 gezeigt sind,
zu erläutern, und 15B ist eine vergrößerte
Ansicht eines Teils des Ablaufplans von 15A. In
15A und 15B stellt PData
[11] das erste empfangene Bit (FRB) dar und PData[0] ist das letzte empfangene Bit
(LRB). Die Wellenform (a) stellt den Takt CK0 dar, die Wellenform (b) stellt PData
[11:0] dar, die Wellenform (c) stellt das Erfassungssignal Det dar, die Wellenform
(d) stellt das Signal DetPos der erfassten Position dar, Die Wellenformen (e-1)
und (e-2) stellen jeweils die Zustandssignale S0' und S1' dar, die Wellenform (g)
stellt dPData dar, die um einen Takt von den parallelen Daten PData verzögert
sind, die Wellenform (h) stellt den Symboltakt SYMCLK dar (der zum Zwischenspeicherfreigabesignal
LE identisch ist), die Wellenform (i) stellt das Symbolpositionssignal LEPos dar,
das die effektive Symbolposition der parallelen Daten PData angibt, und die Wellenform
(j) stellt ein 10-Bit-Symbolsignal SYM dar.
Wenn ein Kommamuster COM (das der unterstrichene Teil in der Wellenform
(b) ist, die in 15B gezeigt ist) von den parallelen
Daten PData erfasst wird, gibt der Kommadetektor 9 ein Erfassungssignal
Det (Wellenform (c)) und ein Signal DetPos der erfassten Position (Wellenform (d))
aus. Die Symbolsynchronisations-Steuereinheit 38 besitzt einen eingebauten
Zähler und beginnt das Zählen in Reaktion auf das Erfassungssignal Det
als Auslöser unter Verwendung des Signals DetPos der erfassten Position als
Anfangswert. Der Zähler zählt die Anzahl von Bits der ausgegebenen Datenelemente
(die jeweils aus 1, 2 oder 3 Bits bestehen) auf der Basis der Zustandssignale S0'
und S1'. Jedes Mal, wenn der Zählerwert 10 erreicht (alle 10 Bits,
die ein Symbol definieren), gibt die Symbolsynchronisations-Steuereinheit
38 ein Zwischenspeicherfreigabesignal LE (Wellenform (h)) aus und setzt
den Zählerwert auf –10. Gleichzeitig gibt die Symbolsynchronisations-Steuereinheit
38 den Zählerwert als Symbolpositionssignal LEPos (Wellenform (i))
aus, das die effektive Position der parallelen Daten PData angibt. Das Zählen
wird unter Verwendung von Zustandssignalen S0" und S1" (als (e-1) und (e-2) bezeichnet)
durchgeführt, die um zwei Takte verzögert sind. Wenn S0" "H" ist, wird
der Zähler um 1 inkrementiert. Wenn S1" "H" ist, nimmt der Zählerwert
um drei zu. Im Rest der Fälle nimmt der Zählerwert um zwei zu.
Im Symbolumsetzer 37 wird ein 10-Bit-Symbol SYM [0:9], das
als (j) bezeichnet ist, aus dPData (als (g) bezeichnet), das um einen Takt hinter
den parallelen Daten pData liegt, gemäß dem Symbolpositionssignal LEPos
extrahiert, wenn das Zwischenspeicherfreigabesignal KE "H" wird. Wenn das Symbolpositionssignal
LEPos 0, 1 oder 2 ist, dann werden dPData [9:0], [10:1] oder [11:2] extrahiert.
Das LEPos-Signal übersteigt 2 nicht, da die Daten beim vorherigen Takt mit
LEPos ≥ 3 extrahiert werden. Dasselbe Signal wie das Zwischenspeicherfreigabesignal
LE wird als Symboltakt SYMCLK ausgegeben.
Folglich wird das 10-Bit-Symbol SYM synchron mit dem Symboltakt SYMCLK
zurückgewonnen. Die Periode des Symboltakts SYMCLK entspricht im Allgemeinen
fünf Takten von CK0 und zehn Takten des Übertragungstakts. Aufgrund der
Frequenzdifferenz zwischen dem Sendeende und dem Empfangsende entspricht jedoch
der Symboltakt gelegentlich vier oder sechs Takten von CK0. Diese Veränderung
kann durch den elastischen Puffer EB 111, der in 3
gezeigt, ist, absorbiert werden.
16 ist ein Ablaufplan des Datenrückgewinnungsverfahrens
gemäß der ersten Ausführungsform. Die empfangenen Daten werden unter
Verwendung von k-Bit-Mehrphasen-Taktsignalen angenommen, wobei die Phasen in regelmäßigen
Intervallen verschoben sind, und überabgetastete Daten OVSD [0:11] werden erzeugt
(Schritt S10). In diesem Beispiel ist die Frequenz f2 des Mehrphasentakts die Hälfte
der Übertragungstaktfrequenz f1 der empfangenen Daten und 12-Phasen-Takte (k-Phasen-Takte)
werden erzeugt, während die Phase um 1 Bit verschoben wird. Die vorliegende
Erfindung ist jedoch nicht auf dieses Beispiel begrenzt.
17A stellt ein Beispiel der überabgetasteten Daten
OVSD dar. Die linke Spalte "i" gibt die OVSD-Zeilennummer an und das am weitesten
links liegende Bit OVSD [0] ist das erste empfangene Bit (FRB).
Bei Rückkehr zu 16 wird die Position
des Übergangsbits, an dem der logische Wert invertiert wird (von "0" auf "1"
oder von "1" auf "0"), erfasst und die Positionen der Übergangsbits (d. h.
die Flankenpositionen) werden für jede OVSD-Zeile bestimmt. Dann wird die mittlere
Position der Übergangsbits über mehrere Zeilen bestimmt (Schritt S11).
17B stellt das Signal RxEdge beider Flanken dar, das
die Flanken oder die erfassten Bitpositionen angibt. Für die erste Zeile von
OVSD wird eine logische Inversion zwischen den Bitnummern [0] und [1] und zwischen
den Bitnummern [6] und [7] durchgeführt. Folglich wird RxEdge [0:11] "010000010000".
Das erste Bit [0] von RxEdge gibt den Bitübergang vom letzten Bit [11] der
vorherigen Zeile an. Die Flankendaten RxEdge werde über eine vorbestimmte Anzahl
von Zeilen erfasst und die mittlere Position der Übergangsbits wird bestimmt.
Da die Position des Übergangsbits in Intervallen von ganzzahligen Vielfachen
von 12/2 (k/2) wiederholt wird, befindet sich die mittlere Position zwischen 0 und
5. Die mittlere Position ist 1 für die ersten paar Zeilen, dann verschiebt
sich die mittlere Position zu 2 in der Mitte. Für die letzten Zeilen wird die
mittlere Position 3.
Bei erneuter Rückkehr zu 16 wird
ein Auswahlsignal Sel auf der Basis der mittleren Position des Bitübergangs
erzeugt (Schritt S12). Das Auswahlsignal Sel wird beispielsweise durch Addieren
eines vorgeschriebenen Werts (beispielsweise 3) zur mittleren Position erhalten.
Folglich wird die mittlere Position des Takts der empfangenen Daten bestimmt.
17C stellt ein Beispiel des Auswahlsignals Sel dar.
Das Auswahlbit (oder das effektive Bit) erscheint bei den Bitnummern [4] und [10].
Für diese Zeilen, bei denen sich die mittlere Bitposition von 2 zu 3 oder 3
zu 2 verschiebt, wird ein spezielles Muster des Auswahlsignals "000000100000" oder
"100001000001" ausgegeben, da sich das Auswahlbit über die Zeilen verschiebt.
Bei erneuter Rückkehr zu 16 werden
die durch das Auswahlsignal Sel bezeichneten Bits aus den überabgetasteten
Daten OVSD extrahiert und die extrahierten Bits werden zurückgewonnen und ausgegeben
(Schritt S13).
17D stellt ein Beispiel eines zurückgewonnenen
Datenelements RecData dar und 17E stellt die Anzahl
von zurückgewonnenen Bits für jede Zeile (Val) dar. Wie in 17E
dargestellt und wie vorstehend beschrieben ist, ist die Anzahl von aus den OVSD
zurückgewonnenen Bits im Allgemeinen zwei. Wenn jedoch das Auswahlsignal Sel
ein spezielles Muster aufweist, wird die Anzahl von zurückzugewinnenden Bits
1 oder 3.
Bei erneuter Rückkehr zu 16 werden
die zurückgewonnene Daten RecData in 10-Bit-Symboldaten umgesetzt,
während die Anzahl von Bits gezählt wird (Schritt S14). Der Symbolbegrenzer
wird durch Erfassen eines Kommacodes COM bestimmt und das Zählen wird ab dem
Kommacode begonnen, um die Symbolumsetzung zu implementieren. Da der Kommacode in
einem vorgeschriebenen Intervall eingefügt wird, wird die Position des Begrenzers
jedes Mal, wenn der Begrenzer erfasst wird, geprüft. Wenn ein Synchronisationsfehler
auftritt, wird der Fehler korrigiert.
18 ist eine Tabelle, die verwendet wird, um die Umsetzung
in Symboldaten zu erläutern. Die erste Zeile "i" stellt die Zeilennummer dar,
die zweite Zeile RecData stellt zurückgewonnene Daten dar, die dritte Zeile
Val gibt die Anzahl von zurückgewonnenen Bits an und die letzte Zeile Zählstand
gibt den Zählwert (d. h. die Anzahl von Bits) ausgehend vom Kommacode an.
Wenn ein Kommacode "0011111010" erfasst wird (wie in RecData unterstrichen),
wird der Zähler auf "1" initialisiert und wird für jedes wiedergewonnene
Bit inkrementiert. Jedes Mal, wenn der Zählerwert 10 erreicht, werden
10-Bit-Symboldaten SYM erzeugt. Dann wird der Zähler wieder initialisiert.
Mit diesem Datenrückgewinnungsverfahren wird eine genaue Datenrückgewinnung
verwirklicht, da die empfangenen Daten aus überabgetasteten Daten zurückgewonnen
werden, die mit der Mehrphasentaktfrequenz f2, die von der Taktfrequenz f1 der Übertragungsdaten
unabhängig ist, abgetastet werden. Indem f2 auf die Hälfte von f1 gesetzt
wird, werden die empfangenen Daten leicht zurückgewonnen, selbst wenn die Übertragungsrate
hoch ist.
19 ist ein Blockdiagramm eines Phasenregelkreises (PLL)
113, der in der ersten Ausführungsform verwendet wird (siehe
3). Der PLL 113 umfasst einen Frequenzteiler
50, einen Phasenfrequenzdetektor (PFD) 51, ein Tiefpassfilter
(LPF) 51, einen spannungsgesteuerten Oszillator (VCO) 53, einen
Frequenzteiler 55 und einen Frequenzteiler 58. Der PLL
113 erzeugt einen Übertragungstakt BCLK, einen internen Betriebstakt
PCLK und Mehrphasentakte CK0–CK11 auf der Basis des Referenztakts RefCLK.
Der spannungsgesteuerte Oszillator VCO 53 ist ein Ringoszillator
mit drei differentiellen Puffern 54a, 54b und 54c. Der
VCO 53 erzeugt 6 phasenverschobene Takte c0–c5, von denen einer
als Übertragungstakt BCLK ausgegeben wird.
Der Teiler 50 dividiert den Übertragungstakt BCLK durch
10 und führt ein Zehntel (1/10) des Übertragungstakts zum Phasenfrequenzdetektor
(PFD) 51 zurück. Der PFD 51 vergleicht das Ausgangssignal
aus dem Teiler 50 mit dem Referenztakt RefCLK und steuert die eingebaute
Ladungspumpe (nicht dargestellt) auf der Basis der erfassten Phasendifferenz an.
Das Tiefpassfilter (LPF) 52 glättet das Ausgangssignal
der Ladungspumpe und liefert eine Steuerspannung Vc zum VCO 53.
Die Verzögerungen der differentiellen Puffer 54a–54c
des VCO 53 ändern sich gemäß der Steuerspannung Vc, um eine
Phasensynchronisationssteuerung durchzuführen. Wenn beispielsweise ein Referenztakt
RefCLK von 250 MHz geliefert wird, dann wird ein Übertragungstakt BCKL von
2,5 GHz erzeugt. Der Teiler 58 dividiert den Übertragungstakt BCKL
durch 10, um den internen Betriebstakt PCLK zu erzeugen.
Der Teiler 55 umfasst 6 halbe Teiler 55a–55f
(beispielsweise durch Kipp-Flip-Flops strukturiert), von denen jeder ein normales
Ausgangssignal und ein invertiertes Ausgangssignal liefert. Die halben Teiler
56a–56f werden durch das Ausgangssignal RSTB der Rücksetzschaltung
57 zurückgesetzt und die Phasen der Ausgangssignale werden so geregelt,
dass CK0–CK11 gebildet werden, die in 5 als
Wellenformen (c-0) bis (c-11) dargestellt sind. Sechs Phasentakte c0–c5 werden
durch 2 dividiert und 12 Phasentakte CK0-CK11 werden mit der halben Frequenz des
Übertragungstakts BCKL erzeugt.
20 stellt den PLL 150 dar, der gemeinsam unter
mehreren physikalischen Ebenen (z. B. der physikalischen Ebene 151 der
ersten Bahn und der physikalischen Ebene 152 der zweiten Bahn) verwendet
wird. Der in 20 gezeigte PLL 150 fungiert
auch als Mehrphasentaktgenerator und erzeugt einen Übertragungstakt BCKK, einen
internen Betriebstakt PCKL und Mehrphasentakte CK0–CK11 auf der Basis des
extern gelieferten Referenzsignals RefCLK. Diese Takte werden vom PLL
150 gemeinsam zu den mehreren physikalischen Ebenen (wie z. B. den physikalischen
Ebenen 151 und 152) geliefert.
Die physikalische Ebene 151 der ersten Bahn umfasst eine
Sendeeinheit 101-1 und eine Empfangseinheit 102-1, auf die die
Datenrückgewinnungsschaltung der ersten Ausführungsform angewendet wird.
Der Übertragungstakt BCLK und der interne Takt PCKL werden zu den Sendeeinheiten
101-1 und 101-2 geliefert, während die Mehrphasentakte CK0–CK11
zu den Empfangseinheiten 102-1 und 102-2 geliefert werden.
Die Datenrückgewinnungsschaltung gemäß der Ausführungsform
erzeugt einen Mehrphasentakt auf der Basis eines unabhängigen Referenztakts,
um die empfangenen Daten überabzutasten, ohne den eingebetteten Takt direkt
aus den empfangenen Daten zurückzugewinnen. Die empfangenen
Daten werden unter Verwendung von separat erzeugten Mehrphasentakten überabgetastet
und die empfangenen Daten und Symbole werden aus den überabgetasteten Daten
zurückgewonnen. Genauer gewinnt der Auswahlsignalgenerator 7 virtuell
die Takte, die in den empfangenen Daten eingebettet sind, als Taktmuster CKP von
den überabgetasteten Daten zurück und erzeugt ein Auswahlsignal auf der
Basis des Taktmusters CKP. Die Datenauswahleinrichtung 6 gewinnt Daten
gemäß dem Auswahlsignal zurück. Der andere größere Teil
der Schaltung als die Überabtasteinheit 1 arbeitet mit einem einzelnen
Takt CK0 und daher kann die Datenrückgewinnungsschaltung auf eine erhöhte
Übertragungsrate eingehen, ohne sich über Versätze zwischen Mehrphasentakten
oder zwischen Datensätzen Sorgen zu machen. Außerdem können in letzter
Zeit entwickelte Schaltungen oder Anordnungsentwurfs-Überprüfungswerkzeuge
auf die Schaltung leicht angewendet werden. Folglich werden die Vereinfachung des
Schaltungsentwurfs und die Wiederverwendbarkeit der Schaltung verbessert und folglich
kann die Entwicklungsperiode verringert werden. Da die Daten in der vorstehend beschriebenen
Ausführungsform so umgesetzt werden, dass sie für eine parallele Verarbeitung
geeignet sind, kann die Betriebsfrequenz verringert werden, was leicht auf hohe
Übertragungsraten eingeht.
Obwohl in der Ausführungsform eine Überabtastung in zwölf
Phasen mit der halben Frequenz des Übertragungstakts ausgeführt wird,
kann eine Überabtastung in vierundzwanzig Phasen mit einer viertel Frequenz
des Übertragungstakts durchgeführt werden. Die Betriebsfrequenz kann weiter
verringert werden, um auf weiter erhöhte Datenübertragungsraten einzugehen.
Da die Daten unter Verwendung eines Takts zurückgewonnen werden,
der nicht mit den empfangenen Daten synchronisiert ist, können die Erzeugung
von Mehrphasentakten und die Erzeugung von Übertragungstakten gemeinsam ausgeführt
werden und die Chipgröße kann verringert werden.
(Zweite Ausführungsform)
Die zweite Ausführungsform der vorliegenden Erfindung wird nun
beschrieben. In der zweiten Ausführungsform sind der Auswahlsignalgenerator
7 und die Datenauswahleinrichtung 6, die in der Symboldaten-Wiederherstellungseinheit
3 der ersten Ausführungsform verwendet werden, modifiziert und die
anderen Strukturen sind dieselben. Folglich wird eine Erläuterung durchgeführt,
die sich auf die Auswahlsignalerzeugung und die Datenauswahl konzentriert.
21 ist ein Blockdiagramm des Auswahlsignalgenerators,
der in der Datenrückgewinnungsschaltung gemäß der zweiten Ausführungsform
der Erfindung verwendet wird. In dem in 21 gezeigten
Auswahlsignalgenerator sind die aus dem Zähler 61, der Zustandssteuereinheit
62 und dem Auswahlsignalwandler 63 ausgegebenen Signale von den
in der ersten Ausführungsform in 6 dargestellten
verschieden. Die anderen Komponenten, d. h. der Detektor 20 für beide
Flanken, der Vergleicher 21, der CKP-Umsetzer 24 und der Flankendetektor
25 sind dieselben wie die in der ersten Ausführungsform gezeigten.
Dieselben Komponenten mit denselben Funktionen wie jenen der ersten Ausführungsform
sind mit denselben Zahlenreferenzen bezeichnet.
Der in 21 gezeigte Auswahlsignalgenerator
erzeugt zwei Auswahlsignale SelR und SelF zum Angeben der Phase der Datenerfassung
von den überabgetasteten Daten OVSD. Gleichzeitig werden die Zustandssignale
S0 und S1 zum Definieren der Anzahl von effektiven Bits auch erzeugt. Ein Signal
FRSel zum Auswählen von einem der zwei Auswahlsignale S0 und S1 wird auch erzeugt.
Das erste Auswahlsignal SelR wird bei der steigenden Flanke des Taktmustersignals
CKP genau wie das Auswahlsignal Sel der ersten Ausführungsform "1 ". Das zweite
Auswahlsignal SelF ist ein Signal, das 1 Abtastzeit früher ist als das erste
Auswahlsignal SelR (wobei die Phase um 1/6 Periode voreilt).
Der Zähler 61 zählt die UP-Signale oder die DN-Signale,
die aus dem Vergleicher 21 ausgegeben werden, und gibt ein SUP-Signal oder
ein SDN-Signal auf der Basis des Zählergebnisses aus. Der Zähler
61 gibt auch das FRSel-Signal zum Angeben, welches der Auswahlsignale effektiv
ist, auf der Basis des Zählerwerts aus.
Wenn der aktuelle Wert des Zählers 61 positiv ist, wird
das FRSel-Signal auf "H" gesetzt, was angibt, dass das zweite Auswahlsignal SelF
das effektive ist. Wenn der Zählerwert negativ ist, wird das FRSel-Signal auf
"L" gesetzt, was darstellt, dass das erste Auswahlsignal SelR effektiv ist. Wenn
der aktuelle Zählerwert Null ist, wird der vorherige Signalpegel übernommen.
Die Zustandssteuereinheit 62 regelt die sechs Zustände
St0–St5, die die Phasenzustände des Taktmusters CKP darstellen, gemäß
dem SUP-Signal oder dem SDN-Signal, das vom Zähler 61 geliefert wird,
und gibt ein Zustandssignal, das den aktuellen Zustand angibt, sowie die Zustandssignale
S0, S1 und S3 aus. Die Zustandssignale S0 und S1 stellen Phasenübergänge
von St4 auf St3 bzw. von St3 auf St4 wie in der ersten Ausführungsform dar.
Das Zustandssignal S3 gibt an, dass sich der Phasenzustand in St3 befindet.
Der Auswahlsignalumsetzer 63 setzt das Zustandssignal in
die Auswahlsignale SelF und SelR um.
22 stellt ein Beispiel der Umsetzungsregel zum Umsetzen
des Zustandssignals in die Auswahlsignale SelF und SelR dar. Das Zustandssignal
geht von St0 auf St5 in Reaktion auf das SUP-Signal über und geht von St5 auf
St0 in Reaktion auf das SDN-Signal über, wie in der ersten Ausführungsform.
Die quadrierten Bits, die in den Auswahlsignalen SeF [0:11] und SelR [0:11] gezeigt
sind, sind im Allgemeinen "1" und gehen auf "0" über, wenn sich der Phasenzustand
in der SDN-Richtung verschiebt. Folglich wird unmittelbar, nachdem die Phase von
St4 auf St3 (St4 → St3) übergegangen ist, SelR [0:11] "000000100000".
Ebenso wird unmittelbar, bevor die Phase von St3 auf St2 übergeht (St3 →
St2), SelF [0:11] "000001000000". Die eingekreisten Bits sind im Allgemeinen "0"
und gehen auf "1" über, wenn sich der Phasenzustand in der SUP-Richtung verschiebt.
Unmittelbar nachdem die Phase von St3 auf St4 übergegangen ist (St3 →
St4), wird SelR [0:11] "100001000001". Ebenso ist unmittelbar, bevor die Phase von
St2 auf St3 übergeht (St2 → St3), SelF [0:11] "100000100001".
23 ist ein Blockdiagramm der Datenauswahleinrichtung,
die in der Datenrückgewinnungsschaltung gemäß der zweiten Ausführungsform
der Erfindung verwendet wird, und 24 ist ein Ablaufdiagramm,
das verschiedene Signale zeigt, die aus der Datenauswahleinrichtung ausgegeben werden.
Die in 23 gezeigte Datenauswahleinrichtung
umfasst Auswahleinrichtungen 71–74, ein Flip-Flop (F/F)
75 und eine Auswahleinrichtung 76.
Die Auswahleinrichtung 71 gewinnt Daten d0R und D1R aus überabgetasteten
Daten OVSD [0:5] gemäß dem Auswahlsignal SelR [0:5] und den Zustandssignalen
S0 und S1, die vom Auswahlsignalgenerator geliefert werden, zurück.
Die Auswahleinrichtung 72 gewinnt Daten d0F und D1F aus überabgetasteten
Daten OVSD [0:4] und verzögerte Daten dOVSD11, die um einen Takt von OVSD [11]
durch das Flip-Flop 75 verzögert werden, gemäß dem Auswahlsignal
SelF [0:4] und den Zustandssignalen S0, S1 und S3, die vom Auswahlsignalgenerator
geliefert werden, zurück.
Die Auswahleinrichtung 73 gewinnt Daten d2R von überabgetasteten
Daten OVSD [6:11] gemäß dem Auswahlsignal SelR [6:11] zurück.
Die Auswahleinrichtung 74 gewinnt Daten d2F von überabgetasteten
Daten OVSD [5:10] gemäß dem Auswahlsignal SelF [5:10] zurück.
Die Auswahleinrichtung 76 wählt d0R/d0F, d1R/d1F und
d2R/d2F gemäß dem Auswahlsignal FRSel aus und gibt zurückgewonnene
Datenelemente d0, d1 und d2 aus.
Wenn das FRSel-Signal "H" ist, werden die durch Symbole mit F am Ende
dargestellten Datenelemente ausgewählt. Wenn FRSel "L" ist, werden durch Symbole
mit R am Ende dargestellte Datenelemente ausgewählt.
Die Datenelemente d0R, d0F, d1R, d1F, d2R und d2F werden gemäß
der folgenden Regel umgesetzt:
- • Wenn S0=H, ignoriere d0R, d0F, d1R und d1F;
- • Wenn S1=H, setze d0R, d0F, d1R und d1F so um, dass d0R=OVSD[0], d0F=dOVSD[11],
d1R=OVSD[5] und d1F=OVSD[4];
- • Wenn S0=S1=L, setze d0R in das logische Produkt OVSD[k] & Se1R[k] um,
wobei k von 0 bis 5 verändert wird, und ignoriere d1R;
- • Wenn S3=L, setze d0F in das logische Produkt OVSD[j] & SelF[j] um,
wobei j von 0 bis 4 verändert wird;
- • Wenn S3=H, setze d0F in dOVSD[11] um und ignoriere d1F; und
- • Ungeachtet der S0-, S1- und S3-Pegel, setze d2R in das logische Produkt
OVSD[k] & SelR[k] um, wobei k von 6 bis 11 verändert wird, und setze d2F in
das logische Produkt OVSD[j] % SelF[j] um, wobei j von 5 bis 10 verändert wird.
In 24 stellt die Wellenform (a) das Phasenzustandssignal
dar, die Wellenformen (b), (c) und (d) stellen die Zustandssignale S0, S1 bzw. S3
dar, und die Wellenformen (e), (f) und (g) stellen zurückgewonnene Datenelemente
d0, d1 bzw. d2 dar.
In den Wellenformen (e), (f) und (g) stellen die weißen Bereiche
die Abschnitte mit existierenden Daten dar, in denen zurückgewonnene Datenelemente
d0, d1 oder d2 existieren, während die schraffierten Bereiche und mit Kreuzen
markierten Bereiche Abschnitte ohne existierende Daten darstellen, in denen zurückgewonnene
Datenelemente nicht existieren. In dem in 24 gezeigten
Beispiel wird, wenn S0=H, nur das Datenelement d2 zurückgewonnen. Wenn S1=H,
werden drei Datenelemente d0, d1 und d2 zurückgewonnen. Im Rest der Fälle
werden zwei Datenelemente d0 und d2 zurückgewonnen. Dieser Effekt ist derselbe
Effekt der Datenauswahleinrichtung der ersten Ausführungsform.
Obwohl in 23 nicht gezeigt, gibt die
Datenauswahleinrichtung die Signale S0' und S1', die von den Zustandssignalen S0
bzw. S1 um die an der Datenauswahleinrichtung erforderliche Betriebszeit verzögert
sind, wie in der ersten Ausführungsform aus (siehe 4).
Mit S0' und S1' werden die effektiven Zustände von zurückgewonnenen Datenelementen
d0, d1 und d2 angegeben und daher können der Entserialisierer 8 und
der Kommadetektor 9, die in der ersten Ausführungsform erläutert
wurden, als solche auf die Symboldaten-Wiederherstellungseinheit 3 angewendet
werden.
Als nächstes wird eine Erläuterung der Synchronisation zwischen
dem Taktmuster CKP und den überabgetasteten Daten OVSD, wenn die Taktfrequenz
f1 der empfangenen Daten nicht mit der Taktfrequenz f2 (die die Auswertung der Mehrphasentakte
CK0–CK11 beider Flanken ist) des Empfangendes übereinstimmt, durchgeführt.
Da die Beziehung zwischen dem Zählerwert und der Phasendifferenz
&Dgr;&PHgr; (zwischen den empfangenen Daten und dem Taktmuster CKP) dieselbe
wie die in der ersten Ausführungsform erläutern ist, wird die Jittertoleranz
auf der Basis von Augenmustern hier hervorgehoben.
25 ist ein Diagramm, das verwendet wird, um die Jittertoleranz
zu erläutern. In dem Graph von 25 stellt die horizontale
Achse die Zeit "t" dar und die vertikale Achse stellt die Phasendifferenz &Dgr;&PHgr;
zwischen den empfangenen Daten und dem Taktmuster CKP dar. Die schattierten Bereiche
im Graphen geben Jitterbereiche (ii) an und der weiße Bereich zwischen den
Jitterbereichen stellt eine Augenöffnung (i) dar. Das Augenmuster
81 bei &Dgr;&PHgr;=0 besitzt eine Augenöffnung von 0,41 U1.
Die fallende Flanke des Taktmusters CKP ist an der Phase 0 angeordnet,
das Auswahlsignal SelF wird in der Phase 2 "1" und das Auswahlsignal SelR wird in
der Phase 3 "1". Folglich sind die Bereiche, in denen die durch die Auswahlsignale
SelF und SelR ausgewählten Daten korrekt zurückgewonnen werden, diejenigen,
die durch die Pfeile 82 bzw. 83 angegeben sind.
Durch Zurückgewinnen des gemäß dem Auswahlsignal SelF
ausgewählten Datenelements, wenn der Zählerwert (d. h. die Phasendifferenz
&Dgr;&PHgr;) positiv ist, und durch Zurückgewinnen des gemäß dem
Auswahlsignal SelR ausgewählten Datenelements, wenn der Zählerwert (d.
h. die Phasendifferenz &Dgr;&PHgr;) negativ ist, kann der annehmbare Bereich,
in dem die empfangenen Daten korrekt zurückgewonnen werden, selbst mit Phasenfehlern
erweitert werden.
Mit anderen Worten, die Jittertoleranz kann verbessert werden, ohne
die Anzahl von Phasen des Mehrphasentakts zu erhöhen, um den stationären
Phasenfehler zu verringern.
In dieser Weise wird im Datenrückgewinnungsverfahren und mit
der Datenrückgewinnungsvorrichtung gemäß der zweiten Ausführungsform
der Erfindung ein unabhängiger Mehrphasentakt, der mit dem Übertragungstakt
der empfangenen Daten nicht synchronisiert ist, erzeugt, ohne den Übertragungstakt
direkt aus den empfangenen Daten zurückzugewinnen, und Abtastdaten werden durch
Überabtasten der empfangenen Daten unter Verwendung des Mehrphasentakts erfasst.
Der in die empfangenen Daten eingebettete Übertragungstakt wird virtuell als
Taktmuster CKP von den überabgetasteten Daten zurückgewonnen und die Auswahlsignale
SelF und SelR, die verwendet werden, um effektive Bits aus den überabgetasteten
Daten zu extrahieren, werden erzeugt, während das Taktmuster CKP mit den überabgetasteten
Daten verglichen wird. Das optimale Auswahlsignal wird auf der Basis des Vergleichsergebnisses
ausgewählt und die empfangenen Daten werden auf der Basis des optimalen Auswahlsignals
zurückgewonnen. Mit dieser Anordnung kann der annehmbare Bereich, der für
eine genaue Datenrückgewinnung geeignet ist, selbst mit Phasenfehlern aufgrund
der Inkonsistenz zwischen dem Taktmuster CKP und den überabgetasteten Daten
mit verbesserter Jittertoleranz erweitert werden.
Der andere größte Teil der Schaltung als die Überabtasteinheit
1 arbeitet mit einem einzigen Takt CK0 und daher kann die Datenrückgewinnungsschaltung
auf eine erhöhte Übertragungsrate eingehen, ohne sich um Versätze
zwischen Mehrphasentakten oder zwischen Datensätzen zu sorgen.
Außerdem können in letzter Zeit entwickelte Schaltungen
oder Anordnungsentwurfs-Überprüfungswerkzeuge auf die Schaltung leicht
angewendet werden. Folglich werden die Vereinfachung des Schaltungsentwurfs und
die Wiederverwendbarkeit der Schaltung verbessert und folglich kann die Entwicklungsperiode
verringert werden.
Indem die Mehrphasentaktfrequenz f2 auf einen Bruchteil des Übertragungstakts
f1 der empfangenen Daten gesetzt wird, kann die Betriebsfrequenz leicht verringert
werden. Folglich kann die Schaltung auf eine erhöhte Übertragungsrate
eingehen.