-
Technisches
Feld
-
Die Erfindung betrifft ein System
und ein Verfahren zum Erzeugen eines binären synchronisierten Signalsatzes
aus einem seriellen Multikanalsignal und insbesondere zum Korrigieren
der Schrägelage beim
Abtasten jedes seriellen Signals und zum Synchronisieren von binären Zeichen
in einem Kanal mit deren Gegenstücken
in anderen Kanälen,
um serielle Multikanalsignale zu empfangen.
-
Hintergrund und Ziele
der Erfindung
-
In der Veröffentlichung „IEICE
Transactions on Electronics E78" vom
Juni 1995, Tokyo (JP), Nr. 6, Seiten 601–611, XP000524416, von Kyenongho
Lee et al. mit dem Titel "A
CMOS serial link for fully duplexed data communication" wird eine auf CMOS-Technik
basierende serielle Verbindung beschrieben, die eine serielle Datenkommunikation
mit 500 Mbaud in Vollduplex gestattet. Ein zentraler Ladungspumpen-PLL
zum Erzeugen von Multiphasentakten zum Überabtasten wird von mehreren
seriellen Verbindungskanälen
geteilt. Die serielle Vollduplex-Datenkommunikation wird in der
bidirektionalen Brücke
realisiert, indem die ankommenden Daten am Kabelende vom gemischten
Signal getrennt werden. Der digitale PLL führt eine prozeßunabhängige Datenwiederherstellung
aus, indem eine Überabtastung mit
niedrigem Verhältnis,
eine Mehrheitsentscheidung und ein paralleles Datenwiederherstellungsschema
verwendet wird.
-
Ein Problem bei der Abtastung eines
seriellen Datenstroms ist das Problem der Takt-Schräglage
(clock skew). Eine Takt-Schräglage
tritt auf, wenn ein wiederhergestelltes Taktsignal, dessen Phase
zur Ermittlung der Zeitpunkte verwendet wird, an denen das serielle
Signal abgetastet wird, gegenüber
dem seriellen Signal außer
Phase ist. Dies kann der Fall sein, wenn beispielsweise der Draht
oder ein anderes Medium, das das Taktsignal trägt, eine andere Länge oder
Dichte hat, als der Draht oder das Medium, welches das serielle
Datensignal überträgt.
-
Eine Möglichkeit zur Behandlung eines Schräglagezustands
ist es, das empfangene serielle Signal überabzutasten, d. h. das empfangene
Signal während
der erwarteten Dauer jedes Bitsignals mehr als einmal abzutasten.
Durch die Auswahl mehrerer Abtastwerte kann ein Schräglagezustand
detektiert werden, indem die Werte, die in der Mehrzahl der Überabtastungen
ermittelt wurden, verwendet werden und eine Minderzahl der ermittelten,
durch die Schräglage
erzeugten Störwerte
ignoriert werden. Ein Problem dieses Ansatzes ist, daß er bei
großen Schräglagen fehlschlägt, in denen
eine Mehrzahl von Überabtastungen
zu dem benachbarten übertragenen
Bit statt zu dem gewünschten
Bit gehören.
Dies tritt insbesondere gehäuft
auf, wenn sich eine geringe Schräglage über eine
Zeitdauer fortgesetzt hat, wodurch eine große akkumulierte Schräglage erzeugt wird.
Es ist daher wünschenswert,
Mittel zur Detektion des Auftretens einer Schräglage sowie zum Justieren der Überabtastung
vorzusehen, um die beobachtete Schräglage zu kompensieren und um
diese in den folgenden Überabtastungen
zu beseitigen.
-
Weiterhin ist es wünschenswert,
Mittel zum Kombinieren mehrerer serieller Signale zu einem einzigen
zusammengesetzten Signal vorzusehen, die jegliche Abweichungen der
Ankunftszeit für
jedes der seriellen Signale berichtigen.
-
ABRISS DER
ERFINDUNG
-
Die vorliegende Erfindung betrifft
ein Verfahren und eine Vorrichtung zum Empfangen eines digitalen
seriellen kodierten Multikanalsignals und zum Konvertieren des empfangenen
Signals in einen synchronisierten Satz binärer Zeichen. In einer Ausführungsform
empfängt
ein Ladungspumpen-Phasenregelkreis ein übertragenes Referenztaktsignal
und leitet ein Multiphasen-Taktsignal aus dem Referenztaktsignal
ab. Das Multiphasen-Taktsignal wird zur Steuerung einer Vielzahl
von Multibit-Blockanordnungsschaltkreisen verwendet. Jeder Anordnungsschaltkreis
empfängt
einen Kanal des digitalen Signals und erzeugt einen Multibit-Block oder ein Zeichen.
Der Multibit-Blockanordnungsschaltkreis umfaßt einen Überabtaster, einen digitalen
Phasenregelkreis und einen Bitsynchronisierer. Der Überabtaster
tastet gesteuert vom Multiphasen-Taktsignal das empfangene digitale
Signal ab und erzeugt eine Folge überabgetasteter binärer Daten.
Der digitale Phasenregelkreis empfängt die überabgetasteten Daten und wählt aus diesen
Daten Abtastwerte abhängig
von den Schräglage-Merkmalen
des Abtastwertes aus. Der Bytesynchronisierer stellt eine Folge
gewählter
Bits zu einem Bitblock oder zu einem Zeichen zusammen. Ein Interkanal-Synchronisierer
empfängt
die von jedem Multibit-Blockanordnungsschaltkreis erzeugten Zeichen
als Eingabe und verzögert
ausgewählt
die Ausgabe der empfangenen Zeichen, um die Zeichen jedes Kanals
miteinander zu synchronisieren.
-
In einer anderen Ausführung der
Erfindung umfaßt
ein digitaler Phasenregelschaltkreis ein Phasenausricht-Fenster,
abhängig
von einem Phasenauswahlsignalwert, das überabgetastete binäre Signale
empfängt
und einen Satz phasenausgerichteter binärer Signale gemäß dem Wert
des Phasenauswahlsignals erzeugt. Ein Phasendetektions-Logikschaltkreis
empfängt
die phasenausgerichteten binären
Signale und erzeugt ein Phasendetektionssignal, welches die Phase
des empfangenen Signals kennzeichnet. Ein digitales Schleifenfilter
erzeugt einen Satz Phaseneinstell-Empfehlungssignale, die selektiv
eine Phasenkorrektur empfehlen. Ein phasenjustierender endlicher
Automat erzeugt einen Satz Phaseneinstell-Empfehlungssignale und
leitet ein Phasenauswahlsignal ab, das zum Phasenausricht-Fenster
zurückgeführt wird.
-
In einer weiteren Ausführung der
Erfindung wird die Phasenbedingung eines überabgetasteten binären Signals
detektiert. Ein Phasendetektions-Logikschaltkreis empfängt als
Eingabe eine Vielzahl von binären
Signalen und erzeugt ein Phasendetektionssignal. Der Phasendetektions-Logikschaltkreis umfaßt eine
Vielzahl von phasendetektierenden Zellen, die ein Phasensignal mit
einem logischen Wert erzeugen, der die Phase des empfangenen Signals anzeigt.
Das Phasensignal wird an einen Auf-/Ab-Entscheidungs-Logikschaltkreis
angelegt, der ein zusammengesetztes Signal erzeugt, das angibt,
ob das empfangene binäre
Signal gleichbleibend in der gleichen Richtung außer Phase
ist.
-
In einer weiteren Ausführung der
Erfindung wird die Phase eines überabgetasteten
binären
Signals justiert. Ein digitales Schleifenfilter empfängt eine
Folge zusammengesetzter Phasensignale und erzeugt ein Tristate-Phaseneinstell-Empfehlungssignal,
das anzeigt, ob sich das überabgetastete
Signal in einer ersten Richtung oder einer zweiten Richtung außer Phase
befindet oder in Phase ist. Ein phaseneinstellender endlicher Automat
verarbeitet das Tristatesignal und erzeugt ein Phaseneinstellsignal,
das von einem Phaseneinstellschaltkreis verwendet werden kann, um
die Phase der im weiteren empfangenen Signale einzustellen. In einer
weiteren Ausführung
der Erfindung sind eine Vielzahl von Multibit-Zeichen, die auf einer
Vielzahl von Kanälen
empfangen wurden, synchron zueinander. Mittels eines vorbestimmten
Präambelzeichens
außerhalb
des Bandes wird ein Satz Präambelsignale
detektiert und dazu verwendet, ein Datenfreigabesignal zu steuern,
das anzeigt, ob ein Zeichen in ein Präambelzeichen oder in ein Datenzeichen
verarbeitet wurde. Die Freigabesignale jedes Kanals werden dazu
verwendet, die Ausgabe eines empfangenen Datenzeichens selektiv zu
verzögern,
bis die Präambelperiode
für alle
Kanäle
beendet ist, wodurch die Synchronisation unter den Kanälen gewährleistet
wird.
-
Weitere Merkmale der Erfindung ergeben sich
aus der folgenden Beschreibung, insbesondere in Bezug auf die beigefügten Zeichnungen.
-
BESCHREIBUNG
DER ZEICHNUNGEN
-
Die Aspekte der vorliegenden Erfindung
sind besser anhand der Zeichnungen verständlich, wobei die Figuren im
einzelnen darstellen:
-
1A zeigt
ein übliches
Abtasten eines seriellen Datenstroms ohne wesentliche Taktschräglage;
-
1B zeigt
ein übliches
Abtasten eines seriellen Datenstroms mit einem wesentlichen Taktschräglagezustand;
-
2 zeigt
einen Überblick über eine
Ausführungsform
des Datenwiederherstellungssystems gemäß der vorliegenden Erfindung;
-
3 zeigt
die Beziehungen zwischen den empfangenen seriellen Daten, einem
Referenztakt und einem Multiphasentakt;
-
4 zeigt
ein Beispiel des Betriebs eines Überabtasters
gemäß der vorliegenden
Erfindung für eine
Periode jeder Phase eines Multiphasentakts;
-
5 zeigt
den Betrieb des Überabtasters für eine Periode
eines Multiphasentakts, bei dem die Abtastwerte wesentlich außerhalb
der Synchronisation liegen;
-
6 zeigt
das Zusammenspiel eines Überabtasters
und eines digitalen Phasenregellσeises;
-
7A bis 7D zeigen den Betrieb eines
Phasenausricht-Fensters gemäß der vorliegenden
Erfindung;
-
8 zeigt
ein Beispiel eines Schaltkreises zur Implementierung des Phasenausrichtfensters
der vorliegenden Erfindung;
-
9 zeigt
den Betrieb eines Phasendetektions-Logikschaltkreises der vorliegenden
Erfindung;
-
10 zeigt
den Betrieb einer phasendetektierenden Zelle der vorliegenden Erfindung;
-
11 zeigt
den Betrieb einer Auf-/Ab-Entscheidungs-Logik der vorliegenden Erfindung;
-
12 zeigt
ein Zustandsdiagramm für
ein digitales Schleifenfilter der vorliegenden Erfindung;
-
13 zeigt
eine logische Darstellung eines Schaltkreises, der ein digitales
Schleifenfilter der Erfindung implementiert;
-
14 zeigt
ein Zustandsdiagramm eines endlichen Automaten nach der vorliegenden
Erfindung;
-
15 zeigt
eine logische Darstellung eines Schaltkreises, der den endlichen
Automat der vorliegenden Erfindung implementiert;
-
16 zeigt
den Rahmen-Synchronisationsschaltkreis gemäß der vorliegenden Erfindung;
-
17 zeigt
die Rahmendetektierlogik der vorliegenden Erfindung im Detail;
-
18 zeigt
die Detektionszelle der vorliegenden Erfindung im Detail;
-
19 zeigt
das Abbilden, das von einem Abbildeblock in einer Detektionszelle
durchgeführt wird;
-
20 zeigt
den Interkanal-Synchronisierer gemäß der vorliegenden Erfidung;
-
21 zeigt
den Verzögerungseinstellblock der
vorliegenden Erfindung im Detail;
-
22 zeigt
einen zeitlichen Verlauf für
den Synchronisationsblock der vorliegenden Erfindung bei normalem
Betrieb; und
-
23 zeigt
einen zeitlichen Verlauf des Synchronisationsblock der vorliegenden
Erfindung bei verfrühter
Ankunft eines 10-Bitsignals.
-
DETAILLIERTE BESCHREIBUNG
-
Einleitung
-
1A zeigt
ein konventionelles Abtasten eines seriellen Datenstroms, der keine
wesentliche Taktschräglage
aufweist. Ein empfangenes Taktsignal 1 zeigt ein von einer
begleitenden seriellen Leitung wiederhergestelltes Taktsignal. Das
PLL-Taktsignal 3 zeigt ein Taktsignal, das von einem Phasenregelkreis
in Reaktion auf das empfangene Taktsignal 1 erzeugt wurde.
-
Gemäß des PLL-Taktsignals 3 werden
Daten abgetastet. Üblicherweise
wird eine Abtastung des seriellen Signals mit jeder fallenden Flanke
des DLL-Taktsignals 3 durchgeführt. Die 1A zeigt das PLL-Taktsignal 3 in
genauer Synchronisation mit dem empfangenen seriellen Signal 5,
wie es durch die korrekten Abtastpunkte 7 dargestellt ist.
-
Die 1B zeigt
das gleiche übliche
Abtasten eines seriellen Datenstroms, der einen wesenlichen Taktschräglagezustand
aufweist. Wie in der 1A,
zeigt das empfangene Taktsignal 1 ein Taktsignal, das von
einer begleitenden seriellen Leitung wiederhergestellt wurde. Das
PLL-Taktsignal 3 zeigt ein Taktsignal, das von einem Phasenregelkreis
in Reaktion auf das empfangene Taktsignal 1 erzeugt wurde.
Gemäß dem PLL-Taktsignal 3 werden
Daten abgetastet. Jedoch ist das PLL-Taktsignal 3 in dem
in der 1B dargestellten
Fall mit dem seriellen Signal 5 nicht in Phase. Daher wird
das serielle Signal 5 nicht in der Nähe der Mitte des Bits abgetastet,
sondern bei einem unrichtigen Abtastpunkt 9. Zwischen dem
unrichtigen Abtastpunkt 9 und dem optimalen Abtastpunkt
liegt eine gewisse Entfernung, die durch eine Schräglagenentfernung 11 dargestellt
ist. Daher kann das serielle Signal 5 fälschlicherweise mit einem Wert
gemessen worden sein, der sich von dem übertragenen Wert unterscheidet.
-
Die 2 zeigt
einen Überblick
einer Ausführung
des Datenwiederherstellungssystems gemäß der vorliegenden Erfindung.
Ein Ladungspumpen-Phasenregelkreis (PLL) 20 empfängt einen übertragenen
Referenztakt 22. Ein oder mehrere Multibit-Blockanordnungsschaltkreise 25 empfangen zusammen
mit der Übertragung
des Referenztaktes 22 das übertragene serielle Signal 28 am
Eingang und erzeugen am Ausgang ein Datenzeichen ohne Schräglage. Wahweise
kann jedes Datenzeichen ohne Schräglage als Eingabe für einen
Interkanal-Synchronisationsschaltkreis 34 vorgesehen
werden: Der Interkanal-Synchronisationschaltkreis 34 verzögert selektiv
ein oder mehrere der empfangenen Zeichen ohne Schräglage und
erzeugt am Ausgang ein synchronisiertes Multikanalsignal, das jedes empfangene
Zeichen ohne Schräglage
umfaßt.
Die in 2 gezeigte Ausführung verwendet
Multibit-Blockanordnungsschaltkreise, um ein zusammengesetztes Dreikanal-Signal
zu erzeugen und ist daher insbesondere für die Übertragung eines Videosignals geeignet,
welches ein zusammengesetztes RGB-Signal verwendet, welches aus
jeweils einem Signal für rot,
grün und
blau zusammengesetzt ist, um zusammen das RGB-Signal zu bilden.
-
Jeder Multibit-Blockanordnungsschaltkreis 25 umfaßt einen Überabtaster 26,
einen digitalen Phasenregelkreis (DPLL) 30 und einen Bitsynchronisierer 32,
wie im weiteren beschrieben wird.
-
Betrieb des Überabtasters
-
Im Betrieb empfangen die Überabtaster 26 am
Eingang übertragene
serielle Daten 28, welche mit einer vorbestimmten Anzahl
von Bits pro Sekunde (bps) übertragen
werden. Die Frequenz des übertragenen
Referenztakts 22 und die bps der übertragenen seriellen Daten 28 werden
so gewählt,
daß die Anzahl
der Bits der übertragenen
seriellen Daten 28, die während eines Arbeitszyklus des
Referenztakts 22 übertragen
werden, gleich der Anzahl der Bits in einer zu kodierenden Einheit, üblicherweise
ein Zeichen, ist. Wenn beispielsweise die Erfidung implementiert
ist, um eine Einheit von einem 10-Bitzeichen auf einmal zu dekodieren
und ein Referenztakt 22 eine Frequenz von N MHz aufweist,
werden die seriellen Daten 28 mit einer Übertragungsrate
von 10 × N
Mbps übertragen.
Wenn beispielsweise die Empfangsdatenrate 650 Mbps beträgt, hat
der Referenztakt 22 eine Frequenz von 65 MHz.
-
In Reaktion auf den Referenztakt 22 erzeugt ein
PLL 20 ein Multiphasen-Taktsignal 24. Das Multiphasen-Taktsignal 24 weist
eine solche Frequenz und Phase auf, daß eine Vielzahl von Taktflanken
in der Zeitdauer festgestellt werden, die für den Empfang jedes Bits der übertragenen
seriellen Daten 28 benötigt
werden. Beispielsweise ermöglicht
es ein Multiphasen-Taktsignal 24 mit
einer Phase von 12 und mit einer Frequenz von 2,5 × N MHz,
für jedes
Bit der empfangenen seriellen Daten 28 drei Taktflanken zuweisen.
-
Die 3 zeigt
die Beziehung zwischen den empfangenen seriellen Daten 28, dem Referenztakt 22 und
dem Multiphasentakt 24. Die dargestellte Ausführung ist
ein Referenztakt 22 mit einer Frequenz von N MHz, wobei
serielle Daten 28 mit 10× N Mbps und mit einem Multiphasentakt 24 mit
einer Phase von 12 und einer Frequenz von 2,5 MHz übertragen
werden. Die seriellen Daten 28 umfassen eine Vielzahl von
10 seriellen Datenbits 28-1 bis 28-10. Der Multiphasentakt 24 umfaßt eine
Vielzahl von Taktsignalen 24-1 bis 24-12, die
jeweils eine Frequenz von 2,5 MHz haben und jeweils den gleichen Phasenversatz
zu ihren benachbarten Taktsignalen aufweisen. Die Frequenzen der
Taktsignale 24-1 bis 24-12 sind so gewählt, daß eine vorbestimmte
Anzahl von ansteigenden Flanken des Multiphasentakts 24,
in dem Beispiel drei, während
jedes Bits 28-1 bis 28-10 auftritt. Beispielsweise
treten die anstei genden Flanken der Takte 24-1, 24-2 und 24-3 während der Dauer
des Bits 28-1 auf; die ansteigenden Flanken der Takte 24-4, 24-5 und 24-6 treten
während
der Dauer des Bits 28-2 auf, usw.
-
Die 4 zeigt
ein Beispiel des Betriebs eines Überabtasters 26 für jeweils
einen Zyklus der Takte 24-1 bis 24-12. Das dargestellte
Beispiel zeigt vier Eingangsbits, d. h. die Bits 28-1 bis 28-4,
die dementsprechend mit den Takten 24-1 bis 24-12 abgetastet
werden, wodurch am Ausgang abgetastete Daten 40 erzeugt
werden, welche als 12 Binärwerte S[0:11]
dargestellt werden. Im dargestellten Beispiel haben die Bits 28-1 und 28-3 jeweils
den Wert „1" und die Bits 28-2 und 28-4 jeweils
den Wert „0". Das Bit 28-1 wird
gemäß der Takte 24-1, 24-2 und 24-3 für insgesamt
drei Abtastwerte abgetastet, wodurch die überabgetasteten Daten S[0],
S[1] und S[2] erzeugt werden. Das Bit 28-2 wird gemäß der Takte 24-4, 24-5 und 24-6 für insgesamt
drei Abtastwerte abgetastet, wodurch die überabgetasteten Daten S[3], S[4]
und S[5] erzeugt werden. Das Bit 28-3 wird dementprechend
mit den Takten 24-7, 24-8 und 25-9 für insgesamt
drei Abtastwerte abgetastet, wodurch die überabgetasteten Daten S[6],
S[7] und S[8] erzeugt werden. Das Bit 28-4 wird gemäß der Takte 24-10, 24-11 und 24-12 für insgesamt
drei Abtastwerte abgetastet, wodurch die überabgetasteten Daten S[9], S[10]
und S[11] erzeugt werden.
-
Es ist zu bemerken, daß im gezeigten
Beispiel von 4 angenommen
wird, daß die
Takte 24-1 bis 24-12 perfekt mit den Bits 28-1 bis 28-4 synchronisiert
sind. Somit wird jeder Wert der Abtastwertsätze S[0:2], S[3:5], S[6:8]
und S[9:11] korrekt abgetastet. Im Gegensatz hierzu stellt die 5 den Betrieb des Übertasters 26 für eine Periode
dar, in der die Takte 24-1 bis 24-12 deutlich
zu den Bits 28-1 bis 28-4 asynchron sind. Es ist
zu bemerken, daß die abgetasteten
Bits S[0] und S[1] das korrekt empfangene Bit 28-1 abtasten,
wodurch ein korrekt abgetasteter Wert „1" erzielt wird. Jedoch wird statt des
korrekt empfangenen Bits 28-1 das falsche Eingangsbit 28-2 vom
abgetasteten Bit S[2] abgetastet, wodurch sich der falsche Wert „0" ergibt. In gleicher
Weise tasten die abgetasteten Bits S[3:4], S[6:7] und S[9:10] die
jeweiligen empfangenen Bits 28-2, 28-3 und 28-4 korrekt
ab. Jedoch tastet das abgetastete Bit S[5] fälschlicherweise das empfangene
Bit 28-3, das abgetastete Bit S[8] fälschlicherweise das empfangene Bit 28-4 und
das abgetastete Bit S[11] fälschlicherweise
das empfangene Bit 28-5 ab. Trotz der Abtastfehler, die
durch die fehlende Synchronisation erzeugt werden, ist zu bemerken,
daß die
mittleren überabgetasteten
Bits in jeder Dreier-Gruppe (d. h. S[1], S[4], S[7] und S[10] der
jeweiligen Gruppen S[0:2], S[3:5], S[6:8] und S[9:11]) trotz der
Schräglage
korrekt abgetastet werden.
-
Überblick über den
Betrieb des digitalen Phasenregelkreises
-
Die 6 zeigt
das Zusammenspiel des Überabtasters 26 und
des DPLL 30 und gibt einen Überblick über den Betrieb des DPLL 30.
Nach dem Überabtasten
stellt der Überabtaster 26 dem
DPLL 30 als Ausgabe ein 14-Bitsignal 60 zur Verfügung. Das
14-Bitsignal umfaßt
S[0:11] und zwei weitere Bits. Ein weiteres Bit ist das bei der
vorhergehenden Operation des Überabtasters 26 abgetastete
letzte Bit (d. h. der als S[11] abgetastete Wert beim letzten Abtastdurchgang),
das S'[11] genannt
wird. Das andere zusätzliche
Bit ist das bei der folgenden Operation des Überabtasters 26 abgetastete
erste Bit (d. h. der Wert, der für
S[0] beim nächsten
Abtastvorgang verwendet wird), der als S''[0]
bezeichnet wird. Um den Bitwert für S''[0]
zu erhalten, wird der Ausgang des Überabtasters 26 um
eine Phase des Multiphasentakts 24 verzögert.
-
Der DPLL 30 umfaßt ein Phasenanordnungs-Fenster 50,
einen logischen Phasendetektions-Schaltkreis 52,
ein digitales Schleifenfilter 54 und einen phasenausrichtenden
endlichen Automaten (finite state machine, FSM) 56. Das
phasenausrichtende Fenster 50 wählt 12 der 14 Bits S'[11], S[0:11] und
S''[0], abhängig vom
Wert eines Phasenauswahlsignals 58 aus, das vom FSM 56 erzeugt wird,
wie im weiteren beschrieben wird, wodurch ein 12-Bitsignal 62 erzeugt
wird. Ferner leitet das phasenausrichtende Fenster vom 12-Bitsignal 62 ein Teilsignal
mit 4 Bits ab und stellt am Eingang des Byte-Synchronisierschaltkreises 32 ein
Teilsignal 64 mit 4 Bits bereit. Der Phasenauswahl-Logikschaltkreis 52 untersucht
das 12-Bitsignal 62 und ermittelt, ob das Signal einen
Zustand außerhalb
der Phase angibt. Der Phasenauswahl-Logikschaltkreis 52 bestimmt
zwei Phasendetektionssignale UPF 66 und DOWNF 68 als
Ausgabe. Die Phasendetektionssignale UPF 66 und DOWNF 68 werden
dem digitalen Schleifenfilter 54 eingegeben. Das digitale
Schleifenfilter 54 ermittelt, ob eine ausreichende Anzahl
aufeinanderfolgender Phasenzustände
der gleichen Polarität
detektiert wurden und erzeugt einen Satz von drei Phasenkorrektur-Empfehlungssignalen,
die als UPT 70, HOLD 72 und DOWNT 74 bezeichnet
werden. Die Signale UPT 70, HOLD 72 und DOWNT 74 werden
dem FSM 56 eingegeben und dieser erzeugt ein Phasenauswahlsignal 58,
das vom Phasenausricht-Fenster 50, wie oben beschrieben,
verwendet wird.
-
Der Betrieb und das Zusammenspiel
der verschiedenen Komponenten des DPLL 30 ist anhand der
folgenden Beschreibung jeder Komponente erklärt.
-
Phasenausricht-Fenster
-
Die 7A bis 7C zeigen den normalen Betrieb
des Phasenausricht-Fensters 50. Wie oben beschrieben ist,
umfaßt
das 14-Bit-Eingangssignal 50 das Bit S'[11], zwölf Bits S[0:11] und das Bit
S''[0]. Das Phasenausricht-Fenster
wählt 12
Bits von dem 14-Bit-Eingangssignal 60 aus, um das 12-Bitsignal 62 zu
bilden, das als Bits Q[0:11] bezeichnet wird. Die zwölf Bits
werden basierend auf dem Wert des Phasenauswahlsignals 58 ausgewählt. Das
Phasenauswahlsignal 58 hat einen der drei Werte: „010", der anzeigt, daß keine
Schräglage
detektiert wurde; „100", der anzeigt, daß eine geringe
Schrägelage
ermittelt wurde; und „001", der anzeigt, daß eine starke Schräglage detektiert
wurde. Es ist zu bemerken, daß das
Phasenauswahlsignal 58 alternativ auch als Zweibitsignal
dargestellt werden kann, da es lediglich drei Werte hat. Dennoch
hat die Verwendung von jeweils einem Bit für jeden Schräglagezustand
den Vorteil, daß die
digitalen Schaltkreise zur Implementierung der Erfindung vereinfacht
werden können.
-
Nach der Erzeugung des 12-Bitsignals Q[0:11] 62 wird
das 12-Bitsignal auf Schräglage
untersucht, um einen neuen Wert für das Phasenauswahlsignal 58 zu
erzeugen, wie im weiteren detailliert beschrieben wird, und die
Ergebnisse werden für weitere
Durchläufe
des Phasenausricht-Fensters 50 verwendet. Ferner wählt das
Phasenausricht-Fenster 58 die Bits Q[1, 4, 7 und 10] aus
und weist diese den Bits des 4-Bitsignals 64 zu.
-
Die 7A zeigt
den normalen Betrieb eines Phasenausricht-Fensters 50,
wenn das 14-Bit-Eingangssignal 60 keine
Schräglage
aufweist. Das Phasenauswahlsignal 58 hat den Wert „010", demzufolge keine
Abtastschräglage
detektiert wurde und deshalb keine Abtastschräglage korrigiert werden muß. Als Ergebnis
wählt das
Phasenausricht-Fenster 50 die Bits S[0:11] aus und gibt
das resultierende Ergebnis als 12-Bitsignal 62 aus. Das
heißt,
daß Q[N]
für jedes N
zwischen 0 und 11 auf den Wert von S[N] gesetzt wird.
-
Die 7B zeigt
den normalen Betrieb des Phasenausricht-Fensters 50, wenn
erwartet wird, daß das
14-Bit-Eingangssignal 60 eine geringe Schräglage aufweist.
Das Phasenauswahlsignal 58 hat den Wert „100", der anzeigt, daß eine geringe Schräglage detektiert
wurde und daher eine geringe Schräglage korrigiert werden muß. Als Ergebnis wählt das
Phasenausricht-Fenster 50 das
Bit S'[11] und elf
Bits S[0:10] aus und gibt das resultierende Ergebnis als 12-Bitsignal 62 aus.
Das heißt,
daß Q[0] auf
den Wert S'[11]
gesetzt wird und, daß Q[N]
für jedes
N zwischen 1 und 11 auf den Wert von S[N – 1] gesetzt wird, wodurch
die detektierte Schräglage kompensiert
wird.
-
Die 7C zeigt
den normalen Betrieb des Phasenausricht-Fensters 50, wenn
erwartet wird, daß das
14-Bit-Eingangssignal 60 eine starke Schräglage hat.
Das Phasenauswahlsignal 58 hat einen Wert „001", der anzeigt, daß eine starke Schräglage detektiert
wurde und daher eine starke Schräglage
korrigiert werden muß.
Als Ergebnis wählt
das Phasenausricht-Fenster 50 die elf Bits S[1:11] und
das Bit S''[0] aus und gibt
das resultierende Ergebnis als 12-Bitsignal 62 aus. Das
heißt,
daß Q[N]
für jedes
N zwischen 0 und 10 auf den Wert S[N + 1] und Q[11] auf den Wert
von S''[0] gesetzt wird, wodurch
die detektierte Schräglage
kompensiert wird.
-
Die 7D zeigt
den Betrieb des Phasenausricht-Fensters 50, wenn nicht
erwartet wird, daß das
14-Bit-Eingangssignal 60 eine Schräglage aufweist, es tatsächlich aber
eine geringe Schräglage aufweist.
Das Phasenauswahlsignal 58 hat den Wert „010", der anzeigt, daß keine
Abtastschräglage
detektiert wurde und daß daher
keine Abtastschräglage korrigiert
werden muß.
Daher wählt
das Phasenausricht-Fenster 50 wie in 7A die Bits S[0:11] aus und gibt das
resultierende Ergebnis als 12-Bitsignal 62 aus. Da das
Phasenausricht-Fenster 58 einen Schräglagezustand nicht korrigiert
hat, wird der Schräglagezustand
im 12-Bitsignal 62 für
die weitere Analyse beibehalten, wie im weiteren beschrieben ist.
Es ist zu bemerken, daß trotz
der Schräglage
das 4-Bitsignal 64 korrekt wiederhergestellt wird.
-
Die 8 zeigt
ein Beispiel eines Schaltkreises, um das Phasenausricht-Fensters 50 zu
implementieren. Einem Multiplexer 76 werden drei 12-Bitsignale
eingegeben: ein 12-Bitsignal, das S'[11] und S[0:10] umfaßt; ein
12-Bitsignal, das S [0:11] umfaßt und
ein 12-Bitsignal, das S[1:11] und S''[0]
umfaßt. Der
Multiplexer 76 wählt
zwischen diesen drei 12-Bitsignalen abhängig vom Wert des Phasenauswahlsignals 58 aus
und erzeugt ein 12-Bitsignal 62 als Ausgabe, das mit Q[0:11]
bezeichnet wird. Das 12-Bitsignal 62 wird daraufhin an
den Phasendetektions-Logikschaltkreis 52 zur Analyse weitergegeben
und die vier Bits, die mit Q[1, 4, 7 und 10] bezeichnet werden, werden
zum Byte-Synchronisationschaltkreis 32 weitergeleitet.
-
Phasendetektions-Logikschaltkreis
-
Die 9 zeigt
den Betrieb eines Phasendetektions-Logikschaltkreises 52.
Der Phasendetektions-Logikschaltkreis 52 untersucht das
12-Bitsignal 62, um zu ermitteln, ob das Signal einer Schräglage unterworfen
ist. Der Phasendetektions-Logikschaltkreis 52 umfaßt eine
Vielzahl von phasendetektierenden Zellen 80 und eine Auf-Ab-Entscheidungslogik 82.
Die Bits Q[0:11] werden in N + 1-Bitgruppen 78 unterteilt,
die jeweils drei Bit umfassen. In einer Abtastausführungsform
ist N gleich 3 und die 4-Bitgruppen 78 umfassen die Bits
Q[0:2], Q[3:5], Q[6:8] und Q[9:11]. Jede Bitgruppe 78 wird
einer phasendetektierenden Zelle 80 bereitgestellt.
-
Die 10 zeigt
den Betrieb der phasendetektierenden Zelle 80. Die N-te
phasendetektierende Zelle 80 bekommt als Eingabe eine 3-Bitgruppe 78, die
mit Q[3N], Q[3N + 1] und Q[3N + 2] bezeichnet wird, wobei bei der
Abtastausführungsform
N ein Wert zwischen 0 und 3 ist. Wenn beispielsweise N = 2 ist,
wird bei der Abtastausführungsform
Q[6], Q[7] und Q[8] in eine phasendetektierende Zelle eingegeben.
-
Wenn Q[3N], Q[3N + 1] und Q[3N +
2] den gleichen Binärwert
aufweisen (d. h. alle drei Signale sind gleich „0" oder alle drei Signale sind gleich „1"), wird UP[N] und
DOWN[N] auf „0" gesetzt, um anzuzeigen,
daß für diese
Bitgruppe 78 keine Schräglage detektiert
wurde. Wenn Q[3N] den gleichen Wert wie Q[3N + 1] und einen anderen
Wert als Q[3N + 2] aufweist, wird UP[N] auf den logischen Wert „0" gesetzt und DOWN[N]
wird auf den logischen Wert „1" gesetzt, um anzuzeigen,
daß eine
abfallende Schräglage
für die
Bitgruppe 78 detektiert wurde. Wenn Q[3N + 1] den gleichen
Wert wie Q[3N + 2] und einen anderen Wert als Q[3N] aufweist, wird
UP[N] auf den logischen Wert „1" gesetzt, und DOWN[N]
wird auf den logischen Wert „0" gesetzt, um anzuzeigen,
daß für die Bitgruppe 78 eine
abfallende Schräglage
detektiert wurde.
-
Nach der Auswertung aller N + 1-Bitgruppen 78 zum
Erzeugen von N + 1 Sätzen
von UP[N]- und DOWN[N]-Signalen,
wertet die Auf-/Ab-Entscheidungslogik 82 die UP[N]- und
DOWN[N]-Signale aus, um festzustellen, ob eine ausreichende Schräglage detektiert
wurde, um eine Pha enjustierung zu empfehlen. Die 11 zeigt den Betrieb der Auf-/Ab-Entscheidungslogik 82.
Die Auf-/Ab-Entscheidungslogik 82 liefert UP[0:N] als Eingabe
an den Addierer 84. Der Addierer 84 summiert die
Anzahl der „1"-Signale, die im
UP[0:N]-Signalsatz
zugewiesen sind, und liefert die Summe an einen Komparator 86.
Der Komparator 86 setzt das Signal UPF 66 auf
einen logischen Wert „1 ", wenn der Zähler größer oder
gleich 2 ist und setzt diesen ansonsten auf den logischen Wert „0". Dementsprechend
liefert die Auf/Ab-Entscheidungslogik 82 einem Addierer 88 das
Signal DOWN[0:9] als Eingabe. Der Addierer 88 summiert die
Anzahl der „1"-Signale, die im
DOWN[0:9]-Signalsatz zugewiesen sind, und liefert die Summe an einen
Komparator 90. Der Komparator 90 setzt das Signal
DOWNF 68 auf einen logischen Wert „1", wenn der Zähler größer oder gleich 2 ist, und
setzt diesen ansonsten auf den logischen Wert „0".
-
Gemäß der 6 leitet der Phasendetektions-Logikschaltkreis 52 das
Signal UPF 66 und das Signal DOWNF 68 an das digitale
Schleifenfilter 54 zur weiteren Verarbeitung weiter.
-
Digitales
Schleifenfilter
-
Das digitale Schleifenfilter 54 empfängt das Signal
UPF 66 und das Signal DOWNF 68 als Eingangssignal.
Wenn eine vorbestimmte Anzahl (beispielsweise vier) aufeinanderfolgender
Signale UPF 66 mit einem logischen Wert „1" empfangen wird, setzt
das digitale Schleifenfilter 54 ein Signal UPT 70 auf
den logischen Wert „1" und die Signale
HOLD 72 und DOWNT 74 auf den logischen Wert „0". Wenn eine vorbestimmte
Anzahl (beispielsweise vier) aufeinanderfolgender Signale DOWNF 68 mit
einer logischen „1" empfangen werden,
setzt das digitale Schleifenfilter 54 das Signal DOWNT 74 auf
den logischen Wert „1" und die Signale
HOLD 72 und UPT 70 auf den logischen Wert „0". Wenn weder eine
vorbestimmte Anzahl (beispielsweise vier) aufeinanderfolgender Signale
UPF 66 noch eine vorbestimmte Anzahl (beispielsweise vier)
aufeinanderfolgender Signale DOWNF 68 mit einem logischen
Wert „1" empfangen werden,
setzt das digitale Schleifenfilter 54 das Signal HOLD 72 auf
den logischen Wert „1" und die Signale
UPT 70 und DOWNT 74 auf den logischen Wert „0".
-
Die 12 zeigt
ein Zustandsdiagramm für das
digitale Schleifenfilter 54. Das digitale Schleifenfilter 54 wird
in einer Vielzahl von Zuständen
betrieben. Jeder Betriebszustand kann vom Typ H, U oder D sein.
Ein H-Typ-Zustand ist dadurch gekennzeichnet, daß einem Signal HOLD 72 ein
logischer Wert „1", einem Signal UPT 70 ein
logischer Wert "0" und einem Signal
DOWNT 74 ein logischer Wert „0" zugewiesen wird. Ein U-Typ-Zustand
ist dadurch gekennzeichnet, daß einem
Signal HOLD 72 ein logischer Wert „0", einem Signal UPT 70 ein logischer
Wert „1" und einem Signal
DOWNT 74 ein logischer Wert „0" zugewiesen wird. Ein D-Typ-Zustand
ist dadurch gekennzeichnet, daß einem
Signal HOLD 72 ein logischer Wert „0", einem Signal UPT 70 ein logischer Wert „0" und einem Signal
DOWNT 74 ein logischer Wert „1" zugewiesen wird.
-
Wie in der 12 gezeigt ist, geht das digitale Schleifenfilter 54 in
Reaktion auf die empfangenen Signale UPF 66 und DOWNF 68 von
Zustand zu Zustand über.
Das digitale Schleifenfilter 54 startet bei Beginn der
Ausführung
anfänglich
in dem H-Typ-Zustand 102. In Reaktion auf das Signal UPF 66 mit
einem logischen Wert „1" geht das digitale Schleifenfilter 54 in
den H-Typ-Zustand 104 über. Beim Übergang
in den H-Typ-Zustand 104 gibt das digitale Schleifenfilter 54 ein
HOLD-Signal 72 mit einem logischen Wert „1", ein UPT-Signal 70 mit
einem logischen Wert „0" und ein DOWNT-Signal 74 mit
einem logischen Wert „0" aus. Wenn das digitale Schleifenfilter 54 im
H-Typ-Zustand 102 ein Signal DOWNF 68 mit einem
logischen Wert „1" empfängt, geht
das digitale Schleifenfilter 54 in den H-Typ-Zustand 114 über. Beim Übergang
in den H-Typ-Zustand 114 gibt das digitale Schleifenfilter 54 ein HOLD-Signal 72 mit
einem logischen Wert „1", ein UPT-Signal 70 mit
einem logischen Wert „0" und ein DOWNT-Signal 74 mit
einem logischen Wert „0" aus. Es ist zu bemerken,
daß in
den H-Typ-Zuständen 104, 106 und 108 in
irgendeinem Fall des Empfangens eines UPF-Signals 66 mit einem logischen
Wert „0", das digitale Schleifenfilter 54 dazu
veranlaßt wird,
in den ursprünglichen
H-Typ-Zustand 102 zurückzukehren.
Es ist ebenfalls zu bemerken, daß in den H-Typ-Zuständen 114, 116 und 118 in
irgendeinem Fall des Empfangens eines DOWNF-Signals 68 mit
einem logischen Wert „0", das digitale Schleifenfilter 54 dazu
veranlaßt
wird, in den ursprünglichen H-Typ-Zustand 102 zurückzukehren.
-
Nach vier aufeinanderfolgenden Fällen eines UPF-Signals 66 mit
einem logischen Wert „1" geht das digitale
Schleifenfilter 54 in den U-Typ-Zustand 110 über. Beim Übergang
in den U-Typ-Zustand 110 gibt
das digitale Schleifenfilter 54 ein HOLD-Signal 72 mit
einem logischen Wert „0", ein UPT-Signal 70 mit
einem logischen Wert „1" und ein DOWNT-Signal 74 mit
einem logischen Wert „0" aus. Im nächsten Durchlauf
geht das digitale Schleifenfilter 54 unabhängig vom
Wert des UPF-Signals 66 in den ursprünglichen H-Typ-Zustand 102 über.
-
Dementsprechend geht das digitale
Schleifenfilter 54 nach vier aufeinanderfolgenden Fällen eines
DOWNF-Signals 68 mit einem logischen Wert „1" in den D-Typ-Zustand 120 über. Bei dem Übergang
in den D-Typ-Zustand 120 gibt das digitale Schleifenfilter 54 ein
HOLD-Signal 72 mit
einem logischen Wert „0", ein UPT-Signal 70 mit
einem logischen Wert „0" und ein DOWNT-Signal 74 mit
einem logischen Wert „1" aus. Im nächsten Durchlauf
geht das digitale Schleifenfilter 54 unabhängig vom
Wert des DOWNF-Signals 68 in den ursprünglichen H-Typ-Zustand 102 über.
-
Die 13 zeigt
einen logischen Schaltplan eines Schaltkreises, der das digitale
Schleifenfilter 54 implementiert.
-
Phaseneinstellender endlicher
Automat
-
Der phaseneinstellende endliche Automat (finite
state machine, FSM) 56 empfängt als Eingabesignal das Signal
UPT 70, das HOLD-Signal 72 und das DOWNT-Signal 74.
Der FSM 56 gibt ein Phasenauswahlsignal 58 aus,
das dem Überabtaster 26 signalisiert,
ob dessen Abtastung wie oben beschrieben einzustellen ist. Das Phasenauswahlsignal 58 ist
ein Tristate-Signal
mit einem Wert, der angibt, ob der Überabtaster 26 seine
Abtastung aufwärts
oder abwärts
justieren sollte oder ob dieser seine aktuelle Abtastung beibehalten
sollte. Das Phasenauswahlsignal 58 wird am üblichsten
durch Verwendung eines 3-Bitsignals implementiert, wobei jedes Bit
einem der möglichen
Zustände
des Signals entspricht. Beispielsweise kann das Bit 0 der drei Bits
eine Anfrage zur aufwärts
gerichteten Justierung anzeigen, kann das Bit 1 dazu verwendet werden,
eine Anfrage zur Beibehaltung des aktuellen Abtastens anzuzeigen und
das Bit 2 dazu verwendet werden, eine abwärtsgerichtete Justierung anzufordern.
-
Die 14 zeigt
ein Zustandsdiagramm für den
FSM 56. Der FSM 56 wird in einer Vielzahl von Zuständen betrieben.
Ein erster Betriebszustand ist der Phase0-Zustand 150.
Der Phase0-Zustand 150 ist
dadurch gekennzeichnet, daß einem
Phasenauswahlsignal 58, welches eine abwärts gerichtete
Justierung anfragt, beispielsweise ein logischer Wert „100" zugewiesen wird.
Ein zweiter Betriebszustand ist der Phase1-Zustand 152.
Der Phase1-Zustand 152 ist dadurch gekennzeichnet, daß einem
Phasenauswahlsignal 58, das die Beibehaltung der aktuellen Abtastkonfiguration
anfragt, ein logischer Wert „010" zugewiesen wird.
Ein dritter Betriebszustand ist der Phase2-Zustand 154.
Der Phase2-Zustand 154 ist dadurch gekennzeichnet, daß einem
Phasenauswahlsignal 58, das eine aufwärts gerichtete Abtastjustierung
anfragt, ein logischer Wert „001" zugewiesen wird.
-
Der FSM 56 geht abhängig von
den Werten der Eingangssignale UPT 70, HOLD 72 und
DOWN 74, wie in 14 gezeigt,
von einem Zustand in einen anderen über. Wie in 14 gezeigt ist, geht der FSM in Reaktion
auf das UPT-Signal 70 mit einem logischen Wert „1" vom Zustand Phase0 150 in
den Zustand Phase1 152 oder in Reaktion auf das DOWNT-Signal 74 mit
einem logischen Wert „1" in den Zustand Phase2 154 über. Andernfalls
(d. h. das HOLD-Signal 72 weist einen logischen Wert „1" auf) bleibt der
FSM 56 im Zustand Phase0 150. Dementsprechend
geht der FSM 56 vom Zustand Phase1 152 in den
Zustand Phase2 154 in Reaktion auf das UPT-Signal 70 mit
einem logischen Wert „1", oder in Reaktion
auf das DOWNT-Signal 74 mit einem logischen Wert „1" in den Zustand Phase0 150 über. Andernfalls
(d. h. das HOLD-Signal 72 hat einen logischen Wert „1") verbleibt der FSM 56 im
Zustand Phase1 152. Schließlich geht FSM 56 vom
Zustand Phase2 154 in den Zustand Phase0 150 in
Reaktion auf das UPT-Signal 70 mit einem logischen Wert „1" oder in den Zustand
Phase1 152, in Reaktion auf das DOWNT-Signal 74 mit
einem logischen Wert „1" über. Andernfalls (d. h. das
HOLD-Signal 72 hat einen logischen Wert „1") verbleibt der FSM 56 in
dem Zustand Phase2 154.
-
Die 15 ist
ein logisches Schaltbild eines Schaltkreises, der den FSM 56 implementiert.
-
Ausgang des
digitalen Phasenregelkreises
-
Wie oben beschrieben und in den 7A bis 7C gezeigt, wählt das Phasenausricht-Fenster 50 eine
Teilgruppe von Bits des 14-Bit-Eingangssignal 60 gemäß dem Phasenauswahlsignal 58 aus
und gibt die Teilgruppe als 12-Bit-Ausgangssignal Q[0:11] 62 aus.
Ferner wird ein 4-Bitsignal 54 mit
den Bits Q[1, 4, 7 und 10] als Ausgabe an den Rahmensynchronisationschaltkreis 33 weitergegeben,
wie oben beschrieben ist.
-
Rahmensynchronisationsschaltkreis
-
Die 16 zeigt
einen Rahmensynchronisationsschaltkreis 33 zur Verwendung
mit der vorliegenden Erfindung. Der Rahmensynchronisationsschaltkreis 33 nimmt
einen Eingangsstrom von verschiedenen Ausprägungen des 4-Bitsignals 64 und erzeugt
einen Ausgangsstrom der 10-Bit kodierten Zeichen 176 sowie
ein Datenfreigabesignal 174.
-
Wie in der 16 gezeigt ist, arbeitet der Rahmensynchronisierer 33 mit
einem 2,5 N MHz-Takt
182, einem N/2 MHz-Takt 184 und einem N MHz-Takt 186.
Der Rahmensynchronisierer 33 umfaßt ein Feld von D-Typ-Flipflops
(DFF) mit 4 Bits 180-1 bis 180-5. Der Rahmensynchronisierer 33 erhält Q[1,
4, 7, 10] 64 als Eingangssignal, welches in das D-Typ-Flipflop 180-1 eingegeben
wird. In Reaktion auf das 2,5 N MHz-Taktsignal 182 übergibt
jeder DFF 180-1 bis 180-4 seinen Inhalt in einen
entsprechenden benachbarten DFF. Das heißt, daß mit jeder Ausgabe des Taktsignals 182 der
DFF 180-5 vom DFF 180-4 gespeist wird, der DFF 180-4 vom
DFF 180-3 gespeist wird, der DFF 180-3 vom DFF 180-2 gespeist
wird, der DFF 180-2 vom DFF 180-1 gespeist wird
und der DFF 180-1 von dem Eingangssignal Q[1, 4, 7 und
10] 64 gespeist wird.
-
Der 2,5 N MHz-Takt 182 hat
die fünffache Frequenz
des N/2 MHz-Takts 184. Dementsprechend wird der N/2 MHz-Takt 184 synchron
mit jedem fünften
Zyklus des 2,5 N MHz-Takts 182 ausgegeben. Mit jeder Ausgabe
des Takts 184 wird der 20-Bit-DFF 188 mit den
Werten geladen, die in den 4-Bit-DFFs 180-1 bis 180-5 vorliegen.
Die Ausgaben jedes DFFs 180-1 bis 180-5 werden
jeweils entsprechend als Q'[16:19],
Q'[12:15], Q'[8:11], Q'[4:7] und Q'[0:3] bezeichnet.
Der 20-Bit-DFF 188 gibt zwei 10-Bitsignale Q''[0:9] 192 und Q''[10:19] 194 als Ausgabe an
einen 20-zu-10-Multiplexer 190 aus.
-
Der N/2 MHz-Takt 184 dient
ferner dazu, die Auswahl, die vom 20-zu-10-Multiplexer 190 durchgeführt wird,
zu steuern, welcher als Ausgabe ein 10-Bitsignal 196 erzeugt,
das mit Q'''[0:9] bezeichnet wird. Wenn daher der
N/2 MHz-Takt 184 auslöst,
ist das 10-Bitsignal 196 Q'''[0:9] gleich dem Wert des 10-Bitsignals 192 Q''[0:9], und ansonsten gleich dem Wert
des 10-Bitsignals 194 Q''[10:19].
-
In Reaktion auf das N MHz-Taktsignal 186 lädt der 10-Bit-DFF 200-2 vom
10-Bit-DFF 200-1
ein 10-Bitsignal und der 10-Bit-DFF 200-1 das 10-Bitsignal
Q'''[0:9] 196 vom 20-zu-10-Multiplexer 190.
Ferner geben der 10-Bit-DFF 200-1 und der 10-Bit-DFF 200-2 jeweils
ein 10-Bitsignal aus, die zusammen das 20-Bitsignal Q''''[0:19] 202 darstellen.
Das 20-Bitsignal Q''''[0:19] 202 wird
einer Eimerkettenschaltung 204 und einer Rahmendetektierlogik 206 als
Eingabe bereitgestellt.
-
Die 17 zeigt
die Rahmendetektierlogik 206 im weiteren Detail. Die Rahmendetektierlogik 206 erhält als Eingabe
das 20-Bitsignal Q''''[0:19] 202 und
erzeugt ein 10-Bitsignal BOUND 208 und das Rahmenflanken-Detektiersignal
DE 210 als Ausgabe. Die Rahmendetektierlogik 206 umfaßt ein Feld von
Detektionszellen 220-0 bis 220-9, die jeweils
das 20-Bitsignal
Q''''[0:19]
als Eingabe erhalten und einzelne Bits MATCH[0] 222-0 bis
MATCH[9] 222-9 eines 10-Bitsignals MATCH[0:9] 223 als
Ausgabe erzeugen. Jede Detektionszelle 220-0 bis 220-9 setzt ihr
entsprechendes MATCH-Signal 220-0 bis 220-9 auf
den logischen Wert „1", wenn die Detektionszelle zwei
aufeinanderfolgende Rahmenflankenzeichen detektiert, die im 20-Bitsignal
Q''''[0:19] 202 eingebettet
sind. Ein Rahmendetektierzeichen ist ein Zeichen außerhalb
des Bandes, das als eines der 10-Bitsignale „1101010101", „1101010100", „0010101010" oder „0010101011" definiert ist. Das
heißt,
daß ein Rahmenflankenzeichen
ein 10-Bitsignal ist, in dem die 0- und die 1-Bits die identischen
logischen Werte aufweisen, und deren logische Werte für N = 2
bis 8 jedes Bits N ungleich dem logischen Wert des Bits N - 1 sind.
-
Die 18 zeigt
eine Detektionszelle 220 im Detail. Das 20-Bitsignal Q''''[0:19] 202 wird
einem Abbildeblock 230 als Eingabe geliefert. Der Abbildeblock 230 wählt benachbarte
Bits aus dem 20-Bitsignal 202 und erzeugt aus diesen zwei
9-Bitsignalen A[0:8] 232 (enthält die Signale 232-0 bis 232-8)
und B[0:8] 234 (enthält
die Signale 234-0 bis 234-8). Die vom Abbildeblock 230 gewählten Bits,
die für
die Detektionszelle 0 220-0 bis Detektionszelle 0 220-9 gewählt wurden,
sind in der Tabelle von 19 dargestellt.
-
Die Detektionszelle 220 analysiert
A[0:8] 232 und B[0:8], um zu ermitteln, ob ein Rahmenindikatorzeichen
detektiert wurde. Das XNOR-Gatter 240 erhält als Eingabe
A[0] 232-0 und A[1] 232-1 und erzeugt einen logischen
Wert „1", wenn die beiden
Eingänge
gleich sind. Die XOR-Gatter 242-1 bis 242-7 nehmen
jeweils die jeweiligen benachbarten Bits A[1] 232-1 bis
A[8] 232-8 als Eingabe und erzeugen jeweils einen logischen
Wert „1", wenn die beiden
Eingangswerte nicht gleich sind. In gleicher Weise wird B[0:8] analysiert.
Das heißt,
daß das
XNOR-Gatter 244 B[0] 234-0 und B[1] 234-1 als
Eingabe erhält
und einen logischen Wert „1" erzeugt, wenn die
zwei Eingaben gleich sind. Die XOR-Gatter 246-1 bis 246-7 erhalten
als Eingabe jeweils die benachbarten Bits B[1] 234-1 bis
B[8] 234-8 und erzeugen jeweils einen logischen Wert „1", wenn die zwei eingegebenen Werte
nicht gleich sind. Die Ausgänge
des XNOR-Gatter 240, der XOR-Gatter 242-1 bis 242-7, des
XNOR-Gatters 244 und der XOR-Gatter 246-1 bis 246-7 werden
in ein UND-Gatter 248 eingegeben. Das UND-Gatter produziert
ein Signal MATCH 222 mit einem Bit als Ausgabe. Wenn alle
Bit gleich 1 sind, hat das MATCH-Signal 222 einen logischen Wert „1", der anzeigt, daß zwei Rahmenflankenzeichen
detektiert wurden.
-
Gemäß der 17 werden die MATCH-Signale 220-0 bis 220-9 zusammengesetzt,
um das 10-Bitsignal MATCH[0:9] 223 zu bilden, das dem 10-Bitmultiplexer 226 als
Eingabe bereitgestellt wird. Die MATCH-Signale 220-0 bis 220-9 werden
auch dem ODER-Gatter 225 als Eingabe bereitgestellt. Das
ODER-Gatter 225 erzeugt als Ausgabe ein Steuersignal 227 für den 10-Bitmultiplexer 226.
Wenn eine der Detektionszellen 220-0 bis 220-9 eine
Rahmenstartbedingung detektiert hat, erzeugt das ODER-Gatter 225 einen
logischen Wert „1" am Ausgang, der
den Multiplexer 226 dazu veranlaßt, das Signal MATCH[0:9] als
Ausgabe zu wählen.
Wenn keine Rahmenflanke detektiert wurde, erzeugt der Multiplexer 226 statt
dessen das gleiche Signal wie während
des vorangegangenen N MHz-Taktsignals am Ausgang. Dies wird gewährleistet,
indem die Ausgabe des Multiplexers 226 dem 10-Bit-DFF 228 bereitgestellt
wird. Der DFF 228 wird, gesteuert von dem N MHz-Takt 186,
geladen. Die Ausgabe des DFFs 228 wird dem Multiplexer 226 zum
Auswählen
eingegeben, wenn das Steuersignal 227 den logischen Wert „0" hat.
-
Die Ausgabe des 10-Bit-DFFs 228 wird
zudem als Ausgangssignal BOUND[0:9] 208 erzeugt. Die Ausgabe
des ODER-Gatters 225 wird invertiert und dem DFF 229 bereitgestellt,
der unter der Steuerung durch den N MHz-Takt 186 synchron
mit dem 10-Bit-DFF 228 getaktet ist. Der Ausgang des DFFs 229 wird
als Datenfreigabesignal 210 dargestellt.
-
Gemäß der 16 wird das 10-Bitsignal BOUND[0:9] 208 der
Eimerkettenschaltung 204 als Steuersignal bereitgestellt.
Der Eimerkettenschaltung 204 wird das 20-Bitsignal Q''''[0:19] 202 als
Eingabe bereitgestellt. Die Eimerkettenschaltung 204 verschiebt
das 20-Bitsignal Q''''[0:19] 202 unter
der Steuerung des 10-Bitsignals BOUND[0:9] nach links. Insbesondere
verschiebt die Eimerkettenschaltung 204 das 20-Bitsignal
Q''''[0:19] 202 und
das 10-Bitsignal
BOUND[0:9] 208 simultan nach links, bis das erste Bit des
10-Bitsignals BOUND[0:9] 208 den logischen Wert „1" aufweist. Das heißt, daß die Eimerkettenschaltung 204 das
20-Bitsignal Q''''[0:19] 202 die Anzahl
von Bitpositionen nach links schiebt, welche der Anzahl der führenden
logischen „0"-Werte im 10-Bitsignal
BOUND[0:9] 208 entspricht.
-
Der 10-Bit-DFF 212 lädt gesteuert
vom N MHz-Takt 186 10 Bits von der Eimerkettenschaltung 204 und
erzeugt am Ausgang ein 10-Bitsignal T[0:9] 176. In dem
gleichen Taktzyklus lädt
der DFF 214 ein 1-Bit-DE-Signal 210 von der Rahmendetektierlogik 206,
ebenfalls gesteuert von dem N MHz-Takt 186, und erzeugt
am Ausgang das DE-Signal 174.
-
Das DE-Signal 174 kann zur
Synchronisation mehrerer paralleler serieller Datenströme des 10-Bitsignals
T[0:9] 176 durch den Interkanalsynchronisierer 34 verwendet
werden, wie im weiteren beschrieben wird.
-
Hinterkanalsynchronisierung
-
Die 20 zeigt
den Interkanalsynchronisierer 34 gemäß der vorliegenden Erfindung.
Der Interkanalsynchronisierer 34 erhält eine Vielzahl von 10-Bitsignalen
T[0:9] 176 mit einem dieser Signale pro Kanal, sowie eine
Vielzahl von 1-bit-DE-Signalen 174 mit einem dieser Signale
pro Kanal als Eingabe. In der dargestellten Dreikanalkonfiguration
werden drei 10-Bitsignale
T0[0:9] 176-0, T1[0:9] 176-1 und T2[0:9] 176-2 sowie
drei 1-Bit-DE-Signale DE0 174-0, DE1 174-1 und
DE2 174-2 am Eingang empfangen.
-
Der Interkanalsynchronisierer 34 umfaßt eine
Vielzahl von Verzögerungs-Einstellblöcken 260, und
zwar einen pro Kanal. Die 21 zeigt
einen Verzögerungs-Einstellblock 260 im
Detail. Jeder Verzögerungs-Einstellblock 260 erhält als Eingabe
eines der 10-Bitsignale T[0:9] 174 und alle DE-Signale 174. Jeder
Verzögerungs-Einstellblock 260 erzeugt
am Ausgang ein 10-Bitsignal F[0:9] 264 und ein Datenfreigabesignal
DE_F 266. Das 10-Bitsignal F[0:9] wird ausgewählt verzögert, bis
es mit seinen zugeordneten Signalen synchronisiert ist, wie es von
den Datenfreigabesignalen für
diese zugehörigen
Signale angezeigt wird.
-
Der 10-Bit-DFF 270 wählt das
Signal T[0:9] 176 und der 1-Bit-DFF 272 lädt das DE-Signal 174 gesteuert
vom N MHz-Takt 186. Der Verzögerungs-Einstellblock 260 erhält die DE-Werte als Eingabe,
welche den anderen Kanälen
entsprechen und welche als Signal Dex 286 und Dey 288 dargestellt sind.
Beispielsweise würde
ein Verzögerungs-Einstellblock 260 zum
Verarbeiten des Kanals 0 das 10-Bitsignal T0[0:9] 176-0 als
T[0:9]-Signal 176 und das DEO-Signal 174-0 als DE-Signal 174 nehmen, und
würde weiterhin
das DE1-Signal 176-1 als DEx-Signal 286 und das
Signal DE2 176-2 als DEy-Signal 288 nehmen.
-
Ein logischer Verzögerungs-Entscheidungsblock 274 bekommt
den vorherigen Wert von DE 174 als Eingabe, der als DE' 276 und
als aktueller Wert von DE 174 bezeichnet wird. Der logische
Verzögerungs-Entscheidungsblock 274 erzeugt,
abhängig von
den Werten von DE und DE',
ein Tristate-Steuersignal 280 als Ausgabe. Wenn DE' den logischen Wert „0" hat, hat das Steuersignal 280 den
gleichen Wert von DE 174. Wenn DE' den logischen Wert „1" hat, hat das Steuersignal 280 den
Wert „ 2". Das Steuersignal 280 wird
verwendet, um den 3-Wege-Multiplexer 282 zu
steuern, der ein Signal ausgibt, welches in den DFF 284 geladen
werden soll. Falls das Steuersignal 280 den logischen Wert „0" hat, wird eine logische „0" in den DFF 284 geladen.
Wenn das Steuersignal 280 einen logischen Wert „1", wird ein Wert in
den DFF 284 geladen, der sich aus dem Anlegen der anderen
DE-Signale DEx 286 und DEy 288 an das NAND-Gatter 287 ergibt.
Wenn das Steuersignal 280 einen logischen Wert „2" hat, bleiben die
Inhalte des DFFs 284 unverändert.
-
Der Wert des DFFs 284 wird
verwendet, um den 10-Wege-Multiplexer 290 und den Multiplexer 291 zu
steuern. Wenn der DFF 284 den logischen Wert „0" hat, wählt der
10-Wege-Multiplexer 290 das 10-Bitsignal 176,
welches in den 10-Bit-DFF 292 mit dem nächsten Zyklus des Takts 186 geladen
wird. Andernfalls, wenn der DFF 284 den logischen Wert „1" aufweist, wählt der
10-Wegemultiplexer 290 das 10-Bitsignal T'[0:9], welches einen
Wert des 10-Bitsignals 176 aufweist, der um einen Taktzyklus
verschoben wurde und der mit dem nächsten Zyklus des Takts 186 in
den 10-Bit-DFF 292 geladen wird. Dementsprechend wählt der
10-Wegemultiplexer 291 das DE-Signal 174, wenn
der DFF 284 den logischen Wert „0" aufweist, welcher in den DFF 293 mit
dem nächsten
Zyklus des Takts 186 geladen wird. Andernfalls, wenn der
DFF 284 den logischen Wert „1" aufweist, wählt der Multiplexer 291 das
DE'-Signal 276, das
einen Wert des DE-Signals 174 aufweist, das um einen Taktzyklus
verzögert
wurde und der in den DFF 293 mit dem nächsten Taktzyklus 186 geladen
wird.
-
Die Inhalte des 10-Bit-DFFs werden
als 10-Bitsignal F[0:9] 264 und als Datenfreigabesignal DE_F 266 ausgegeben,
das die Gültigkeit
des 10-Bitsignals 264 angibt. Gemäß der 20 weist die Vielzahl der Signale 264-0, 264-1 und 264-2 parallele synchronisierte
kodierte Zeichen auf. Die DE_F-Signale 266-1, 266-2 und 266-3 weisen
einen hohen Pegel auf, wenn die Inhalte aller drei 10-Bitsignale
gültig sind.
Die drei DE_F-Signale 266-1, 266-2 und 266-3 werden
durch das UND-Gatter 262 UND-verknüpft, wodurch ein zusammengesetztes
DF-Signal 268 mit einem
logischen Wert „1" erzeugt wird, wenn
alle 10-Bitsignale gültig
sind und miteinander synchronisiert sind.
-
Nach der Synchronisierung können die
synchronisierten 10-Bitsignale F0 264-0, F1 264-1 und F2 264-2 einem
10B/8B-Binärdecoder
zugeführt
werden, um die mit 10 Bit kodierten Signale in 8-Bitzeichen zur
Verwendung in einem Computersystem mit 8 Bits pro Zeichen umzusetzen,
beispielsweise in ASCII, BCD oder EBCDIC.
-
Die 22 zeigt
einen zeitlichen Verlauf für den
Synchronisationsblock 34 bei Normalbetrieb, d. h. wenn
kein 10-Bitsignal verzögert
werden muß.
Jedes der 10-Bitsignale 176-0, 176-1 und 176-2 ist bereits
synchronisiert, wie durch deren entsprechende Datenfreigabesignale 174-0, 174-1 und 174-2 dargestellt
ist. Jedes Signal wird gleichmäßig um einen Taktzyklus
verzögert,
wie durch die 10-Bitsignale 264-0, 264-1 und 264-2 dargestellt
ist.
-
Die 23 zeigt
einen zeitlichen Verlauf für den
Synchronisationsblock 34, wobei ein 10-Bitsignal frühzeitig ankommt. Das 10-Bitsignal 176-0 wird
mit einem Taktzyklus vor dem 10-Bitsignal 176-1 und 176-2 dargestellt.
Dies ist bekannt, da zum Zeitpunkt T0 das Datenfreigabesignal 174-0 einen
hohen Pegel aufweist, während
die Datenfreigabesignale 174-1 und 174-2 auf einem
niedrigen Pegel gesetzt sind. Das 10-Bitsignal DE0 174-0 wird
daher gegenüber
den 10-Bitsignalen 176-1 und 176-2 um einen zusätzlichen
Taktzyklus verzögert,
so daß alle
10-Bitsignale F0 264-0, F1 264-1 und F2 264-2 zum
Zeitpunkt T2 synchron zueinander erzeugt werden.