PatentDe  


Dokumentenidentifikation DE69930790T2 12.04.2007
EP-Veröffentlichungsnummer 0000975094
Titel Synchrone Steuervorrichtung und Verfahren dafür
Anmelder Yamaha Corp., Hamamatsu, Shizuoka, JP
Erfinder Inoue, Kinya, Hamamatsu-shi, Shizuoka-ken, JP;
Toshitani, Masafumi, Hamamatsu-shi, Shizuoka-ken, JP;
Koseki, Hitoshi, Hamamatsu-shi, Shizuoka-ken, JP
Vertreter WAGNER & GEYER Partnerschaft Patent- und Rechtsanwälte, 80538 München
DE-Aktenzeichen 69930790
Vertragsstaaten DE, FR, GB
Sprache des Dokument EN
EP-Anmeldetag 23.07.1999
EP-Aktenzeichen 991145376
EP-Offenlegungsdatum 26.01.2000
EP date of grant 12.04.2006
Veröffentlichungstag im Patentblatt 12.04.2007
IPC-Hauptklasse H03L 7/085(2006.01)A, F, I, 20051017, B, H, EP
IPC-Nebenklasse H03L 7/099(2006.01)A, L, I, 20051017, B, H, EP   H04J 3/06(2006.01)A, L, I, 20051017, B, H, EP   

Beschreibung[de]
Gebiet der Erfindung

Die vorliegende Erfindung bezieht sich auf eine synchrone Steuervorrichtung und Verfahren zur Erzeugung eines Ausgangssignals einer Frequenz im Synchronismus mit Daten, die von einer externen Vorrichtung empfangen werden.

Stand der Technik

Konventionell ist eine PLL-Schaltung (Phasen-verriegelte Schleifen-Schaltung) als Mittel zur Erzeugung von einem Ausgangssignal einer Frequenz im Synchronismus mit einem Eingangssignal bekannt. Eine allgemeine PPL-Schaltung umfasst prinzipiell einen Phasenkomparator, der die Phase des Eingangssignals mit der des Ausgangssignals (wie zum Beispiel ein reproduziertes Taktsignal) vergleicht, ein Schleifenfilter, das den Ausgang des Komparators glättet und einen VCO (spannungsgesteuerten Oszillator), der ein reproduziertes Taktsignal erzeugt, dessen Frequenz abhängig von dem Ausgang des Schleifenfilters variiert. In dem Fall, in dem das Sampling-Taktsignal von 44,1 kHz von einem Eingangssignal von 1 kHz reproduziert wird, so dass das Sampling-Taktsignal in einer Phase mit dem Eingangssignal ist, muss zum Beispiel eine Frequenzteilerschaltung in einem Rückkopplungspfad, der zur Komparatorphase führt, vorhanden sein, um die Frequenz (44 kHz) des zu reproduzierenden Taktsignals auf 1 kHz zu erniedrigen.

Bei der konventionellen PLL-Schaltung müssen dennoch all ihre Komponenten oder Elemente physisch durch den Gebrauch von Hardware hergestellt werden und deshalb steigt die Anzahl der Komponenten, die in dieser Schaltung verwendet werden insbesondere mit einem Anstieg der Anzahl von Stufen des Frequenzteilers (Frequenzteilerverhältnis), was eine recht komplizierte Schaltungskonfiguration ergibt. Zusätzlich hängt das Pull-in- oder Anzugsansprechverhalten (Ansprechverhalten auf ein Eingangssignal) der konventionellen PPL-Schaltung von der Zeitkonstante des Schleifenfilters ab, und, weil die Zeitkonstante nicht leicht geändert werden kann, dauert es, das Eingangssignal einzuziehen oder zu erfassen (d.h. Eingangssignalbearbeitung), wenn sich die Frequenz des Eingangssignals erheblich von der des Ausgangssignals unterscheidet. Des weiteren ist die PLL-Schaltung nicht in der Lage, flexibel mit den Eingangs- und Ausgangssignalen, die unterschiedliche Frequenzverhältnisse haben, umzugehen, weil die Schaltungskomponenten in die konventionelle (PLL-) Schaltung unter der Annahme eines bestimmten Eingangs-/Ausgangs-Frequenzverhältnis eingebaut sind.

US-A-5,390,180 bezieht sich im allgemeinen auf eine Vorrichtung zum Empfang eines Eingangsstroms einer SONET (Synchronous Optical NETwork = synchrones optisches Netzwerk)-Ladungsumhüllenden (SONET payload envelope = SPE) und, noch genauer, auf eine Mikrosteuerung oder einen Mikrocontroller zur Steuerung einer Schaltung, die einen desychronisierten Takt zur Verfügung stellt, um die Rate, mit der DS-N-Daten von einem Datenpuffer erhalten werden, gleichmäßig oder weich auf eine Rate anzupassen, mit der die ankommenden SONET-Daten in dem Datenpuffer gespeichert werden. Ein Mikrocontrollerempfängt als Eingaben Daten ein Abgleich- oder Offset-Signal OFFSET von einem Pufferabgleichregister und ein Erneuerungs- oder Update-Signal UPDATE von einem Steuerschleifenzeitregler oder -timer zur Bereitstellung eines Abstimmungswortsignals. Der Mikrocontroller implementiert in die Firmware die Logik zur Erzeugung des Abstimmungswort- oder Frequenzanpassungssignals zur Steuerung einer DDS-Schaltung. Drei Implementierungen sind verfügbar, nämlich eine lineare Steuerung (controller), eine nichtlineare Steuerung (controller) und eine Fuzzy-Logic-Steuerung (controller). Das dritte Implementierungsverfahren bezieht sich auf eine Fuzzy-Logic-Steuerung. Wie in den vorherigen zwei Implementierungen werden der Abgleich- oder Offset-Durchschnitt und die Durchschnittssteigung (d.h. die Änderungsrate) berechnet. Bei der Fuzzy-Logic-Implementierung werden diese Werte als Entscheidungsvariablen bezeichnet. Als nächstes werden die Entscheidungsvariablen in ihre zugehörigen Fuzzy-Sätze oder Fuzzy-Sets klassifiziert, entsprechend dem Grad, in dem sie von den Zielwerten abweichen. Das heißt, die Entscheidungsvariablen werden in einen der Fuzzy-Sätze klassifiziert. Praktisch bedeutet dies, dass die Fuzzy-Sätze einen einfachen Weg darstellen, zum Ausdruck zu bringen, wieviele Daten gerade in dem Puffer gespeichert sind. Schließlich wird das neu berechnete Abstimmungswort auf die DDS-Schaltung angewendet. Wenn der Puffer-Offset bei null oder sehr nahe bei null bleibt, wird die Frequenz des Desynchronisierungstakts DSCLK als passend zu der Linien- oder Leitungsrate der Signalquelle am weit entfernten Ende betrachtet.

