-
TECHNISCHES GEBIET
-
Die
vorliegende Erfindung betrifft allgemein Bilderzeugungsausrüstung und
ist insbesondere auf Spread-Spektrum-Taktgeneratoren des Typs gerichtet,
die elektromagnetische Störbeeinflussungsemissionen verringern.
Die Erfindung ist speziell als ein automatisch kompensierender Spread-Spektrum-Taktgenerator offenbart,
der die Impulsbreite der Phasenregelschleifen-AUFWÄRTS- und
-ABWÄRTS-Signale
misst und die tatsächlichen
Impulsbreitendauern mit typischen Werten vergleicht und einen Systemparameter
variiert, um jeglichen Abweichungsfehler zu korrigieren.
-
HINTERGRUND DER ERFINDUNG
-
Digitale
Hochgeschwindigkeits-Taktgeneratoren sind hinsichtlich elektromagnetischer
Störbeeinflussungs(EMI)-Emissionen
typischerweise sehr rauschbehaftet, es sei denn, man lässt im Konstruktionsstadium von
Ausrüstung,
die solche Takte enthält,
besondere Sorgfalt walten. Ein zuverlässiges und kostengünstiges Verfahren
zur Verringerung von EMI-Emissionen besteht darin, einen Spread-Spektrum-Takt
zu verwenden, wie er in den US-Patent-Nummern 5,488,627 und 5,631,920
offenbart ist. Diese Patente offenbaren Schaltungen, in denen die
Spread-Spektrum-Frequenzen durch die Verwendung von programmierbaren
Zählern
und durch in einer Speicherschaltung gespeicherte Daten variiert
werden.
-
In
einem US-Patent Nummer 6,167,103 (eingereicht am 8. Oktober 1998)
wird eine digitale Spread-Spektrum-Taktschaltung offenbart, in der
der Takt unter Verwendung eines Direktzugriffsspeichers und eines
Multiplexers variabel gemacht ist, um Initialisierungsdaten zu empfangen,
bevor die Taktschaltung zum normalen Arbeitsgang bereit ist. Dieses
Patent ist mit "Variable
Spread Spectrum Clock" betitelt
und ist an Lexmark International, Inc. gemeinsam übertragen
worden.
-
Die
JP 10233681 offenbart eine
PLL, wo die Rastzeit verringert ist. Dies wird erreicht, indem der
Ausgangsstrom einer Ladungspumpenschaltung erhöht wird, wenn die PLL nicht
mit dem Bezugseingangssignal gerastet ist, und es bestimmt wird,
dass die Differenz zwischen einem AUFWÄRTS-Impulssignal und einem ABWÄRTS-Impulssignal
groß ist.
-
Die
US 5,327,103 offenbart eine
Rastdetektionsschaltung, die eine Impulsbreitendetektionsschaltung umfasst,
um die Breite von AUFWÄRTS-
und ABWÄRTS-Impulsen
zu detektieren und um ein Zählerrücksetzsignal
zu liefern, wenn die Breiten von einem von diesen Impulsen größer als
ein vorbestimmter Wert sind. Folglich wird eine Verrastung erst
bestimmt, nachdem die Impulsbreite des AUFWÄRTS- oder ABWÄRTS-Signals
größer als
der vorbestimmte Wert ist.
-
Die
DE 195 47 609 offenbart
eine PLL, die einen kostengünstigen
Oszillator verwenden kann, indem ein Lock-In-Bereich während einer anfänglichen
Synchronisationsphase erlangt wird, indem eine zunehmende Bezugsspannung
angelegt wird. Der Bezugswert wird dann auf einen konstanten Wert
gesetzt, und die Phasensteuerungsschleife übernimmt eine Feinsteuerung.
Wenn eine Verstimmung während
des Betriebs auftritt, wird die Bezugsspannung geändert, wenn
die Impulsbreite eines Phasenvergleichers einen Schwellenwert erreicht.
-
Die
Spread-Spektrum-Taktgenerator(SSCG)konstruktionen, die früher verfügbar waren,
weisen eine Konstruktionsempfindlichkeit gegenüber der spannungsgesteuerten
Oszillatorverstärkung,
dem Ladungspumpenstrom und den Werten passiver Komponenten auf.
Es würde
eine Verbesserung sein, um automatisch oder unter Steuerung eines
Rechnerprogramms die empfindlichen Parameter durch Modifizieren
der SSCG-Schaltung zu korrigieren.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Demgemäß ist es
ein primärer
Vorteil der vorliegenden Erfindung, einen Spread-Spektrum-Taktgenerator
bereitzustellen, der Variationen in Werten passiver Komponenten,
Spannungssteuerungsoszillatorverstärkung und Ladungspumpenstrom
automatisch kompensiert, um eine genauere Taktschaltung und Taktschaltung
von geringerer elektromagnetischer Störbeeinflussung bereitzustellen.
Es ist ein weiterer Vorteil der vorliegenden Erfindung, um einen
Spread-Spektrum-Taktgenerator
bereitzustellen, der Variationen in VCO-Verstärkung, Ladungspumpenstrom und
Werten passiver Komponenten automatisch kompensiert, wobei entweder
ein Steuersystem auf Mikroprozessor-Grundlage oder ein reines Hardwarelogiksteuersystem verwendet
wird. Es ist ein weiterer Vorteil der vorliegenden Erfindung, einen
Spread-Spektrum-Taktgenerator bereitzustellen, der Variationen in
VCO-Verstärkung,
Ladungspumpenstrom und Werten passiver Komponenten automatisch kompensiert,
während
ein genauer externer Takt verwendet wird, um eine Fehlerdetektionsschaltung
zu kalibrieren, die "Peak"- (oder maximale)
AUFWÄRTS-
und ABWÄRTS-Signale
einer Phasenregelschleifenschaltung misst.
-
Zusätzliche
Vorteile und andere neue Merkmale der Erfindung werden zum Teil
in der Beschreibung, die folgt, dargelegt und zum Teil werden sie
Fachleuten bei Prüfung
des folgenden ersichtlich oder können
mit der Praxis der Erfindung gelernt werden.
-
Um
das vorhergehende und andere Vorteile zu erzielen und gemäß einem
Aspekt der vorliegenden Erfindung, wird ein Verfahren zum Steuern
eines Spread-Spektrum-Taktgenerators bereitgestellt, wobei das Verfahren
umfasst:
- (a) Abgeben eines im Wesentlichen
genauen Taktsignals an eine Phasenregelschleifenschaltung, und Bereitstellen
einer Steuereinrichtung; wobei die Phasenregelschleife eine Mehrzahl
von Ausgangsfrequenzen über
die Zeit erzeugt;
- (b) Messen einer tatsächlichen
Impulsbreitendauer von mindestens einem von einem AUFWÄRTS-Signal und
einem ABWÄRTS-Signal, die durch
einen Phasenfrequenzdetektor der Phasenregelschleife erzeugt werden,
und Vergleichen der tatsächlichen
Impulsbreitendauer mit einer Impulsbreitendauer eines vorbestimmten
Soll-AUFWÄRTS/ABWÄRTS-Signals,
um eine Differenz dazwischen zu gewinnen, wodurch ein Abweichungsfehlersignal
hergeleitet wird;
- (c) Steuern eines physikalischen Parameters der Phasenregelschleife
auf Grundlage des Abweichungsfehlersignals, um die Differenz zwischen
der tatsächlichen
Impulsbreitendauer und der vorbestimmten typischen Zeitdauer automatisch
zu kompensieren, wodurch die Mehrzahl von Ausgangsfrequenzen über die Zeit
der Phasenregelschleife genauer gesteuert wird, um ein vorbestimmtes
Soll-Spread-Spektrum-Profil nachzuahmen.
-
Gemäß einem
anderen Aspekt wird eine Spread-Spektrum-Takterzeugungsschaltung
bereitgestellt, umfassend:
- (a) eine Taktschaltung,
die ein bekanntes im Wesentlichen konstantes Frequenzausgangstaktsignal
erzeugt;
- (b) eine Phasenregelschleife, die eine Mehrzahl von Ausgangsfrequenzen über die
Zeit erzeugt;
- (c) eine Steuereinrichtung, die konfiguriert ist, um (i) eine
tatsächliche
Impulsbreitendauer von mindestens einem von einem AUFWÄRTS-Signal
und einem ABWÄRTS-Signal
zu messen, die durch einen Phasenfrequenzdetektor der Phasenregelschleife
erzeugt werden, (ii) die tatsächliche
Impulsbreitendauer mit einer Impulsbreitendauer eines vorbestimmten
Soll-AUFWÄRTS/ABWÄRTS-Signals
zu vergleichen, um eine Differenz dazwischen zu gewinnen, und folglich
ein Abweichungsfehlersignal herzuleiten, und (iii) die Differenz
zwischen der tatsächlichen
Impulsbreitendauer und der vorbestimmten typischen Zeitdauer automatisch
zu kompensieren, indem ein physikalischer Parameter der Phasenregelschleife
auf Grundlage des Abweichungsfehlersignals gesteuert wird; wodurch
die Mehrzahl von Ausgangsfrequenzen über die Zeit der Phasenregelschleife
genauer gesteuert wird, um ein vorbestimmtes Soll-Spread-Spektrum-Profil
nachzuahmen.
-
Eine
verbesserte Spread-Spektrum-Taktgeneratorschaltung wird bereitgestellt,
die Variationen in der Verstärkung
des spannungsgesteuerten Oszillators und dem Ladungspumpenstrom
in einer internen Schaltung der Phasenregelschleife sowie Variationen
in Werten passiver Komponenten automatisch kompensiert. Die AUFWÄRTS- und
ABWÄRTS-Ausgänge des
Phasenfrequenzdetektors (PFD) werden zu gewissen Zeiten überwacht,
um die "Peak"- (oder maximale)
Impulsbreite von diesen AUFWÄRTS-
und ABWÄRTS-Signalen zu
bestimmen, und nachdem ein Fehler (wenn überhaupt) verglichen mit nominalen
(oder typischen) Werten für
diese Impulsbreitenzeitdauern in den AUFWÄRTS- und ABWÄRTS-Signalen
bestimmt ist, wird das Phasenregelschleifen (PLL)-System abhängig von
der Größe und Richtung
des Fehlersignals eingestellt.
-
Änderungen
in den PLL-Verstärkungsparametern,
insbesondere der VCO-Verstärkung
und dem Ladungspumpenstrom weisen eine signifikante Wirkung auf
die PFD-Ausgänge
auf, wie z.B. dass die Impulsbreite der AUFWÄRTS- und ABWÄRTS-Signale
variieren, wenn sich die Frequenz entlang dem Spread-Spektrum-Profil ändert. Bei
einem Teil des Profils ist die "Peak"- (d.h. maximale)
Impulsbreite dieser AUFWÄRTS- und
ABWÄRTS-Signale
eine Funktion des Modulationsprofils und der PLL-Parameter. Indem
man diese Peakimpulsbreite der AUFWÄRTS- und ABWÄRTS-Signale misst und
sie mit einer theoretischen Impulsbreite vergleicht, kann ein Kompensationsfaktor
bestimmt werden, um diesen Fehler auszugleichen. Ein automatisches Kompensationsschema
kann ausgeführt
werden, indem ein beliebiger oder eine Kombination von gewissen Betriebsparametern
der Schaltung eingestellt werden, einschließlich VCO-Verstärkung, Ladungspumpenstrom,
Schleifenfilterwerte, Tabellenwerte und Grundzahl.
-
Eine
Phasenregelschleifen(PLL)schaltung ist die Grundlage der vorliegenden
Erfindung, in der der Ausgang des spannungsgesteuerten Oszillators
(VCO) in eine Teile-durch-N-Schaltung (manchmal auch als Teile-durch-N-Zähler bezeichnet)
gelenkt wird, und der Ausgang dieser Teile-durch-N-Schaltung wird
zurück zum
Phasenfrequenzdetektor (PFD) als das Rückkopplungssignal gelenkt.
Ein Bezugssignal, vorzugsweise ein sehr genauer Takt mit einer bekannten
Frequenz, wird als der andere Eingang zur PFD-Schaltung abgegeben.
Dieses Bezugssignal kann selbst ein geteiltes Signal mit einem Bruchteil
einer Ausgangsfrequenz eines Systemtakts sein.
-
Wie
im Stand der Technik wohlbekannt ist, sind die Ausgänge der
PFD-Schaltung die AUFWÄRTS- und
ABWÄRTS-Fehlersignale,
die Impulse sind, die in einem Spread-Spektrum-Taktgenerator ziemlich
häufig ausgegeben
werden, weil die Teile-durch-N-Schaltung
auf einer periodischen Grundlage absichtlich einen Fehler am Rückkopplungseingang
des PFD einspeist. Es ist das genaue Messen der Impulsbreite der
AUFWÄRTS-
und ABWÄRTS-Signale, was die
vorliegende Erfindung durchführbar
macht, weil die theoretische Impulsbreite mit der tatsächlichen
Impulsbreite verglichen wird, und die Kompensation von jeglichem
Fehler beruht auf dieser genauen Messung.
-
Ein
bevorzugtes Spread-Spektrum-Profil weist ziemlich verschiedene Peaks
und Täler
auf und erzeugt ein entsprechendes Fehlerprofil (d.h. die Kurve,
die die Impulsbreiten der AUFWÄRTS-
und ABWÄRTS-"Fehler"-Signale graphisch
darstellt), die auch etwas "mit
Peaks versehen" ist.
Diese Profile werden durch Einspeisen eines unterschiedlichen Werts
für N beim
Teile-durch-N-Zähler,
der eine Emission einer neuen Frequenz durch den VCO erzwingt, erzeugt
und gesteuert, was bewirkt wird, indem die PFD-Schaltung gezwungen
wird, entweder AUFWÄRTS-
oder ABWÄRTS-Impulse
zur Ladungspumpe auszugeben. In dem bevorzugten Profil gibt es 128
unterschiedliche Zeitintervalle, die nacheinander bewirken, dass
eine neue Frequenz durch den VCO emittiert wird, und es wird bevorzugt,
dass das Profil kontinuierlich dieselben 128 Intervalle wiederholt. Das
Frequenzprofil, das erzeugt wird, das das bevorzugte oder "Soll"-Profil verwendet,
wird durch die geeigneten AUFWÄRTS-
und ABWÄRTS-Signale
bewerkstelligt, die wiederum ihr eigenes Fehlerprofil aufweisen, das
wieder ein Wiederholungsmuster von 128 Intervallen aufweist.
-
Die
Fehlerprofilpeaks (d.h. entweder ein positiver "Peak" oder
ein negativer "Peak", was manchmal auch
ein "Tal" genannt wird) sind
ziemlich verschieden, wenn man das bevorzugte Fehlerprofil untersucht.
Zusätzlich,
wenn Variationen in den Schaltungsparametern die PLL-Schaltung beeinträchtigen,
so dass das Soll-Profil nicht genau reproduziert wird, dann tritt
ein ziemlich großer
Fehler in der Impulsbreite der AUFWÄRTS- und ABWÄRTS-Signale
am positiven Peak und am negativen Peak auf. Dies ist ein logischer
Ort, um zu versuchen, die Größe dieses
Fehlers in diesen AUFWÄRTS-
und ABWÄRTS-Signalimpulsbreiten
zu erfassen.
-
Zusätzlich zum
Abtasten bezüglich
maximaler Impulsbreiten an den Profilstellen, die Peaks und Täler zeigen,
kann das tatsächliche
Fehlerprofil auch eine ähnlich
große
Abweichung von dem Soll-Profil zu Zeiten direkt vor dem Auftreten
des maximalen Peaks und des minimalen Peaks (oder "Tals") zeigen. Obwohl
ein genaues Bestimmen, wo in dem Profil diese anderen wesentlichen
Abweichungen auftreten, schwieriger ist als ein Überwachen derselben Signale
an ihren maximalen Peaks, gibt es gewisse Vorteile, die alternativen
Stellen entlang dem Fehlerprofil zu verwenden, die unten beschrieben
werden.
-
Zwei
unterschiedliche Ausführungsformen
sind äußerst nützlich beim
Ausführen
der vorliegenden Erfindung, und im ersten Fall wird eine Schaltung
vom Mikroprozessor-Typ zusammen mit einem Rechnerprogramm verwendet,
um die Werte für
N zu steuern, die in den Teile-durch-N-Zähler der Phasenregelschleife
geladen werden. Die andere bevorzugte Ausführungsform verwendet Hardwarelogik
ohne einen Mikroprozessor oder ein anderes sequenziell programmierbares
Gerät,
weist jedoch noch das Vermögen
auf, die richtigen Werte für
N in den Teile-durch-N-Zähler sequenziell
zu platzieren. In beiden Fällen
wird es bevorzugt, dass eine große Anzahl von Logikgattern
und anderen Typen von digitalen Schaltungen verwendet wird, vorzugsweise
in einer einzigen integrierten Schaltung, wie z.B. einem ASIC (anwendungsspezifische
integrierte Schaltung). Ein ASIC ist ein sehr wirtschaftlicher Weg,
eine große
Anzahl von Logikgattern bereitzustellen, und kann selbst einen Mikroprozessor
mit Direktzugriffsspeicher umfassen.
-
In
der Ausführungsform,
die eine Verarbeitungsschaltung verwendet (wie z.B. einen Mikroprozessor, der
in einem ASIC eingebaut ist), wird die sequenzielle Logik der Verarbeitungsschaltung
verwendet, um durch eine Tabelle von Daten anhand von Indizes zu
laufen, die entweder in einem Direktzugriffsspeicher (RAM) oder einem
Festwertspeicher (ROM) gespeichert ist, und die Inhalte der Tabelle
werden sequenziell in eine Addierschaltung gelenkt (um einen "Grundzahl"-Offset zu liefern),
deren Inhalte dann in den Teile-durch-N-Zähler geladen werden. Auf diese
Weise steuert die Verarbeitungsschaltung in Echtzeit vollständig den
Wert für
N, der wiederum das Rückkopplungssignal
vollständig
steuert, das in den PFD-Eingang eingespeist wird. Dies wiederum
steuert die AUFWÄRTS-
und ABWÄRTS-Signale,
die in die Ladungspumpe eingespeist werden, die dadurch die Größe des Ausgangsstroms
steuert, der in den VCO eingespeist wird.
-
In
der Verarbeitungsschaltungsausführungsform
wird es bevorzugt, dass ein sehr stabiles Taktsignal in den Eingang
des Multiplexers zugeführt
wird. Zusätzlich
werden die AUFWÄRTS-
und ABWÄRTS-Signale auch
Eingängen
desselben Multiplexers zugeführt.
Diese Takt-, AUFWÄRTS-
und ABWÄRTS-Signale werden selektiv
von dem Multiplexer in eine Kette von hintereinandergeschalteten
Verzögerungselementen
ausgegeben, die verwendet werden können, um entweder augenblicklich
die Impulsbreite von entweder dem Taktsignal oder einem der AUFWÄRTS- oder
ABWÄRTS-Signale
abzutasten, oder die Verzögerungskette
kann verwendet werden, um die "Peak"- oder maximale Impulsbreite
der AUFWÄRTS-
oder ABWÄRTS-Signale über mehrere
Profilperioden zu messen. Unter Steuerung der Verarbeitungsschaltung
wird der Ausgang der Verzögerungskette
analysiert und mit einer von der theoretischen augenblicklichen
Impulsbreite oder der akkumulierten Peakimpulsbreite an dieser Stelle
im Fehlerprofil der AUFWÄRTS-
und ABWÄRTS-Signale verglichen.
-
In
Situationen, wo die Impulsbreite, die für die AUFWÄRTS- und ABWÄRTS-Signale tatsächlich gemessen
wird, von der nominalen oder Soll-Impulsbreite bei demselben Intervall
im Profil abweicht, kennt dann die Verarbeitungsschaltung den Betrag
an Kompensation, der erforderlich ist, um diese Abweichung zu korrigieren,
und kennt auch die richtige Richtung, um diese Kompensation zu liefern.
Der Ladungspumpenstrom kann dann entsprechend modifiziert werden,
oder alternativ könnte
die Verstärkung
des VCO modifiziert werden. Eines von diesen könnte direkt durch die Verarbeitungsschaltung
modifiziert und gesteuert werden, obwohl es bevorzugt wird, den
Ladungspumpenstrom der Phasenregelschleife zu steuern. Als weitere
Alternativen könnten
die Schleifenfilterwerte durch die Verarbeitungsschaltung modifiziert
werden, oder Tabellenwerte im RAM könnten direkt durch die Verarbeitungsschaltung
modifiziert werden, oder Tabellenwerte im ROM könnten durch die Verarbeitungsschaltung
unterschiedlich ausgewählt
werden, oder (schließlich)
könnten
die Werte der Grundzahlen selektiv modifiziert werden (falls in
der RAM).
-
Die
Verwendung einer hintereinandergeschalteten Verzögerungskette ist ein wichtiges
Merkmal der vorliegenden Erfindung, und durch Verwendung dieser
Verzögerungskette
kann ein sehr genaues Messgerät kostengünstig ausgeführt werden,
um die tatsächlichen
Impulsbreiten der AUFWÄRTS-
und ABWÄRTS-Signale
zu bestimmen. Da es bevorzugt wird, dass sämtliche Logik (oder mindestens
ein Großteil
der Logik) der Schaltung der vorliegenden Erfindung auf einem ASIC
enthalten ist, ist es ziemlich wahrscheinlich, dass die tatsächlichen
Verzögerungs elemente
nicht sehr genau sein werden, was ihre tatsächlichen Ausbreitungsverzögerungszeiten
anbetrifft, obwohl diese Verzögerungselemente
wahrscheinlich sehr reproduzierbar sind, wenn man ein solches Verzögerungselement
mit einem anderen auf demselben ASIC vergleicht.
-
Obwohl
es bevorzugt wird, dass die Verzögerungselemente
sehr genau sind, nimmt die vorliegende Erfindung zur Kenntnis, dass
dies wahrscheinlich nicht auftritt, wenn man einen ASIC verwendet,
jedoch wiegt die Verwendung eines verhältnismäßig kostengünstigen ASIC oder einer anderen ähnlichen
Schaltungsanordnung schwerer als die Extrakosten bei Verwendung
von genauerer Verzögerungsleitungsschaltungsanordnung.
Folglich kalibriert die vorliegende Erfindung periodisch die Verzögerungsleitungselemente,
indem die Anzahl von Verzögerungsleitungselementen
gemessen wird, die den Zustand während
einer Periode einer sehr genauen Quarzuhr ändern. Durch Verwendung des
Multiplexers wird das Taktsignal durch dieselben Verzögerungsleitungselemente
wie die AUFWÄRTS-
und ABWÄRTS-Signale
gesendet, und dies liefert schließlich eine sehr genaue Messung
der Impulsbreiten dieser AUFWÄRTS-
und ABWÄRTS-Signale.
-
Der
Multiplexer gibt vorzugsweise das Taktsignal für mindestens eine Periode dieses
Takts aus, und dieses Ausgangssignal wird in die hintereinandergeschalteten
Verzögerungsleitungselemente
gelenkt. Sobald die tatsächliche
Anzahl von Verzögerungselementen,
die einen logischen Übergang
für eine
einzige Periode dieses Takts machen, bekannt wird, wird diese Information
dann verwendet, um die tatsächliche
Zeit zu bestimmen, die für
eine einzige Ausbreitungsverzögerung
eines einzigen Verzögerungselements
dieser Verzögerungsleitungsschaltung
(auch als die "Verzögerungskette" bezeichnet) erforderlich
ist. Sobald diese Ausbreitungsverzögerungszeit bestimmt worden
ist, beginnt der Multiplexer dann damit, das AUFWÄRTS-Signal während mehrerer
Profile auszugeben, so dass die Impulsbreite dieses AUFWÄRTS-Signals
in Einheiten einer Anzahl von Verzögerungselementen gemessen wird.
Da die tatsächliche
Laufzeitverzögerung
für jedes
dieser Verzögerungselemente
bekannt ist, wird die tatsächliche
Impulsbreite in Nanosekunden unmittelbar bekannt. Nachdem dies bestimmt
worden ist, gibt der Multiplexer dann das ABWÄRTS-Signal zur Verzögerungskette für mehrere
Profile aus. Die Anzahl von Verzögerungsleitungselementen,
die einen logischen Übergang
während
einer ABWÄRTS-Impulsbreite
machen, wird dann bekannt, und dies wird unmittelbar in Zeiteinheiten übersetzt,
wodurch die tatsächliche
Impulsbreite des ABWÄRTS-Signals
in Nanosekunden geliefert wird.
-
Wie
oben angegeben, werden, sobald sie mit der Kenntnis der tatsächlichen
Impulsbreitenzeit für
die AUFWÄRTS-
und ABWÄRTS-Signale
ausgerüstet
sind, diese physikalischen Größen mit
den theoretischen Impulsbreiten für ein nominales (oder Soll)-Profil
verglichen. Die Abweichung der tatsächlichen AUFWÄRTS- und
ABWÄRTS-Impulsbreiten,
wie mit den nominalen oder typischen ähnlichen Impulsbreiten verglichen,
wird dann als Fehlerinformation durch die Verarbeitungsschaltung
verwendet, um die richtige Kompensation an den Ladungspumpenstrom
abzugeben. Abhängig
vom Konstruktionslösungsweg
für eine
spezielle Ausführung
der vorliegenden Erfindung können
die hintereinandergeschalteten Verzögerungselemente verwendet werden,
um über
ein spezielles Profil entweder die augenblicklichen AUFWÄRTS- und
ABWÄRTS-Impulsbreiten
zu detektieren oder die "Peak"-AUFWÄRTS- und
-ABWÄRTS-Impulsbreiten
zu detektieren. Außerdem
könnten
mehrere Verzögerungsketten
verwendet werden, wenn Geschwindigkeit sehr wichtig ist, so dass
jedes Signal (d.h. Takt, AUFWÄRTS
und ABWÄRTS)
zu einer separaten Verzögerungskette
gesendet werden könnte,
was die Notwendigkeit für
einen Multiplexer überflüssig machen
würde.
Eine gewisse Genauigkeit würde
wahrscheinlich geopfert werden, da die AUFWÄRTS- und ABWÄRTS-Verzögerungsketten
durch den Takt nicht direkt kalibriert werden würden.
-
Wenn
die vorliegende Erfindung unter Verwendung einer Lösung, die
keine Verarbeitungsschaltung darstellt, ausgeführt wird, wird eine Logikzustandsmaschine
verwendet, um die Teile-durch-N-Zähler-Werte
zu steuern, und auch, um die Daten von der Verzögerungskette anzunehmen, die
verwendet werden, um die richtige Kompensation für die PLL-Verstärkungssteuerung
zu bestimmen, z.B., indem entweder der Ladungspumpenstrom oder die
Verstärkung
des VCO gesteuert wird. In dieser sogenannten "vollelektronischen Lösung" werden die Verzögerungskettendaten vorzugsweise
in drei separaten Registern gespeichert, die serielle binäre Zahlen
enthalten können.
Das erste Register enthält
die AUFWÄRTS-Signaldaten,
das zweite Register enthält
die ABWÄRTS-Signaldaten,
und das dritte Register enthält
die externen Taktdaten. Ein viertes Register wird vorzugsweise zur
Aufnahme der "Soll-" oder" typischen" Peakzeit für einen
der AUFWÄRTS-
oder ABWÄRTS-Impulse
verwendet, wie entsprechend dem durch die Logikzustandsmaschine
durchgeführten
aktuellen Schritt. Die Einzelheiten der Methodik der Logikzustandsmaschine
werden in der ausführlichen
Beschreibung der bevorzugten Ausführungsform nachstehend erörtert.
-
Wenn
die vorliegende Erfindung mit einer Verarbeitungsschaltung (wie
z.B. einem Mikroprozessor) ausgeführt wird, wird es bevorzugt,
dass ein Rechnerprogramm verwendet wird, um die Taktdaten, die AUFWÄRTS-Impulsbreitendaten
und die ABWÄRTS-Impulsbreitendaten
zu analysieren. In herkömmlichen
Mikroprozessoren, die heutzutage verfügbar sind, erfordert dies ein
sequenzielles Rechnerprogramm, da typische Mikroprozessoren auf
eine sequenzielle Weise arbeiten, obwohl eine Parallelverarbeitungsschaltung
verwendet werden könnte,
wenn gewünscht.
Ein beispielhaftes Rechnerprogramm ist in größerer Einzelheit in der ausführlichen
Beschreibung der bevorzugten Ausführungsform nachstehend offenbart.
-
Noch
andere Vorteile der vorliegenden Erfindung werden Fachleuten aus
der folgenden Beschreibung und Zeichnungen ersichtlich, in denen
eine bevorzugte Ausführungsform
dieser Erfindung in einem der besten Modi beschrieben und dargestellt
ist, die zur Durchführung
der Erfindung erwogen werden. Wie ersichtlich ist, ist die Erfindung
anderer unterschiedlichen Ausführungsformen
fähig,
und ihre mehreren Einzelheiten können in
verschiedenen augenscheinlichen Aspekten modifiziert werden, sämtlich,
ohne dass man von der Erfindung, wie durch die Ansprüche definiert,
abweicht. Demgemäß werden
die Zeichnungen und Beschreibungen als veranschaulichend in ihrer
Beschaffenheit und nicht als beschränkend betrachtet.
-
KURZE BESCHREIBUNG DER
ZEICHNUNGEN
-
Die
begleitenden Zeichnungen, die in der Beschreibung enthalten sind
und einen Teil von ihr bilden, veranschaulichen mehrere Aspekte
der vorliegenden Erfindung und dienen zusammen mit der Beschreibung und
den Ansprüchen
dazu, die Prinzipien der Erfindung zu erklären.
-
1 ist
ein Blockdiagramm einer Phasenregelschleifenschaltung nach dem Stand
der Technik mit einem Teile-durch-N-Zähler, der
seinen Wert für
N über
die Zeit variiert.
-
2 ist
ein Impulsdiagramm, das die Beziehung von einigen der Signale der
Schaltung, die in 1 offenbart ist, darstellt.
-
3 ist
ein Blockdiagramm einer Spread-Spektrum-Taktgeneratorschaltung, wie gemäß den Prinzipien
der vorliegenden Erfindung konstruiert.
-
4 ist
ein Blockdiagramm der Spread-Spektrum-Taktgeneratorschaltung von 1 und
zusätzlich eines
Multiplexers und einer Verzögerungskettenschaltung
sowie einer Verarbeitungsschaltung, wie gemäß den Prinzipien der vorliegenden
Erfindung konstruiert.
-
5 ist
eine schematische Darstellung einer ersten Ausführungsform einer hintereinandergeschalteten
Verzögerungskette,
die in der Schaltung von 4 verwendet wird.
-
6 ist
eine schematische Darstellung einer zweiten Ausführungsform einer hintereinandergeschalteten
Verzögerungskette,
die in der Schaltung von 4 verwendet wird.
-
7 ist
eine schematische Darstellung einer dritten Ausführungsform einer hintereinandergeschalteten
Verzögerungskette,
die in der Schaltung von 4 verwendet wird.
-
8 ist
eine graphische Darstellung eines bevorzugten simulierten Profils
eines Spread-Spektrum-Taktgenerators.
-
9 ist
eine graphische Darstellung eines Fehlerprofils für AUFWÄRTS- und
ABWÄRTS-Signalen, das
in einer Spread-Spektrum-Taktgeneratorschaltung der vorliegenden
Erfindung verwendet wird, und entsprechend dem bevorzugten Profil
von 8.
-
10 ist
ein Blockdiagramm einer vollelektronischen Lösung unter Verwendung einer
Logikzustandsmaschine statt eines Mikroprozessors, wie gemäß den Prinzipien
der vorliegenden Erfindung konstruiert.
-
Die 11–14 sind
ein Flussdiagramm der funktionalen Schritte, die durch die Logikzustandsmaschine
von 10 ausgeführt
werden.
-
15 ist
eine graphische Darstellung, die das Fehlerprofil für AUFWÄRTS- und
ABWÄRTS-Signale für einen
Spread-Spektrum-Taktgenerator darstellt, der eine sinusförmige Modulation
verwendet.
-
16 ist
eine graphische Darstellung eines Teils von 15, das
zur Klärung
expandiert worden ist.
-
AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN
AUSFÜHRUNGSFORM
-
Es
wird nun in Einzelheit auf die vorliegende bevorzugte Ausführungsform
der Erfindung Bezug genommen, von der ein Beispiel in den begleitenden
Zeichnungen veranschaulicht ist, wobei gleiche Bezugszeichen dieselben
Elemente überall
in den Ansichten anzeigen.
-
Mit
Bezug nun auf die Zeichnungen gibt 1 eine herkömmliche
Phasenregelschleife (PLL) wieder, die im Stand der Technik bekannt
ist und allgemein durch das Bezugszeichen 10 bezeichnet
ist. Ein Bezugssignal bei 20 wird zu einem Eingang eines
Phasenfrequenzdetektors (PFD) 22 gelenkt, der auch einen
zweiten "Rückkopplungs"-Eingang bei 40 aufweist.
Der PFD 22 gibt zwei mit AUFWÄRTS bzw. ABWÄRTS bezeichnete
Signale bei den Bezugszeichen 24 und 26 aus, die
mit dem Eingang einer Ladungspumpe 28 verbunden sind.
-
Der
Ladungspumpenstrom ist ein Ausgang bei 30, der zu einem
spannungsgesteuerten Oszillator (VCO) 34 gelenkt wird,
wobei das Signal 30 durch ein Schleifenfilter 32 aufbereitet
wird. Der Ausgang des VCO 34 ist eine Frequenz, die proportional
zur Eingangsspannung bei 30 ist. Der Ausgang 36 des
VCO 34 wird zu einer Teile-durch-N-Schaltung 38 gelenkt,
die auch ein "N-Zähler" genannt wird und
die einen Impuls nach Empfang einer kumulativen Endsumme von N Eingangsimpulsen
ausgibt. Der Ausgang des N-Zählers 38 wird zum
Eingang des PFD 22 als das Rückkopplungssignal 40 gelenkt.
-
Wenn
der Wert von N für
den N-Zähler 38 konstant
bleibt, dann verhält
sich die PLL-Schaltung 10 als eine Standard-Phasenregelschleife.
Jedoch wird zur Verwendung in der vorliegenden Erfindung der Wert
für N im
N-Zähler 38 über die
Zeit variiert, und als Folge trägt
in 1 der wiedergegebene Block bei 38 die
Bezeichnung N(t), wobei angedeutet wird, dass der Wert von N über die
Zeit variiert. Wie im Stand der Technik bekannt ist, kann diese
Varianz von N durch einen gewissen Typ von Verarbeitungsschaltung
gesteuert werden (wie z.B. unter Steuerung eines Mikroprozessors),
oder sie kann durch eine Hardwarelogikschaltung gesteuert werden,
die keine zentrale Verarbeitungseinheit enthält.
-
2 veranschaulicht
die Wellenform von einigen der Signale, die in der Phasenregelschleife 10 von 1 verwendet
werden. In 2 sind das Bezugssignal (REF) 20,
das Rückkopplungssignal
(FB) 40, das AUFWÄRTS-Signal 24 und
das ABWÄRTS-Signal 26 als
Spannungssignale entlang der vertikalen oder Y-Achse in Abhängigkeit
von der Zeit (entlang der horizontalen oder X-Achse) wiedergegeben.
Die Graphen von 2 sind hauptsächlich dargestellt,
um die Erzeugung der AUFWÄRTS-
und ABWÄRTS-Signale 24 bzw. 26 in
der PLL-Schaltung 10 nach dem Stand der Technik zu veranschaulichen.
-
Indem
man bei einer Zeitmarkierung 50 entlang der X-Achse startet,
macht das Bezugssignal 20 einen positiven Übergang
bei 60, und das Rückkopplungssignal 40 macht
einen ähnlichen
positiven Übergang
bei 70. Da beide von diesen Übergängen bei 60 und 70 zur
im Wesentlichen selben Zeit (d.h. bei der Zeitmarkierung 50)
stattfinden, gibt es keinen logischen Übergang in entweder dem AUFWÄRTS- oder
ABWÄRTS-Signal 24 und 26.
Bei der Zeitmarkierung 51 entlang der X-Achse machen das
Bezugs- und Rückkopplungssignal 20 und 40 einen
negativen logischen Übergang
zurück
zu logisch 0.
-
Bei
der nächsten
Zeitmarkierung 52 macht das Rückkopplungssignal 40 einen
positiven Übergang
bei 72 von logisch 0 zu logisch 1, was in der Zeit auftritt,
bevor das Bezugssignal 20 seinen nächsten Übergang zu logisch 1 bei 63
(bei der Zeitmarkierung 53) macht. In der Phasenregelschleifensprache
muss der Phasenfrequenzdetektor 22 nun schließen, dass
der VCO zu schnell läuft,
weil sein effektiver Ausgangsimpuls (der das Rückkopplungssignal 40 wird)
zu früh
in der Zeit ankam, da es vor dem positiven Übergang des Bezugssignals bei 63 ankam.
Als Folge erzeugt der PFD 22 einen ABWÄRTS-Impuls (d.h. um den VCO "zu verlangsamen"), wie bei den logischen Übergängen bei 92 und 93 auf
dem ABWÄRTS-Signalgraphen
in 2 entnommen werden kann.
-
Die
Bezugs- und Rückkopplungssignale
machen einen negativen Übergang
faktisch gleichzeitig bei der Zeitmarkierung 54, und bei
dem Beispiel von 2 machen beide Signale einen
positiven logischen Übergang
faktisch gleichzeitig bei der Zeitmarkierung 55. Als Folge
gibt es keinen AUFWÄRTS-
oder ABWÄRTS-Signalübergang
bei der Zeitmarkierung 55. Dies trifft auch bei der Zeitmarkierung 56 zu,
wenn sowohl das Bezugs- als
auch Rückkopplungssignal
faktisch gleichzeitig einen negativen logischen Übergang machen.
-
In
dem Beispiel von 2 macht das Bezugssignal 20 bei 67 einen
positiven logischen Übergang,
jedoch macht das Rückkopplungssignal 40 seinen
nächsten
positiven logischen Übergang
erst zu einem späteren
Zeitpunkt, bei 78. Da der logische Übergang vom Bezugssignal 67 bei
einer Zeitmarkierung 57 auftritt, was früher in der
Zeit ist als die nächste
Zeitmarkierung bei 58 (was dann ist, wenn das Rückkopplungssignal
seinen logischen Übergang
bei 78 macht), wird durch den PFD 22 bei der Zeitmarkierung 57 ein
AUFWÄRTS-Impuls
erzeugt. Dies ist in 2 dargestellt, wo das AUFWÄRTS-Signal 24 bei 87 einen Übergang
zu logisch 1 macht und bei dem hohen logischen Niveau bleibt, bis
es bei 88 einen negativen Übergang zu logisch 0 macht. Sowohl
das Bezugs- als auch Rückkopplungssignal
machen faktisch gleichzeitig bei einer Zeitmarkierung 59 einen
negativen logischen Übergang.
-
Mit
Bezug nun auf 3 besteht eine Phasenregelschleifenschaltung 100,
die ähnlich
zu derjenigen ist, die in 1 wiedergegeben
ist, aus einem PFD 122, einer Ladungspumpe 128,
einem Schleifenfilter 132, einem VCO 134 und einem
N-Zähler 138.
Der PFD weist einen AUFWÄRTS-Ausgang
bei 124 und einen ABWÄRTS-Ausgang
bei 126 auf. Der Ladungspumpenausgang befindet sich bei 130,
und der VCO-Ausgang (der Hauptschaltung-Frequenzausgang) wird bei 136 wiedergegeben.
Der Ausgang des N-Zählers 138 wird
bei 140 wiedergegeben, was auch das Rückkopplungseingangssignal zum
PFD 122 darstellt. Der Bezugseingang zum PFD 122 ist
bei 120 wiedergegeben.
-
Eine
sehr genaue externe Quarz- oder Oszillatorschaltung wird bei 110 bereitgestellt,
die einen Ausgang bei 112 aufweist, der in einen M-Zähler 114 einspeist.
Der Ausgang des M-Zählers 114 liefert
das Bezugssignal 120 zum PFD 122. In einer beispielhaften
Schaltung würde
der externe Quarz/Oszillator 110 eine Frequenz von 48 MHz
ausgeben, die wie oben ange geben, eine sehr genaue Frequenzquelle
ist, sowohl hinsichtlich Reproduzierbarkeit als auch der tatsächlichen
Zeitperiode. Wenn z.B. der Wert für M gleich zehn (10) ist, dann
würde die
Ausgangsfrequenz des M-Zählers 114 bei 120 4,8
MHz sein.
-
Während sie
läuft,
variiert die PLL ihre Ausgangsfrequenz bei 136, wenn sich
der Wert von N für
einen N-Zähler 138 in
Echtzeit ändert.
Eine ausführliche
Beschreibung der Operationen dieses Typs von Schaltung wird in den
US-Patent-Nummern 5,488,627 und 5,631,920 geliefert.
-
In
der vorliegenden Erfindung werden das Taktsignal bei 112,
das AUFWÄRTS-Signal
bei 124 und das ABWÄRTS-Signal
bei 126 alle als Eingänge
zu einem Multiplexer geliefert, der in größerer Einzelheit mit Bezug
auf 4 beschrieben wird. Zusätzlich liefert eine Steuerschaltung
(die in größerer Einzelheit
nachstehend beschrieben ist) ein Ausgangssignal bei 192,
das den Ladungspumpenstrom steuern kann. Es versteht sich, dass
die Steuereinrichtung leicht die Verstärkung des VCO 134 statt
den Ladungspumpenstrom steuern könnte,
jedoch wird es für
den Ladungspumpenstrom bevorzugt, als die gesteuerte Prozessvariable
in der vorliegenden Erfindung zu wirken, weil Variationen im Ladungspumpenstrom
schneller vorgenommen werden können,
ohne dass Instabilitäten
im reibungslosen Betrieb des VCO-Teils der PLL-Schaltung hervorgerufen werden.
Während
die Verstärkung
des VCO gesteuert werden kann, versteht es sich, dass ein Steuern
des Ladungspumpenstrom im Wesentlichen dieselbe Gesamtwirkung auf
die Ausgangsfrequenz bei 136 aufweist.
-
Der
Ausgang 140 des N-Zählers 138 wird
auch zu einem Adresszähler 150 gelenkt.
Der Adresszähler 150 enthält Information
vom Pointer-Typ, die auf einen Adressbus 152 geladen wird,
die eine spezielle Position oder Stelle im gewünschten Profil des Spread-Spektrum-Taktgenerators
darstellt. In der bevor zugten Ausführungsform der vorliegenden
Erfindung weist das Profil des Spread-Spektrum-Taktgenerators das
Aussehen auf, wie in 8 wiedergegeben, die ein simuliertes
Profil von 50 MHz +0/–3,75
MHz darstellt. In 8 wird ein Soll-Profil bei 402 wiedergegeben,
das eine Periode aufweist, die mit 406 bezeichnet ist,
in der ein Zyklus des Profils eine Dauer von ungefähr 32 Mikrosekunden
aufweist. Die Periode 406 enthält 128 unterschiedliche Zeitintervalle,
die jeweils eine spezielle Soll-Frequenz für das Ausgangssignal 136 aufweisen.
Während
eines speziellen von diesen Zeitintervallen bleibt die Soll-Frequenz
konstant. Jedoch, wenn es Zeit ist, zum nächsten Zeitintervall auf dem
Profil vorzurücken,
wird die Frequenz unter der Steuerung der PLL-Schaltung durch Verwendung
eines neuen Werts für
N, der in den N-Zähler 138 geladen
wird, entweder aufwärts
oder abwärts
geändert.
Sobald das ganze Profil zustande gebracht worden ist, wiederholt
sich das Muster, wie in 8 angegeben, durch das identische
Profil während
der zweiten wiedergegebenen Periode bei 408.
-
Eine
Tabelle 154 ist als ein Hardwareblock in 3 wiedergegeben,
jedoch stellt diese Tabelle Speicherstellen entweder im RAM (Direktzugriffsspeicher)
oder ROM (Festwertspeicher) dar. In der bevorzugten Ausführungsform
enthält
die Tabelle 154 Speicherstellen, die ausreichen, um Vier-Bit-Zahlenwerte
zu enthalten, z.B. Werte zwischen Null (0) bis Fünf (5), und diese Werte stellen
Variationen im Wert für
N dar, die in den N-Zähler 138 geladen
werden. Die Ausgangsdaten aus der Tabelle 154 werden entlang
einem Datenbus 156 in eine Addierschaltung 158 gelenkt.
Der andere Dateneingang für
den Addierer 158 ist ein anderer Datenbus 162,
der von einer "Grundzahl" 160 hergeleitet
ist, die ein Zahlenwert ist, der entweder im RAM oder ROM gespeichert
ist, abhängig
von der Vorliebe des Systementwicklers.
-
Z.B.
könnte
der Zahlenwert für
die Grundzahl gleich vierundzwanzig (24) sein, und die Tabelle 154 könnte Zahlenwerte
im Bereich von 0–5
enthalten. Diese Zahlen werden durch den Addierer 158 zusammenaddiert,
dessen Ausgang Zahlenwerte im Bereich von 24–29 sind, der dem N-Zähler 138 mittels
eines Datenbus 164 dargeboten wird. In diesem Beispiel
liegt der effektive Wert für
N im Bereich von 24–29
inklusive, was die Variationen liefert, die für das Profil, wie in 8 dargestellt,
erforderlich sind. Es muss daran erinnert werden, dass eine Änderung
im Wert für
N am Ausgang des N-Zählers 138 bewirkt,
dass die Ladungspumpe 128 entweder ein AUFWÄRTS-Signal
bei 124 oder ein ABWÄRTS-Signal
bei 126 empfängt,
wodurch der Frequenzausgang durch den VCO 134 variiert
wird.
-
Wenn
die Werte für
die Grundzahl 160 und die Tabelle 154 im RAM gespeichert
sind, dann kann die Systemsteuereinrichtung neue Werte in sowohl
die Tabelle 154 als auch die Grundzahlspeicherstelle 160 laden,
wie gewünscht.
Sobald ein System installiert ist, erfolgt jedoch das Laden von
neuen Werten nicht notwendigerweise, es sei denn, dass einige der
Komponentenparameter aufgrund einer Komponentenverschlechterung
oder eines gewissen Typs von Umgebungsbedingungen weit ausserhalb
normaler Bereiche zu liegen kommen. Wenn dies auftreten sollte,
kann die Steuereinrichtung über
eine Signalleitung 194 eine neue Grundzahl 160 laden,
und dies ändert
den Grundwert für
N, der (durch den Addierer 158) zu den Tabellenwerten hinzugefügt wird,
die entlang dem Datenbus 156 ausgegeben werden. Zusätzlich,
da die Tabellenwerte selbst geändert
werden können
(unter der Annahme, dass sich die Tabelle 154 im RAM befindet),
kann dann eine größere Variation
in Zahlenwerten auch leicht unter Steuerung einer Steuereinrichtung 190 (in 4)
ausgeführt
werden, indem über
die Signalleitung 194 neue Werte in die Tabelle 154 geladen
werden.
-
Wenn
die Tabelle 154 im ROM gespeichert ist, was die bevorzugte
Ausführungsform
der vorliegenden Erfindung ist, dann werden ihre Werte sequenziell
in den Addierer 158 geladen, was schließlich zum Wert für N wird,
sobald sie zur Grundzahl 160 hinzugefügt sind. In diesem Fall könnte die
Grundzahl 160 auch im ROM gespeichert sein, könnte aber
alternativ leicht im RAM gespeichert sein, so dass die Grundzahl
in Situationen geändert
werden kann, wo ein unterschiedlicher Bereich von Werten für N erforderlich
ist (aufgrund von Umgebungsbedingungen oder verschlechterten Komponentenwerten
usw.). In dieser bevorzugten Ausführungsform, in der sich die
Tabelle 154 im ROM befindet, wird es bevorzugt, dass der
Ladungspumpenstrom über eine
Signalleitung 192 durch die Steuereinrichtung 190 gesteuert
wird.
-
Der
Adresszähler 150 weist
auch einen Ausgang bei 170 auf, der bei Dekodierung einer
speziellen vorbestimmten Adresse unter sämtlichen Adressen, die im Adresszähler 150 gespeichert
sind, aktiv wird. Dieses Signal 170 wird auch zur Steuereinrichtung 190 gesandt,
um anzuzeigen, wenn eine spezielle Profilstelle entlang dem Adressbus 152 ausgegeben
worden ist, und wirkt als ein Decodierer für eine spezielle einzelne Adresse.
Dieses Signal 170 wird vorzugsweise verwendet, um die Steuereinrichtung 190 von
einem speziellen Vorfall zu informieren, wie z.B., wenn ein spezielles
Intervall im Profil erreicht worden ist, um eine Messung der Impulsbreitenzeit
für ein
AUFWÄRTS-
oder ABWÄRTS-Signal
auszuführen
oder um eine Zeitmessungsschaltung zu kalibrieren, was in größerer Einzelheit
nachstehend erörtert
wird.
-
Mit
Bezug nun auf 4 wird die Phasenregelschleifenschaltungsanordnung 100 von 3 als
ein "PLL-Block" 100 in 4 bezeichnet.
In 4 gibt der Quarz/Oszillator 110 sein
Taktsignal bei 112 in den PLL-Block 100 aus. Ein
Multiplexer 180 ist so dargestellt, dass er Ausgangssignale
vom PLL-Block 100 empfängt,
einschließlich
dem Takt 112, dem AUFWÄRTS-Signal 124 und
dem ABWÄRTS-Signal 126.
Der Multiplexer 180 empfängt auch ein "Auswahl"-Signal 530 von
der Steuereinrichtung 190. Der PLL-Block 100 weist auch
ein Ausgangssignal bei 136 auf, das das hauptsächliche
variable Frequenzausgangssignal ist, das das Spread-Spektrum-Taktsignal
wird.
-
Der
Multiplexer 180 gibt ein Signal bei 182 aus, das
dasselbe Signal ist, wie eines von seinen Eingangssignalen an seinen
Eingängen
I1, I2 oder I3, wie in 4 dargestellt. Die Bestimmung,
im Hinblick darauf, welches von diesen Eingangssignalen mit dem
Ausgang des Multiplexers verbunden wird, wird in größerer Einzelheit
mit Bezug auf die Beschreibung der Schaltungsanordnung in den 5–7 erörtert. Wie
in 4 dargestellt, wird das Ausgangssignal 182 aus
dem Multiplexer 180 zu einem "Ketteneingang" gelenkt, der Teil einer Verzögerungskette 200 ist,
die vollständiger
mit Bezug auf die 5–7 nachstehend
beschrieben wird.
-
Die
Steuereinrichtung 190 umfasst vorzugsweise einen Mikroprozessor
oder einen anderen Typ von integrierter Schaltung, die eine Zentraleinheit
enthält,
wie z.B. einen Mikrokontroller oder einen ASIC (anwendungsspezifische
integrierte Schaltung), die eine Mikroprozessoreinheit enthält. Jedoch
kann die Steuereinrichtung 190 auch eine feste Hardwarelogikschaltung
umfassen, die genug Logikgatter enthält, um im Wesentlichen als
eine sequenzielle Zustandsmaschine zu wirken, und kann mit ausreichender
Intelligenz arbeiten, um Werte aus einer Tabelle auszuwählen, wenn
sich der Spread-Spektrum-Taktgenerator
durch die verschiedenen Intervalle des Profils bewegt, und kann
weiter eine Grundzahl zu einer durch eine Tabelle erzeugten Zahl hinzufügen, so
dass das Ergebnis einem Zähler
zugeführt
wird, wie z.B. dem N-Zähler 138.
Diese Logik, die keine Prozessorsteuerungslogik ist, wird hierin
auch als eine "vollelektronische
Lösung" bezeichnet, obwohl eine
Mikroprozessorschaltung gewiss auch Elektronik enthält. Mit
Bezug auf 4 empfängt die Steuereinrichtung 190 gewisse
Eingangssignale und führt
gewisse Funktionen auf Grundlage der Analyse von diesen Eingangssignalen
aus, ungeachtet, ob ihre interne Schaltungsanordnung auf einem Mikroprozessor
beruht oder eine "vollelektronische
Lösung" ist.
-
Die
Verzögerungskette 200 gibt
einen oder mehrere "Verzögerungsketten-Ausgangs"-Signale bei 184 aus,
die zur Steuereinrichtung 190 eingegeben werden. Die Verzögerungskettenausgänge 184 umfassen
im Allgemeinen mehrere parallele Signale, die durch eine große Anzahl
von Flip-Flop-Ausgängen
erzeugt werden, in denen es einen einzigen Flip-Flop für jedes
der Verzögerungselemente
der Verzögerungskette 200 gibt. Dies
wird in größerer Einzelheit
in Bezug zu 5 beschrieben. Die Steuereinrichtung 190 bestimmt
durch Verwendung eines Ausgangssignals 530, welches Signal
aus dem Multiplexer 180 ausgegeben wird, steuert die Verzögerungskette 200 durch
Verwendung eines "Rücksetz"-Ausgangssignals 186 und
eines "Modus"-Signals 188,
und steuert auch gewisse Parameter im PLL-Block 100.
-
Das
Auswahlsignal 530 zum Multiplexer 180 umfasst
einen Hardwareausgang von der Steuereinrichtung 190 in
der Schaltung vollelektronischer Lösung, bei der die Zustandsmaschine
den Wert für
dieses Signal bestimmt. Natürlich
bestimmt sein Wert, welcher der drei Eingänge I1, I2 oder I3 zum Ausgang
des Multiplexers 180 gelenkt wird. In Fällen, in denen die Steuereinrichtung 190 eine
Zentraleinheit (wie z.B. einen Mikroprozessor) umfasst, wird es
bevorzugt, dass dieses Auswahlsignal 530 keine tatsächliche
Hardwareeingangsleitung zwischen dem Mikroprozessor und einem Auswahleingang
des Multiplexers 180 ist, sondern stattdessen wird es bevorzugt,
dass der Multiplexer 180 ein adressierbares Register enthält, das
durch die Verarbeitungsschaltung (d.h. die Steuereinrichtung 190) über einen
gewissen Typ von Datenleitung oder Datenbus geladen werden kann.
-
Die
Signale 192 und 194 sind Ausgänge aus der Steuereinrichtung 190,
und wie oben erörtert,
kann das Signal 192 direkt den Strom der Ladungspumpe 128 ändern, unter
der Voraussetzung natürlich,
dass die Ladungspumpe 128 einen programmierbaren Ladungsstrom
auf Grundlage eines Eingangssignals aufweist. Eine Alternative besteht
darin, das Signal 194 zu verwenden, das durch die Steuereinrichtung 190 verwendet werden
kann, um unterschiedliche Werte in die Tabelle 154 und
die Grundzahl 160 zu laden. Dieses Szenario nimmt natürlich an,
dass die Tabelle 154 und die Basis 160 Speicherelemente
umfassen, die modifiziert werden können, wie z.B. ein RAM oder
Register. In der bevorzugten Ausführungsform der vorliegenden
Erfindung umfasst die Tabelle 154 ein ROM, und die Steuereinrichtung 190 bildet
direkt eine Schnittstelle über
das Signal 192, um den Strom der Ladungspumpe 128 zu ändern, wenn
gewünscht.
-
Mit
Bezug nun auf 5, wird eine "einfache" Verzögerungskette 200 so
veranschaulicht, dass sie mehrere hintereinandergeschaltete Verzögerungselemente 211–216 enthält, wobei
jedes einen D-Flip-Flop 221–226 enthält. Jeder
Flip-Flop weist ein Ausgangssignal auf, d.h. Signale 231–236,
und die Kombination des Verzögerungselements,
Flip-Flop und des Aussgangssignals des Flip-Flop umfasst eine Verzögerungsstufe, die
durch die Bezugszeichen 201–206 bezeichnet wird.
Wie in 5 dargestellt, ist der Eingang zur Verzögerungskette 200 der
Ausgang 182 des Multiplexers 180, jedoch ist dies
in 5 so angezeigt, dass er das AUFWÄRTS-Signal
ist. In der Tat erscheint dieses AUFWÄRTS-Signal auf dem Ausgang 182 nur
dann, wenn der Multiplexer 180 seinen I2-Eingang zum Ausgang
geschaltet hat.
-
Wie
in 5 angedeutet, gibt es zusätzlich zu den sechs Verzögerungsstufen 201–206,
die in der Figur wiedergegeben sind, sehr viel mehr Verzögerungsstufen
zur Verwendung mit der vorliegenden Erfindung. 9 veranschaulicht
einen Graphen eines typischen "Fehlerprofils" der Impulsbreitenzeitabläufe der
AUFWÄRTS-
und ABWÄRTS-Signale 124 bzw. 126,
und es kann entnommen werden, dass die maximalen Impulsbreiten für diese
Signale etwas größer als
vierzig (40) Nanosekunden ist. 9 veranschaulicht
auch Fälle,
in denen die typische Impulsbreite aufgrund von Variationen in Komponentenparametern
geändert
ist, und so ist es wichtig, eine viel größere Anzahl von Verzögerungselementen
zu besitzen, als für "typische" (oder nominale)
Impulsbreitenwerte notwendig sein würde. In der bevorzugten Ausführungsform
der vorliegenden Erfindung werden die Verzögerungselemente 211–216 so
gewählt,
dass sie Laufzeiten von ungefähr
einer (1) Nanosekunde pro Verzögerungselement
aufweisen, und so würde
der Entwickler für
eine "typische" maximale Impulsbreite
nur etwa dreiundvierzig (43) oder vierundvierzig (44) von diesen
Verzögerungsstufen
einschließen
müssen.
In der Realität
jedoch sollte mindestens ein 3-facher Fehlerfaktor eingeschlossen
sein, der über
130 Verzögerungsstufen
erfordern würde,
und um es konservativ zu konstruieren, könnte ein kleiner Fehlerfaktor
hinzugefügt
werden, wodurch die Gesamtanzahl von Verzögerungsstufen auf etwa 150
gebracht würde.
Und dies ist eine konservative Konstruktion, wenn die "typische" Impulsbreite nur
etwa vierzig (40) Nanosekunden beträgt!
-
Als
Folge ist es ersichtlich, dass eine sehr große Anzahl von Logikgattern
erforderlich ist, um die Verzögerungskette 200 auszuführen, und
diese Anzahl von Gattern erhöht
sich pro Stufe sogar noch mehr, wenn eine gewisse Kompliziertheit
hinzugefügt
wird, wie unten in Bezug auf die 6 und 7 dargestellt.
-
Mit
Bezug zurück
auf 5, wenn sich das AUFWÄRTS-Signal durch jedes der
Verzögerungselemente 211–216 fortpflanzt,
weisen die entsprechenden Flip-Flops 221–226 ihre
Q-Ausgänge
auf logisch 1 gesetzt auf, in einer Sequenz, beginnend mit dem Ausgang 231 und
sich fortpflanzend durch den Ausgang 236 und darüber hinaus.
Je länger
die Impulsbreite des AUFWÄRTS-Signals bei 182 ist,
desto mehr Verzögerungsstufen 201–206 (usw.)
weisen ihre Flip-Flop-Q-Ausgänge
auf logisch 1 gesetzt auf. Jeder von diesen Flip-Flops 221–226 (usw.)
umfasst einen "Lösch"-Eingang, der mit
dem "Rücksetz"-Ausgangssignal 186 von
der Steuereinrichtung 190 verbunden ist, und auch einen
Takteingang, der mit dem invertierten Taktsignal des Systems verbunden
ist.
-
Die
Verzögerungskette 200 stellt
eine ziemlich einfache Detektionsschaltung zum Detektieren der Impulsbreite
der AUFWÄRTS-
oder ABWÄRTS-Signale
dar und speichert nur Daten für
das letzte solche AUFWÄRTS-
oder ABWÄRTS-Signal,
das der Verzögerungskettenschaltung 200 dargeboten
worden ist. Es kann wünschenswert
sein, die Impulsbreite des AUFWÄRTS-Signals über mehrere
aufeinanderfolgende Intervalle des Profils zu detektieren und den
Wert des Maximums oder "Peaks" dieser Impulsbreiten
zu bestimmen. Die in 6 wiedergegebene Schaltung kann
diese Funktion bereitstellen, indem ein ODER-Gatter 271 hinzugefügt wird,
das bewirkt, dass der "D"-Eingang bei logisch 1 bleibt, sobald
der Q-Ausgang des Flip-Flop 281 bei 291 einen Übergang
zu logisch 1 macht. Da jede Verzögerungsstufe 251, 252 usw.
sowohl ein Verzögerungselement,
wie z.B. 261, als auch einen zugeordneten Flip-Flop 281 oder
ein ODER-Gatter 271 enthält, kann sich jede der Verzögerungsstufen
an einen Übergang
zu logisch 1 von ihrem Q-Ausgang des Flip-Flop für die ganze Verzögerungskette 250 der 6 "erinnern". Wenn die Impulsbreite
des AUFWÄRTS-Signals bei 182 z.B.
vierzig (40) Nanosekunden in der Dauer ist, dann machen ungefähr vierzig
(40) Verzögerungsstufen
einen Übergang
zu logisch 1. Wenn z.B. die nächste
AUFWÄRTS-Signalimpulsbreite
einundvierzig (41) Nanosekunden in der Dauer beträgt, dann
werden ungefähr
einundvierzig (41) Verzögerungsstufen
auf logisch 1 gesetzt, was bedeutet, dass eine Verzögerungsstufe
mehr nun den Übergang
zu logisch 1 macht, als zuvor aufgetreten war. Wenn z.B. die nächste AUFWÄRTS-Signalimpulsbreite
nur fünfunddreißig (35)
Nanosekunden dauert, dann würden
nur fünfunddreißig (35)
Verzögerungsstufen
auf logisch 1 gesetzt worden sein, wenn es keine "Peak"-Speicherschaltung
geben würde;
jedoch, da die ODER-Gatter in 6 eingeschlossen
sind, waren diese fünfunddreißig (35)
Verzögerungselemente
schon auf logisch 1 gesetzt, und die längere Dauer der früheren Impulsbreite,
die bewirkt, dass einundvierzig (41) Verzögerungselemente auf logisch
1 gesetzt werden, wird beibehalten. Die Folge ist, dass die AUFWÄRTS-Signalimpulsbreite
mit der längsten
Zeitdauer durch diese Verzögerungskettenschaltung 250 im
Gedächtnis
behalten wird.
-
Da
die bevorzugte Ausführungsform
einen ASIC zur Erzeugung der Verzögerungselemente von sämtlichen
Verzögerungsstufen
verwendet, ist die tatsächliche
Ausbreitungsverzögerung
für jedes
Verzögerungselement
nicht genau eine (1) Nanosekunde, sondern ist wahrscheinlich eine
gewisse andere Zeitdauer, die sich um einen gewissen Prozentsatz
außerhalb
von dem Zielwert von einer (1) Nanosekunde befindet. Hinsichtlich
dieser kleinen Unzulänglichkeit
der Verwendung von logischen ASIC-Elementen wird es bevorzugt, die Verzögerungskette
zu kalibrieren, was durch eine Verwendung der in 7 wiedergegebenen
Schaltung erreicht werden kann.
-
In 7 wird
der Ausgang 182 des Multiplexers 180 zu einem
Verzögerungselement 360 gelenkt,
das eine Verzögerung
von mehreren Nanosekunden liefert, das obwohl es nicht notwendigerweise
sehr genau ist, mindestens ziemlich reproduzierbar ist. Diese Verzögerungsstufe 360 kann
beseitigt werden, wenn es sich herausstellt, dass sie für ihren
Einschluss in die Schaltung 300 nicht wünschenswert ist. Jedoch, wenn
man versucht die maximale oder "Peak"-Impulsbreite der AUFWÄRTS- und
ABWÄRTS-Signale
zu messen, dann kann es sehr vorteilhaft sein, dieses Verzögerungselement 360 einzuschließen, indem
man seinen Verzögerungszeitablauf
von etwa zehn (10) bis zwanzig (20) Nanosekunden vorliegen hat,
wodurch eine äquivalente
Anzahl von Verzögerungsstufen
(z.B. die Verzögerungselemente 301 und 302 in 7)
eingespart werden. Es sollte angemerkt werden, dass die Laufzeit
des Verzögerungselements 360 niemals
länger
sein darf als der kürzeste Impuls,
der zu messen ist.
-
Wenn
das Taktsignal erst einmal der Verzögerungsstufe 360 dargeboten
wird, wird dann nach dieser Ausbreitungsver zögerungszeit der Stufe das Taktsignal
der Verzögerungskette 300 dargeboten,
beginnend mit ihrem ersten Verzögerungselement 311,
und dann weiter zum nächsten
Verzögerungselement 312 usw..
Indem man ein ODER-Gatter 321 verwendet, wird der Q-Ausgang 351 des
zugeordneten D-Flip-Flop 331 mit logisch 1 verrastet, bis
ein "Lösch"- oder "Rücksetz"-Signal 186 von der Steuereinrichtung 190 gesendet
wird. Alternativ kann ein "Kalibrier"-Signal gesendet
werden, um auch sämtliche
Flip-Flops in der
Verzögerungskette 300 rückzusetzen
oder zu löschen.
Dieses Kalibriersignal wird in einer invertierten Form bei 532 zu
einem UND-Gatter 341 gesendet, das mit der Einrastschaltung,
die das ODER-Gatter 321 einschließt, hintereinandergeschaltet
ist. Weiter ist auch ein EXKLUSIV-ODER-Gatter 364 eingeschlossen,
um das invertierte Kalibriersignal (das auch als das NICHT-Kalibriersignal
bezeichnet wird) 532 zu empfangen.
-
Das
NICHT-Kalibriersignal 532 wird auf logisch 1 gesetzt, wenn
die Verzögerungskette 300 versucht, die
maximale (oder Peak-) Impulsbreite der AUFWÄRTS- oder ABWÄRTS-Signale
zu finden, oder mit anderen Worten, während sie diese Daten "akkumuliert". Das NICHT-Kalibriersignal 532 wird
während
eines tatsächlichen
Kalibriervorgangs auf logisch 0 gesetzt, was bedeutet, dass die
Verzögerungskette 300 keinerlei
Daten akkumuliert, und das Taktsignal wird der Verzögerungsstufe 360 dargeboten.
Dieses NICHT-Kalibriersignal 532 ist in Bezug zum "Modus"-Signal 188 ein
logisch invertiertes Signal, das als ein Ausgang aus der Steuereinrichtung 190 in 4 wiedergegeben
ist.
-
Das
EXKLUSIV-ODER-Gatter 364 schaltet, welche Flanke des Takts
(oder anderen Impulsignals) der Auslöser in Bezug zu dem Betrieb
der D-Flip-Flops der Verzögerungskette 300 sein
soll, wie z.B. der Flip-Flop 331. Wie in den zuvor beschriebenen
Verzögerungskettenschaltungen 200 und 250 weist
jeder D-Flip-Flop einen Löscheingang
auf, der mit dem Rücksetzsignal 186 verbunden
ist, und weist auch einen invertierten Takteingang auf. Es ist ersichtlich,
dass durch Verwendung von sämtlichen
Gattern und der Verzögerungsstufe 301 die
Verzögerungskette 300 als
sowohl eine Peakdetektionsschaltung oder als eine "einfache" Detektionsschaltung
arbeiten kann (durch die sie keine Impulsbreitendaten von einem
Zyklus zum nächsten
akkumulieren würde).
Weiter kann nun entnommen werden, dass mehrere Logikgatter für jede Verzögerungsstufe
erforderlich sind, und es würden
gut über
1000 Logikgatter notwendig sein, um eine Verzögerungskette von mindestens
150 Stufen bereitzustellen. Hinsichtlich dieser Tatsache kann es
wünschenswert
sein, ein unterschiedliches Intervall des Profils zu verwenden,
um den Fehler in den AUFWÄRTS-
oder ABWÄRTS-Impulsbreiten zu
bestimmen, was nachstehend beschrieben wird.
-
Mit
Bezug nun auf 8 sind eine graphische Darstellung 400 eines
simulierten Soll-Profils und eines tatsächlichen Profils wiedergegeben.
Das simulierte (oder vorbestimmte) Soll-Profil ist durch die Kurve 402 wiedergegeben,
wohingegen das tatsächliche
Spread-Spektrum-Profil durch die ziemlich gezackte Kurve 404 wiedergegeben
ist. Wie vorstehend erörtert,
ist das veranschaulichte Profil eine bevorzugte Ausführungsform eines
Spread-Spektrum-Taktgenerators, der zwischen 48,25 MHz und 50 MHz
läuft,
der eine sehr rauscharme Signatur hinsichtlich elektromagnetischer
Störbeeinflussungsemissionen
darstellt.
-
Die
in 8 veranschaulichte erste Periode ist allgemein
durch das Bezugszeichen 406 bezeichnet, die bei der niedrigsten
Frequenz (d.h. um 48,25 MHz) beginnt, sich dann aufwärts zu einem
maximalen Peak von etwa 50,00 MHz bewegt, und dann schnell auf ein
minimales Tal von etwa 48,25 MHz am Ende dieser Periode 406 zurückfällt. Ein
identisches Muster wiederholt sich dann für die nächste Periode, wie allgemein durch
das Bezugszeichen 408 bezeichnet; und dieses Muster setzt
sich für
einen so langen Zeitraum fort, wie es erwünscht ist, den Systemtakt in
diesem Frequenzbereich laufen zu lassen. Jede Profilperiode (d.h.
Periode 406) erfordert ungefähr 32 Mikrosekunden, und jede
Profilperiode verwendet 128 unterschiedliche Intervalle, währenddessen
der Wert für
N im N-Zähler 138 für jedes
von diesen Intervallen konstant gehalten wird. Nach Erreichen des
Endes eines Intervalls wird der Wert für N geändert, oder alternativ könnte die
Ladungspumpenstromamplitude durch ein Signal 192 von der
Steuereinrichtung 190 geändert werden. In der bevorzugten
Ausführungsform
schlägt
jedoch der Adresszähler 150 einen
unterschiedlichen Tabellenwert in der Tabelle 154 nach,
der dann einen neuen Wert für
N im N-Zähler 138 liefert.
-
Hinsichtlich
der Tatsache, dass es 128 Intervalle von gleicher Dauer gibt, dauert
jedes Intervall ungefähr
250 Nanosekunden. Da die Taktperiode bei 50 MHz ungefähr 20 Nanosekunden
ist, dauert jedes Intervall etwa 12,5 Taktzyklen lang. Als Folge
ist es ersichtlich, dass es eine Möglichkeit von zwölf (12)
bis dreizehn (13) AUFWÄRTS-
oder ABWÄRTS-Impulsen gibt, die
während
eines einzigen Intervalls erzeugt werden können. Man würde erwarten, dass die weiteste
Impulsbreite und die maximale Anzahl von AUFWÄRTS- oder ABWÄRTS-Impulsen
am Anfang eines Intervalls auftritt, wenn die Phasenregelschleifenschaltung
versucht, ihren Frequenzausgang des VCO 134 zu verschieben.
-
Indem
man nun auf 9 Bezug nimmt, ist ein Graph 410 dargestellt,
wobei typische und ±30%-Toleranzwerte
für die
Impulsbreite der AUFWÄRTS-
oder ABWÄRTS-Impulse
dargestellt sind, die durch den PFD 122 erzeugt werden.
Wie aus 9 ersichtlich ist, zeigt der "typische" Graph 412 seine
maximalen oder "Peak"-Werte für die Impulsbreite
der AUFWÄRTS-
oder ABWÄRTS-Signale
sehr nahe bei (d.h. direkt nach) den maximalen oder minimalen "Peak"-Frequenzwerten der
simulierten Profil-Sollkurve 402 in 8. Dies
bedeutet, dass sich, wenn sich die Frequenz erhöht oder plötzlich damit beginnt, abzunehmen
(d.h., wobei es eine signifikante Änderung in der Steigung der
Kurve 402 gibt), die AUFWÄRTS- oder ABWÄRTS-Impulsbreiten dramatisch
in der Größe ändern, und
dies geschieht am "Fehlerprofil"-Intervall um 63 oder 64 auf
dem Graphen 410. Da die Frequenz zunahm und plötzlich entsprechend
dem Soll-Profil beginnen möchte,
abzunehmen (d.h. weil die tatsächliche
Spread-Spektrum-Profilkurve 404 versucht, die vorbestimmte
Soll-Profilkurve 402 nachzuahmen), beginnt die PDF-Schaltung 122 damit,
ABWÄRTS-Impulse
bei 126 zur Ladungspumpe 128 ausgegeben. Die maximale
Dauer dieser ABWÄRTS-Impulse
beträgt
ungefähr
zweiundvierzig (42) oder dreiundvierzig (43) Nanosekunden. Dies
tritt ungefähr
auf halbem Wege durch die Periode der simulierten Profilkurve 402 in 8 auf.
-
Wenn
das minimale "Tal" auf der Soll-Kurve 402 auftritt,
ist die Frequenz abnehmend gewesen und beginnt plötzlich ziemlich
abrupt zuzunehmen. Wenn dies auftritt, beginnt die PFD-Schaltung 122 damit,
durch die Ladungspumpe 128 AUFWÄRTS-Impulse bei 124 ausgegeben.
Dies wird in 9 bei ungefähr dem Intervall 127 oder 128 angezeigt,
und die AUFWÄRTS-Impulsbreite beträgt ungefähr 40 Nanosekunden
(was sich als ein é40
nsec auf dem Graphen 410 zeigt).
-
Auf
dem Graphen 410 stellt die Kurve 414 die Impulsbreitenzeitabläufe bei
den verschiedenen Intervallen über
das Profil dar, wenn die effektive PLL-Parameterverstärkung ungefähr 30% niedriger
als typisch ist. Die Kurve 416 ist eine Auftragung der
AUFWÄRTS-
und ABWÄRTS-Impulsbreiten,
wenn die effektive PLL-Parameterverstärkung auf ungefähr 30% über typisch
zugenommen hat. Bei dem positiven "Peak",
der bei der maximalen Impulsbreite bei etwa Intervall 63 oder 64 auftritt,
ist die Größe der Fehlerdifferenz
zwischen der typischen Kurve 412 und den ±30%-Toleranzkurven 416 bzw. 414 ziemlich
groß.
Auf dem Graphen 410 wird der Fehler zwischen der typischen
Kurve 412 und der é30%-Kurve 414 mit "E1" bezeichnet. Die
Fehlerdifferenz zwischen der typischen Kurve 412 und der
+30%-Kurve 416 wird mit "E2" bezeichnet.
-
Es
ist verhältnismäßig einfach,
die "Peak"-Impulsbreite durch
Verwendung der Verzögerungskette,
die in 7 wiedergegeben ist, zu detektieren, die nicht
nur die maximale Impulsbreite der AUFWÄRTS- oder ABWÄRTS-Signale
speichert, sondern die auch durch den Systemtakt kalibriert werden
kann, so dass die tatsächliche
Zeitdauer (in Echtzeit) für
jede von diesen Impulsbreiten gemessen werden kann. Deshalb kann
die gemessene (tatsächliche)
maximale Impulsbreite des ABWÄRTS-Signals mit dem gewünschten
typischen Wert von etwa 42 oder 43 Nanosekunden verglichen werden.
-
Je
größer die
Größe einer
Fehlerabweichung für
entweder E1 oder E2 ist, desto größer ist die Korrektur, die
am Ladungspumpenstrom oder dem Wert für N im N-Zähler 138 gemacht werden
muss. Wie oben angegeben, wird es bevorzugt, die Ladungspumpenstromgröße durch
das Signal 192 zu steuern, das durch die Systemsteuereinrichtung 190 bereitgestellt
wird. Entweder die Verarbeitungsschaltung oder die Schaltung mit "vollelektronischer
Lösung", die eine Zustandsmaschine
(siehe 10) bereitstellt, kann den Ladungspumpenstrom
automatisch ändern,
um den Fehler in der geeigneten Richtung und durch die geeignete
Größe zu verringern,
wodurch jegliche Komponentenabweichungen in der elektronischen Schaltungsanordnung
der PLL-Schaltung kompensiert wird.
-
Es
ist wichtig, ein Intervall im Profil zu wählen, das einen verhältnismäßig großen Fehler
zwischen der typischen Fehlerprofilkurve und den Toleranzkurven
liefert, so dass es verhältnismäßig leicht
ist, Betriebsfehler in dem typischen Wert zu messen und zu kompensieren.
Während
der "Peak"-Wert bei etwa Intervall 63 oder 64 (von
128) verwendet werden kann und verhältnismäßig einfach zu detektieren
ist, erfordert die Messung dieses "Peak"-Impulsbreitenwerts
für die
AUFWÄRTS- und ABWÄRTS-Signale
eine sehr lange Verzögerungskette
mit vielen Gattern für
ihre Verzögerungsstufen,
wie vorstehend erörtert.
-
Angesichts
der langen Verzögerungskette,
die erforderlich ist, um die maximale (akkumulierte) Impulsbreite
der AUFWÄRTS-
und ABWÄRTS-Signale
zu messen, könnte
es einen gewissen Vorteil geben, einen Teil der Fehlerkurve auf
dem Graphen 410 zu wählen,
der eine kürzere
Zeitdauer für
die AUFWÄRTS-
und ABWÄRTS-Impulse
aufweist, aber dennoch eine ausreichende Fehlerdifferenz zwischen
der typischen Kurve und den Toleranzkurven bereitstellt, unter der
Annahme, dass eine solche Stelle auf dem Graphen 410 gefunden werden
kann. Es stellt sich heraus, dass es eine signifikante Fehlerabweichung
zwischen Typ-typischen und Toleranzkurven bei etwa dem Intervall 125 (von
128) gibt, und diese Fehler sind als "E3" und "E4" in 8 wiedergegeben,
die sich, kurz bevor sich das Spread-Spektrum-Profil von einer abnehmenden
Frequenz zu einer zunehmenden Frequenz ändert (d.h. was in der Steigung
der Soll-Profilkurve als eine signifikante Änderung auftritt), bei etwa
der Zeitmarkierung von zweiunddreißig (32) Mikrosekunden zeigen.
Während
die "Peak" (oder maximale)
Impulsbreite als ein Kriterium beim Auffinden dieser Fehler E3 und
E4 nicht nützlich
sein würde,
könnte
eine viel kürzere
Verzögerungskette
verwendet werden, da die typische Impulsbreitenzeit weniger als
zehn (10) Nanosekunden bei diesem Intervall bei dem Profil ist.
Wie aus dem Graphen 410 ersichtlich ist, zeigt die é30%-Kurve 414 einen
Wert von etwa +10 Nanosekunden an, während die é30%-Kurve 414 einen Wert
von etwa –18
Nanosekunden anzeigt (wobei man nicht vergisst, dass Zeit natürlich ein
absoluter Wert ist und dass diese Plus- und Minus-Werte auf dem
Graphen bloß relative
Zeitablaufswerte sind, wobei ABWÄRTS plus
und AUFWÄRTS
minus ist).
-
Wenn
die Abtastschaltung nur im Instantanmodus verwendet wird und das
Intervall 125 (d.h. für
dieses Beispiel) immer verwendet wird, um den gemessenen Wert der
AUFWÄRTS-
oder ABWÄRTS-Signale
auszuwählen,
dann kann ein wesentliches Fehlersignal zur Verwendung beim automatischen
Kompensieren von Variationen in den PLL-Parameterverstärkungen
gefunden werden. In dieser Sachlage könnte die Verzögerungskette 200 in 5 verwendet
werden. Alternativ könnte
die Verzögerungskette 300 in 7 verwendet
werden, obwohl es nicht wünschenswert
sein würde,
das ODER-Gatter 321 am Eingang zum D-Flip-Flop 331 einzuschließen, wodurch
dies in eine Instantanmessschaltung statt eine "Peak"-Messschaltung
für die
Impulsbreitendauer gemacht wird.
-
Mit
Bezug nun auf 10 wird eine Ausführungsform
einer "vollelektronischen
Lösung" der Steuereinrichtung
allgemein durch das Bezugszeichen 500 bezeichnet. Ein die
aktuelle Profilstelle anzeigendes Signal (d.h. das Intervall im
Profil von 8) wird an einem Eingang bei 502 zu
einer Zählerfreigabeschaltung 504 abgegeben.
Eine Logikzustandsmaschine 520 steuert die Zählerfreigabeschaltung 504 und
informiert im Wesentlichen den Zähler,
wann er zu starten hat, da es unerwünscht ist, zu versuchen, die
Impulsbreite der AUFWÄRTS- und ABWÄRTS-Signale
zur selben Zeit zu messen, wenn das System versucht, die Verstärkung der PLL-Schaltung
zu steuern.
-
Der
Ausgang der Zählerfreigabeschaltung 504 wird
an eine Decodierschaltung 506 abgegeben, die wiederum bei 530 einen
Ausgang an den Multiplexer abgibt. Dieses Signal 530 wird
verwendet, um auszuwählen,
welcher Eingang des Multiplexers mit seinem Ausgang verbunden wird.
Zusätzlich
gibt der Decodierer 506 drei separate Freigabeleitungen
aus, die als eine Gruppe bei 508 wiedergegeben sind, die
Register "R1" bei 511, "R2" bei 512 und "R3" bei 513 freigeben.
-
Ein
Modus-Steuersignal 532 wird auch vom Decodierer 506 ausgegeben,
und dieses Signal wird in 7 verwendet,
um entweder die Verzögerungskette 300 zu
kalibrieren oder Messungen in einem Akkumulationsmodus vorzunehmen,
um die maximale oder "Peak"-Impulsbreite von
entweder dem AUFWÄRTS-Signal oder dem ABWÄRTS-Signal
zu gewinnen. Dieses Modus-Steuersignal 532 ähnelt dem
Modus-Signal 188 in 4.
-
Zusätzlich ähnelt das
Profilstellensignal 502 dem Profilstellensignal 170 in 4.
-
Daten
von der Verzögerungskette 300 werden
als ein Signal 510 an die Register R1, R2 und R3 abgegeben.
Diese Verzögerungskettendaten 510 liegen
in der Form eines ziemlich langen digitalen (oder binären) Signals
vor, das anzeigt, wie viele Verzögerungselemente 301, 302 usw.
einen logischen Übergang
während
entweder dem AUFWÄRTS-Impuls,
ABWÄRTS-Impuls
oder der Taktperiode machten. Zur geeigneten Zeit werden die Verzögerungskettendaten
zum Register R1 bei 511 abgegeben, und dies ist für das AUFWÄRTS-Signal 124 von 3.
Wenn eine Messung für
die AUFWÄRTS-Impulse
zweckmäßig ist,
wählt der Multiplexer 180 den
AUFWÄRTS-Impulseingang
(I1 in 4) aus, um zu seinem Ausgang gelenkt zu werden, und
dieses Ausgangssignal 182 wird zur Verzögerungskette 300 eingegeben.
Die Ausgangsdaten aus der Verzögerungskette
werden zu den Registern 511–513 gelenkt, jedoch
gibt gleichzeitig der Decodierer 506 die geeignete Leitung
bei 508 frei, um zu ermöglichen,
dass das Register R1 diese Verzögerungskettendaten
empfängt.
Die anderen zwei Register R2 und R3 akkumulieren zu diesem Zeitpunkt
keine Daten (da sie nicht freigegeben sind).
-
Wenn
eine Messung der ABWÄRTS-Impulse
zweckmäßig ist,
wählt der
Multiplexer 180 seinen I3-Eingang aus, um die ABWÄRTS-Signale bei 126 zu
empfangen und sie beim Signal 182 in 4 auszugeben. Dieses
wird zur Verzögerungskette 300 abgegeben
(beim Verzögerungsgatter 360),
so dass die Verzögerungskettendaten 510 aus
den digitalen (oder binären)
Daten bestehen, die sich auf die Anzahl von Verzögerungselementen 301, 302 usw.
der Verzögerungskette 300 beziehen,
die einen logischen Übergang
während eines
Impulses des ABWÄRTS-Signals 126 machen.
Gleichzeitig ermöglicht
die Decodierschaltung 506, dass das R2-Register diese Daten über die
Freigabeleitung 508 annimmt.
-
Wenn
es zweckmäßig ist,
Taktinformation von der Verzögerungskette
anzunehmen, liefert der Multiplexer 180 das Eingangssignal
an seinen Eingang I1, um zu seinem Ausgang bei 182 gelenkt
zu werden, das dann zum Eingang der Verzögerungskette 300 beim
ersten Verzögerungsgatter 360 in 7 abgegeben
wird. Die Verzögerungskettendaten
bei 510 werden dann an das Register R3 abgegeben und gleichzeitig
aktiviert die Decodierschaltung 506 das Register R3 über seine
Freigabeleitung bei 508.
-
Die
Form der digitalen oder binären
Daten, die in die Register R1, R2 und R3 geladen werden, ist unten als
Tabelle #1 dargestellt:
-
TABELLE #1
-
- 111111111111111111111111111100000000000000000000001111111
= AUFWÄRTS
= R1
- 111111111111111111111111100000000000000000000000001111111 =
ABWÄRTS
= R2
- 111110000011111000001111100000111110000011111000001111100 +
CLK = R3
- R4 enthält
die Sollzeit in Bezugstakten für
das AUFWÄRTS
und/oder ABWÄRTS
mit Toleranz.
-
BEMERKUNGEN:
-
Die
erste Gruppe von aufeinanderfolgenden binären 1en in R1 stellt die "Peak"-Länge von
AUFWÄRTS
in Verzögerungsstufen
dar.
-
Die
erste Gruppe von aufeinanderfolgenden binären 1en in R2 stellt die "Peak"-Länge von
ABWÄRTS in
Verzögerungsstufen
dar.
-
Ein
viertes Register "R4" ist in 10 bei 514 wiedergegeben.
Dieses Register enthält
die "Soll"- (oder typische)
maximale (oder "Peak") Impulsbreitenzeit
für die
AUFWÄRTS- und ABWÄRTS-Signale
und umfasst auch eine zu erwartende Toleranz. Diese Information
könnte
in zwei unterschiedlichen Formen vorliegen: (1) einer Mittensollzeit
mit einer Plus- oder
Minus-Abweichung oder Toleranz, oder (2) der oberen Grenztoleranz und
der unteren Grenztoleranz. In der bevorzugten Ausführungsform
wird die Mittensollzeit mit einer Plus- und Minus-Abweichung bevorzugt.
-
Zu
dem zweckmäßigen Augenblick
(der in Verbindung mit den Flussdiagrammen in den 11–14 beschrieben
wird) werden die in den Registern 511–514 enthaltenen Daten
faktisch gleichzeitig auf die Logikzustandsmaschine 520 übertragen.
Nachdem die Logikzustandsmaschine 520 diese Daten analysiert
hat, können
Einstellungen an der PLL-Verstärkung
durch Verwendung eines Verstärkungssteuerungssignals
bei 534 gemacht werden, das aus der Logikzustandsmaschine 520 ausgegeben
wird. Dieses Verstärkungssteuerungssignal
könnte
verwendet werden, um entweder den Ladungspumpenstrom oder die VCO-Verstärkung einzustellen,
obwohl es bevorzugt wird, dass es verwendet wird, um den Ladungspumpenstrom
einzustellen, der ein zum Signal 192 in 3 ähnliches
Signal sein würde,
das aus der Steuereinrichtung 190 ausgegeben wird. Auf
viele Weisen ist die Schaltung 500 der vollelektronischen
Lösung
in 10 sehr ähnlich
zur Steuereinrichtung 190 von 4. Der Hauptunterschied
besteht darin, dass die vollelektronische Lösung nicht notwendigerweise
eine sequenzielle Verarbeitungseinheit, wie z.B. einen Mikroprozessor, erfordert,
wohingegen im Allgemeinen erwartet wird, dass die Steuereinrichtung 190,
wie hierin offenbart, eine Schaltung vom Mikroprozessortyp umfasst,
um die Hauptintelligenz des Systems bereitzustellen.
-
Ein
beispielhaftes generisches Rechnerprogramm wird unten für Ausführungsformen
der vorliegenden Erfindung geliefert, die eine Zentraleinheit enthalten.
Die durch dieses Rechnerprogramm ausgeführten Schritte entsprechen
sehr eng den Schritten, die in den Flussdiagrammen der 11–14 angezeigt
sind, obwohl dieser Satz von Flussdiagrammen spezifischer auf die
vollelektronische Lösung
unter Verwendung einer Logikzustandsmaschine abzielt. Das generische
Rechnerprogramm folgt unmittelbar unten, als Tabelle #2:
-
-
-
Es
sollte angemerkt werden, dass in Bezug zu dem obigen Rechnerprogramm
die Anzahl von Taktanstiegen in Zeile 3 in Termen von Taktperioden
berechnet werden. Dasselbe trifft für die Anzahl von "Taktanstiegen" zu, die in Zeile
6 berechnet werden. Es sollte weiter angemerkt werden, dass die
Anzahl von "Verzögerungen", die in Zeile 2
berechnet werden, sich auf die Anzahl von Verzögerungsstufen bezieht, die
einen Übergang
gemacht haben. Dasselbe trifft für
die Anzahl von "Verzögerungen" zu, auf die in den
Zeilen 4, 5, 7 und 8 Bezug genommen wird. Es sollte in Hinblick
auf Zeile 9 angemerkt werden, dass sich der Zustand des "vorherigen Takts" auf den Zustand
wie von dem letzten Gatterverzögerungsintervall
bezieht.
-
Im
Hinblick auf die Logikzustandsmaschinen-Ausführungsform, wie in 10 wiedergegeben,
gibt 11 den logischen Fluss der Anfangsschritte wieder,
die durch die Logikzustandsmaschine 520 unternommen werden.
Beginnend mit der Initialisierungsprozedur bei einem Schritt 600 beginnt
der logische Fluss mit einer Netz-EIN-Bedingung bei 602,
dann einer kurzen Warteperiode, die benötigt wird, damit die Phasenregelschleife
mit ihrer Anfangsbetriebsfrequenz verrastet, bei einem Schritt 604.
Dieser Warteschritt 604 kann zwei unterschiedliche Formen
annehmen: (1) die Zustandsmaschine kann eine ziemlich langandauernde
Zeitperiode warten, nach der garantiert ist, dass die PLL verrastet
ist, oder (2) wenn ein Hardwareausgangssignal von einer speziellen
PLL-Schaltung verfügbar
ist, zeigt dieses Signal an, wenn die verrastete Bedingung vorhanden
ist.
-
Bei
einem Schritt 606 werden gewisse Bereiche im RAM mit geeigneten
Werten initialisiert. Nachdem dies geschehen ist, zählt ein
Schritt 608 eine spezielle Anzahl von Profilübergängen, die
z.B. in 9 bei ungefähr den Intervallen 64, 128, 192 und 256 auftreten.
Bei einem Schritt 610 wird die Zählung dekodiert (im Wesentlichen
durch die Dekodierschaltung 506). Nachdem dies geschehen
ist, zeigt ein Schritt 612 sequenziell zu den Registern
R1, R2 und R3 (d.h. den Registern 511–513), und während dies
geschieht, wird der Modus unter Verwendung des Modus-Steuersignals 532 gesetzt.
Dieser Modus ermöglicht
natürlich,
dass Daten in den Registern R1, R2 und R3 akkumuliert werden.
-
Bei
einem Schritt 614 wartet die Logikzustandsmaschine darauf,
dass eine vorbestimmte Anzahl von Profilen auftritt, währenddessen
die Register R1, R2 und R3 mit Daten bei einem Schritt 616 gefüllt werden. Nachdem
dies geschehen ist, lenkt ein Schritt 618 den logischen
Fluss zu einem Buchstaben "B" in 12. Es
sollte angemerkt werden, dass diese Prozedur während des Betriebs der PLL
in dem Spread-Spektrum-Taktgenerator immer wieder befolgt wird und
gewisse dieser "Initialisierungs"-Schritte wiederholt
werden, beginnend mit dem Schritt 608, wie durch den ankommenden
logischen Fluss angezeigt, der von einem Buchstaben "D" in 14 zurückkehrt.
Die Funktionen von diesen Schritten in 11 entsprechen
im Wesentlichen den ersten neun Schritten des Rechnerprogramms,
das vorstehend bereitgestellt wird.
-
Mit
Bezug auf 12 wird, beginnend bei "B", der logische Fluss bei 620 zu
einem "Schleifen"-Anzeiger gelenkt,
der dann den logischen Fluss zu einem Entscheidungsschritt 622 lenkt,
wo es bestimmt wird, ob die Variable LAST_CLK gleich Null (0) ist
und ob die Variable CLK gleich eins (1) ist und ob die Variable UP_CLK_PERIOD
ungleich Null (0) ist und ob die Variable DOWN_CLK_PERIOD ungleich
Null (0) ist. Wenn die Antwort am Entscheidungsschritt 622 JA
ist (für
sämtliche
dieser obigen Bedingungen), hält
ein Schritt 624 die Logik zustandsmaschine an, und ein Schritt 626 führt eine
Berechnung aus. Bei Schritt 626 wird die Variable TARGET_FRACTION
mit der Variablen UP_CLK_PERIOD multipliziert, und das Ergebnis
wird in eine Variable mit dem Namen TARGET_REMAINDER platziert.
Nachdem diese Berechnung bei Schritt 626 ausgeführt ist, wird
eine Reihe von logischen Entscheidungen getroffen, die entweder
zu einer Abnahme oder Zunahme des Ladungspumpenstroms führen. Diese
Schritte werden in größerer Einzelheit
unten erörtert.
-
Indem
man zum Entscheidungsschritt 622 zurückkehrt, bestimmt, wenn das
Ergebnis NEIN war, ein Entscheidungsschritt 640, ob die
Variable UP gleich Null (0) ist und die Variable UP_CLK gleich Null
(0) ist und die Variable UP_REMAINDER gleich Null (0) ist. Wenn
die Antwort JA (für
sämtliche
diese obigen Bedingungen) ist, dann lädt ein Schritt 642 den
Wert der Variablen CLK_COUNT in die Variable UP_CLK, und der Wert der
Variablen CLK_PERIOD wird in die Variable UP_REMAINDER geladen.
-
Der
logische Fluss wird nun von sowohl dem Schritt 642 als
auch von dem NEIN-Ergebnis des Entscheidungsschritts 640 zu
einem Entscheidungsschritt 644 gelenkt. Beim Entscheidungsschritt 644 wird
es bestimmt, ob das ABWÄRTS-Signal
gleich Null (0) ist und ob die Variable DOWN_CLK gleich Null (0)
ist und ob die Variable DOWN_REMAINDER auch gleich Null (0) ist.
Wenn die Antwort für
alle diese Bedingungen JA ist, dann lädt ein Schritt 646 die
Inhalte der Variablen CLK_COUNT in eine Variable DOWN_CLK, und der
Wert der Variablen CLK_PERIOD wird in eine Variable DOWN_REMAINDER
geladen. Sobald dies ausgeführt
worden ist, wird der logische Fluss von sowohl dem Schritt 646 als
auch von dem NEIN-Ergebnis des Entscheidungsblocks 644 zum
Buchstaben "A" gelenkt.
-
Es
sollte angemerkt werden, dass der Entscheidungsschritt 622 im
Wesentlichen derselbe wie Zeile 10 des obige Rechnerprogramms ist,
der Entscheidungsschritt 640 im Wesentlichen derselbe wie
Zeile 11 des Rechnerprogramms ist, und der Entscheidungsschritt 644 im
Wesentlichen derselbe wie Zeile 12 des Rechnerprogramms ist.
-
Der
logische Fluss setzt sich in 13 vom
Buchstaben "A" fort und wird zu
einem Entscheidungsschritt 650 gelenkt, wo es bestimmt
wird, ob die Variable UP_CLK ungleich Null (0) ist oder die Variable UP_REMAINDER
ungleich Null (0) ist, und diese Größe wird logisch damit durch
UND verknüpft,
ob die Variable LAST_CLK gleich Null (0) ist und das CLK-Signal
gleich eins (1) ist oder nicht. Wenn die Antwort für alle diese
Bedingungen JA ist, dann lädt
ein Schritt 652 den Wert der Variablen CLK_PERIOD in die
Variable UP_CLK_PERIOD. Der logische Fluss wird von sowohl dem Schritt 652 als
auch dem NEIN-Ergebnis des Entscheidungsschritts 650 nun
zu einem Entscheidungsschritt 654 gelenkt.
-
Bei
dem Entscheidungsschritt 654 wird es bestimmt, ob die Variable
DOWN_CLK ungleich Null (0) ist oder die Variable DOWN_REMAINDER
ungleich Null (0) ist, und diese Größe wird logisch damit durch
UND verknüpft,
ob die Variable LAST_CLK gleich Null (0) ist und ob das CLK-Signal
gleich eins (1) ist. Wenn die Antwort für alle diese Bedingungen JA
ist, dann lädt
ein Schritt 656 den aktuellen Wert der Variablen CLK_PERIOD
in die Variable DOWN_CLK_PERIOD. Der logische Fluss wird nun von
sowohl dem Schritt 656 als auch dem NEIN-Ergebnis des Entscheidungsschritts 654 zu
einem Entscheidungsschritt 660 gelenkt.
-
Der
Entscheidungsschritt 660 bestimmt, ob die Variable LAST_CLK
gleich Null (0) ist und ob das CLK-Signal gleich eins (1) ist. Wenn
die Antwort JA ist, inkrementiert ein Schritt 662 die Variable
CLK_COUNT und setzt die Variable CLK_PERIOD auf Null (0). Wenn das
Ergebnis bei 660 NEIN ist, inkrementiert ein Schritt 664 die
CLK_PERIOD-Variable, aber tut sonst nichts.
-
Der
logische Fluss wird nun von sowohl den Schritten 662 als
auch 664 zu einem Schritt 666 gelenkt, der alle
drei Register R1, R2 und R3 nach links verschiebt. Nachdem dies
geschehen ist, geht ein Schritt 668 zurück zu dem "Schleifen"-Schritt, der beim Buchstaben "B" sowohl in 13 als
auch in 12 angeordnet ist.
-
Der
Entscheidungsschritt 650 führt im Wesentlichen die Funktion
der Zeile 13A des obigen Rechnerprogramms aus, und der Entscheidungsschritt 654 führt im Wesentlichen
die Zeile 13 des obigen Rechnerprogramms aus. Der Entscheidungsschritt 660 führt im Wesentlichen
die Zeile 14 des obigen Rechnerprogramms aus.
-
Indem
man nun zu 12 zurückkehrt, wird der logische
Fluss vom Schritt 626 zu einem Entscheidungsschritt 630 gelenkt,
wo es bestimmt wird, ob die Variable TARGET_CLK größer als
die Variable UP_CLK ist. Dies ist im Wesentlichen dasselbe wie die
Zeile 30 des obigen Rechnerprogramms. Wenn die Antwort JA ist, wird
der AUFWÄRTS-Ladungspumpenstrom
um eins (1) bei einem Schritt 632 verringert. Sobald dies
geschieht, wird der logische Fluss zum Buchstaben "D" gelenkt, der den logischen Fluss zurück zum Schritt 608 in 11 nimmt.
-
Wenn
das Ergebnis für
den Entscheidungsschritt 630 NEIN ist, dann bestimmt ein
Entscheidungsschritt 634, ob die Variable TARGET_CLK kleiner
als die Variable UP_CLK ist. Wenn die Antwort JA ist, dann wird
der AUFWÄRTS-Ladungspumpenstrom
bei einem Schritt 636 um eins (1) erhöht, und der logische Fluss wird
zum Buchstaben "D" gelenkt. Wenn das
Ergebnis für
den Entscheidungsschritt 634 NEIN ist, dann wird der logische
Fluss zum Buchstaben "C" gelenkt, der den
logischen Fluss hinüber
zu 14 lenkt. Der Entscheidungsschritt 634 führt im Wesentlichen
dieselbe Funktion wie die Zeile 31 des obigen Rechnerprogramms aus.
-
Beginnend
beim Buchstaben "C" in 14 bestimmt
ein Entscheidungsschritt 670, ob die Variable TARGET_REMAINDER
größer als
die Variable UP_REMAINDER ist. Wenn die Antwort JA ist, dann wird
der AUFWÄRTS-Ladungspumpenstrom
bei einem Schritt 672 um eins (1) verringert, wonach der
logische Fluss zum Buchstaben "D" gelenkt wird. Wenn
die Antwort bei dem Entscheidungsschritt 670 NEIN ist,
dann bestimmt ein Entscheidungsschritt 674, ob die TARGET_REMAINDER-Variable
kleiner als die UP_REMAINDER-Variable ist. Wenn die Antwort JA ist,
dann wird der AUFWÄRTS-Ladungspumpenstrom
bei einem Schritt 676 um eins (1) erhöht. Nachdem dies geschehen
ist, wird der logische Fluss nach "D" gelenkt. Es
sollte angemerkt werden, dass der Entscheidungsschritt 670 im
Wesentlichen derselbe wie die Funktion der Zeile 32 des obigen Rechnerprogramms
ist und die Funktion des Entscheidungsschritts 674 im Wesentlichen
dieselbe wie die Zeile 33 des obigen Rechnerprogramms ist .
-
Wenn
das Ergebnis beim Entscheidungsschritt 674 NEIN war, bestimmt
ein Entscheidungsschritt 680, ob die Variable TARGET_CLK
größer als
die Variable DOWN_CLK ist. Wenn die Antwort JA ist, wird der ABWÄRTS-Ladungspumpenstrom
bei einem Schritt 682 um eins (1) verringert. Nachdem dies
geschehen ist, wird der logische Fluss zum Buchstaben "D" gelenkt. Wenn die Antwort NEIN ist,
dann wird der logische Fluss zu einem Entscheidungsschritt 684 gelenkt.
-
Beim
Entscheidungsschritt 684 wird es bestimmt, ob die Variable
TARGET_CLK kleiner als die Variable DOWN_CLK ist. Wenn die Antwort
JA ist, dann wird der ABWÄRTS-Ladungspumpenstrom
bei einem Schritt 686 um eins (1) erhöht. Der logische Fluss wird
dann zum Buchstaben "D" gelenkt. Wenn die
Antwort beim Entscheidungsschritt 684 NEIN ist, wird der
logische Fluss zu einem Entscheidungsschritt 690 gelenkt.
-
Beim
Entscheidungsschritt 690 wird es bestimmt, ob die Variable
TARGET_REMAINDER größer als die
Variable DOWN_REMAINDER ist. Wenn die Antwort JA ist, dann wird
der ABWÄRTS-Ladungspumpenstrom
bei einem Schritt 692 um eins (1) verringert. Der logische
Fluss wird dann zum Buchstaben "D" gelenkt. Wenn die
Antwort beim Entscheidungsschritt 690 NEIN ist, wird der
logische Fluss zu einem Entscheidungsschritt 694 gelenkt.
-
Beim
Entscheidungsschritt 694 wird es bestimmt, ob die Variable
TARGET_REMAINDER kleiner als die Variable DOWN_REMAINDER ist. Wenn
die Antwort JA ist, wird der ABWÄRTS-Ladungspumpenstrom
bei einem Schritt 696 um eins (1) erhöht, und der logische Fluss
wird dann zum Buchstaben "D" gelenkt. Wenn die
Antwort NEIN ist, dann wird der logische Fluss sofort zum Buchstaben "D" gelenkt, der den logischen Fluss zurück zum Schritt 608 in 11 lenkt.
-
Wenn
man versucht, die Flussdiagramme der 11–14 mit
dem vorstehend angeführten
Rechnerprogramm zu vergleichen, ist es wichtig, festzustellen, dass
ein Teil der Initialisierungsprozedur, die bei Schritt 600 in 11 startet,
beinhaltet, dass gewisse Variablen mit Anfangswerten versehen werden.
Einige von den Variablen, denen vorbestimmte Werte gegeben werden,
umfassen: UP_CLK, UP_REMAINDER, UP_CLK_PERIOD, TARGET_CLK und TARGET_FRACTION.
Zusätzlich
wird es bevorzugt, dass die Berechnung des TARGET_REMAINDER bei
Schritt 626 in 12 zu
einer ganzen Zahl führt,
und sein Wert, wie er berechnet wird, wird vorzugsweise auf die
nächste
Ganzzahl gerundet.
-
Es
sollte auch angemerkt werden, dass die Zeilen 30–33 auf dem oben angegebenen
Rechnerprogramm im Wesentlichen Kommentare sind, die sich auf einige
der Funktionen beziehen, die in den Zeilen 10–16 auftreten.
-
Es
sollte auch angemerkt werden, dass, wenn der AUFWÄRTS-Ladungspumpenstrom
und der ABWÄRTS-Ladungspumpenstrom
für eine
gegebene Ladungspumpenschaltung symmetrisch sind, dann die in dem
Flussdiagramm der 11–14 beschriebenen
Schritte, die entweder einen "AUFWÄRTS"-Ladungspumpenstrom
oder einen "ABWÄRTS"-Ladungspumpenstrom
erhöhen
oder verringern, zur Hälfte
der logischen Entscheidungen vereinigt werden könnten, da ein Anstieg in einem
symmetrischen Ladungspumpenstrom dasselbe Ergebnis für beide
AUFWÄRTS
oder ABWÄRTS
erzielt.
-
Es
versteht sich, dass die Prinzipien der vorliegenden Erfindung auf
jegliche Form eines Spread-Spektrum-Profils angewandt werden können und
nicht nur auf das bevorzugte Spread-Spektrum-Profil, das ziemlich "mit Peaks versehen
ist", wie in 8 offenbart.
In einer Sachlage, wo eine sinusförmige Modulation als das Spread-Spektrum-Profil
vorzuziehen ist, weist dann das resultierende Fehlerprofil das Aussehen
des Graphen 700 auf, der in 15 veranschaulicht
ist. Z.B., wenn das PLL-System mit seiner nominalen Verstärkung arbeitet,
dann ist die AUFWÄRTS-
und ABWÄRTS-Fehlerzeit über eine
einzelne Periode des sinusförmigen Spread-Spektrum-Profils,
das 128 separate Intervalle (wie oben beschrieben) aufweist, durch
die ziemlich gezackte Kurve 702 gegeben. Es kann aus 15 entnommen
werden, dass das Fehlerprofil auch etwas von einer sinusförmige Form
aufweist.
-
Wenn
die PLL-Schaltung eine Verstärkung
zeigt, die etwa 30% über
nominal ist, dann ergibt sich die gezackte Kurve 704 in 15.
Es kann aus dem Graphen 700 entnommen werden, dass ein
Anstieg in der Verstärkung
zu AUFWÄRTS-
und ABWÄRTS-Impulsbreitenzeitdauern
führt,
die etwas geringer sind als die resultierenden Impulsbreitenzeitdauern,
wenn sich die Verstärkung
bei ihrem nominalen Wert befindet. In diesem Sinus-Beispiel ergibt
es sich, dass die maximale Abweichung zwischen der nominalen Verstärkungskurve 702 und
der +30%-Verstärkungskurve 704 in
der Nähe
der maximalen Impulsbreitenzeitabläufe auftritt, sowohl in der
positiven als auch negativen Richtung (d.h. in Bezug zur Y-Achse
des Graphen 700). Z.B. wird bei ungefähr dem Profilintervall fünfzehn (15)
die Abweichung zwischen der nominalen Verstärkungskurve 702 und
der +30%-Verstärkungskurve 704 beim "Fehler"-Wert, der mit "E5" bezeichnet ist,
angezeigt. Ähnlich
wird bei ungefähr
dem Profilintervall fünfundsiebzig
(75) die Fehlerabweichung zwischen diesen zwei Kurven mit "E7" bezeichnet. 16 veranschaulicht
eine auseinandergezogene Skala, um die verschiedenen Kurven und
Fehlerabweichungsbezeichnungen zwischen den Profilintervallen im
Bereich von 51–101
leichter zu sehen, wie durch den Kreis 710 in 15 angezeigt.
-
Eine
verhältnismäßig große Abweichung
zwischen der nominalen Verstärkungskurve 702 und
der –30%-Verstärkungskurve 706 tritt
auch in der Nähe
der maximalen AUFWÄRTS-
und ABWÄRTS-Impulsbreitenzeitdauern
auf, die auch um das Profilintervall fünfzehn (15) und das Profilintervall
fünfundsiebzig
(75) in 15 auftreten. Diese verhältnismäßig großen Abweichungen
zwischen den Kurven 702 und 706 sind in 15 durch
die Fehlerbezeichnungen "E6" und "E8" veranschaulicht.
Wie 15 entnommen werden kann, nehmen, wenn die effektive
PLL-Verstärkung von
der nominalen Verstärkung
abnimmt, die AUFWÄRTS-
und ABWÄRTS-Impulsbreitenzeitdauern
zu.
-
16 liefert
eine auseinandergezogene Ansicht der AUFWÄRTS- und ABWÄRTS-Fehlerzeiten
des Graphen 700, wie durch den Kreis 710 angezeigt.
Wie in dem vorherigen Abschnitt erörtert, treten die Fehlerbezeichnungen
E7 und E8 beide in der Nähe
des Profilintervalls 75 auf, welche Kurven eine verhältnismäßig große Fehlerabweichung
bei diesen Intervallstellen zeigen.
-
Aus
diesem Sinus-Beispiel der 15 und 16 kann
entnommen werden, dass die größten Fehlerabweichungen
bei den größten Zeitdauern
der Impulsbreiten für
die AUFWÄRTS-
und ABWÄRTS-Signale auftreten.
Hinsichtlich dieser Tatsache könnte
die Verzögerungskette 300 verwendet
werden, um die akkumulierten maximalen (oder "Peak")-Impulsbreiten
für diese Signale
zu erfassen.
-
Es
versteht sich, dass der Spread-Spektrum-Taktgenerator der vorliegenden
Erfindung verwendet werden könnte,
um einen beliebigen Bereich von Frequenzen bei seinem Ausgang 136 zu
erzeugen, ohne dass man von den Prinzipien der vorliegenden Erfindung
abweicht. Es kann effizienter sein, einen gewissen Frequenzbereich
für das
Spread-Spektrum-Profil durch Verwendung einer externen Quarz/Oszillator-Schaltung
zu erzeugen, die eine spezielle Frequenz erzeugt, jedoch besteht
der wichtigste Aspekt beim Wählen
von Komponenten darin, einen externen Takt zu verwenden, der einen
sehr stabilen Frequenzausgang aufweist, wobei der Schaltungsentwickler
von der Genauigkeit dieses Takts in der aktuellen Zeit pro Periode
dieser Wellenform abhängen
kann. Ein anderer kritischer Faktor ist in Sachlagen bemerkbar,
wo ein ASIC für
die Logikgatter verwendet wird, die die Verzögerungskette bilden. Es ist
wichtig, dass die ASIC-Logikgatter alle auf einem einzigen Substrat
angeordnet sind, so dass ihre tatsächlichen Ausbreitungsverzögerungszeiten
von einem Verzögerungsgatterelement
zum nächsten
verhältnismäßig gleich
sind. Es ist viel weniger wichtig, dass diese Ausbreitungsverzögerungszeitabläufe genau
sind, da die vorliegende Erfindung diese Verzögerungsgatter durch Verwendung
des sehr genauen externen Takts leicht kalibrieren kann.
-
Es
versteht sich weiter, dass die Prinzipien der vorliegenden Erfindung
mit jeglichem Typ von modulierter Wellenform für das Spread-Spektrum-Profil
arbeiten, nicht nur einschließlich
eines sinusförmigen
Profils, sondern einschließlich
eines sehr glatten Profils oder eines gezackten oder "mit Peaks versehenen" Profils, das natürlich die
bevorzugte Ausführungsform
der vorliegenden Erfindung ist.