Hintergrund der Erfindung
1. Gebiet der Erfindung
Die vorliegende Erfindung betrifft einen Phasenselektor, und genauer
einen Phasenselektor mit der Funktionalität, eine Phase eines Ausgangstaktsignals
zum Auslösen (Triggern) eines ein Flipflops (eines bistabilen Kippglieds) zu
bestimmen, indem Phasen eines Eingangsdatensignals und eines Eingangstaktsignals
verglichen werden.
2. Beschreibung des Standes der Technik
In digitalen Schaltkreisen sind Taktsignale überaus wichtige
Bezugssignale für den Zugriff auf digitale Daten. Üblicherweise wird der
Latch-Zeitraum zum Zugreifen auf digitale Daten in digitalen Schaltkreisen unter
Verwendung von Triggern bzw. Auslösern bestimmt, die sich entweder auf ansteigende
Flanken oder auf abfallende Flanken beziehen. In manchen Fällen können,
auch wenn zwei unterschiedliche Unterschaltkreise in einem Schaltkreissystem genau
die gleiche Taktquelle nutzen, die Taktsignale und digitalen Daten, die zu den Unterschaltkreisen
übertragen werden, aufgrund einer Übertragungsverzögerung oder einer
Störung asynchron sein.
Man nehme hier eine Übertragungsvorrichtung mit zwei Flipflops
als ein Beispiel. Es sei auf 1 und 2
Bezug genommen. 1 ist eine schematische Darstellung,
welche digitale Daten darstellt, die zwischen zwei Flipflops 110 und
120 übertragen werden. 2 ist ein Zeitablaufdiagramm,
das die Taktsignale und digitalen Daten in 1 darstellt.
Ein Eingangsdatensignal D1 und ein Taktsignal C1 werden hierbei als Eingänge
zum Flipflop 110 genutzt, welche die in 2
gezeigten Wellenformen und Zeitablaufverhältnisse aufweisen. Unter der Annahme,
dass beide Flipflops 110 und 120 durch eine ansteigende Flanke
ausgelöst werden, wird somit das Eingangsdatensignal D1 bei t1
gelatcht, das Flipflop 110 gibt die Latch-Daten bzw. gehaltenen Daten DL
an das Flipflop 120 aus und die Latch-Daten DL erfahren einen
Wechsel von „0" zu „1" ab t1, wie in 2
gezeigt. Die jeweiligen Taktsignale C1 und C2 für die
beiden Flipflops 110 bzw. 120 sind asynchron. Wenn eine Auslösung
durch eine ansteigende Flanke des Taktsignals C2 bei t2 während
des Zeitraums auftritt, in dem die Latch-Daten DL von „0" nach
„1" wechseln, wie in 2 gezeigt, werden somit
Latchfehler im Flipflop 120 hervorgerufen, was zu Fehlern in der Übertragung
der digitalen Daten führt.
Zusammenfassung der Erfindung
Es ist deshalb eines der Ziele der vorliegenden Erfindung, einen Phasenselektor
und ein darauf bezogenes Taktsignal-Auswahlverfahren zum Erzeugen eines geeigneten
Referenztaktsignals in einer Datenübertragungsvorrichtung vorzusehen, wodurch
die Genauigkeit des Lesens/Schreibens von Daten verbessert wird.
Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung
offenbart die vorliegende Erfindung einen Phasenselektor zum Ausgeben eines Ausgangstaktsignals
an ein Flipflop gemäß einem Eingangsdatensignal, das vom Flipflop gelatcht
wird, wobei der Phasenselektor umfasst: einen Taktsignalphasen-Einsteller zum Einstellen
der Verzögerung eines Eingangstaktsignals, um ein erstes Taktsignal und ein
zweites Taktsignal zu erzeugen, wobei sich die Taktsignalphasen des ersten Taktsignals
und des zweiten Taktsignals unterscheiden; einen Phasendetektor zum Erfassen des
Phasenverhältnisses zwischen dem Eingangsdatensignal und dem ersten Taktsignal,
um ein Erfassungssignal zu erzeugen; eine Entscheidungsschaltung, die mit dem Phasendetektor
verbunden ist, um ein Auswahlsignal gemäß dem Erfassungssignal zu erzeugen;
und eine Auswahlschaltung, die mit der Entscheidungsschaltung verbunden ist, um
das Eingangstaktsignal oder das zweite Taktsignal auszuwählen, um das Ausgangstaktsignal
zum Flipflop gemäß dem ausgewählten Signal zu erzeugen.
Gemäß einem weiteren Ausführungsbeispiel der vorliegenden
Erfindung offenbart die vorliegende Erfindung eine Datenübertragungsvorrichtung,
umfassend: ein erstes Flipflop zum Halten bzw. Latchen eines Eingangsdatensignals,
um ein Datensignal gemäß einem ersten Taktsignal auszugeben; ein zweites
Flipflop, das mit dem ersten Flipflop verbunden ist, um das Datensignal zu latchen,
um ein Ausgangsdatensignal gemäß einem Ausgangstaktsignal auszugeben;
und einen Phasenselektor, der mit dem ersten Flipflop und dem zweiten Flipflop verbunden
ist, um das Ausgangstaktsignal zum zweiten Flipflop gemäß einem Phasenverhältnis
zwischen dem Datensignal und einem zweiten Taktsignal zu erzeugen; wobei die Frequenz
des Ausgangstaktsignals im Wesentlichen gleich der Frequenz des zweiten Taktsignals
ist.
Diese und andere Ziele der vorliegenden Erfindung werden ohne Zweifel
für die Fachleute auf dem Gebiet nach dem Lesen der nachfolgenden ausführlichen
Beschreibung des bevorzugten Ausführungsbeispiels, das in den verschiedenen
Figuren und Zeichnungen dargestellt ist, offensichtlich werden.
Kurzbeschreibung der Zeichnungen
1 ist eine schematische Darstellung von digitalen Daten,
die zwischen zwei Flipflops gemäß dem Stand der Technik
übertragen werden.
2 ist eine Zeitablaufdiagramm, das die Taktsignale
und digitalen Daten in 1 darstellt.
3 ist eine schematische Darstellung einer Datenübertragungsvorrichtung
mit einem Phasenselektor.
4 ist ein Zeitablaufdiagramm der Taktsignale und digitalen
Daten in 3.
5 ist eine schematische Darstellung eines Ausführungsbeispiels
eines Phasenselektors der vorliegenden Erfindung.
6 ist eine schematische Darstellung des Phasenselektors
in 5 im Detail.
7 ist eine Wahrheitstabelle der dazugehörigen
Signale in 6.
Ausführliche Beschreibung
Es sei auf 3 und 4
Bezug genommen. 3 ist eine schematische Darstellung
einer Datenübertragungsvorrichtung mit einem Phasenselektor 330 der
vorliegenden Erfindung. 4 ist ein Zeitablaufdiagramm
der Taktsignale und digitalen Daten in 3. Wie in
3 gezeigt, bestimmt der Phasenselektor 330,
ob eine Phase eines Taktsignals C2 verzögert werden muss, um ein
Verzögerungstaktsignal C3 gemäß Latch-Daten (bzw. gehaltenen
Daten) DL zu erzeugen. Dadurch kann das Verzögerungstaktsignal C3
mit einer relativ verzögerten Phase verwendet werden, um Bitwerte der Latch-Daten
DL genau zu halten bzw. zu latchen. In 4
zum Beispiel verzögert der Phasenselektor 330 das Taktsignal C2
für eine halbe Periode, d. h. 180 Grad einer Phase. Eine Anstiegsflanken-Auslösung
des Verzögerungstaktsignals C3 tritt bei t3 für
ein Flipflop 320 auf, um die Latch-Daten DL zu latchen. Anders
als das Taktsignal C2 ohne Verzögerung (2)
kann das Verzögerungstaktsignal C3 mit einer relativ verzögerten
Phase (4) Bitwerte der Latch-Daten DL genau
latchen. In praktischen Ausführungsbeispielen kann der auf das Taktsignal C2
aufgebrachte Verzögerungsbetrag durch Schaltungsfachleute programmiert werden.
Mit anderen Worten: das Taktsignal C2 kann für einen anderen Verzögerungsbetrag
als eine halbe Periode verzögert werden, falls dies zweckmäßig ist.
Dementsprechend ist das Flipflop 310 in einem Ausführungsbeispiel
der vorliegenden Erfindung in einem analogen Signalbereich angeordnet, und das Flipflop
320 ist in einem digitalen Signalbereich angeordnet. In solch einem Fall
wird ein Signal D1 von einem analogen Schaltkreis ausgegeben, und ein
Signal D0 wird zu einem digitalen Schaltkreis ausgegeben. In anderen
Ausführungsbeispielen kann das Flipflop 310 in einem digitalen Signalbereich
angeordnet sein, und das Flipflop 320 kann in einem analogen Signalbereich
angeordnet sein. In einem solchen Fall wird das Signal D1 von einem digitalen
Schaltkreis ausgegeben und das Signal D0 wird an einen analogen Schaltkreis
ausgegeben. Es sei angemerkt, dass die beiden obigen Beispiele nicht als Einschränkung
der vorliegenden Erfindung gedacht sind.
5 ist eine schematische Darstellung eines Ausführungsbeispiels
eines Phasenselektors 500 der vorliegenden Erfindung. Der Phasenselektor
500 umfasst einen Taktsignalphasen-Einsteller 515, einen Phasendetektor
510, eine Entscheidungsschaltung 590 und ein Auswahlschaltung,
wie einen Multiplexer 570. Der Taktsignalphasen-Einsteller 515
umfasst eine erste Verzögerungseinheit 550 und eine zweite Verzögerungseinheit
560. Die Entscheidungsschaltung 590 umfasst einen ersten Zähler
520, einen zweiten Zähler 530 und einen Steuerschaltkreis
505. Der Steuerschaltkreis 505 umfasst eine Auswahlschaltung
540 und eine Latch-Schaltung 580.
Die erste Verzögerungseinheit 550 verzögert ein
Eingangstaktsignal C2 um einige Grad der Phasenverzögerung, um ein
erstes Verzögerungstaktsignal CD1 zu erzeugen. Da der Phasendetektor
510 erfasst, dass eine Phase eines Eingangsdatensignals DL hinter
der des ersten Verzögerungstaktsignals CD1 zurückbleibt, bleibt
ein Erfassungssignal S1 bei einem logischen Zustand „0" und ein
weiteres Erfassungssignal S2 ist eine fortlaufende Rechteckwelle. Wenn
die Phase des Eingangsdatensignals DL derjenigen des ersten Verzögerungstaktsignals
CD1 vorangeht, ist das Erfassungssignal S1 eine fortlaufende
Rechteckwelle und das Erfassungssignal S2 bleibt beim logischen Zustand
„0". Die Auswahlschaltung 540 entscheidet, ob ein Auswahlsignal
SW ausgegeben wird, um den Multiplexer 570 gemäß den
Erfassungssignalen S1 und S2 umzuschalten. In einem bevorzugten
Ausführungsbeispiel, das eine fehlerhafte Umschaltoperation des Multiplexers
570 verhindern kann, empfängt die Entscheidungsschaltung
590 die Erfassungssignale S1 und S2 jeweils über
den ersten und zweiten Zähler 520 und 530 und gibt somit
das Auswahlsignal SW aus; und die zweite Verzögerungseinheit
560 verzögert das Eingangstaktsignal C2 um einige Grad
der Phasenverzögerung, um ein zweites Verzögerungstaktsignal CD2
zu erzeugen. Der Multiplexer 570 wählt dann das Eingangstaktsignal
C2 oder das zweite Verzögerungstaktsignal CD2 gemäß
dem Auswahlsignal SW als ein Ausgangstaktsignal C3 aus. Mit
anderen Worten: über das Auswahlsignal SW zum Steuern des Multiplexers
570 wird gemäß einem Phasenverhältnis zwischen dem Eingangsdatensignal
DL und dem ersten Verzögerungstaktsignal CD1 entschieden.
Wenn die Phase des Eingangsdatensignals DL derjenigen des ersten Verzögerungstaktsignals
CD1 vorangeht, wählt der Multiplexer 570 das Eingangstaktsignal
C2 als das Ausgangstaktsignal C3
aus. Wenn die Phase des Eingangdatensignals DL jedoch
hinter der des ersten Verzögerungstaktsignals CD1 zurückbleibt,
wählt der Multiplexer 570 das zweite Verzögerungstaktsignal CD2
als das Aungangstaktsignal C3 aus.
Nachdem die Auswahlschaltung 540 das Auswahlsignal SW
sendet, um den Multiplexer 570 umzuschalten, sendet die Latch-Schaltung
580 außerdem ein Deaktivierungssignal SDIS an die Auswahlschaltung
540. Das Deaktivierungssignal SDIS hindert somit die Auswahlschaltung
540 am Umschalten des Multiplexers 570, wodurch eine Systeminstabilität
aufgrund häufiger Umschaltvorgänge vermieden wird. Nachdem die Auswahlschaltung
540 für einen geeigneten Zeitraum gestoppt wurde, sendet die Latch-Schaltung
580 ein Aktivierungssignal SEN, um die Auswahlschaltung
540 neu zu starten.
6 ist eine schematische Darstellung des Phasenselektors
in 5 im Detail. Wie in 6
gezeigt, umfasst der Phasendelektor 600 einen Zweipunkt-Phasendetektor
610, einen ersten Zähler 620, einen zweiten Zähler
630, ein UND-Gatter 640, eine Verzögerungsschaltung
650, ein NICHT-ODER-Gatter 660, einen Multiplexer 670,
ein NICHT-Gatter 680 und ein ODER-Gatter 690. Das UND-Gatter
640, das NICHT-ODER-Gatter 660 und das ODER-Gatter 690
bilden einen Steuerschaltkreis 605. Die Verzögerungsschaltung
650 verzögert ein Eingangstaktsignal C2 für eine viertel
Periode, d. h. 90 Grad einer Phase, um ein erstes Verzögerungstaktsignal CD1
zu erzeugen. Das NICHT-Gatter 680 kehrt das Eingangstaktsignal C2
um, um ein zweites Verzögerungstaktsignal CD2 zu erzeugen. Mit anderen
Worten: das NICHT-Gatter 680 verzögert das Eingangstaktsignal C2
um 180 Grad der Phase. Das zweite Verzögerungstaktsignal CD2 wird
somit zum Multiplexer 670 gesandt. Wenn eine Phase eines Eingangsdatensignals
DL der des ersten Verzögerungstaktsignals CD1 vorausgeht,
ist ein Erfassungssignal S1 eine fortlaufende Rechteckwelle, und ein
weiteres Erfassungssignal S2 bleibt bei einem Zustand „0". Wenn
eine Rechteckwellenanzahl (d. h. eine Impulsanzahl) des Erfassungssignals S1,
die vom ersten Zähler 620 gezählt wird, einen Schwellenwert erreicht,
dann geht die Phase des Eingangsdatensignals DL der des ersten Verzögerungstaktsignals
CD1 voraus. Deshalb gibt der erste Zähler 620 ein erstes
Auswahlsignal SW1 mit einem logischen Zustand „1" aus. Da das
Erfassungssignal S2 beim Zustand „0" bleibt, ist eine Rechteckwellenanzahl
des Erfassungssignals S2, die vom zweiten Zähler 630 gezählt
wird, Null. Somit gibt der zweite Zähler 630 ein zweites Auswahlsignal
SW2 mit einem logischen Zustand „0" aus. In solch einem Fall wählt
der Multiplexer 670 das Eingangstaktsignal C2 als ein Ausgangstaktsignal
C3 aus. Ansonsten wählt der Multiplexer 670 das zweite
Verzögerungstaktsignal CD2 als das Ausgangstaktsignal C3
aus. Das erste und das zweite Auswahlsignal SW1 und SW2 werden
an das NICHT-ODER-Gatter 660 angelegt, um ein Deaktivierungssignal SDIS
zu erzeugen. Das Deaktivierungssignal SDIS und ein Aktivierungssignal
SEN werden an das ODER-Gatter 690 angelegt, um ein Rücksetzsignal
SR zu erzeugen. Ferner werden das Rücksetzsignal SR und
das erste Verzögerungstaktsignal CD1 an das UND-Gatter
640 angelegt, um ein Steuersignal SC zu erzeugen, um den ersten
und den zweiten Zähler 620 und 630 zu steuern. Nach Boole'scher
Berechnung kann die Beziehung zwischen dem Steuersignal SC und anderen
Signalen wie folgt dargestellt werden:
SC = CD1·[SEN + (SW1 + SW2)'
7 ist eine Wahrheitstabelle 700 des ersten
Auswahlsignals SW1, des zweiten Auswahlsignals SW2, des Deaktivierungssignals
SDIS, des Aktivierungssignals SEN, des Rücksetzsignals
SR, des ersten Verzögerungstaktsignals CD1 und des Steuersignals
SC. Wie in 7 gezeigt, sind das erste und
das zweite Auswahlsignal SW1 und SW2 beide logisch „0",
wenn die vom ersten und zweiten Zähler 620 und 630 gezählte
Rechteckwellenanzahl unter dem Schwellenwert liegt. Währenddessen ist das Deaktivierungssignal
SDIS „1", wodurch das Rücksetzsignal SRsicher
„1" ist. Da das erste Verzögerungstaktsignal CD1 ein Taktsignal
ist, ist das Steuersignal SC ebenfalls ein Taktsignal, das als ein Referenztaktsignal
für den ersten und zweiten Zähler 620 und 630 dient.
Mit anderen Worten fahren der erste und der zweite Zähler 620 und
630 fort, die Rechteckwellenanzahl zu zählen. Wenn irgendeine Rechteckwellenanzahl
den Schwellenwert erreicht, verändert sich das korrespondierende Auswahlsignal
(d. h. das erste Auswahlsignal SW1 oder das zweite Auswahlsignal SW2)
zu einer logischen „1". Das Deaktivierungssignal SDIS wird somit
zu einer logischen „0". Währenddessen wird das Rücksetzsignal SR
logisch „0" und das Steuersignal SC wird ebenfalls logisch „0",
wenn das Aktivierungssignal SEN nicht verfügbar ist, d.h. logisch
„0" ist. Deshalb ist das Referenztaktsignal für den ersten und zweiten
Zähler 620 und 630 „0", so dass der erste und der
zweite Zähler 620 und 630 aufhören, die Rechteckwellenanzahl
zu zählen. Zusätzlich dienen die Zähler als Speicher, um die Ergebnisse
der Auswahlsignale SW1 und SW2 zu speichern. Wenn das Aktivierungssignal
SEN verfügbar ist, d. h. logisch „1" ist, wird das Rücksetzsignal
SR logisch „1" und das Steuersignal SC ist wieder ein
Taktsignal. Die Zähler werden an den ansteigenden Flanken des Aktivierungssignals
SEN auf „0" zurückgesetzt. Auf die oben beschriebene Weise
wird der Steuerschaltkreis 605, der durch das NICHT-ODER-Gatter
660, das ODER-Gatter 690 und das UND-Gatter 640 gebildet
wird, verwendet, um eine Systeminstabilität aufgrund häufiger Umschaltvorgänge
des Ausgangstaktsignals C3 zu vermeiden.
Die Fachleute auf dem Gebiet werden einfach erkennen,
dass viele Modifikationen und Veränderungen der Vorrichtung und des Verfahrens
vorgenommen werden können, während die Lehren der Erfindung beibehalten
werden. Dementsprechend soll die obige Offenbarung so verstanden werden, dass sie
nur durch Maß und Ziel der beigefügten Ansprüche beschränkt
ist.