WO-A-98 28849 bezieht sich auf eine digitalen Phasen-verriegelten Schleife (PLL), die Folgendes aufweist: einen numerisch gesteuerten Oszillator, der so angepasst ist, dass er ein Taktsignal erzeugt, indem er eine Systemtaktfrequenz durch einen Faktor teilt, der durch ein Steuerungswort bestimmt wird, und einen Phasendetektor, der in der Lage ist, dass er das Steuerungswort ansprechend auf einen Phasenunterschied zwischen dem Taktsignal und einem externen Referenzsignal erzeugt, so dass das Steuerungswort einen nominalen Wert annimmt, wenn die Phasendifferenz numerisch kleiner ist ein im voraus vergebener Wert, und es einen oder mehrere Werte annehmen kann, wenn der Phasenunterschied numerisch größer ist als der vorgegebene Wert. Eine digitale Phasen-verriegelte Schleife ist vorgesehen, bei der die Größe der genannten Frequenzsprünge erheblich reduziert werden kann und bei der die Schleife gleichzeitig durch den exklusiven Gebrauch von digitalen Komponenten implementiert werden kann.

US-A-4,941,156 bezieht sich auf eine Schwankungs- oder Jitterdämpfungsschaltung. Genauer gesagt offenbart dieses Dokument einen FIFO, der Daten empfängt, die mit einem Schreibtakt synchronisiert sind und Daten im Synchronismus mit einem Lesetakt ausgibt. Der Lesetakt ist mit dem Schreibtakt durch eine Phasen-verriegelte Schleife synchronisiert. Die Phasen-verriegelte Schleife enthält einen digital gesteuerten linearen Oszillator, wobei der Phasendetektor eine quantifizierte Ausgabe zur Verfügung stellt, um den digital gesteuerten Oszillator in der Frequenz höher oder niedriger werden zu lassen, um dem Schreibtakt zu folgen, während Schwankungen oder Jitter gedämpft werden.

US-A-5, 510,386 bezieht sich auf Telefonübertragungsleitungsschnittstellenschaltungen, und genauer auf Taktmultiplizierer-/Schwankungsdämpfungsschaltungen, die in solchen Schnittstellenschaltungen verwendet werden. Eine Taktmultiplizierer-/Schwankungsdämpfungsschaltung für eine Sendeschaltung für eine digitalen Übertragungsleitung ist vorgesehen, die eine mehrfache Taktfrequenz der Datenübertragungsrate vorsieht und die auf die Durchschnittsfrequenz des eingehenden Datenkanals synchronisiert wird und die auch fast vollständig auf einem einzigen IC-Chip hergestellt werden kann. Sechzehn Speicherzellen sind als FIFO-Registerpositionen 1–16 gezeigt. Der Lesezeiger ist bei dem Übergang zwischen der FIFO-Register-Position 8 und der FIFO-Register-Position 9 gezeigt. Diese Position kommt zustande, wenn der Test durchgeführt wird, um zu bestimmen, ob der Schreibzeiger die ersten 8 Speicherzellen oder die zweiten 8 Speicherzellen adressiert.

ZUSAMMENFASSUNG DER ERFINDUNG

Ziel der vorliegenden Erfindung ist es deshalb, ein Verfahren zur Steuerung einer synchronen Steuervorrichtung zur Verfügung zu stellen, die eine einfache Schaltungskonfiguration besitzt und eine ausreichend hohe Einzugsgeschwindigkeit garantiert, und die in der Lage ist, Eingangs- und Ausgangssignale mit unterschiedlichen Frequenzverhältnissen flexibel zu handhaben.

Um dieses Ziel zu erreichen, sieht die vorliegende Erfindung ein Verfahren zur Steuerung einer synchronen Steuervorrichtung vor, wie es in Anspruch 1 beschrieben ist. Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung ergeben sich aus den Unteransprüchen.

