-
Die
vorliegende Erfindung bezieht sich auf die Übertragung von Daten und insbesondere
auf die parallele Übertragung
einer Anzahl serieller Datenströme.
-
1 zeigt
einen differentiellen Treiber 1, der eine differentielle
Eingabe auf den Leitern 2 und 3 nimmt und diese
Eingabe in einen seriellen Datenstrom auf einer Ausgangsleitung 4 umsetzt.
-
Es
ist bekannt, den differentiellen Treiber 1 nach 1 als
eine Eingangstufe in ein digitales System zu verwenden, es sind
aber andere Schaltungen für
diesen Zweck bekannt. Es ist außerdem
bekannt, ein Taktsignal 4 für das digitale System von einem Eingangsdatenstrom
(d. h. am Ausgang 4 des differentiellen Treibers 1 im
Fall nach 1) zu erzeugen. Eine derartige
Taktrückgewinnung
ist ganz besonders effektiv, wenn sich die Daten häufig ändern, da dies
es leichter macht, zu bestimmen, wo die Taktimpulse positioniert
sein sollten.
-
2 zeigt
einen einzigen Datenstrom und ein zugeordnetes Taktsignal. Das in 2 gezeigte Taktsignal
tastet die Daten sowohl an den Anstiegs- als auch an den Abfall-Taktflanken
ab, wobei die Taktübergänge genau
an den Mittelpunkt zwischen den Datenübergängen angepasst sind. Eine derartige
Anpassung ist bevorzugt, da den Daten sowohl vor als auch nach dem
Taktübergang
die maximale Zeit gegeben wird, in der sie stabil sein sollen. Dies gibt
die beste Chance, dass die Aufbau- und Haltezeiten der nachfolgenden
Schaltungen nicht verletzt werden.
-
Ein
Verfahren zum Ausführen
einer derartigen Taktanpassung verwendet die Schaltung nach 3.
Es ist ein Phasenregelkreis (PLL) 5 mit einem Eingang 7 gezeigt,
der ein Referenztaktsignal bei der erforderlichen Frequenz (oder
einem Teil der erforderlichen Frequenz) empfängt. Der PLL erzeugt eine Anzahl
von Taktausgaben 8 (8 im Beispiel nach 3),
jede bei einer anderen Phase (die im Beispiel nach 3 einen
Abstand von 45 Grad aufweisen). Das Taktsignal kann durch das Auswählen des
geeignetsten Taktsignals vom Ausgang 8 der PLL 7 nah beim
Mittelpunkt zwischen den Datenübergängen angeordnet
werden.
-
Ein
weiteres Verfahren zum Bestimmen des optimalen Taktsignals ist durch
die 4 und 5 veranschaulicht. 4 zeigt
ein Phasenrad, wobei 8 Phasensignale angegeben sind, die die acht
Phasen des PLL-Ausgangs 8 repräsentieren. Diese Phasensignale
sind bei 0, 45, 90, 135, 180, 225, 270 bzw. 315 Grad graphisch dargestellt.
Die Phase des Datenstroms bezüglich
eines Referenzsignals (z. B. bezüglich
einer Referenztakteingabe) kann auf dem Phasenrad graphisch dargestellt
werden. Sobald die Phase des Datenstroms auf dem Rad "graphisch dargestellt" ist, können die
Ausgänge 8 des
PLL, die sich auf beiden Seiten des Datenstroms befinden, identifiziert
werden.
-
5 ist
ein Blockschaltplan einer Schaltung zum Erzeugen des geeigneten
Taktsignals. Der Ausgang des differentiellen Treibers 1 wird
zu einem Phasendetektor 9 geleitet, der die Phase der Daten (z.
B. unter Bezugnahme auf die Phase des erzeugten Taktsignals) bestimmt.
Der Phasendetektor 9 speichert den Phasenwert, wobei dieser
zusammen mit den acht Taktsignalen vom PLL 7 an einen Phaseninterpolator 10 ausgegeben
wird. Ein Taktsignal wird erzeugt, indem die zwei Phasensignale
vom PLL 7, zwischen die die Phase des Datenstroms fällt, ausgewählt werden
und indem der Phaseninterpolator verwendet wird, um ein Taktsignal
mit einer Phase zwischen diesen zwei Taktsignalen zu erzeugen. Ein typischer
Phaseninterpolator kann die geeignetste Taktphase zwischen diesen
Phaseneingaben aus 16 Möglichkeiten
erzeugen. Folglich kann das Phasenrad in 16 × 8 (d. h. 128) Taktphasen
unterteilt sein.
-
Der
ankommende Datenstrom kann eine hohe Frequenz besitzen; in einer
Lichtleitfaser-Anwendung beträgt
die Datenrate 3,2 Gbit/s. Ein Takt wird bei 1,6 GHz zurückgewonnen,
wobei er die Daten sowohl bei den Anstiegs- als auch den Abfallflanken
des zurückgewonnenen
Taktsignals abtastet (wie in 2 gezeigt
ist). Es ist bevorzugt, ein Taktsignal zu besitzen, das die Daten
nur sowohl bei den Anstiegs- als auch den Abfallflanken abtastet,
weil ein Takt, der nur bei der Anstiegsflanke abtastet, das Doppelte
der Frequenz besitzen müsste;
dies würde die
von der Schaltung benötigte
Leistung verdoppeln und das vorhandene Rauschen verdoppeln, was
bei diesen Frequenzen eine praktische Grenze sein würde. Die
bei der Anstiegsflanke des Bittakts abgetasteten Daten werden als
die "geraden" Daten bezeichnet,
während
die bei der Abfallflanke abgetasteten Daten als die "ungeraden Daten" bezeichnet werden.
-
Die
europäische
Patentanmeldung
EP0996262 schafft
ein System mit mehreren Bytetakten, die etwa aneinander angepasst
sind. Ein Worttakt, der aus einem der Bytetakte erzeugt wird, kann verwendet
werden, um die in Übereinstimmung
mit jedem der Bytetakte erzeugten Datenwörter zu takten.
-
Die
vorliegende Erfindung schafft eine Schaltung mit:
mehreren
Dateneingangsanschlüssen,
wovon jeder entsprechende serielle Datensignale mit derselben Bitrate
empfängt,
Bittakt-Erzeugungsmitteln,
die in Reaktion auf die seriellen Datensignale für jedes ein entsprechendes Bittaktsignal
bereitstellen, und
mehreren Wortformungsmitteln, wovon jedes
angeschlossen ist, um die Bits eines Entsprechenden der seriellen
Datensignale zu empfangen, um jene Bits zu Wörtern zu formen und um die
Bits dieses Wortes parallel auszugeben,
bei der die Schaltung
ferner ein Mittel zum Erzeugen eines gemeinsamen Worttakts umfasst,
das einen gemeinsamen Worttakt in Reaktion auf die Phasen der Bittaktsignale
bereitstellt, und
jedes der mehreren Wortformungsmittel in
der Weise auf das gemeinsame Worttaktsignal anspricht, dass es seine
Wörter
angepasst an den gemeinsamen Worttakt bereitstellt.
-
Das
Worttakt-Erzeugungsmittel kann einen repräsentativen Phasenkalkulator
umfassen, um ein die Phasen der mehreren Bittaktsignale repräsentierendes
Phasensignal bereitzustellen, wobei das Worttakt-Erzeugungsmittel
so beschaffen sein kann, dass es den gemeinsamen Worttakt so erzeugt,
dass er eine Phase besitzt, die durch das repräsentative Phasensignal oder
durch eine hiervon abgeleitete Phase angegeben wird. Das Worttakt-Erzeugungsmittel
kann so beschaffen sein, dass es zu dem repräsentativen Phasensignal einen
Versatz addiert oder hiervon subtrahiert und den gemeinsamen Worttakt
in der Weise erzeugt, dass er eine Phase besitzt, die durch das
Ergebnis dieser Addition oder Subtraktion angegeben wird.
-
Jedes
Wortformungsmittel kann ein Schieberegister umfassen, das so angeschlossen
ist, dass es die Bits des entsprechenden Datensignals seriell empfängt und
sie längs
des Schieberegisters in Reaktion auf das entsprechende Bittaktsignal
verschiebt. Jedes Schieberegister kann zwei Komponentenschieberegister
umfassen, die so angeschlossen sind, dass sie abwechselnd die Bits
des Daten signals empfangen. Das Wortformungsmittel kann ein Register
umfassen, das so angeschlossen ist, dass es Bits von dem Schieberegister
in Reaktion auf das gemeinsame Worttaktsignal parallel zwischenspeichert.
-
Die
vorliegende Erfindung schafft außerdem ein Verfahren zum Empfangen
mehrerer serieller Datensignale, die dieselbe Bitrate haben, das
umfasst:
Erzeugen eines entsprechenden Bittaktsignals für jedes
serielle Datensignal in Reaktion auf die seriellen Datensignale
und
Bilden von Bits von jedem seriellen Datensignal zu parallelen
Wörtern,
bei
dem das Verfahren das Bereitstellen eines gemeinsamen Worttakts
in Reaktion auf die Phasen der Bittaktsignale umfasst und das Formen
der Bits zu Wörtern
jene Wörter,
die an den gemeinsamen Worttakt angepasst sind, bereitstellt.
-
Das
Verfahren kann das Berechnen eines Phasensignals, das die Phasen
der mehreren Bittaktsignale repräsentiert,
und das Erzeugen des gemeinsamen Worttakts, derart, dass er die
Phase besitzt, die durch das repräsentative Phasensignal oder
eine hiervon abgeleitete Phase angegeben wird, umfassen.
-
Das
Verfahren kann das Addieren oder Subtrahieren eines Versatzes zu
bzw. von dem repräsentativen
Phasensignal und das Erzeugen des gemeinsamen Worttakts, derart,
dass er die Phase besitzt, die durch das Ergebnis jener Addition
oder Subtraktion angegeben wird, umfassen.
-
Die
Ausführungsformen
der Erfindung werden nun lediglich beispielhaft unter Bezugnahme
auf die beigefügte
Zeichnung beschrieben, worin:
-
1 einen
bekannten differentiellen Treiber zeigt, der ein differentielles
Signal nimmt und es in einen unsymmetrischen seriellen Datenstrom
umsetzt;
-
2 einen
durch die Schaltung nach 1 erzeugten Datenstrom und ein
zugeordnetes Taktsignal zeigt;
-
3 ein
Phasenregelkreis ist, der mehrere Phasentaktsignale aus einer einzigen
Referenztaktquelle erzeugt;
-
4 ein
Phasenrad zeigt;
-
5 eine
Schaltung ist, die ein Verfahren zum Erhalten eines optimalen Taktsignals
demonstriert;
-
6 ein
Blockschaltplan ist, der die Erzeugung der Datenwörter zeigt;
-
7 ein
Blockschaltplan einer Schaltung zum Empfangen einer parallelen Datenverbindung ist;
-
8 die
Erzeugung von zwei gegenphasigen Taktsignalen für einen speziellen Datenstrom zeigt;
-
9 ein
erste Schaltung zum Festlegen der Bittakte mehrerer Kanäle zeigt;
-
9a eine
Schaltung zum selektiven Invertieren der Phase eines Bittakts ist;
-
10 eine
zweite Schaltung zum Festlegen der Bittakte mehrerer Kanäle zeigt;
-
11 die
zweite Schaltung ausführlicher zeigt;
-
12 ein
Phasenrad zeigt, das einen speziellen instabilen Zustand veranschaulicht;
-
13 ein
Phasenrad zeigt, das verschiedene Betriebsbereiche veranschaulicht;
-
14 ein
Impulsplan ist, der ein Verfahren zum Anpassen der Worttakte veranschaulicht;
-
15 die
Verwendung der vorliegenden Erfindung veranschaulicht; und
-
16 ein
Blockschaltplan einer Schaltung einer ersten Ausführungsform
zum Anpassen der Worttakte ist.
-
6 zeigt
eine Grundschaltung zum Empfangen eines einzigen seriellen Datenstroms.
-
Die
ankommenden Daten werden durch einen Seriell-Parallel-Umsetzer 11,
der bei den Anstiegs- und Abfallflanken des Bittakts getaktet wird,
in ein paralleles Zwei-Bit-Wort umgesetzt. Eines der Ausgangsbits
des Seriell-Parallel-Umset zers 11 überträgt die geraden Daten, während das
andere Bit die ungeraden Daten überträgt.
-
Die
ungeraden und geraden Datenbits werden jeweils in die Schieberegister 12 und 13 geschoben,
wie in 6 gezeigt ist. Die Schieberegister 12 und 13 werden
durch den Bittakt getaktet, aber nur bei der Anstiegsflanke. Wenn
die Schieberegister 12 und 13 voll sind, werden
die ungeraden und geraden Datenwörter
kombiniert, um ein einziges Datenwort im Register 14 zu
erzeugen. Im Beispiel nach 6 werden
8-Bit-Datenwörter
erzeugt und bei der Anstiegsflanke eines Byte-Taktsignals abgetastet,
das 1/4 der Frequenz des Bittakts aufweist. Der Bytetakt wird am
Ausgang einer Division-durch-vier-Schaltung 15 erzeugt,
deren Eingabe durch den Bittakt bereitgestellt wird. Folglich wird
im oben angegebenen Beispiel der 1,6-GHz-Bittakt verringert, um
einen 400-MHz-Bytetakt für
das Taktregister 14 zu erzeugen.
-
Aus
mehreren differentiellen Eingaben werden mehrere Datenströme abgeleitet.
Eine geeignete Schaltung ist in 7 in Form
eines Blockschaltplans gezeigt. 7 zeigt
einen ersten Abschnitt zum Umsetzen eines seriellen Datenstroms
DATEN0 in die parallelen Daten D0. Diese Unterschaltung umfasst die
Elemente nach den 5 und 6. Wie in 5 wird
die Ausgabe des differentiellen Treibers 1 zu einem Phasendetektor 9 geleitet,
der die Phase der Daten bestimmt. Die Ausgabe des Phasendetektors 9 wird
zusammen mit den acht Taktsignalen von der PLL 7 zu einem
Phaseninterpolator 10 geleitet. Durch den Phaseninterpolator 10 wird
ein Taktsignal erzeugt, wie oben erörtert worden ist. Die Ausgabe des
differentiellen Treibers 1 wird durch einen Seriell-Parallel-Umsetzer 11,
der bei den Anstiegs- und Abfallflanken des Bittakts getaktet wird,
in ein paralleles Zwei-Bit-Wort umgesetzt. Eines der Ausgangsbits
des Seriell-Parallel-Umsetzers 11 überträgt die geraden
Daten, während
das andere Bit die ungeraden Daten überträgt. Die ungeraden und die geraden Datenbits
werden jeweils in die Schieberegister 12 und 13 geschoben,
wobei diese Schieberegister nur bei der Anstiegsflanke des Bittakts
getaktet werden. Wenn die Datenregister voll sind, werden die ungeraden
und geraden Datenwörter
kombiniert, um ein einziges Datenwort im Register 14, das
durch den Bytetakt getaktet wird, der durch die Division-durch-vier-Schaltung 15 erzeugt
wird, zu erzeugen.
-
Die
Schaltung nach 7 enthält 8 Datenkanäle, von
denen nur zwei gezeigt sind. Jeder der Datenkanäle enthält die völlig gleichen Schaltungselemente
wie die für
den oben erörterten
Kanal.
-
Jeder
Datenstrom erzeugt sein eigenes Taktsignal aus den Daten dieses
Stroms, wobei folglich das System acht parallele Datenströme mit acht
nicht synchronisieren Bittaktsignalen (und außerdem deshalb acht nicht in
Beziehung stehenden Bytetaktsignalen) aufweist.
-
Ein
Problem, das der Regenerierung der Taktsignale zugeordnet ist, besteht
darin, dass das Abtasten der Daten sowohl an den Anstiegs- als auch Abfallflanken
potentiell gegenphasige Bittakte verursacht. Dies wird unter Bezugnahme
auf 8 erklärt.
-
Die
ankommenden Daten sind mit zwei möglichen Bittakten TAKT A und
TAKT B gezeigt, die durch das System (d. h. durch die Schaltung
nach 5) erzeugt werden könnten, um diese Daten abzutasten.
In der Tat schwingt die Schaltung nach 5 beim Erhalten
einer Verriegelung mit dem Datenstrom unvorhersagbar um die eine
oder die andere der Taktphasen ein. Die Takte sind um 180° getrennt.
Obwohl die zwei Taktsignale beide gültige Daten erzeugen, beeinflusst
die Phase, welche Bits der Daten die ungeraden Daten werden und
welche die geraden Daten werden.
-
Die
Identität
der Bits der Daten als gerade oder ungerade ist wichtig. Es wird
z. B. ein Strom der Bits B0 bis B8 betrachtet (B0 wird zuerst übertragen).
-
Wenn
B0 als ein gerades Bit und B1 als ein ungerades Bit zwischengespeichert
wird, dann werden die ungeraden und geraden Register wie folgt gefüllt (TAKT
A).
ungerade: | B7
B5 B3 B1 |
gerade: | B6
B4 B2 B0 |
-
Wenn
die ungeraden und geraden Register bei der Zwischenspeicherung im
Register 14 unter der Steuerung des Bytetakts kombiniert
werden, wird das folgende Datenwort erzeugt:
-
Weil
die Bytes bei der Anstiegsflanke des Bytetakts zwischengespeichert
werden, stimmt diese Anstiegsflanke mit einer Anstiegsflanke des
Bittakts überein.
-
Wenn
alternativ B1 als ein gerades Bit zwischengespeichert wird (TAKT
B), dann werden die ungeraden und geraden Register wie folgt gefüllt:
ungerade: | B8
B6 B4 B2 |
gerade: | B7
B5 B3 B1 |
-
Deshalb
wird das folgende Datenwort erzeugt:
-
Folglich
kann der durch die Schaltung nach 5 erzeugte
Bittakt für
denselben Datenstrom bei einer von zwei Phasen einschwingen, wobei
diese Phasen zu einem Ein-Bit-Unterschied führen, wo die Schaltung nach 5 die
Grenze zwischen den Bytes im Datenstrom zieht. In dieser Stufe in
der Schaltung ist nicht bekannt, wo sich die ursprünglichen
Bytegrenzen befanden, bevor die Daten übertragen worden sind; das
Wiederherstellen dieser wird einer weiteren Schaltungsanordnung
stromabseitig der vorliegenden Erfindung überlassen. In einigen Anwendungen
kann der Unterschied von einem Bit, wo diese beliebige Bytegrenze
gezogen wird, nicht wichtig sein. Sie ist jedoch in der Anwendung
wichtig, für
die die vorliegende Erfindung entwickelt worden ist. In dieser Anwendung
besitzen die Datenströme (z.
B. D0 bis D7 in 5) nur einen kleinen Phasenunterschied,
der typischerweise kleiner als 1/4 einer Bitperiodendifferenz zwischen
allen von ihnen ist, wobei die Schaltung stromabseitig der vorliegenden Erfindung
dafür verantwortlich
ist, die durch die Schaltung nach 5 erzeugte
den Bytes zurück
in die ursprünglichen
Daten zu verwandeln. In der Anwendung ist die Folge der Bits der
ursprünglichen Daten
in den Datenströmen
jedoch über
die Datenströme
wie folgt angeordnet: ein erstes Bit befindet sich in einem Strom
DATEN 0, das nächste
Bit wird gleichzeitig im nächsten
Datenstrom DATEN 1 übertragen,
das nächste
Bit wird im nächsten
Datenstrom DATEN 2 abermals gleichzeitig übertragen usw., bis alle Ströme bis zu
und einschließlich
der DATEN 7 ein Bit besitzen; das nächste Bit befindet sich dann
in der nächsten
Bitperiode des ersten Stroms DATEN 0 usw. Die Schaltung stromabseitig
der vorliegenden Erfindung, die die Bits wieder in ihrer ursprünglichen Reihenfolge
zu sammensetzt, nimmt an, dass eine Menge von Bytes (eines aus jedem
der Ströme),
die durch die vorliegende Erfindung bereitgestellt wird, Bits besitzt,
die gleichzeitig an den gleichen Positionen innerhalb dieser Bytes übertragen
worden sind. Das Obige beseitigt die Ein-Bit-Perioden-Unbestimmtheit,
die dadurch verursacht wird, dass es zwei Phasenmöglichkeiten
für den
Bittakt gibt, wie im Folgenden erklärt wird.
-
Ein
weiteres Problem bei der Erzeugung unabhängiger Bittakte besteht bei
der Erzeugung der Bytetakte. Das System dient vorzugsweise dazu, 8-Bit-Wörter am
Ausgang des Systems parallel darzustellen, wobei diese Wörter mit
einem einzigen Bytetakt synchronisiert sind. Die bisher beschriebenen
Schaltungen haben jedoch die Erzeugung eines separaten unabhängigen Bytetakts
aus jedem Wort beschrieben.
-
Das
Problem der gegenphasigen Takte kann gelöst werden, indem einer der
Kanäle
als den Master-Bittakt besitzend spezifiziert wird und jedes der erzeugten
Bittaktsignale an diesen Master-Bittakt angepasst wird.
-
Unter
Bezugnahme auf das Phasenrad nach 4 wird angenommen,
dass der Masterkanal einen Bittakt mit einer relativen Phase von
0° erzeugt, so
dass die Phase aller erzeugten Bittakte bezüglich der Phase des Bittakts
des Masterkanals auf dem Phasenrad graphisch dargestellt werden
kann. Wie oben erörtert
worden ist, könnte
die Phase jedes erzeugten Bittakts bezüglich des Master-Bittakts im Allgemeinen
auf irgendeinem Punkt um das Phasenrad liegen. Dies ist so, weil
jeder der Bittakte unabhängig nur
unter Bezugnahme auf den Datenstrom in diesem Kanal erzeugt wird.
-
Damit
das Problem der gegenphasigen Bittakte nach 8 vermieden
wird, sollten alle Bittaktsignale, dies haben die Erfinder erkannt,
in derselben Hälfte
des Phasenrades nach 4 liegen (wobei z. B. 0° als die
Phase eines speziellen Bittakts der Bittakte genommen wird). Falls
der Mastertakt bei 0° liegt,
müssen
alle Bittakte in der oberen Hälfte
des Phasenrades liegen (d. h. zwischen 270° und 90°, was ein Intervall von 180° der Phase
des Bittaktsignals ist).
-
In
der oben erwähnten
Anwendung, in der die Phasen der Datensignale innerhalb einer 1/4
Bitperiode beieinander liegen, schwingt jeder der Bittakte anfangs
irgendwo in einem um 0° zentrierten
Intervall von 90° auf
dem Phasenrad oder in einem um 180° zentrierten Intervall von 90° auf dem
Phasenrad ein. (Hinsichtlich der den 8 gezeigten
Takte erscheinen die Takte in der Nähe von 0° auf dem Phasenrad wie der TAKTA,
während
jene in der Nähe
von 180° wie
der TAKTB erscheinen oder umgekehrt. Auf dem Phasenrad ist 1/4 einer
Bitperiode ein Intervall von 45°,
was bedeutet, dass sich die Takte in der Nähe von 0° über ein gemeinsames Intervall
von nicht mehr als 45° erstrecken,
während
sich jene in der Nähe
von 180° über einen
entsprechendes gemeinsames 45°-Intervall
erstrecken.) 9 zeigt einen Blockschaltplan
einer Schaltung zum Festlegen der Bittaktphase jedes Datenkanals,
damit sie in derselben Hälfte
des Phasenrades bezüglich
eines Mastertakts liegt. Die Dateneingaben D0, D1, ..., DN sind an
die Schaltungen 17, 18 bzw. 19 gekoppelt
gezeigt. Jede der Schaltungen 17, 18 und 19 basiert
auf der Schaltung nach 5 und erzeugt aus der differentiellen
Dateneingabe eine serielle Datenausgabe zusammen mit einem Bittakt.
Ferner erzeugt (was in 5 nicht gezeigt ist) jede der
Schaltungen 17, 18 und 19 ein Phasensignal,
das die Phase seines Bittaktsignals repräsentiert. Dieses Signal wird
aus den Steuersignalen abgeleitet, die die Ausgangsphase im Phaseninterpolator 11 für diesen
Kanal auswählen, und
umfasst einen digitalen Wert, der darstellt, welcher der PLL-Takte
für die
Interpolation ausgewählt ist,
und einen zweiten digitalen Wert, der die Position der Interpolation
zwischen ihnen darstellt. Der Kanal D1 ist in diesem Beispiel als
der Masterkanal bestimmt. Dies ist eine beliebige Wahl, so dass
sich die anderen Takte ihm voraus oder hinter ihm befinden können.
-
Das
durch jede der Schaltungen 17, 18 und 19 erzeugte
Bittakt-Phasensignal wird zu einer zentralen Steuereinheit 16 geleitet.
Diese Steuereinheit 16 vergleicht die Phase jedes Bittakts
mit der Phase des Master-Bittakts. Falls die Phasendifferenz zwischen
einem Bittakt und dem Mastertakt größer als 90° ist, so dass der Bittakt in
der falschen Hälfte
des Phasenrades liegt, wird ein Drehsignal für diesen Bittakt erzeugt. (Weil
die Phase eines Takts durch digitale Werte dargestellt ist (ein
Paar von ihnen, wie oben erwähnt
worden ist), ist eine kombinatorische Logikschaltung vorgesehen,
die berechnet, ob die Differenz größer als 90° ist, z. B. ein Phasenkomparator,
wie oben beschrieben worden ist.) Wenn irgendeine der Schaltungen 17, 18 oder 19 einen Drehbefehl
empfängt,
erzwingt diese Schaltung, dass die Phase des Bittakts dieses Kanals
um 180° geändert wird.
Dies wird vorzugsweise ausgeführt, indem
ein Inverter in den oder aus dem Weg des Bittaktsignals geschaltet
wird. Ein Entstörschalter
ist vorgesehen, um sicherzustellen, dass der Inverter keine zusätzlichen
Flanken in das Bittaktsignal einfügt. Die Entstörschalter-
und Inverterkombination 28 ist in 9a schematisch
gezeigt, wobei sie am Punkt I in den 5 und 7 in
den Bittaktweg eingefügt
werden würde – d. h.
bevor das Taktsignal verwendet wird, um die Abtastung des Datenstroms
mit dem Seriell-Parallel-Umsetzer 11 zu steuern.
-
In 10 ist
eine weitere Anordnung gezeigt. In 10 sind
die Dateneingänge
D0, D1, D2 und D3 an die Schaltungen 20, 21, 22 bzw. 23 gekoppelt
gezeigt. Jede der Schaltungen 20, 21, 22 und 23 basiert
auf der Schaltung nach 5 und erzeugt aus ihrer differentiellen
Dateneingabe eine serielle Datenausgabe zusammen mit einem Bittakt.
Ferner enthält
jede der Schaltungen 20, 21 und 23 eine
Taktsteuerschaltung, die ein Signal, das die Phase des Mastertakts
darstellt, von der Schaltung 22 empfängt (der Datenkanal D2 ist
in diesem Fall als der Masterkanal bestimmt). Jeder der Bittakte
0, 1 und 3 wird durch die Taktsteuerschaltungen des geeigneten Datenkanals
nötigenfalls
eingestellt, wie nun in Bezug auf 11 erörtert wird.
-
11 ist
ein Blockschaltplan der Taktsteuereinheiten der Schaltungen 20, 21 und 23 nach 10.
Jede Taktsteuereinheit umfasst einen Früh-/Spätdetektor 24, 24' und 24'', einen Multiplexierer 25, 25' und 25'' und einen Phasenwähler 26, 26' und 26''. Der Früh-/Spätdetektor 24 und der
Phasenwähler 26 dienen
als der Phasendetektor 11 nach 5. Der Früh-/Spätdetektor 24 besitzt
vier Eingaben, aus denen er eine Ausgabe schafft, die angibt, ob
der Bittakt vorgeschoben werden sollte (im Allgemeinen wenn die
Phase des Datenstroms der Phase des Bittakts voraus ist), oder ob
der Bittakt verzögert werden
sollte oder unverändert
bleiben sollte. Weitere Einzelheiten des Früh-/Spätdetektors (und seiner Eingaben)
sind später
im Folgenden angegeben.
-
Der
Ausgang des Früh-/Spätdetektors 24 ist an
einen Eingang des Multiplexierers 25 gekoppelt. Der Ausgang
des Multiplexierers 25 ist an den Eingang des Phasenwählers 26 gekoppelt.
Die Ausgabe des Phasenwählers 26 steuert
die durch den Phaseninterpolator 10 nach 5 erzeugte
Phase, wobei demzufolge diese Ausgabe sowohl den digitalen Wert,
der darstellt, welche zwei Phasen vom PLL durch den Phaseninterpolator
verwendet werden, als auch den digitalen Wert, der die Position
der Interpolation zwischen ihnen darstellt, umfasst. Der Phasenwähler 26 vergrößert oder
verringert die Phase des Bittaktsignals, wie durch das durch den
Multiplexierer 25 ausgewählte Signal angegeben wird,
dabei er deshalb das Bittaktsignal um das Phasenrad nach 4 bewegt.
Normalerweise wählt
der Multiplexierer 25 die Ausgabe des Früh-/Spätdetektors 24 aus.
-
Der
Ausgang des Phasenwählers 26 ist
an den Eingang eines Komparators 27 gekoppelt. Der Komparator 27 vergleicht
die Phase des Bittaktsignals mit der Phase des Master-Bittakts.
Die Ausgabe des Komparators 27 gibt an, ob sich die Phase
des Bittakts im geeigneten Sektor des Phasenrades befindet, d. h.
sie gibt an, ob sich dieser spezielle Bittakt im Vergleich zum Master-Bittakt
in der oberen oder unteren Hälfte
des Phasenrades befindet. Die Phasensignale sind, wie anderswo hierin
angegeben worden ist, digital, wobei sie sowohl einen Wert, der angibt,
welche zwei Ausgänge
des PLL 7 durch den Phaseninterpolator 10 für die Interpolation
ausgewählt
werden, als auch einen Wert, der die Position der interpolierten
Taktphase, die er ausgibt, zwischen diesen angibt, enthält. Die
digitalen Werte werden unter Verwendung einer kombinatorischen Logikschaltung
verglichen. Verschiedene Verfahren des Bereitstellens dieser aus
der Wahrheitstabelle des Vergleichs sind dem Fachmann auf dem Gebiet
bekannt. Derartige Schaltungen können
vereinfacht werden, indem bemerkt wird, dass es nur notwendig ist,
die Feininterpolations-Positionswerte zu berücksichtigen, falls die PLL-Phasenauswahlwerte
angeben, dass die Phasendifferenz nah bei 90° liegt. In dem veranschaulichten
Fall von acht PLL-Phasen (wobei sie fortlaufend nummeriert sind)
unterscheiden sich die PLL-Phasenauswahlwerte für diesen Zustand um zwei. (Während ein
digitaler Vergleich der Phasenwerte bevorzugt ist, könnte in
alternativen Ausführungsformen
ein analoger Phasenkomparator verwendet werden, der die Bittakt-Signalformen
direkt vergleicht.)
-
Falls
der Bittakt in Bezug auf den Master-Bittakt, der so gewählt ist,
dass er eine Phase von 0° besitzt,
in der unteren Hälfte
des Phasenrades liegt, wird die Funktion des Früh-/Spätdetektors 24 durch den
Ausgang des Komparators 27 aufgehoben, der sowohl an den
zweiten Eingang als auch den Steuereingang des Multiplexierers 25 gekoppelt
ist.
-
Falls
das Bittaktsignal in der unteren Hälfte des Phasenrades (in Bezug
auf den Master-Bittakt) liegt, wird der Phasenwähler gezwungen, das Bittaktsignal
um das Phasenrad zu bewegen, bis es eine annehmbare Position erreicht
(vor zugsweise zur Phase des Master-Bittakts, wie im Folgenden erklärt ist).
Dies wird erreicht, indem der Phasenwähler gezwungen wird, die Bittaktphase
in jedem Zyklus entweder vorzuschieben oder zu verzögern, bis
die Bittaktphase annehmbar ist. Dies wird z. B. alle zwei Bytetaktperioden
ausgeführt,
was schneller ist als sich die Daten in den meisten Anwendungen
in Bezug auf den Referenztakt des PLL bewegen. Wie nun klar ist,
besitzt die Annehmbarkeit zwei Aspekte; dass die Bittaktphase in
Bezug auf die Masterphase in der oberen Hälfte des Phasenrades liegt
und dass die Flanken des Bittakts in der Nähe der Zentren der Bits des
Datenstroms liegen.
-
Abermals
kann die Bittaktphase vorgeschoben werden, bis der Bittakt um 180° bewegt worden ist.
Um dies auszuführen,
erhält
der Komparator die Steuerung des Multiplexierers 25 aufrecht,
bis die Bewegung abgeschlossen ist (die Phase wird um kleine Inkremente
vorgeschoben). Es ist jedoch bevorzugt, den Bittakt vorzuschieben,
bis die Phase des Bittakts gleich der Phase des Master-Bittakts ist, wobei
dann die Bewegung des Bittakts zur Phase der Daten in diesem Datenkanal
unter der Steuerung des entsprechenden Früh-/Spätdetektors veranlasst wird.
-
Selbstverständlich könnte der
Bittakt verzögert
werden, bis sich der Bittakt um den erforderlichen Betrag bewegt
hat, anstatt vorgeschoben zu werden.
-
Der
Früh-/Spätdetektor 25, 25', 25'' arbeitet wie folgt. Der Datenstrom
für den
Kanal wird sowohl bei den positiv als auch den negativ gehenden
Flanken von zwei Takten abgetastet (wobei dies nicht veranschaulicht
ist): dem Bittakt für
diesen Kanal selbst und außerdem
einem aus diesem Bittakt abgeleiteten Takt, der zu diesem Takt gegenphasig
ist. Dies schafft vier (zeitlich) gleichmäßig beanstandete Abtastwerte
für jeden
Zyklus des Bittakts. Aufeinanderfolgende Mengen von vier Abtastwerten
werden zum Früh-/Spätdetektor
geliefert. Wenn der Bittakt mit dem Datenstrom gleichphasig ist,
liegen die Flanken des gegenphasigen Takts in die Nähe jener
des Datenstroms selbst. Der Früh-/Spätdetektor
ist deshalb so konstruiert, dass er jeden Abtastwert von einer Flanke
des gegenphasigen Takts mit seinem Vorgänger vom Bittakt selbst vergleicht
und entscheidet, dass der Bittakt früher ist, falls sie dieselben
sind, und dass er später
ist, falls sie verschieden sind. Der Früh/Spät besitzt Eingänge für vier aufeinanderfolgende
Abtastwerte und führt
zwei derartige Vergleiche auf einmal aus. Wenn die Ergeb nisse aussagen, dass
das Bittaktsignal früher
oder später
ist, dann gibt er ein Signal aus, das angibt, welches von diesen zutreffend
ist. Falls sie verschieden sind, gibt er ein Signal aus, das angibt,
dass der Bittakt mit seinem Datenstrom gleichphasig ist.
-
Die
Anordnung nach 10 besitzt eine Anzahl von Vorteilen.
Zuerst wird eine potentielle Instabilität verringert, die durch das
schnelle Drehen um 180° verursacht
wird. Diese Instabilität
ist durch 12 veranschaulicht. Es wird
ein Bittakt mit einer Phase A betrachtet, die gerade über 90° dem Master voraus
ist. In der obigen Anordnung wird ein Takt dieser Phase schnell
um 180° zur
Phase B vorgeschoben. Rauschen könnte
dann die Phase B veranlassen, sich über die Grenze von 270° zur Phase
C zu bewegen, woraufhin sie sofort um 180° zur Phase D vorgeschoben wird.
Dort kann das Rauschen sie veranlassen, die Grenze von 90° vor dem
Master zur Phase A zu überqueren,
wobei der Zyklus wiederholt werden könnte, was die Phase instabil
macht.
-
Ferner
bietet die Anordnung nach 10 im Gegensatz
zu einer zentralisierten Lösung
eine modulare Lösung.
Zur Schaltung können
leicht zusätzliche
Module hinzugefügt
werden, falls mehr Datenkanäle
erforderlich sind. Dies bildet einen Gegensatz zur obigen Anordnung,
in der die zentrale Steuereinheit neu konstruiert werden müsste, falls
weitere Datenkanäle
erforderlich wären.
(Zweifellos könnte
eine zentralisierte Version der Anordnung nach 10 oder
eine verteilte modulare Version der obigen Anordnung konstruiert
werden, diese werden jedoch nicht als vorteilhaft betrachtet.)
-
Der
Komparator 27 jeder der Taktsteuerschaltungen nach 11 kann
optional mit einem ACC-Eingang versehen sein. Der ACC-Eingang versieht
jede der Steuereinheiten mit einer Einstellung der Empfindlichkeit
oder Genauigkeit.
-
13 zeigt
ein Phasenrad, das in acht Segmente von 45° unterteilt ist. In den oben
erörterten Beispielen
ist die Taktsteuereinheit angewiesen worden, die Phase des Bittakts
zur anderen Hälfte
des Phasenrades zu drehen, wenn der Phasenunterschied zwischen dem
Bittakt und dem Master-Bittakt wenigstens 90° beträgt. Folglich verläuft die
Zone, in der sich der Bittakt dreht, von 90° bis 270°, was die Zone B in 12 ist.
Es ist möglich,
andere Drehzonen zu bestimmen. Die Zone A in 12 ist
z. B. eine Drehzone zwischen 135° und
225°, während die Zone
C zwischen 45° und
315° liegt.
Die gewünschte Drehzone
wird unter Verwendung des ACC-Eingangs in den Komparator 27 festgelegt.
Der ACC-Eingang ändert
einfach die Phasenunterschiede, die erforderlich sind, um den Komparator 27 zu zwingen,
den Phasenwähler 26 anzuweisen,
den Bittakt zu drehen.
-
Das
hauptsächliche
Ziel dessen, die Änderung
der Drehzone zu erlauben, besteht darin, das Datenübertragungssystem
mit einer Testeinrichtung zu versehen. Die Frequenz, bei der die
Drehbefehle auftreten, kann als ein Maß der Streuung der Bittaktsignale
und folglich der Streuung der ankommenden Datensignale verwendet
werden. Diese Frequenz kann gemessen werden, indem ein Zähler an
dem Leiter angebracht wird, der den Befehl zum Drehen überträgt. Durch
die Veränderung
der Drehzone während
einer Testbetriebsart können
weitere Informationen über
die Streuung der Phasen der Daten ermittelt werden. Das Merkmal
kann außerdem
verwendet werden, um den Betrag der Toleranz im System zu messen.
Es wird z. B. die Situation betrachtet, in der das System normal
arbeitet und der ACC-Eingang die Drehzone als die Zone B festlegt.
Falls die Drehzone erweitert wird, vielleicht auf die Zone C, werden die
Bittakte häufiger
gezwungen, sich zu drehen. Falls das Auftreten der Taktdrehungen
null ist, wenn die Zone C verwendet wird, kann der Anwender sicher
sein, dass, wenn die Zone B (d. h. die normale Betriebsart) verwendet
wird, es eine signifikante Toleranz im System gibt und die Bittaktdrehungen
nicht auftreten sollten, sobald die anfängliche 180°-Korrektur ausgeführt worden
ist.
-
Das
durch die vorliegende Erfindung angesprochene Problem ist die Bereitstellung
eines einzigen Bytetakts und die Synchronisation aller Datenkanäle mit diesem
Bytetakt. Es wird angegeben, dass es nicht erforderlich ist, die
Bits unmittelbar in die ursprünglichen
Gruppen (Wörter
oder Bytes) zu gruppieren, wie sie vor der Übertragung waren, sondern dass
sie nur in beliebige Gruppen gruppiert werden. Das Sortieren dieser
in die richtigen Gruppen kann stromabseitig der vorliegenden Erfindung
ausgeführt werden,
die Lösung
dieses Problems ist jedoch keine Aufgabe der vorliegenden Erfindung. 14 ist
ein Impulsplan, der die Schwierigkeit beim Anordnen des Bytetakts
demonstriert.
-
Die
erste Zeile des Impulsplans nach 14 zeigt
den Master-Bittakt. Dieser Bittakt besitzt eine Periode von etwa
600 ps. Der Bittakt jedes Datenkanals kann in Bezug auf den Bittakt
vorgeschoben oder verzögert
sein. Es wird angenommen, dass die Systemspezifikation erfordert,
dass jeder Bittakt innerhalb von 45° des Master-Bittakts auf dem
Phasenrad liegt. Folglich beträgt
die zulässige
Streuung der Daten 75 ps auf beiden Seiten des Master-Bittakts.
-
Dies
kann in der in 15 gezeigten Lichtleitfaser-Schaltung
auftreten. Die Daten bei 40 Gbit/s in einer Lichtleitfaser 30 werden
durch einen bipolaren integrierten Schaltungsempfänger 31 empfangen,
der sie in sechzehn parallele Datenströme 32 bei 2,5 Gbit/s
umsetzt, die einige Zentimeter über eine
Leiterplatte zu einer integrierten CMOS-Schaltung 33 übertragen
werden. Obwohl die sechzehn Datenströme den Empfänger 31 gleichphasig
verlassen, sind sie zu dem Zeitpunkt, zu dem sie die CMOS-Schaltung 33 erreichen,
bei diesen hohen Übertragungsraten
nicht gleichphasig. (Die hierin oben beschriebenen Schaltungen können verwendet werden,
um die sechzehn Datenströme
in der integrierten CMOS-Schaltung zu empfangen, wie bei 34 schematisch
veranschaulicht ist.)
-
Die
frühesten
und spätesten
zulässigen
Bittakte sind als die zweiten und dritten Zeilen in dem Impulsplan
nach 14 gezeigt. Zweifellos muss der Bytetakt später als
der späteste
mögliche
Bittakt positioniert sein, um die durch den spätesten Bittakt zwischengespeicherten
Daten im Register 14 der Schaltung nach 6 zwischenzuspeichern.
Ferner darf die Vorbereitungszeit (tsu)
dieses Registers nicht verletzt werden. Die Vorbereitungszeit eines
beispielhaften Registers beträgt
200 ps. Folglich muss der Bytetakt wenigstens 200 ps nach dem spätesten möglichen
Bittakt positioniert sein. Das heißt, wenigstens 275 ps nach
dem Master-Bittakt.
-
Zusätzlich zur
Nichtverletzung der Vorbereitungszeit des Registers 14 mit
dem spätesten
zulässigen
Bittakt darf die Haltezeit (THOLD) dieses
Registers auch nicht durch den frühesten möglichen Bittakt verletzt werden.
Dies ist so, weil die durch den früheren Takt zwischengespeicherten
Daten beim nächsten
Bitzyklus geändert
werden und diese Daten im Register 14 zwischengespeichert
sein müssen,
bevor sie sich ändern.
Die Haltezeit eines beispielhaften Registers beträgt 200 ps.
Folglich muss der Bytetakt wenigstens 200 ps vor der nächsten Anstiegsflanke des
frühesten
möglichen
Bittakts positioniert sein.
-
Wie
in 14 zu sehen ist, gibt es ein Fenster 35 von
50 ps, während
dessen der Bytetakt die Daten von jedem Datenkanal zwischenspeichern kann,
während sichergestellt
ist, dass keine der Vorbereitungs- oder Haltezeiten der Daten von
diesen Datenkanälen
verletzt sind.
-
Es
ist deshalb möglich,
einen Master-Bytetakt aus dem Master-Bittakt zu erzeugen (d. h.
die Flanken des Master-Bytetakts stimmen mit Flanken des Master-Bittakts überein)
und dieses Masterbytetakt-Signal als den Bytetakt zu verteilen,
der verwendet wird, um das Register 14 für alle Datenkanäle auszulösen. Die
Spielräume
sind jedoch sehr klein.
-
Der
erzeugte Bytetakt kann näher
bei der idealen Position positioniert werden, indem von der Kenntnis
der Phase jedes Bittakts Gebrauch gemacht wird. Weil die Phase jedes
Bittakts bekannt ist, ist die Position jedes Datenkanals auf dem
Phasenrad bezüglich
des Masterkanals bekannt. Es ist deshalb möglich, aus diesen Phasen die
optimale Position, um den Bytetakt anzuordnen, zu bestimmen – die in
dem Fall des oben beschriebenen Fensters selbstverständlich vorzugsweise
innerhalb dieses Fensters liegt.
-
Vorzugsweise
wird eine repräsentative
Phase aller Kanäle
bestimmt, wobei die Phase des Bytetakts um einen konstanten Betrag
(der null sein kann) von dieser versetzt ist. Die repräsentative
Phase kann z. B. der Durchschnitt der Phasen aller Bittakte sein
(der durch das Summieren aller Phasenwerte und das Teilen durch
die Anzahl der Kanäle
erlangt werden kann), oder sie kann erlangt werden, indem bestimmt
wird, welche der Phasenwerte der größte und der kleinste sind,
und der Mittelpunkt zwischen ihnen berechnet wird. Diese Berechnungen
können unter
Verwendung einer relativ einfachen kombinatorischen Logik ausgeführt werden,
um die ideale Phase des Bytetakts zu bestimmen. Den Fachleuten auf dem
Gebiet sind verschiedene Verfahren zum Bereitstellen einer geeigneten
Logikschaltung bekannt.
-
Dann
kann ein zusätzlicher
Phaseninterpolator verwendet werden, um diesen Bytetakt zu erzeugen,
wobei der Bytetakt überall
im System einschließlich
zu den Registern 14 verteilt werden kann.
-
16 ist
ein Blockschaltplan der Schaltung zum Erzeugen des gemeinsamen Bytetakts 39.
In 16 sind die Kanalabschnitte 40, 41 und 42 wie jene
nach 7 konstruiert. Vorzugsweise werden in diesen Kanalabschnitten
Maßnahmen
wie jene unternommen, die oben beschrieben worden sind, um das Problem
der gegenphasigen Bittakte zu vermeiden. Jeder Kanalabschnitt erzeugt
8-Bit-Datenbytes (andere Wortlängen
sind möglich)
aus dem Register 14 (siehe die 6 und 7),
das nicht von seinem eigenen (durch den Teiler 15 erzeugten)
Bytetakt getaktet wird, sondern vom gemeinsamen Bytetakt 39 (16).
Alternativ kann das Register 14 entsprechend dem Bytetakt
seines Kanals getaktet werden, wobei ein weiteres Register vorgesehen
sein kann, um die Daten vom Register 14 zu Zeitpunkten
zwischenzuspeichern, die durch den gemeinsamen Bytetakt definiert
sind.
-
Der
Rest der Schaltung nach 16 erzeugt den
gemeinsamen Bytetakt entsprechend dem oben beschriebenen Verfahren.
Die Berechnungseinrichtung 43 für die repräsentative Phase (der repräsentative
Phasenkalkulator) ist so angeschlossen, dass sie die digitalen Phasenwerte
vom Phasendetektor 9 (7) von jedem
der Kanalabschnitte 40, 41, 42 (insbesondere
vom Phasenwähler 26 im
Fall der Schaltung nach 11) empfängt und
aus jenen die repräsentative
Phase erzeugt. Mit einem Versatzaddierer 45 wird ein konstanter
Wert 44 addiert, um einen digitalen Bytetakt-Phasenwert 46 zu
erzeugen, wobei die Konstante ausgewählt wird, um die optimale Phase
für den
Bytetakt innerhalb des oben beschriebenen Fensters zu liefern. Dieser
wird durch den gemeinsamen PLL 47 und einen zusätzlichen Phaseninterpolator 48 verwendet,
um ein Taktsignal mit der gleichen Periode wie die Bittakte zu schaffen, das
dann durch den Teiler 49 geteilt wird, um das gemeinsame
Bytetaktsignal 39 zu schaffen, das zurück zu den Kanalabschnitten
geleitet wird, um die Register 14 zu takten (7).
Wie oben angegeben worden ist, ist es keine Aufgabe der vorliegenden
Erfindung, Bytes oder Wörter
mit den ursprünglichen Grenzen
zu schaffen. Deshalb ist die Initialisierung des Teilers 49 beliebig.