-
HINTERGRUND DER ERFINDUNG
-
Eine
Verzögerungsregelschleife
(delay locked loop = DLL) mit einer einstellbaren Verzögerungsleitung wird
verwendet, um ein erstes Taktsignal mit einem zweiten Taktsignal
durch Verzögerung
des ersten Taktsignals zu synchronisieren. Die DLL weist einen Phasendetektor
auf, der den Phasenunterschied zwischen dem ersten Taktsignal und
dem zweiten Taktsignal erkennt. Basierend auf dem erkannten Phasenunterschied
synchronisiert die DLL das erste Taktsignal mit dem äußeren Taktsignal
durch Hinzufügen
einer geeigneten Verzögerung
zu dem ersten Taktsignal, bis das zweite Taktsignal mit dem ersten
Taktsignal in Phase ist.
-
1 ist
ein Blockdiagramm einer Stand-der-Technik-DLL
100. Ein
von Außen
gelieferter Takt (CLK) wird durch den Taktpuffer
101 gepuffert,
um einen Bezugstakt (CLK_REF) bereitzustellen der mit einer spannungsgesteuerten
Verzögerungsleitung
102 und
einem Phasendetektor
104 verbunden ist. Die spannungsgesteuerte
Verzögerungsleitung
102 erzeugt
einen Ausgangstakt (CLK_OUT), der eine verzögert Version des CLK_REF ist
und zu verschiedenen Schaltungen innerhalb der Vorrichtung und zu
der Nachbildungs-Verzögerungsschaltung
103 geroutet
wird. Die Nachbildungs-Verzögerungsschaltung
103 stellt
eine Verzögerung bereit,
die ähnlich
der Verzögerung
durch den Puffer
101 und Leitungsroutingverzögerungen
ist. Nachbildungsverzögerungen
sind dem Fachmann bekannt. Siehe eigenes, allgemeines
US-Patent
Nummer 5,796,673 von Foss et al. für eine weitere Erklärung von
Nachbildungsverzögerungen.
Ein Rückkopplungstaktsignal
CLK_FB Ausgang der Nachbildungs-Verzögerungsschaltung
ist mit dem Phasendetektor
104 verbunden. Andere Stand-der-Technik-DLL
verwenden eine digitale Verzögerungsleitung
oder Abzweigungsverzögerungsleitung.
Eigene, allgemeine US-Patente Nummer
5,796,673 und
6,087,868 beschreiben solche
DLL.
-
Ein
weiteres Beispiel einer DLL, dargelegt in
US-Patent Nr. 6,239,634 von McDonagh,
die eingerichtet ist einen Eingangstakt durch einen vorgegeben festen
Betrag zu verzögern,
erzeugt ein verzögertes
Taktsignal, das durch eine Steuerspannung gesteuert wird.
-
Der
Phasendetektor 104 erzeugt Phasensteuersignale (UP, DOWN),
die von dem Phasenunterschied zwischen CLK_REF und CLK_FB abhängen. Das
DOWN-Signal wird auf eine logische "1" auf
jeder ansteigenden Flanke des CLK_REF gesetzt und das UP-Signal wird auf eine
logische "1" auf jeder ansteigenden Flanke
des CLK_FB gesetzt. Sowohl das UP- als auch das DOWN-Signal werden auf
logisch "0" zurückgesetzt,
wenn die zweite ansteigende Flanke der zwei Signale empfangen wird.
Folglich geht, wenn die steigenden Flanke des CLK_REF vor steigenden
Flanke des CLK_FB erkannt wird, das DOWN-Signal in eine logische "0" über,
um die Verzögerung
in der spannungsgesteuerten Verzögerungsleitung
(VCDL) 102 zu verringern bis die nächste steigende Flanke des
CLK_FB erkannt wird. Alternativ wird, wenn die steigende Flanke des
CLK_FB vor der steigenden Flanke des CLK_REF erkannt wird, das UP-Signal
durchgesetzt (logisch "1"), um die Verzögerung zu
vergrößern bis
die nächste
steigenden Flanke des CLK_REF erkannt wird.
-
Die
Phasensteuersignale (UP/DOWN) des Phasendetektors 104 werden
durch eine Ladungspumpe 105 und einen Schleifenfilter (engl.:
loop filter) integriert, um eine veränderbare Vorspannung VCTRL 110 für die VCDL 102 bereitzustellen.
Die Vorspannung VCTRL wählt die Verzögerung,
die zu dem CLK_REF durch die VCDL 102 hinzugefügt werden
soll, um das CLK_FB mit CLK_REF zu synchronisieren.
-
Der
Phasendetektor 100 kann höhenempfindlich oder flankengesteuert
sein. Typischerweise werden flankengesteuerte Phasendetektoren verwendet,
da höhenempfindliche
Phasendetektoren empfänglich
für eine
falsche Verriegelung sind. Allerdings läuft der Takt frei und es ist
nicht bekannt, welche Taktflanke nach einem Neustart zuerst erscheint.
Folglich ist es abhängig
von der anfänglichen
Phasenbeziehung zwischen den Eingangssignalen an dem Phasendetektor
(d.h. abhängig
davon, ob die steigende Flanke des CLK_REF oder CLK_FB zuerst nach
einem Systemneustart oder Hochfahren erscheint). Das UP-(DOWN)Signal kann zuerst
gesteuert werden, wenn die Verzögerung
verringert (vergrößert) werden
soll, sodass DLL mit flankengesteuerten Phasendetektoren nie eine
Verriegelung erreichen.
-
2 ist
eine schematische Darstellung eines Stand-der-Technik flankengesteuerten Phasendetektors 104.
Der Phasendetektor 104 erkennt den Phasenunterschied zwischen
CLK_REF und CLK_FB und setzt die UP-, DOWN-Signale auf logisch "1", abhängig davon, ob der Phasenunterschied
die Verzögerung
vergrößern oder
verkleinern soll. Der Phasendetektor 104 weist zwei steigende
Flanke gesteuerte D-Typ
Flip-Flops (DFF) 201, 203 und einen Rücksetzkreis 210 auf.
Der Eingang jedes DFF 201, 203 ist mit VDD verbunden und der entsprechende asynchrone
Rücksetzeingang
jeder DFF 201, 203 ist mit dem Ausgang (RSTb)
des Rücksetzkreises 210 verbunden.
Der Rücksetzkreis 210 erzeugt
eine logische "0" auf dem RSTb-Signal,
um die DFF 201, 203 zurückzusetzen, wenn das RESETb-Signal
auf einer logischen "0" ist oder wenn sowohl
das UP- als auch das DOWN-Signal auf einer logischen "1" sind.
-
Der
Takteingang jedes DFF ist mit einem entsprechenden der Eingangssignale
(CLK_REF, CLK_FB) verbunden, wobei der Takteingang des DFF 201 mit
CLK_REF verbunden ist und der Takteingang des DFF 203 mit
CLK_FB verbunden ist. Der Ausgang jedes DFF 201, 203 ist
mit entsprechenden UP/DOWN-Eingängen
der Ladungspumpe 105 (1) verbunden,
um die Verzögerung
der VCDL 102, basierend auf dem erkannten Phasenunterschied
zwischen zwei Takten, zu vergrößern oder
zu verkleinern.
-
Wenn
eine steigende Flanke (Übergang
von einer logischen "0" zu einer logischen "1") des CLK_REF vor der steigenden Flanke
des CLK_FB erkannt wird, wird die Verzögerung verringert. Zum Beispiel
wird, wenn die steigende Flanke des CLK_REF vor der steigenden Flanke
des CLK_FB erscheint, das DOWN-Signal durchgesetzt (d.h. der Ausgang
des DFF 201 ändert
sich auf eine logische "1"), um die Verzögerung zu
verringern. Während
das DOWN-Signal auf logisch "1" ist, verringert
die Ladungspumpe und der Schleifenfilter die Verzögerung in
der VCDL 102. Das DOWN-Signal bleibt auf einer logischen "1" bis eine nachfolgende steigende Flanke
des CLK_FB den DFF 203 taktet und das UP-Signal an dem
Ausgang des DFF 203 von einer logischen "0" auf eine logische "1" übergeht.
Wenn sowohl das UP- als auch das DOWN-Signal auf einer logischen "1" sind, erzeugt der Rücksetzkreis 210 einen
logisch "0"-Puls auf dem RSTb-Signal.
Der logische "0"-Puls auf dem RSTb-Signal,
das mit den asynchronen Rücksetzeingängen des
DFF 201, 203 verbunden ist, setzt DFF 201, 203 zurück und das
UP- und DOWN-Signal wird auf eine logische "0" zurückgesetzt.
-
Wenn
die steigende Flanke des CLK_FB vor der steigenden Flanke des CLK_REF
erkannt wird, wird die Verzögerung
vergrößert und
das UP-Signal geht von einer logischen "0" in
eine logische "1" über. Während das UP-Signal auf einer
logischen "1" ist, vergrößern die
Ladungspumpe und der Schleifenfilter die Verzögerung durch die Verzögerungsleitung.
Das UP-Signal wird auf einer logischen "1" gehalten
bis die steigende Flanke des CLK_REF den DFF 203 taktet
und das DOWN-Signal zu einer logischen "1" übergeht.
Wenn sowohl das UP- als auch das DOWN-Signal durchgesetzt sind (auf
einer logischen "1"), erzeugt der Rücksetzkreis 210 einen
logischen "0"-Puls auf dem RSTb-Signal
und DFF 201, 203 werden zurückgesetzt. Nachdem die DFF 201, 203 zurückgesetzt
sind, werden das UP- und DOWN-Signal an den Ausgängen der DFF auf eine logische "0" zurückgesetzt.
-
Nach
einem Hochfahren oder Systemneustart wird die spannungsgesteuerte
Verzögerungsleitung
typischerweise auf eine minimale Verzögerung gesetzt. Wenn nach dem
Neustart oder Hochfahren die steigende Flanke des CLK_REF-Signals
vor der steigenden Flanke des CLK_FB-Signals erscheint, wird der
Phasendetektor 104 das DOWN-Signal auf eine logische "1" setzen, um die Verzögerung zu verringern. Allerdings
wird die Verzögerung
bereits auf dem erlaubten Minimum sein. Folglich werden alle nachfolgenden
Phasendetektorzyklen damit fortfahren zu versuchen, die DLL-Verzögerung zu
verringern und die DLL wird niemals eine Verriegelung erreichen.
-
3 ist
ein Zeitdiagramm, das ein Taktflanken-Ordnungsproblem nach einem Rücksetzen
(Neustart) zeigt. Das Problem eine Verriegelung zu erreichen taucht
auf, wenn die steigende Flanke des CLK_REF vor der steigenden Flanke
des CLK_FB erscheint. In dem gezeigten Beispiel erscheint die steigende
Flanke des CLK_REF zur selben Zeit wie die fallende Flanke des CLK_FB.
Der Phasenunterschied ist jedoch veränderbar und beide steigende
Flanken können
sogar zur selben Zeit erscheinen. 3 wird im
Zusammenhang mit der in 2 gezeigten Schaltung beschrieben.
Während
des Neustarts wird das RESETb-Signal auf einer logischen "0" gehalten und die Verzögerung in
der spannungsgesteuerten Verzögerungsleitung
wird auf eine minimale Verzögerung
gesetzt (eine Einheits-Verzögerungszelle).
Auch das UP- und DOWN-Signal werden beide auf einer logischen "0" gehalten, da DFF 201, 203 durch
eine logische "0" zurückgesetzt
auf dem RESETb-Signal gehalten werden.
-
Bei
Zeit 200 geht das RESETb-Signal von einer logischen "0" auf eine logische "1" über. Nach
dem Zurücksetzen
erscheint, wie gezeigt, die steigende Flanke des CLK_REF gefolgt
von der steigenden Flanke des CLK_FB.
-
Bei
Zeit 202 setzt die erste steigende Flanke (von einer logischen "0" auf eine logische "1")
auf dem CLK_REF den DFF 201 und das DOWN-Signal (der Ausgang
des DFF 201) wird auf eine logische "1" gesetzt. Während das
DOWN-Signal auf einer logischen "1" ist, wird die Verzögerung in
der Verzögerungsleitung
verringert. Allerdings ist die DLL-Verzögerung
bereits auf einen Minimalwert gesetzt, während RESETb auf einer logischen "0" war. Folglich hat die logische "1" auf dem DOWN-Signal keine Wirkung auf
die Verzögerung
der VCDL.
-
Bei
Zeit 204 setzt die auf dem CLK_FG-Signal erkannte steigende
Flanke den DFF 203, was zu einem Setzen des UP-Signals (der Ausgang
des DFF 203) auf eine logische "1" führt. Wenn
sowohl das UP-Signal als auch das DOWN-Signal auf einer logischen "1" sind, erzeugt der Rücksetzkreis 210 einen
logischen "0"-Puls auf dem RSTb-Signal,
um beide DFF 201, 203 und das UP- und DOWN-Signal
auf eine logische "0" bei Zeit 206 zurückzusetzen.
-
Diese
Abfolge wird wiederholt, beginnend mit der nächsten steigenden Flanke des
CLK_REF bei Zeit 208 und geht weiter für jede nachfolgende steigende
Flanke des CLK_REF und CLK_FB. Die Verzögerung bleibt bei der minimalen
Verzögerung
stecken und folglich erreicht die DLL niemals eine Verriegelung.
-
KURZFASSUNG DER ERFINDUNG
-
Es
wird eine Initialisierungsschaltung in einer Verzögerungsregelschleife
dargelegt, die eine geeignete Reihenfolge von Taktsignalen an einem
Phasendetektor nach einem Neustart (Zurücksetzen) sicherstellt. Die Verzögerungsregelschleife
weist eine Verzögerungsschaltung
auf, die eine Verzögerung
bei einem Bezugstakt bereitstellt, um einen Rückkopplungstakt zu erzeugen.
Die Verzögerungsschaltung
hat einen Verzögerungsbereich.
Ein Phasendetektor in der Verzögerungsregelschleife
vergleicht die Phase des Bezugstaktes und des Rückkopplungstaktes, um die Verzögerung der
Verzögerungsschaltung
zu verändern.
Nach einem Neustart stellt die Initialisierungsschaltung sicher,
dass der Phasendetektor anfangs die Verzögerung in einer Richtung verändert, die
von einem ersten Ende des Verzögerungsbereiches
entfernt ist, nach Empfang des Bezugstaktes oder des Rückkopplungstaktes,
und ermöglicht
eine Veränderung
in der Verzögerung
in eine entgegengesetzte in Richtung des ersten Endes liegende Richtung
nur nach Empfang des Bezugstaktes oder des Rückkopplungstaktes gefolgt von
dem Empfang des jeweilig anderen Bezugstaktes beziehungsweise Rückkopplungstaktes.
-
Das
erste Ende des Verzögerungsbereiches
kann eine minimale Verzögerung
sein und die Richtung, die entfernt von dem ersten Ende liegt, vergrößert die
Verzögerung
und die entgegengesetzte Richtung, die in Richtung des ersten Ende
liegt, verringert die Verzögerung.
Die Initialisierungsschaltung vergrößert die Verzögerung nach
Empfang des Bezugstaktes und ermöglicht
eine Verringerung der Verzögerung
nur nach dem Empfang des Bezugstaktes gefolgt von dem Rückkopplungstakt.
Die Initialisierungsschaltung kann eine erste Verriegelung und eine
zweite Verriegelung aufweisen, wobei der Eingang der zweiten Verriegelung
mit dem Ausgang der ersten Verriegelung verbunden ist. Die erste
Verriegelung spricht auf den Bezugstakt an und erkennt eine erste
Flanke des Bezugstaktes, um eine Veränderung in der Verzögerung in
die Richtung weg von dem ersten Ende zu ermöglichen. Die zweite Verriegelung
spricht auf den Rückkopplungstakt
an und erkennt eine Flanke des Rückkopplungstakts
nachdem die erste Flanke des Bezugstakts durch die erste Verriegelung erkannt
wurde, um eine Veränderung
in der Verzögerung
in der entgegengesetzten Richtung zu ermöglichen.
-
In
einem alternativen Ausführungsbeispiel
kann eine weitere Verzögerung
hinzugefügt
werden, um es den Takten zu erlauben, sich zu stabilisieren, indem
der Initialisierungsschaltung zwei Verriegelungen hinzugefügt werden.
Der Eingang einer dritten Verriegelung ist mit dem Ausgang der ersten
Verriegelung verbunden und der Eingang einer vierten Verriegelung
ist mit dem Ausgang der dritten Verriegelung verbunden. Die dritte Verriegelung
erkennt eine nächste Flanke
des Bezugstakts, um das Aktivieren der Phasendetektorschaltung in
der ersten Richtung für
wenigstens einen Bezugstaktperiode zu verzögern. Die vierte Verriegelung
erkennt eine nächste
Flanke des Rückkopplungstakts,
um die Freigabe der Einstellung des Phasendetektors in der anderen
Richtung für
wenigstens eine Rückkopplungstaktperiode
zu verzögern.
-
Die
erste Flanke des Bezugstakts kann eine steigende Flanke sein und
die Flanke des Rückkopplungstakts
ist eine steigende Flanke.
-
In
einem alternativen Ausführungsbeispiel
kann die Initialisierungsschaltung eine erste Verriegelung und eine
zweite Verriegelung aufweisen. Die erste Verriegelung spricht auf
den Rückkopplungstakt
an und erkennt eine erste Flanke des Rückkopplungstakts, um eine Veränderung
in der Verzögerung
in der Richtung weg von dem ersten Ende zu ermöglichen. Die zweite Verriegelung
spricht auf den Bezugstakt an, welche eine Flanke des Bezugstakts
erkennt, nachdem die erste Flanke des Rückkopplungstakts durch die
erste Verrieglung erkannt wurde, um eine Veränderung in der Verzögerung in
der entgegengesetzten Richtung zu ermöglichen. Der Eingang der zweiten
Verriegelung ist mit dem Ausgang der ersten Verriegelung verbunden.
-
Der
Phasendetektor kann eine Verriegelung aufweisen, die auf den Bezugstakt
anspricht, um ein erstes Phasensteuersignal zu erzeugen, und eine
andere Verriegelung, die auf den Rückkopplungstakt anspricht, um
ein zweites Phasensteuersignal zu erzeugen.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Die
vorangehenden und andere Aufgaben, Merkmale und Vorteile der Erfindung
werden aus der folgenden speziellen Beschreibung bevorzugter Ausführungsbeispiele
der Erfindung ersichtlich, wie in den beigefügten Zeichnungen veranschaulicht,
in denen sich durchwegs ähnliche
Bezugszeichen auf dieselben Teile in verschiedenen Ansichten beziehen.
Die Zeichnungen sind nicht notwendigerweise maßstabsgerecht, sondern der
Schwerpunkt liegt in der Veranschaulichung der Grundsätze der
Erfindung.
-
1 ist
ein Blockdiagramm einer typischen Verzögerungsregelschleife (DLL)
des Standes der Technik;
-
2 ist
eine schematische Darstellung eines typischen Phasendetektors des
Standes der Technik;
-
3 ist
ein Zeitdiagramm, das ein Takt-Flanken-Ordnungsproblem nach dem Neustart zeigt;
-
4 ist
eine schematische Darstellung einer flankengesteuerten Phasenerkennungsschaltung,
die eine Phasendetektor-Initialisierungsschaltung in Übereinstimmung
mit den Grundzügen
der vorliegenden Erfindung veranschaulicht;
-
5 ist
ein Schaltschema eines Ausführungsbeispiels
des in 4 gezeigten Rücksetzkreises;
-
6 ist
ein Zeitdiagramm, das den Betrieb der in 4 und 5 gezeigten
Schaltung veranschaulicht;
-
7 ist
ein Zeitdiagramm, das den Betrieb der in 4 gezeigten
Schaltung veranschaulicht, wenn die steigende Flanke des Rückkopplungstaktes
der steigenden Flanke des Bezugstaktes nach dem Neustart vorhergeht;
-
8 ist
eine schematische Darstellung eines alternativen Ausführungsbeispiels
der in 4 gezeigten Phasenerkennungsschaltung zur Verwendung
in einer DLL, in der die Verzögerung
beim Neustart auf den maximalen Wert zurückgesetzt wird.
-
9 ist
eine schematische Darstellung eines alternativen Ausführungsbeispiels
der Phasendetektor-Initialisierungsschaltung;
-
10 ist
ein weiteres Ausführungsbeispiel
der Phasendetektor-Initialisierungsschaltung; und
-
11 ist
ein Zeitdiagramm, das den Betrieb der in 9 veranschaulichten
Schaltung veranschaulicht, wenn die steigende Flanke des Bezugstakts
der steigenden Flanke des Rückkopplungstakts
vorhergeht.
-
BESCHREIBUNG DER ERFINDUNG
-
Es
folgt eine Beschreibung bevorzugter Ausführungsbeispiele der Erfindung.
-
4 ist
eine schematische Darstellung einer flankengesteuerten Phasenerkennungsschaltung 400 mit
einer Phasendetektor-Initialisierungsschaltung 410 in Übereinstimmung
mit den Grundzügen
der vorliegenden Erfindung. Die Phasenerkennungsschaltung 400 ersetzt
den Phasendetektor 104 von 1, um eine neue
DLL bereitzustellen. Die Phasenerkennungsschaltung 400 weist
einen Phasendetektor 412 auf, der den Phasenunterschied
zwischen einem Bezugstakt (CLK_REF)-Signal und einem Rückkopplungstakt (CLK_FB)-Signal
erkennt. Die Ausgänge
(UP, DOWN) des Phasendetektors 412 sind mit entsprechenden UP/DOWN
Eingängen
einer Ladungspumpe verbunden, wie sie in Verbindung mit dem in 1 gezeigten Phasendetektor 104 beschrieben
wurde, um die Verzögerung
des Bezugstakts zu vergrößern oder
zu verringern, basierend auf dem erkannten Phasenunterschied zwischen
den Takten.
-
Die
Verzögerung
kann zwischen einem minimalen Wert und einem maximalen Wert liegen.
In einer spannungsgesteuerten Verzögerungsleitung hat die Steuerspannung
einen Bereich erlaubter Werte. Ein Ende dieses Bereiches entspricht
einem minimalen Verzögerungswert
für die
VCDL und das andere Ende dieses Bereiches entspricht einem maximalen
Verzögerungswert
für die
VCDL. Der Betrieb einer VCDL ist im Stand der Technik wohl bekannt
und wird nicht weiter erörtert.
Andere DLL, die eine digitale Verzögerungsleitung verwenden, haben
einen minimalen Verzögerungswert
der gewöhnlich
gleich einer Einheitsverzögerung
in der digitalen Verzögerungsleitung
ist, und ein maximaler Verzögerungswert
ist gewöhnlich
gleich der Anzahl Einheitsverzögerungen
in der digitalen Verzögerungsleitung.
In dem gezeigten Ausführungsbeispiel
wird die Verzögerung
der DLL auf den minimalen Wert beim Neustart zurückgesetzt. Die Phasendetektor-Initialisierungsschaltung 410,
die mit dem Phasendetektor 412 bei den Knoten A und Knoten
B verbunden ist, stellt die richtige Ordnung der Erkennung von Taktflanken
nach dem Neustart sicher.
-
Um
die richtige Ordnung sicherzustellen, deaktiviert die Phasendetektor-Initialisierungsschaltung 410 den
Betrieb des Phasendetektors 412 solange bis die erste steigende
Flanke des CLK_REF nach dem Neustart erkannt wurde. Nachdem die
Phasendetektor-Initialisierungsschaltung 410 die erste
steigende Flanke des CLK_REF erkannt hat, wird der Zustand des Phasendetektors 412 gesetzt,
um eine Vergrößerung der DLL-Verzögerung zu
ermöglichen.
Die Phasendetektor-Initialisierungsschaltung 410 verzögert ferner
das Ermöglichen
einer Verringerung der Verzögerung
durch den Phasendetektor 412 bis zur nächsten CLK_FB steigenden Flanke,
um sicherzustellen, dass die Verzögerung immer nach einem System-
oder Hochfahrneustart vergrößert wird
selbst dann, wenn kein anfänglicher
Phasenunterschied zwischen den Takten existiert. Nach der anfänglichen
Vergrößerung in
der Verzögerung
funktioniert der Phasendetektor 412, wie in Verbindung
mit dem Stand der Technik Phasendetektor beschrieben wurde, der
in Verbindung mit 2 und 3 beschrieben
wurde. Indem die steigende Flanke des CLK_REF nach dem Neustart
zuerst erkannt wird und durch Verzögerung der Erkennung der ersten
steigenden Flanke des CLK_FB vor der Freigabe der Phasenerkennung, wird
die Verzögerung
nach dem Neustart immer vergrößert. Dadurch,
dass nach dem Neustart die Verzögerung
immer automatisch vergrößert wird,
wird niemals die Keine-Verriegelung Bedingung in dem im Zusammenhang
mit 2 und 3 beschriebenen Stand der Technik
Phasendetektor angetroffen.
-
Die
Phasendetektor-Initialisierungsschaltung 410 weist zwei
DFF 404, 403 auf. DFF 404 erkennt die erste
steigende Flanke des CLK_REF nach einem Neustart und ermöglicht eine
Vergrößerung der
Verzögerung
durch Setzen des Knotens A auf eine logische "1".
DFF 403 verzögert
die Freigabe (Ermöglichung)
einer Verringerung in der Verzögerung
durch Halten des Knotens B auf einer logischen "0" bis
nach der nächsten steigenden
Flanke des CLK_FB.
-
Die
Phasenerkennungsschaltung 412 weist zwei DFF 401, 402 und
einen Rücksetzkreis 416 auf.
Der Ausgang des DFF 404 (Knoten A) ist mit dem D-Eingang
des DFF 402 verbunden und der Ausgang des DFF 403 (Knoten
B) ist mit dem D-Eingang des DFF 401 verbunden. Der entsprechende
asynchrone Rücksetzeingang
jedes DFF 401, 402 ist mit dem Ausgang (RSTb)
des Rücksetzkreises 416 verbunden.
Das RSTb-Signal wird auf eine logische "0" gesetzt,
um die DFF 401, 402 während eines Neustarts zurückzusetzen,
während das
RESETb-Signal auf einer logischen "0" gehalten
wird oder während
sowohl das UP- als auch das DOWN-Signal auf einer logischen "1" sind.
-
Der
Takteingang jedes DFF 401, 402 ist mit einem der
entsprechenden Eingangstaktsignale (CLK_REF, CLK_FB) verbunden,
wobei der Takteingang des DFF 401 mit dem CLK_REF verbunden
ist und der Takteingang des DFF 402 mit dem CLK_FB verbunden
ist. Der Ausgang jedes DFF 401, 402 ist mit entsprechenden
UP/DOWN-Eingängen
einer Ladungspumpe verbunden, um die Verzögerung, basierend auf dem erkannten
Phasenunterschied zwischen den Takten, zu vergrößern oder zu verringern.
-
5 ist
ein Schaltschema eines Ausführungsbeispiels
eines in
4 gezeigten Rücksetzkreises
416.
Der Rücksetzkreis
416 weist
mehrere Umsetzer
215,
213,
212,
217,
ein NAND-Gatter
216 und
einen UND-ODER-UMSETZER
211 auf. Eine Wahrheitstabelle,
die den Betrieb des Rücksetzkreises
beschreibt, ist in der untenstehenden Tabelle 1 gezeigt.
| EINGÄNGE | AUSGANG |
UP | DOWN | RESETb | RSTb |
X | X | 0 | 0 |
0 | 1 | X | 1 |
1 | 0 | X | 1 |
1 | 1 | X | 0 |
-
Während eines
Neustarts wird das RESETb-Signal auf eine logische "0" gesetzt und das RSTb-Signal wird auf
eine logische "0" an dem Eingang des
Umsetzers 217 gesetzt. Die logische "1" an
dem Ausgang des Umsetzers 217, der mit einem der Eingänge des
UND-ODER-UMSETZERs 212 verbunden ist, führt zu einer logischen "0" auf dem RSTb-Signal.
-
Wenn
sowohl der UP- als auch der DOWN-Ausgang der Phasendetektorschaltung 412 zu
einer logischen "1" übergehen, wird das RSTb-Signal
auf eine logische "0" für die Länge der
Zeit gesetzt, die gleich der Laufzeitverzögerung durch die Umsetzer 212, 213, 214 ist.
Der Ausgang des Umsetzers 212 ist auf einer logischen "1", bevor sowohl das DOWN- als auch das
UP-Signal auf eine logische "1" an den Eingängen des NAND-Gatters 216 übergehen.
Wenn beide Eingänge
des NAND-Gatters 216 auf einer logischen "1" sind, geht der Ausgang des NAND-Gatter 216 auf
eine logische "0" über. Die logische "0" an dem Eingang des Umsetzers 215 führt zu einer
logischen "1" an dem Ausgang des
Umsetzers 215, der mit dem Eingang des UND-ODER-UMSETZERS 211 verbunden
ist. Wenn beide Eingänge
des UND-ODER-UMSETZERS 211 auf einer logischen "1" sind, geht das RSTb-Signal auf eine
logische "0" über. Das RSTb-Signal geht auf
eine logische "1" zurück, nachdem
die logische "1" an dem Eingang des
Umsetzers 214 durch die Umsetzer 213, 212 gelaufen
ist, was zu einer logischen "0" an dem Eingang des
UND-ODER-UMSETZERS 211 führt, der mit dem Ausgang des
Umsetzers 212 verbunden ist. Dies führt zu einem logischen "0"-Puls auf dem RSTb-Signal.
-
Der
Betrieb der in 4 und 5 gezeigten
Schaltung wird in Verbindung mit dem in 6 und 7 gezeigten
Zeitdiagramm beschrieben. 6 veranschaulicht
den Fall, dass die steigende Flanke des Bezugstakts der steigenden
Flanke des Rückkopplungstaktes
nach dem Neustart vorhergeht und 7 veranschaulicht
den Fall, dass die steigende Flanke des Rückkopplungstaktes der steigenden
Flanke des Bezugstakts nach dem Neustart vorhergeht.
-
6 ist
ein Zeitdiagramm, das den Betrieb der in 4 und 5 gezeigten
Schaltung veranschaulicht.
-
Die
Ausgänge
der DFF 403, 404 sind an den Knoten B und A mit
entsprechenden D-Eingängen
der DFF 401, 402 verbunden. Vor der Zeit 500 in 6,
während
des Neustarts, wird das RESETb-Signal auf einer logischen "0" gehalten und die Verzögerung in
der spannungsgesteuerten Verzögerungsleitung
wird auf eine minimale Verzögerung
gesetzt. In einer DLL mit breitem Frequenzbereich kann die minimale
Verzögerung
der Verzögerungsleitung
größer als
die Periode des CLK_REF sein. Während
das RESETb-Signal und das RSTb-Signal auf einer logischen "0" sind und eine logische "0" an den entsprechenden D-Eingängen der
DFF 401, 402, 403 vorhanden ist, hat
eine steigende Flanke des CLK_FB-Signals oder des CLK_REF-Signals
keine Wirkung auf die Ausgangssignale (UP, DOWN).
-
RSTb
ist mit den entsprechenden asynchronen Rücksetzeingängen der DFF 401, 402 verbunden
und RESETb ist mit den entsprechenden asynchronen Rücksetzeingängen der
DFF 403, 404 verbunden. Die Knoten A und B werden
auf einer logischen "0"-Signalen gehalten, da DFF 403, 404 durch
das RESETb-Signal zurückgesetzt
gehalten werden. Auch das UP- und das DOWN-Signal an dem Ausgang der DFF 401, 402 werden
beide auf einer logischen "0" gehalten, da das
RSTB-Signal, das durch den Rücksetzkreis 410 ausgegeben
wird, auf einer logischen "0" gehalten wird, während RESETb
auf einer logischen "0" ist, wie in Verbindung mit 5 beschrieben
ist.
-
An
dem Ende des Neustartzyklus, bei Zeit 500, geht das RESETb-Signal
auf eine logische "1" über, was DFF 404, 403 erlaubt
den Zustand zu ändern.
Nach dem Neustart erscheint die erste steigende Flanke (Übergang
von logisch "0" auf logisch "1") des CLK_REF vor der ersten steigenden
Flanke des CLK_FB-Signals.
-
Bei
Zeit 502 setzt die erste steigende Flanke des CLK_REF-Signals den DFF 404 und
das Signal am Knoten A (der Ausgang des DFF 404) geht von
einer logischen "0" auf eine logische "1" über.
Eine logische "1" am Knoten A ermöglicht DFF 402 das
UP-Signal zu setzen, um die Verzögerung
zu vergrößern, nachdem die
nächste
steigende des CLK_FB erkannt ist.
-
Bei
Zeit 504 setzt die erste steigende Flanke des CLK_FB den
DFF 402 und das UP-Signal (der Ausgang des DFF 402)
geht von einer logischen "0" auf eine logische "1" über.
Die erste steigende Flanke des CLK_FB setzt auch DFF 403 und
das Signal am Knoten B (der Ausgang des DFF 403) geht von
einer logischen "0" auf eine logische "1" über,
wodurch die Verzögerung
bei der nächsten
steigenden Flanke des CLK_REF verringert werden kann. Während das
UP-Signal auf einer logischen "1" ist, wird die Verzögerung vergrößert.
-
DFF 403 in
der Phasendetektor-Initialisierungsschaltung 410 stellt
sicher, dass die Verzögerung
immer nach einem Neustart vergrößert wird,
auch dann, wenn es keinen anfänglichen
Phasenunterschied zwischen den Signalen gibt (CLK_REF und CLK_FB).
Die Zeit, die das UP-Signal auf einer logischen "1" gehalten
wird, bevor das DOWN-Signal auf eine logische "1" durch
DFF 401 gesetzt wird, hängt
von dem anfänglichen
Phasenunterschied zwischen dem CLK_FB und CLK_REF ab.
-
Bei
Zeit 505, mit einer logischen "1" an
dem D-Eingang des DFF 401, verriegelt die steigende Flanke des
CLK_REF eine logische "1" an dem Ausgang des
DFF 401. Wenn beide Ausgänge (DOWN, UP) der DFF 401, 402 auf
eine logischen "1" sind, wird ein logisch "0"-Puls auf dem RSTb-Signal durch den
Rücksetzkreis 416 erzeugt,
um die DFF 401, 402 zurückzusetzen. Bei Zeit 506 werden
beide DFF 401, 402 zurückgesetzt und beide Ausgänge (DOWN,
UP) werden auf eine logische "0" zurückgesetzt.
DFF 403, 404 werden nicht zurückgesetzt. Stattdessen verbleiben
diese in dem Setzzustand mit logisch "1" an
den entsprechenden Ausgängen
an den Knoten A, B bis der nächste
Neustart erkannt wird.
-
Folglich
steuert, nach der anfänglichen
Vergrößerung der
Verzögerung,
der Phasendetektor 412 die Erzeugung der Phasensteuersignale
(UP/DOWN), um die Verzögerung
weiter zu vergrößern oder
zu verringern bis Verriegelung erreicht ist. Der Phasendetektor 412 fährt damit
fort die Verzögerung
zu vergrößern, indem
er weitere UP-Signalübergänge erzeugt,
wie bei Zeit 508 und 510 gezeigt ist, bis bei
Zeit 512 die DLL in dem Verriegelungszustand ist. Der Phasendetektor 412 überwacht
kontinuierlich den Phasenunterschied zwischen dem CLK_REF-Signal
und dem CLK_FB-Signal und stellt die Verzögerung durch Setzen des UP/DOWN-Signal
geeignet ein, um Verriegelung zu erreichen.
-
7 ist
ein Zeitdiagramm, das den Betrieb der in 4 gezeigten
Schaltung veranschaulicht, wenn die erste steigende Flanke des Rückkopplungstakts
vor der ersten steigenden Flanke des Bezugstakts nach dem Neustart
erscheint.
-
Bei
Zeit 700 geht das RESETb-Signal von einer logischen "0" auf eine logische "1" über. Bei
Zeit 701 wird die steigende Flanke des CLK_FB durch DFF 403, 402 ignoriert,
da die erste steigende Flanke des CLK_REF noch nicht durch DFF 404 erkannt
wurde.
-
Bei
Zeit 702 setzt die erste steigende Flanke auf CLK_REF den
DFF 404 und Knoten A geht von einer logischen "0" auf eine logische "1" über.
-
Bei
Zeit 703 setzt eine nächste
steigende Flanke des CLK_FB-Signals
den DFF 402 und das UP-Signal (der Ausgang des DFF 402)
geht von einer logischen "0" auf eine logische "1" über.
Diese steigende Flanke des CLK_RB-Signals setzt auch DFF 403 und
Knoten B geht von einer logischen "0" auf
eine logische "1" über.
-
Bei
Zeit 704, mit einer logischen "1" am
Knoten B (der D-Eingang
des DFF 401), verriegelt die steigende Flanke des CLK_REF
eine logische "1" an dem Ausgang des
DFF 401. Wenn beide Ausgänge (DOWN, UP) der DFF 401, 402 auf
einer logischen "1" sind, wird ein logisch "0"-Puls auf dem RSTb-Signal durch den Rücksetzkreis 416 erzeugt,
um die DFF 401, 402 zurückzusetzen und beide Ausgänge (DOWN,
UP) werden auf eine logische "0" gesetzt.
-
Nach
dem ersten Übergang
des UP-Signal auf eine logische "1", um anfangs die
Verzögerung
zu vergrößern, steuert
der Phasendetektor 412 die Erzeugung der Ausgangssignale
(UP/DOWN), um weiter die Verzögerung
zu vergrößern oder
zu verringern, bis die Verriegelung erreicht ist. Die Phasenerkennungsschaltung fährt damit
fort die Verzögerung
durch Setzen des UP-Signals auf logisch "1",
wie bei Zeit 705 gezeigt ist, zu vergrößern.
-
8 ist
eine schematische Darstellung eines alternativen Ausführungsbeispiels
der in 4 gezeigten Phasenerkennungsschaltung 800,
zur Verwendung in einer DLL, in der die Verzögerung auf dem maximalen Wert
beim Neustart zurückgesetzt
wird. Die Phasendetektor-Initialisierungsschaltung 806,
die mit dem Phasendetektor 412 am Knoten A und Knoten B
verbunden ist, stellt die richtige Ordnung der Erkennung der Taktflanken
nach dem Neustart sicher.
-
Um
die richtige Ordnung sicherzustellen, deaktiviert die Phasendetektor-Initialisierungsschaltung 806 solange
den Betrieb des Phasendetektors 412 bis nachdem die erste
steigende Kante des CLK_FB nach dem Neustart erkannt wurde. Nachdem
die Phasendetektor-Initialisierungsschaltung 806 die erste
steigende Flanke des CLK_FB erkennt, wird der Zustand des Phasendetektors 412 gesetzt,
um eine Verringerung der DLL-Verzögerung zu ermöglichen.
Die Phasendetektor-Initialisierungsschaltung 806 verzögert zusätzlich die Freigabe
einer Vergrößerung der
Verzögerung
durch den Phasendetektor 412 bis zur nächsten CLK_REF steigenden Flanke,
um sicherzustellen, dass die Verzögerung nach einem System- oder
Hochfahrneustart immer verringert wird, selbst dann, wenn kein anfänglicher
Phasenunterschied zwischen den Takten existiert. Nach der anfänglichen
Verringerung der Verzögerung
funktioniert der Phasendetektor 412, wie in Verbindung
mit dem Stand der Technik Phasendetektor beschrieben wurde, der
in Verbindung mit 2 und 3 beschrieben
wurde. Durch Erkennung der steigenden Flanke des CLK_FB zuerst nach
dem Neustart und Verzögern der
Erkennung der ersten steigenden Flanke des CLK_REF vor Freigabe
der Phasenerkennung, wird die Verzögerung immer nach dem Neustart
verringert. Indem immer automatisch die Verzögerung nach dem Neustart verringert
wird, wird niemals die Keine-Verriegelung Bedingung in dem im Zusammenhang
mit 2 und 3 beschriebenen Stand der Technik
Phasendetektor angetroffen.
-
Die
Phasendetektor-Initialisierungsschaltung 806 weist zwei
DFF 802, 804 auf. DFF 802 erkennt die erste
steigende Flanke des CLK_FB nach dem Neustart und ermöglicht eine
Verringerung der Verzögerung durch
Setzen des Knotens A auf eine logische "1".
DFF 804 verzögert
die Freigabe einer Vergrößerung der Verzögerung durch
Halten des Knotens B auf einer logischen "0" bis
nach der nächsten
steigenden Flanke des CLK_REF.
-
Die
Phasenerkennungsschaltung 402 weist zwei DFF 401, 402 auf
und einen Rücksetzkreis 416.
Der Ausgang des DFF 802 (Knoten A) ist mit dem D-Eingang
des DFF 401 verbunden und der Ausgang des DFF 804 (Knoten
B) ist mit dem D-Eingang des DFF 402 verbunden. Der entsprechende
asynchrone Rücksetzeingang
jedes DFF 401, 402 ist mit dem Ausgang (RSTb)
der Rücksetzschaltung 416 verbunden.
Das RSTb-Signal ist auf eine logische "0" gesetzt,
um die DFF 401, 402 während eines Neustarts zurückzusetzen,
während das
RESETb-Signal auf einer logischen "0" gehalten
wird oder während
sowohl das UP- als auch das DOWN-Signal auf einer logischen "1" sind.
-
Der
Takteingang jedes DFF 401, 402 ist mit einem der
entsprechenden Eingang-Taktsignale (CLK_REF, CLK_FB) verbunden,
wobei der Takteingang des DFF 401 mit CLK_REF verbunden
ist und der Takteingang des DFF 402 mit dem CLK_FB verbunden
ist. Der Ausgang jedes DFF 401, 402 ist mit entsprechenden
UP/DOWN-Eingängen
einer Ladungspumpe verbunden, um die Verzögerung, basierend auf dem erkannten
Phasenunterschied zwischen den Takten, zu vergrößern oder zu verringern.
-
9 ist
eine schematische Darstellung eines alternativen Ausführungsbeispiels
der Phasendetektor-Initialisierungsschaltung.
In diesem Ausführungsbeispiel
unterscheiden sich die Signale, die mit dem Dateneingang und asynchronen
Rücksetzeingang
des DFF 604 verbunden sind, der die erste steigende Flanke des
CLK_REF nach dem Neustart erkennt, von dem in 4 gezeigten
Ausführungsbeispiel.
Der Dateneingang des DFF 604 ist mit dem RESETb-Signal
anstelle des Vdd verbunden und der asynchrone Rücksetzeingang ist mit Vdd anstelle
des RESETb verbunden. DFF 604 wird nach der ersten steigenden
Flanke des CLK_REF zurückgesetzt,
wenn RESETb auf einer logischen "0" ist. DFF 604 wird
mit einer logischen "1" am Knoten A nach
der ersten steigenden Flanke des CLK_REF gesetzt, nachdem RESETb
von einer logischen "0" auf eine logische "1" übergeht.
Nachdem DFF 604 die erste steigende Flanke des CLK_REF
erkennt, ist die Funktion der Schaltung dieselbe, wie sie in Verbindung
mit dem in 4 gezeigten Ausführungsbeispiel beschrieben
ist.
-
10 ist
ein anderes Ausführungsbeispiel
der Phasendetektor-Initialisierungsschaltung. Um den Takten zu ermöglichen,
sich nach dem Neustart oder einem Hochfahren zu stabilisieren, können zusätzliche DFF
der Phasendetektor-Initialisierungsschaltung,
die in Verbindung mit 4 beschrieben ist, hinzugefügt werden,
sodass mehr als eine steigende Flanke auf CLK_REF vor der Freigabe
der Phasenerkennungsschaltung erkannt wird, wobei ein zusätzlicher
DFF 706 mit DFF 704 verbunden ist. CLK_REF ist
auch mit dem Takteingang des DFF 706 verbunden. Folglich
erscheint der Übergang
des Knotens A von einer logischen "0" auf eine
logische "1" nachdem die zweite
steigende Flanke des CLK_REF durch DFF 704 erkannt ist.
Die zusätzliche
Verzögerung
(eine CLK_REF Periode) ermöglicht
den Takten (CLK_REF und CLK_FB) sich zu stabilisieren, nachdem die
Schaltung zurückgesetzt
wurde. Der Fachmann wird begrüßen, dass
jede benötigte
Anzahl von Stufen hinzugefügt
werden kann, um die Anzahl der CLK_REF steigenden Flanken zu vergrößern, die
vorher erkannt werden, um die Phasenerkennungsschaltung freizugeben.
-
Ein
zusätzlicher
DFF 705 ist auch zwischen DFF 704 und DFF 703 verbunden.
Der Takteingang des DFF 705 ist mit dem CLK_FB-Signal verbunden
und der asynchrone Rücksetzeingang
ist mit dem RESETb-Signal verbunden. Der Ausgang des DFF 705 ist
mit dem Eingang des DFF 703 verbunden. Der zusätzliche
DFF 705 verzögert
den Übergang
des DOWN-Signals von einer logischen "0" auf
eine logische "1" und verzögert folglich
die Zeit, die das UP-Signal anfänglich
auf eine logische "1" gesetzt ist, um
die Verzögerung
zu vergrößern. Der
Fachmann wird begrüßen, dass
jede benötigte
Anzahl von Stufen hinzugefügt
werden kann, um die Zeit zu vergrößern, die das UP-Signal auf
logisch "1" gehalten wird.
-
11 ist
ein Zeitdiagramm, das den Betrieb der Schaltung von 10 veranschaulicht.
Die Ausgänge
der DFF 703, 704 sind bei Knoten A und B mit entsprechenden
Eingängen
der DFF 401, 402 verbunden. Vor der Zeit 900,
während
eines Neustarts, wird das RESETb-Signal auf einer logischen "0" gehalten und die Verzögerung wird
auf eine minimale Verzögerung
gesetzt. Während
das RESETb-Signal und das RSTb-Signal auf
einer logischen "0" an den entsprechenden
D-Eingängen der
DFF 401, 402, 403, 704, 705, 706 sind,
hat eine steigende Flanke auf dem CLK_FB-Signals oder auf dem CLK_REF-Signals keine Wirkung
auf die Ausgangssignale (UP, DOWN).
-
Bei
Zeit 900 geht das RESETb-Signal auf eine logische "1" über,
was den DFF ermöglicht
den Zustand zu ändern.
-
Bei
Zeit 901 setzt die erste steigende Flanke auf dem CLK_REF
den DFF 706 und der Ausgang des DFF 706 geht von
einer logischen "0" auf eine logische "1" über.
-
Bei
Zeit 902 setzt die zweite steigende auf dem CLK_REF den
DFF 704 und Knoten A (der Ausgang des DFF 404)
geht von einer logischen "0" auf eine logische "1" über.
Eine logische "1" am Knoten A ermöglicht eine
Vergrößerung der
Verzögerung
durch DFF 402 in der Phasenerkennungsschaltung 412.
-
Bei
Zeit 903 setzt eine nachfolgende steigende Flanke des CLK_FB-Signals
den DFF 402 und das UP-Signal (der Ausgang des DFF 402)
geht von einer logischen "0" auf eine logische "1" über.
Die nachfolgende steigende Flanke des CLK_FB-Signals setzt auch
DFF 705.
-
Bei
Zeit 904 setzt die nächste
steigende Flanke des CLK_FB-Signals
den DFF 703 und das Signal bei Knoten B (der Ausgang des
DFF 403) geht von einer logischen "0" auf
eine logische "1" über. Während das UP-Signal auf einer
logischen "1" ist, wird die Verzögerung vergrößert.
-
Bei
Zeit 905, wenn eine logische "1" an
dem Eingang des DFF 401 ist, verriegelt die nächste steigende Flanke
des CLK_REF eine logische "1" an dem Ausgang des
DFF 401. Wenn beide Ausgänge (DOWN, UP) der DFF 401, 402 auf
einer logischen "1" sind, wird ein logisch "0"-Puls auf dem RSTb-Signal durch den
Rücksetzkreis 416 erzeugt,
um die DFF 401, 402 zurückzusetzen und beide Ausgänge (DOWN,
UP) werden auf eine logische "0" gesetzt.
-
In
alternativen Ausführungsbeispielen
kann die Verzögerungsleitung
beim Neustart auf die maximale Verzögerung (totale Verzögerung aller
Einheitszellen in der Spannungssteuerungs-Verzögerungsleitung) gesetzt werden
und der Phasendetektor kann eingerichtet sein, die Verzögerung automatisch
zu verringern. Zusätzlich
wurde die vorliegende Erfindung mit Verwendung von steigende-Flanke-gesteuerte
Flip-Flops beschrieben, aber es können ebenso fallende-Flanke-gesteuerte
DFF verwendet werden. Die Erfindung wurde ferner mit Verwendung
einer spannungsgesteuerten Verzögerungsleitung
beschrieben, aber es können
ebenso digitale oder Abzweigungs-Verzögerungsleitungen verwendet
werden.
-
Obwohl
diese Erfindung insbesondere unter Bezugnahme auf bevorzugte Ausführungsbeispiele
von ihr gezeigt und beschrieben wurde, wird von dem Fachmann verstanden
werden, dass verschiedene Änderungen
der Ausgestaltung und von Elementen darin vorgenommen werden können, ohne
den Schutzbereich der Erfindung zu verlassen, wie von den beigefügten Ansprüchen abgegrenzt
ist.