Bei dem Verfahren der vorliegenden Erfindung überprüft die Steuervorrichtung, während die Datenspeichervorrichtung Daten in Übereinstimmung mit dem Ausgang des digitalen Oszillators mit variabler Frequenz ausgibt, die Datenmenge, die in der Speichervorrichtung nach dem Eingang von jedem Impuls eines externen Eingangszeitsignals übrig bleibt, woraufhin Synchronisierungsoperationen ausgeführt werden. Die Steuervorrichtung errechnet einen neuen Wert der Frequenzsteuervariable, wobei die Ausgangsfrequenz des digitalen Oszillators mit variabler Frequenz davon abhängig ist, und zwar basierend auf einem Unterschied zwischen der überprüften oder detektierten restlichen Datenmenge der Datenspeichervorrichtung und einer Zieldatenmenge. Vorzugsweise wird nach der Durchführung einer Filteroperation an Werten der Frequenzsteuervariablen, um einen Durchschnittswert der Frequenzsteuervariablen zu erhalten, ein neuer Wert der Frequenzsteuervariablen berechnet, und zwar basierend auf dem berechneten Durchschnittswert und der Differenz zwischen der überprüften oder detektierten restlichen Datenmenge der Datenspeichervorrichtung und einer Zieldatenmenge. Basierend auf dieser so errechneten Frequenzsteuervariablen steuert die Steuervorrichtung die Ausgangsfrequenz des digitalen Oszillators mit variabler Frequenz, um die Differenz zwischen der restlichen Datenmenge der Datenspeichervorrichtung und der Zieldatenmenge zu reduzieren oder minimieren.

Gemäß der vorliegenden Erfindung können deshalb die Überprüfung oder das Detektieren der restlichen Datenmenge, die Berechnung des Unterschiedes zwischen der detektierten restlichen Datenmenge und der Zieldatenmenge, die Filteroperation und die Berechnung der Steuervariablen des digitalen Oszillators mit variabler Frequenz alle durch Software realisiert werden, und folglich kann die benötigte Anzahl an Komponenten erheblich reduziert werden. Zusätzlich kann eine Variation oder Abweichung der Ausgangsfrequenz des digitalen Oszillators mit variabler Frequenz in eine entweder positive oder negative Richtung direkt erhalten werden, basierend auf der Differenz zwischen der restlichen Datenmenge und der Zieldatenmenge, was somit der Vorrichtung erlaubt, eine schnelle Frequenzeinzugsoperation zu erreichen, um die Abweichung zu minimieren oder zu absorbieren. Des weiteren wird gemäß der vorliegenden Erfindung die Filteroperation durchgeführt zur Berechnung der Frequenzsteuervariablen, was hinsichtlich der Stabilisierung des Schaltungssystems vorteilhaft ist.

Weiter kann der Wert der Frequenzsteuervariablen durch eine Kurve zweiter oder höherer Ordnung berechnet werden, die den Bezug zwischen der Frequenzsteuervariablen und der Differenz zwischen der restlichen Datenmenge und der Zieldatenmenge repräsentiert. In diesem Fall wird die Einzugsansprechgeschwindigkeit (Ansprechverhalten auf das Eingangssignal) weiter verbessert. Zusätzlich ist die Steuervorrichtung vorzugsweise daran gehindert, den Wert der Frequenzsteuervariablen zu ändern, wenn sich die Differenz zwischen der restlichen Datenmenge und der Zieldatenmenge in einem vorbestimmten zulässigen Fluktuationsbereich befindet. Mit dieser Anordnung kann die Variation von Frequenzkomponenten, die durch Schwankungen oder Jitter der eingegebenen Daten zustande kommt, in eine Niedrigfrequenzregion außerhalb des hörbaren Frequenzbereiches gebracht werden, was verbesserte Audioeigenschaften gewährleistet.

Die oben genannten und andere Ziele, Merkmale und Vorteile der Erfindung werden durch die folgende detaillierte Beschreibung zusammen mit den beiliegenden Zeichnungen noch deutlicher werden.

KURZE BESCHREIBUNG DER ZEICHNUNGEN

1 ist eine Ansicht, die ein System zeigt, das eine synchrone Steuerschaltung umfasst, die gemäß einem Ausführungsbeispiel der vorliegenden Erfindung aufgebaut ist;

2 ist ein Blockdiagramm, das die Konfiguration der Steuerschaltung von 1 zeigt;

3 ist ein Zeitablaufdiagramm, das die Eingangsdaten und ein SYNC-Signal zeigt, die von der synchronen Steuerschaltung von 2 empfangen werden;

4 ist eine Ansicht, die die Beziehung zwischen der restlichen Datenmenge in einem FIFO der synchronen Steuerschaltung und verschiedenen voreingestellten Werten zeigt;

5 ist ein Flussdiagramm, das eine Unterbrechungsroutine zeigt, die ausgeführt wird, wenn eine synchrone Steuerschaltung das SYNC-Signal empfängt;

6 ist ein Flussdiagramm, das eine Synchronisierungsoperation zeigt, die in einem „Run Ave SYNC"-Modus in Schritt S2 der Routine von 5 durchgeführt wird;

7 ist eine Ansicht, die ein Beispiel der Tabelle zeigt, die in der Routine von 6 verwendet wird;

8A und 8B sind Schaubilder, die für die Erklärung des Effekts der Routine von 6 nützlich sind;

9A und 9B sind Schaubilder, die für die Erklärung des Effekts der Routine von 6 nützlich sind;

10A und 10B sind Schaubilder, die für die Erklärung des Effekts der Routine von 6 nützlich sind, wobei 10A die Teilerwerte zeigt, die verwendet werden, wenn ein Sampling-Signal erzeugt wird mit Bezug auf die Rahmenzeit, und 10B zeigt die restliche Datenmenge TxByte des FIFO mit Bezug auf die Rahmenzeit;

11 ist ein Flussdiagramm, das eine Verriegelungsdetektionsroutine zeigt, die in Schritt S15 der Steuerungsroutine von 6 ausgeführt wird;

12 ist ein Flussdiagramm, das eine Synchronisierungsoperation zeigt, die in einem „UP/DOWN SYNC"-Modus in Schritt S3 der Routine von 5 durchgeführt wird;

13A und 13B sind Schaubilder, die für die Erklärung des Effekts der Routine von 12 nützlich sind, wobei 13A Teilerwerte zeigt, die für die Erzeugung von Sampling-Signalen verwendet werden mit Bezug auf den Zeitrahmen, und 13B zeigt die restliche Datenmenge TxByte des FIFO mit Bezug auf den Zeitrahmen; und

14A und 14B sind Schaubilder, die für die Erklärung des Effekts der Routine von 12 nützlich sind, wobei 14A Teilerwerte zeigt, die für die Erzeugung von Sampling-Signalen verwendet werden mit Bezug auf den Zeitrahmen, und 14B zeigt die restliche Datenmenge TxByte des FIFO mit Bezug auf den Zeitrahmen.

DETAILLIERTE BESCHREIBUNG DES AUSFÜHRUNGSBEISPIELS

Die vorliegende Erfindung wird detailliert beschrieben mit Bezug auf die beiliegenden Zeichnungen, die eine bevorzugte Ausführung hiervon zeigen.

1 illustriert ein Beispiel von Systemen, die eine synchrone Steuerschaltung verwendet, die gemäß einem Ausführungsbeispiel der vorliegenden Erfindung aufgebaut ist. Die synchrone Steuerschaltung des vorliegenden Ausführungsbeispiels nimmt die Form einer PLL-Schaltung an.

Das System von 1 umfasst einen Host-Computer 1, der ein Zeit- oder Zeitabstimmungssignal liefert, basierend auf welchem Synchronisierungsoperationen durchgeführt werden, und eine Zielvorrichtung 2, die im Synchronismus mit Ausgabedaten, die von dem Host-Computer 1 empfangen werden, arbeitet. Der Host-Computer 1 und die Zielvorrichtung 2 sind miteinander durch ein Signalkabel 3, wie zum Beispiel ein USB (Universal Serial Bus)-Kabel, verbunden. Die zu synchronisierende Zielvorrichtung 2 kann eine vereinfachtes Audiogerät oder etwas ähnliches sein, das Musikdaten von dem Host-Computer 1 empfängt und musikalische Töne in Übereinstimmung mit den Musikdaten erzeugt. Der synchrone Steuerschaltung der vorliegenden Erfindung ist mit der Zielvorrichtung 2 verbunden.

2 zeigt den Aufbau der synchronen Steuerschaltung des vorliegenden Ausführungsbeispiels.

Die synchrone Steuerschaltung von 2 umfasst ein FIFO (First In First Out) 11 und einen Puffer 12, die als Datenspeichermittel dienen, eine CPU (Prozessoreinheit) 13, die als Steuermittel dient, einen ROM (Lesespeicher) 14, einen 1/N-Teiler (Frequenzteilerschaltung) 15, der als ein digitaler Oszillator mit variabler Frequenz dient, und einem extern verriegelten Oszillator 16.

3 zeigt eingegebene oder Eingangs-Daten Di und ein SYNC-Signal, die an die Schaltung von 2 geliefert werden sollen. Das SYNC-Signal dient als ein Zeit- oder Zeitabstimmungssignal, basierend auf welchem Synchronisierungsoperationen durchgeführt werden. In diesem Zusammenhang wird ein synchrones Signal, das äquivalent zu dem SYNC-Signal ist, „SOF (Start of Frame)-Signal" genannt, gemäß dem USB-Standard, und der Host-Computer 1 erzeugt Impulse des synchronen Signals zu festen Zeitintervallen (Periode: T = 1 msec). Die eingegebenen Daten Di, die in Ladungsimpulsen (bursts) empfangen werden, und zwar den SYNC-Signalen folgend, können zum Beispiel 44,1-kHz-16-Bit-Stereo-Audiodaten sein. In diesem Fall werden nur 44 × 2 × 2 Bytes (oder 45 × 2 × 2 Bytes einmal alle zehn Male) der eingegebenen Daten Di in einer Periode des SYNC-Signals (1 msec) übermittelt. Folglich ergibt sich, dass die Datenflussrate insgesamt genauso groß ist wie die der 44,1-kHz-16-Bit-Daten.

Wie folgt können drei Typen der Synchronisierungsmodi oder -verfahren erwogen werden, wobei das USB-Kabel als Signalkabel 3 verwendet wird.

(1) Asynchroner Modus

Der Host-Computer 1 und die Zielvorrichtung 2 arbeiten mit asynchronen Taktsignalen und die Datenübermittlung des Host-Computers 1 wird durch die Anwendung von Rückkopplung oder Feedback der Zielvorrichtung 2 synchronisiert.

(2) Synchroner Modus

Der Host-Computer 1 übermittelt Daten zu der Zielvorrichtung 2 bei einer Deskriptorhäufigkeit, und die Operation der Zielvorrichtung 2 ist mit der Frequenz des SYNC-Signals verriegelt (SOF-Signal).

Mit anderen Worten arbeitet die Zielvorrichtung 2 bei einer festen Frequenz des SYNC-Signals.

(3) Adaptiver Modus

Während die Daten praktisch von dem Host-Computer 1 zu der Zielvorrichtung 2 bei einer Deskriptorfrequenz übertragen werden, ist die Operation der Zielvorrichtung 2 auf eine Datenflussrate des Host-Computers 1 verriegelt.

In dem asynchronen Modus (1 ), wie oben beschrieben, wird der Host-Computer 1 stark belastet und Datenkorruption kann vorkommen, falls eine Mehrzahl von Zielvorrichtungen 2 mit dem Host-Computer 1 verbunden ist. In dem synchronen Modus (2), wie oben beschrieben, arbeitet die Zielvorrichtung 2 bei einer festen Frequenz des SYNC-Signals (d.h. die Operation der Vorrichtung 2 ist mit dem SYNC-Signal verriegelt), arbeitet aber nicht im Synchronismus mit der Datenflussrate. Entsprechend kann Datenkorruption in dem Fall stattfinden, in dem der Datenfluss nicht vollständig mit dem SYNC-Signal verriegelt ist, oder wenn entweder die Frequenz oder die Datenflussrate variiert. In dem oben beschriebenen System, in dem Daten von 45 × 2 × 2 Bytes an die Zielvorrichtung 2 einmal alle zehn Male geliefert werden, entsteht der Bedarf, ein Reproduktionstaktsignal auf eine relativ geringe Frequenz zu verriegeln, was eine große Frequenzteilerschaltung erfordert und was zu einer verminderten Stabilität des Systems führt. In Anbetracht dieser Probleme verwendet das System von 1 den adaptiven Modus (3), der keine Datenkorruption verursacht.

Die Eingangsladungsimpulsdaten Di, die dem SYNC-Signal folgen, werden in dem FIFO 11 gespeichert und dann als Ausgabedaten Do erzeugt durch den Puffer 12 unter Steuerung der CPU 13. Die CPU 13 umfasst einen Satz von Registern 21 zur Speicherung verschiedener überwachter Werte und arbeitet, um die in dem FIFO 11 verbleibende Datenmenge zu steuern, basierend auf einem Zeiger, der in dem Registersatz 21 gespeichert ist, und zwar jedes Mal, wenn ein Impuls des SYNC-Signals zur Initiierung einer Unterbrechungsroutine von außerhalb des Schaltung zu Zeitintervallen (Periode) T empfangen wird, gemäß einem Mikroprogramm, das in dem ROM 14 gespeichert ist. Die CPU 13 umfasst auch einen Softwarefilterteil 22 und einen Teilersteuerteil 23, die funktional (d.h. durch Software) realisiert werden. Der Softwarefilterteil 22 führt eine bestimmte Filteroperation an den Teilerwerten (Teilverhältnisse) des 1/N-Teilers 15 durch und berechnet einen laufenden Durchschnittswert der Teilerwerte, und der Teilersteuerteil 23 berechnet einen Teilerwert, der auf dem laufenden Durchschnittswert und der Differenz zwischen der oben bezeichneten restlichen Datenmenge in dem FIFO und dem Zielwert der restlichen Menge basiert, und steuert den 1/N-Teiler 15 basierend auf dem erhaltenen Teilerwert. Der 1/N-Teiler teilt ein Ausgangstaktsignal des extern verriegelten Oszillators 16 basierend auf dem Teilerwert, der von dem Teilersteuerteil 23 geliefert wird und erzeugt ein Ausgangssamplingsignal Fs im Synchronismus mit den Ausgabedaten Do. Das Ausgangssamplingsignal Fs wird dann zu einer Schaltung übertragen, die mit dem Ausgang der Schaltung verbunden ist, zum Beispiel ein D/A-Wandler zur Durchführung einer D/A-Konvertierung von den Ausgabedaten, und wird auch an die CPU 13 geliefert für den Gebrauch beim Aktualisieren eines Lesezeigers des FIFO 11.

4 zeigt die in dem FIFO 11 verbleibende Datenmenge und verschiedene voreingestellte Werte. In 4 repräsentieren WP und RP einen Schreibzeiger bzw. einen Lesezeiger des FIFO 11, und TxByte repräsentiert die restliche Datenmenge (WP-RP) in dem FIFO 11. Um den FIFO-Datenspeicher mit maximaler Effizienz zu nutzen, steuert das System des vorliegenden Ausführungsbeispiels die restliche Datenmenge TxByte in dem FIFO 11, so dass die restliche Datenmenge mit einer Hälfte der Kapazität (Nennkapazität) des FIFO 11 übereinstimmt, d.h. der Mittelwert „CENTER" (Zielrestmenge), wie in 4 gezeigt ist. Zusätzlich werden bestimmte Werte FIFO_much, UNLOCK_H. und FIFO_few und UNLOCK_L über und unter dem Mittelwert CENTER voreingestellt, und die restliche Datenmenge in dem FIFO 11 wird so eingestellt, dass sie sich wie später beschrieben in einem zulässigen Fluktuationsbereich befindet, der durch die Werte FIFO_much und FIFO_few aus den obigen voreingestellten Werten definiert wird.

5 zeigt eine Unterbrechungsroutine (Synchronisierungsoperation), die ausgeführt wird, wenn die CPU 13 jeden Impuls des SYNC-Signals empfängt.

Das System des vorliegenden Ausführungsbeispiels führt eine Synchronisierungsoperation in einem ausgewählten von zwei Modi durch, d.h. dem „Run Ave SYNC"-Modus und dem „UP/DOWN SYNC"-Modus. In dem „Run Ave SYNC"-Modus, in dem die Synchronisierungsoperation durchgeführt wird, bis die PLL-Schaltung verriegelt wird, wird der 1/N-Teiler 15 bei Eingang von jedem Impuls des SYNC-Signals steuert, so dass die restliche Datenmenge TxByte in dem FIFO 11 konstant gleich einer Hälfte der vollen Kapazität des FIFO 11 ist, während gleichzeitig ein Rückkopplungssystem mit einer Zeitverzögerung arbeitet, die einen laufenden Durchschnittswert verwendet, um eine Oszillation des Systems zu unterdrücken. In dem „UP/DOWN SYNC"-Modus, in dem die Synchronisierungsoperation durchgeführt wird, nachdem der PLL-Schaltung verriegelt wurde, wird ein zulässiger Fluktuationsbereich für die restliche Datenmenge in dem FIFO eingerichtet. In diesem Modus wird der Teilerwert basierend auf der restlichen Menge in einer Rückkopplungsart an den 1/N-Teiler 15 gespeist, falls die restliche Datenmenge den zulässigen Bereich übersteigt, so dass Variationen in der Frequenz fs des Ausgangssamplingsignals Fs so begrenzt sind, dass sie kleiner als die hörbare Frequenzbandbreite bleiben, um somit eine Verzerrung unterdrücken.

In der Routine von 5 wird Schritt S1 ausgeführt, sobald ein SYNC-Signal empfangen wird, um den Wert eines PLL-Modusmerkers (flag) in dem Registersatz 21 zu steuern, um zu bestimmen, ob sich die PLL-Schaltung in einem unverriegelten Zustand („0") oder verriegelten Zustand („1 ") befindet. Wenn Schritt S1 feststellt, dass der Wert des PLL-Modusmerkers „0" ist, wird Schritt S2 ausgeführt, um den "Run Ave SYNC"-Modus wie oben beschrieben einzurichten, um in diesem Modus eine Synchronisierungsoperation durchzuführen. Wenn Schritt S1 feststellt, dass der Wert des PLL-Modusmerkers „1" ist, wird Schritt S3 ausgeführt, um den "UP/DOWN SYNC"-Modus wie oben beschrieben einzurichten, um in diesem Modus eine Synchronisierungsoperation durchzuführen.

6 zeigt eine Synchronisierungsoperation, die in dem „Run Ave SYNC"-Modus durchgeführt wird.

Zu Beginn wird Schritt S11 ausgeführt, um die restliche Datenmenge TxByte (= WP-RP) des FIFO 11 zu erhalten. Schritt S12 wird dann ausgeführt, um eine Filterberechnung für den Erhalt eines laufenden Durchschnittswertes des Teilerwertes PLLDIV auszuführen, der in dem 1/N-Teiler 15 eingestellt werden soll. Genauer gesagt kann der laufende Durchschnittswert PLLDIV_av[N] gemäß dem Ausdruck (1) wie folgt berechnet werden: PLLDIV_av[N] = PLLDIV_av[N-1] + (PLLDIV[N-1] – PLLDIV_av[N-1])/#filter(1) wobei

  • PLLDIV_av[N]: laufender Durchschnittswert, erhalten im laufenden Steuerzyklus,
  • PLLDIV_av[N-1]: laufender Durchschnittswert, erhalten im letzten Zyklus,
  • PLLDIV[N-1]: der Teilerwert, erhalten im letzten Zyklus, und
  • #filter: ein beliebiger Koeffizient.

Der Koeffizient #filter bezieht sich auf die Zeitkonstante des Filters, und der Mittelungseffekt wird mit dem Anstieg von Werten des Koeffizienten #filter verbessert.

Im nächsten Schritt S13 wird der Teilerwert PLLDIV[N] des laufenden Zyklus gemäß dem Ausdruck (2) wie folgt berechnet: PLLDIV[N] = PLLDIV_av[N] + Table[TxByte – CENTER](2) wobei Table [TxByte – CENTER] einen Wert repräsentiert, der von einer Tabelle erhalten wurde, die eine Steuervariable repräsentiert, die bestimmt wird auf Grund von einer Differenz zwischen der restlichen Datenmenge TxByte des FIFO 11 und einer Hälfte der vollen Kapazität des FIFO 11. Wie zum Beispiel in 7 gezeigt, werden die Werte oder Ausgaben der Tabelle im voraus gemäß einer gewünschten Ansprechgeschwindigkeitscharakteristik des Steuersystems eingestellt. In 7 zeigt die gerade Linie A einen linearen Zusammenhang zwischen der Differenz (TxByte – CENTER) als Eingang oder Eingabe und dem Tabellenwert (Steuervariable) als Ausgang oder Ausgabe. Um ein noch weiter verbessertes Ansprechverhalten zu erlangen, können Kurve B von zweiter Ordnung (quadratische Kurve) oder Kurve C von dritter Ordnung (kubisch) den Zusammenhang zwischen der Differenz (TxByte – CENTER) und der Steuervariablen repräsentieren. Sobald der Teilerwert PLLDIV[N] in der oben beschriebenen Weise berechnet ist, wird Schritt S14 ausgeführt, um diesen Wert in dem 1/N-Teiler 15 einzustellen, um dadurch das Frequenzteilerverhältnis des Ausgangstaktsignals des extern verriegelten Oszillators 16 zu steuern, um dadurch die Ausgangsfrequenz fs anzupassen.

8A bis 10B illustrieren Ansprechcharakteristiken des Rückkopplungssystems, die erhalten werden, wenn der Wert des #filter und der Typ (linear, quadratisch oder kubisch) der Tabelle geändert wurden. In einem Beispiel von 8A und 8B war die Oszillationsfrequenz des extern verriegelten Oszillators 16 gleich 48 MHz, der Wert des Koeffizienten #filter war 4 und die Steuervariable wurde basierend auf der linearen Beziehung (Gerade A) zu der Differenz (TxByte-CENTER) erhalten. In einem anderen Beispiel von 9A und 9B war die Oszillationsfrequenz des extern verriegelten Oszillators 16 gleich 48 MHz, der Wert des Koeffizienten #filter war 8 und die Steuervariable wurde basierend auf der linearen Beziehung (Gerade A) zu der Differenz (TxByte-CENTER) erhalten. In einem weiteren Beispiel von 10A und 10B war die Oszillationsfrequenz des extern verriegelten Oszillators 16 gleich 48 MHz, der Wert des Koeffizienten #filter war 8 und die Steuervariable wurde basierend auf der quadratischen Kurve B erhalten. Aus den 8A9B wird verständlich, dass die Verzögerungsperiode größer ist, wenn der Koeffizient #filter 8 ist, verglichen mit dem Fall, wo er 4 ist, allerdings wird von dem System mit dem Koeffizient #filter von 8 weniger Zeit benötigt, bis der verriegelte Zustand erreicht wird. Es ist auch aus den 9A10B verständlich, dass der Gebrauch von der quadratischen Kurve anstelle der linearen Beziehung es bedeutend schneller macht, bis das System den verriegelten Zustand erreicht. In diesem Zusammenhang wurde bestätigt, dass das System oszilliert, ohne den verriegelten Zustand zu erreichen, wenn keine Filterung wie oben beschrieben ausgeführt wird.

Wenn der Teilerwert PLLDIV in Schritt S14 von 6 einmal gesetzt ist, geht der Steuerungsfluss zu Schritt S15 über, um eine Unterroutine auszuführen, um zu detektieren, ob das System verriegelt wurde.

11 zeigt die Verriegelungsdetektionsunterroutine im Detail. Zunächst wird Schritt S21 ausgeführt, um zu überprüfen, ob der im letzten Steuerzyklus berechnete Teilerwert PLLDIV[N-1] gleich dem laufenden Durchschnittswert PLLDIV_av[N] der Teilerwerte ist, die in dem laufenden Zyklus erhalten wurden. Wenn der Teilerwert PLLDIV[N-1] gleich dem laufenden Durchschnittswert PLLDIV_av[N] ist, besteht eine hohe Wahrscheinlichkeit, dass sich die PLL-Schaltung in einem verriegelten Zustand befindet, und daher wird der Wert eines LOCK-Zählers in Schritt S22 um eins erhöht. Wenn der Schritt S21 bestimmt, dass der Teilerwert PLLDIV[N-1] nicht gleich dem laufenden Durchschnittswert PLLDIV[N-1] ist, wird der Schritt S23 ausgeführt, um den Wert des LOCK-Zählers auf 0 zu setzen. Schritt S24 wird dann ausgeführt um festzustellen, ob der Wert des LOCK-Zählers größer ist als ein vorbestimmter Wert #LOCK_DIFF. Wenn der Wert des LOCK-Zählers größer ist als der vorbestimmte Wert #LOCK_DIFF, wird angenommen, dass der Teilerwert für eine vorbestimmte Zeitperiode oder länger gleich dem laufenden Durchschnittswert bleibt, und der Schritt S25 wird ausgeführt, um einen Merker (flag) LOCK auf 1 zu setzen, was anzeigt, dass das System in dem verriegelten Zustand ist. Wenn der Schritt S24 bestimmt, dass der Wert des LOCK-Zählers gleich oder kleiner dem vorbestimmten Wert #LOCK_DIFF ist, wird Schritt S26 ausgeführt, um den Merker LOCK auf 0 zu setzen, was anzeigt, dass das System nicht in dem verriegelten Zustand ist.

Zurückkehrend zum Flussdiagramm von 6, wird Schritt S16 ausgeführt, um festzustellen, ob das System im verriegelten Zustand ist oder nicht. Wenn eine bestätigende Entscheidung (YES) in Schritt S16 erhalten wird, nämlich wenn das System in dem verriegelten Zustand ist, wird Schritt S17 ausgeführt, um einen PLL-Modus-Merker auf 1 zu setzen. Wenn das System auf der anderen Seite in dem unverriegelten Zustand ist, bleibt der PLL-ModusMerker bei 0, und die Synchronisierungsoperation in dem „Run Ave SYNC"-Modus wird wiederholt.

Wenn die PLL-Schaltung verriegelt ist und der PLL-Modus-Merker auf 1 gesetzt ist, geht der Steuerungsfluss von Schritt S1 zu Schritt S3 in 5 über, um eine Synchronisierungsoperation in dem „UP/DOWN SYNC"-Modus ansprechend auf eine Eingabe des SYNC-Signals durchzuführen.

12 zeigt eine Synchronisierungsoperation, die im „UP/DOWN SYNC"-Modus durchgeführt wird.

Zunächst wird der Schritt S31 ausgeführt, um zu bestimmen, ob die restliche Datenmenge des FIFO 11 den voreingestellten Wert FIFO_much übersteigt, der den zulässigen Fluktuationsbereich wie oben beschrieben definiert. Wenn Schritt S31 bestimmt, dass die restliche Datenmenge den vorgesetzten Wert FIFO_much übersteigt, wird Schritt S32 ausgeführt, um den Teilerwert PLLDIV um 1 zu vermindern, um die Samplingfrequenz fs zu erhöhen. Wenn in Schritt S31 eine negative Entscheidung (NO) erhalten wird, wird Schritt S33 ausgeführt um zu bestimmen, ob die restliche Datenmenge des FIFO11 unter den voreingestellten Wert FIFO_few fällt, der auch den zulässigen Fluktuationsbereich definiert. Wenn Schritt S33 bestimmt, dass die restliche Datenmenge unter den voreingestellten Wert FIFO_few fällt, wird Schritt S34 ausgeführt, um den Teilerwert PLLDIV um 1 zu erhöhen, um die Samplingfrequenz fs zu vermindern. Wenn der Schritt S35 bestimmt, dass die restliche Datenmenge TxByte größer als der voreingestellte Wert UNLOCK_H ist, oder wenn der Schritt S36 bestimmt, das die restliche Datenmenge TxByte kleiner als der voreingestellte Wert UNLOCK_L ist, wird das System so bewertet, dass es den verriegelten Zustand verläßt. In diesem Fall wird dann Schritt S37 ausgeführt, um den PLL-Modus-Merker auf 0 zu setzen, und damit ist die Routine von 12 beendet.

Die Synchronisierungsoperation des UP/DOWN SYNC-Modus ist wie oben beschrieben dadurch gekennzeichnet, dass der zulässige Fluktuationsbereich (tote Zone) zwischen den voreingestellten Werten FIFO_few und FIFO_much vorgesehen ist, und es wird keine besondere Steuerung durchgeführt, während die restliche Datenmenge TxByte des FIFO in diesem zulässigen Fluktuationsbereich gehalten wird. Wenn eine solche tote Zone nicht zur Verfügung steht, ändert sich der Teilerwert mit einer Frequenz von mehreren hundert Hertz (Hz), was sich innerhalb des hörbaren Frequenzbandes befindet, wie in 13A und 13B gezeigt ist, während das System in einem verriegelten Zustand ist, unter dem Einfluss von Schwankungen oder Jitter, die in dem reproduzierten Taktsignal vorhanden sind. Wenn auf der anderen Seite der zulässige Fluktuationsbereich für die restliche Datenmenge TxByte des FIFO vorhanden ist, kann die variierende Frequenz des Teilerwertes auf einige Hertz (Hz) reduziert werden, was außerhalb des hörbaren Frequenzbandes ist, wie in 14A und 14B gezeigt ist, wodurch verbesserte Audioeigenschaften gewährleistet werden.


Anspruch[de]
Ein Verfahren zur Steuerung einer synchronen Steuervorrichtung, die folgendes aufweist: einen digitalen Oszillator (15) mit variabler Frequenz, dessen Ausgangsfrequenz von einer Frequenzsteuervariablen abhängig variabel ist, eine Datenspeichereinrichtung (11, 12), die extern eingegebene Daten speichert und die Daten gemäß der Ausgabe des digitalen Oszillators (15) mit variabler Frequenz ausgibt, und eine Steuereinrichtung (13), die die Frequenzsteuervariable berechnet und den genannten digitalen Oszillator (15) mit variabler Frequenz basierend auf der errechneten Frequenzsteuervariablen steuert,

wobei eine restliche Datenmenge von der genannten Datenspeichereinrichtung (11, 12) als eine überwachte Menge detektiert wird, und zwar ansprechend auf ein extern eingegebenes Zeitabstimmungssignal, das synchron mit den extern eingegebenen, von der Datenspeichereinrichtung empfangenen Daten empfangen wird, so dass Synchronismus basierend auf dem Zeitabstimmungssignal erreicht wird, und

wobei ein aktueller Wert der Frequenzsteuervariablen berechnet wird basierend auf einer Differenz zwischen der detektierten restlichen Datenmenge der Datenspeichereinrichtung (11, 12) und einer Zieldatenmenge des Datenspeichereinrichtung (11, 12), und wobei eine Ausgangsfrequenz des digitalen Oszillators (15) mit variabler Frequenz gesteuert wird basierend auf einer berechneten neuen Frequenzsteuervariablen, um die Differenz zwischen der detektierten restlichen Datenmenge und der Zieldatenmenge des Datenspeichereinrichtung (11, 12) zu reduzieren, dadurch gekennzeichnet, dass das Verfahren die folgenden Schritte aufweist:

Berechnen des aktuellen Wertes der Frequenzsteuervariablen unter Verwendung eines laufenden Durchschnittswertes der Frequenzsteuervariablen und der Differenz zwischen der detektierten restlichen Datenmenge der Datenspeichereinrichtung (11, 12) und der Zieldatenmenge, und Detektieren, ob die synchrone Steuervorrichtung verriegelt ist, indem bestimmt wird, ob der laufende Durchschnittswert und ein vorhergehender Wert der Frequenzsteuervariablen gleich sind, bevor die synchrone Steuervorrichtung verriegelt wird; und

Verhindern, dass die Frequenzsteuervariable geändert wird, wenn die Differenz zwischen der detektierten restlichen Datenmenge und der Zieldatenmenge innerhalb eines zulässigen Fluktuationsbereichs ist, in dem eine variierende Frequenz, mit der die Frequenzsteuervariable variiert, in einem niedrigen Frequenzbereich ist, der sich außerhalb eines hörbaren Frequenzbands befindet, nachdem die synchrone Steuervorrichtung verriegelt ist.
Ein Verfahren zur Steuerung einer synchronen Steuervorrichtung gemäß Anspruch 1, wobei das Verfahren weiter folgende Schritte aufweist:

Bestimmen eines Ausgabewertes, der auf einer Kurve mindestens zweiter Ordnung basiert, die eine Beziehung zwischen dem Ausgabewert und einer Differenz zwischen der detektierten restlichen Datenmenge der Datenspeichereinrichtung und der Zieldatenmenge repräsentiert, und Einstellen eines aktuellen Wertes der Frequenzsteuervariablen auf eine Summe eines Durchschnittswertes der Frequenzsteuervariablen und des bestimmten Ausgabewertes.
Ein Verfahren zur Steuerung einer synchronen Steuervorrichtung gemäß Anspruch 1, wobei das Verfahren weiter den folgenden Schritt aufweist:

Beenden der Ausführung der Steuerung des digitalen Oszillators (15) mit variabler Frequenz, wenn eine Differenz zwischen der detektierten restlichen Datenmenge der Datenspeichereinrichtung (11, 12) und der Zieldatenmenge aus einem zweiten zulässigen Fluktuationsbereich hinausfällt, der breiter als der zuerst erwähnte zulässige Fluktuationsbereich ist.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com