-
TECHNISCHES FELD DER ERFINDUNG
-
Die
vorliegende Erfindung bezieht sich allgemein auf Telekommunikations-Vermittlungen
und -Netzwerke und spezieller auf einen digitalen Desynchronisierer.
-
HINTERGRUND DER ERFINDUNG
-
In
der Struktur des synchronen optischen Netzwerks wird Verkehr, der
aus kontinuierlichen Signalen besteht, zwischen Netzwerkelementen übertragen,
indem die Signale in Container untergebracht werden. Wenn die Nutzinformationen
der Container vom Ausgangspunkt durch die Netzwerkelemente zu den
Endpunkten übertragen
werden, werden sie in andere Container umgesetzt, die mit unterschiedlichen
Takten getaktet werden. Wenn das Signal schließlich aus dem letzten Container
wiedergewonnen wird, gibt es Zeiten, zu denen die wiedergewonnenen
Daten als Impulsbündel
vorliegen, und Zeiten, in denen sie keine Informationen enthalten.
Wenn das Signal zurück
in seine ursprüngliche
Form gebracht wird, werden Desynchronisierer dazu benutzt, einen
kontinuierlichen Strom von Bits mit der oder in der Nähe der ursprünglichen
Taktrate zu erzeugen. Bei derzeitigen Desynchronisierern wird die
elastische Speicherung von Informationen verwendet, wobei der Füllstand
der Vorrichtung zur elastischen Speicherung das Ausgangssignal einer
zur Regeneration des ursprünglichen
Taktes verwendeten Phasenregelschleife (PLL) definiert. Herkömmliche Desynchronisierer
steuern ihre Phasenregelschleife mit dem Füllstand des elastischen Speichers,
wodurch es schwierig ist, die Wirkungen verschiedener Arten von
Jitter zu trennen, die gleichzeitig innerhalb der gespeicherten
Information vorhanden sind. Daher ist es wünschenswert, einen Desynchronisierer zu
haben, der in der Lage ist, die Wirkungen der verschiedenen Jitter-Quellen
aus der Nutzinformation zu beseitigen.
-
In
IEEE GLOBAL TELECOMMUNICATIONS CONFERENCE GLOBECOM '91. COUNTDOWN TO
THE NEW MILLENNIUM. FEATURING A MINITHEME ON: PERSONAL COMMUNICATIONS SERVICES
(PCS), CONFERENCE RECORD (CAT. NO. 91CH2980-1), PHOENIX, AZ, USA,
2.–5.
DEZ. 1991, ISBN 0-87942-697-7, 1991, NEW YORK, NY, USA, IEEE, USA,
Seite 761–764,
Band 2, XP000332777 HAMLIN R W JR: "Design and performance verification
of a SONET-to-DS3 desynchronizer" wird
ein DS3-Desynchronisierer offen gelegt, der zwei Komponenten hat.
Die erste Komponente ist ein Leak-Puffer, der Zeiger-Justierungen
absorbiert und sie über
einen Zeitraum ausgleicht. Die zweite Komponente ist eine PLL, die
das Ausgangssignal des Leak-Puffers empfängt und systematischen Jitter entfernt.
-
In
US-A-5 404 380 wird ein Desynchronisierer zur Verarbeitung von Zeiger-Bewegungen
offen gelegt. Ein elastischer Speicher und ein Nutzinformations-Extraktor,
der auf einer Ausgangsleitung Zeiger-Bewegungen ausgibt, werden
bereitgestellt. Es wird ein Bit-Leaking-Schleifen-Modul 36 bereitgestellt,
das durch Zeiger-Bewegungen verursachten Jitter erkennt. Ein DS3-Parallel-/Serien-Schieberegister
erzeugt ein Taktsignal auf einer Ausgangsleitung, das eine konstante
Lese-Taktrate von 5,592 MHz an den elastischen Speicher liefert.
-
Aus
dem oben gesagten kann man beurteilen, dass ein Bedarf für einen
Desynchronisierer entstanden ist, der Jitter von verschiedenen Quellen
erkennt, um die Jitter-Effekte aus der Nutzinformation zu beseitigen.
Es ist auch ein Bedarf für
einen Desynchronisierer entstanden, der ein Taktsignal für jeden erkannten
Jitter-Typ getrennt einstellen kann.
-
ZUSAMMNENFASSUNG DER ERFINDUNG
-
Aspekte
der vorliegenden Erfindung werden in den Ansprüchen 1 bis 10 dargelegt.
-
Gemäß Ausführungen
der vorliegenden Erfindung wird ein digitaler Desynchronisierer
bereitgestellt, der die mit herkömmlichen
Desynchronisierer-Einrichtungen verbundenen Nachteile und Probleme
im Wesentlichen beseitigt oder verringert.
-
Gemäß einer
Ausführung
der vorliegenden Erfindung wird ein digitaler Desynchronisierer
bereitgestellt, der eine elastische Speichereinheit enthält, die
digitale Daten mit einer asynchronen Rate empfängt. Der digitale Desynchronisierer
enthält
auch eine Zeiger-Einheit, die eine Zeiger-Bewegung erkennt, sowie
eine Mapping-Einheit, die Mapping-Jitter in den digitalen Daten
innerhalb der elastischen Speichereinheit erkennt. Die Erkennung
von Zeiger-Bewegungen
und von Mapping-Jitter wird unabhängig voneinander durchgeführt. Ein
Taktgenerator ist in der Lage, ein Taktsignal zu erzeugen und das Taktsignal
als Reaktion auf die Zeiger-Bewegung und den Mapping-Jitter getrennt
einzustellen, so dass die digitalen Daten synchron aus dem elastischen
Speicher gesendet werden können.
-
Ausführungen
der vorliegenden Erfindung bieten verschiedene technische Vorteile
gegenüber vorhandenen
Desynchronisierer-Einrichtungen. Ein technischer Vorteil ist zum
Beispiel die unabhängige Erkennung
von Jitter, der durch Zeiger-Bewegungen und Container-Mapping verursacht
wird und die unabhängige
Dämpfung
dieses Jitters, jeder mit einer eigenen Übertragungsfunktion. Ein weiterer
technischer Vorteil ist die getrennte Einstellung eines Taktsignals
für die
Zeiger-Bewegungen und den Mapping-Jitter, um die digitalen Daten
synchron aus dem elastischen Speicher zu senden. Noch ein weiterer technischer
Vorteil ist die Einstellung einer bestimmten Bitposition des mit
den Zeiger-Bewegungen und dem Container-Mapping verbundenen Taktsignals, um
den Jitter zu beseitigen, der durch beide Quellen verursacht wird.
Weitere technische Vorteile werden einem Fachmann aus den folgenden
Abbildungen, Beschreibungen und Ansprüchen sofort deutlich.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Für ein kompletteres
Verständnis
der vorliegenden Erfindung und deren Vorteile wird nun auf die folgende
Beschreibung zusammen mit den begleitenden Zeichnungen Bezug genommen,
in denen gleiche Referenznummern gleiche Teile repräsentieren,
und in denen:
-
1 ein
Blockdiagramm des digitalen Desynchronisierers zeigt;
-
2 ein
Blockdiagramm einer Zeiger-Bewegungs-Einheit und einer Mapping-Einheit
im digitalen Desynchronisierer zeigt; und
-
3 ein
Blockdiagramm einer Zeiger-Einstellungs-Steuerung im digitalen Desynchronisierer zeigt.
-
DETAILLIERTE BESCHREIBUNG
DER ERFINDUNG
-
1 ist
ein Blockdiagramm eines digitalen Desynchronisierers 10.
Der digitale Desynchronisierer 10 wird dazu benutzt, ein
E1-Signal, das von einer externen Demapper-Einrichtung aus einer TU12-Bitvollgruppe
extrahiert wurde, mit einem neuen Timing zu versehen. Anfangs wurde
das E1-Signal in einen VC12-Container mit VC12-Kopfinformation umgesetzt.
Der VC12-Container wurde in einen TU12-Container mit TU12-Kopfinformation umgesetzt.
Dieses Mapping in getrennte Container erfolgt während der Übertragung des Verkehrs zwischen Netzwerkelementen
in einem Telekommunikationssystem.
-
Der
digitale Desynchronisierer 10 enthält eine elastische Speichereinheit 12,
die von einer externen Demapper-Einrichtung
ein Signal DATA IN und ein Signal GAPPED CLOCK empfängt. Die
Information in der elastischen Speichereinheit 12 wird über ein
Signal DATA OUT als Reaktion auf ein Signal SYNC CLOCK gesendet.
Das Signal SYNC CLOCK wird von einem Taktgenerator 14 erzeugt.
Eine Referenz-Zeitbasis für Taktgenerator 14 wird
von einer Referenz-Oszillator-Einheit 16 geliefert. Taktgenerator 14 stellt
das Signal SYNC CLOCK als Reaktion auf unabhängige Jitter-Feststellungen
durch eine Zeiger-Bewegungs-Einheit 18 und eine Mapping-Einheit 20 ein.
Die Zeiger-Bewegungs-Einheit 18 liefert ein Signal POINTER,
das vom Taktgenerator 14 dazu verwendet wird, als Reaktion
auf Zeiger-Ereignisse, die vom externen Demapper erkannt und von
ihm empfangen werden, Jitter zu beseitigen, der durch Zeiger-Bewegungen verursacht
wird. Die Mapping-Einheit 20 liefert ein Signal MAPPING,
das vom Taktgenerator 14 dazu verwendet wird, als Reaktion auf
den Informations-Füllstand
in der elastischen Speichereinheit 12 Mapping-Jitter zu
beseitigen.
-
Im
Betrieb wird ein zurück-umgesetzter
Datenstrom, der aus seinem letzten Container extrahiert wurde, über das
Signal DATA IN vom Signal GAPPED CLOCK, die beide vom externen Demapper empfangen
werden, in die elastische Speichereinheit 12 geladen. Das
Signal GAPPED CLOCK läuft
normalerweise mit der Rate des Containers, und obwohl es von Natur
aus impulsartig ist, hat es eine mittlere Rate, die gleich dem gewünschten
desynchronisierten Takt ist. Die Information wird über das
Signal DATA OUT mit einer Zeitbasis aus der elastischen Speichereinheit 12 ausgetaktet,
die von Taktgenerator 14 über das Signal SYNC CLOCK erzeugt
wird. Vorzugsweise nimmt Taktgenerator 14 das Ausgangssignal
der Referenz-Oszillator-Einheit 16, die mit dem sechzehnfachen
der Nennrate läuft
und teilt das Referenzsignal durch sechzehn, um jeden Taktimpuls
zu erzeugen. Da das Referenzsignal jedoch sehr wahrscheinlich nicht
gleich der gewünschten Taktrate
ist, ist der Taktgenerator 14 in der Lage, die Breite von
spezifizierten Taktimpulsen so zu ändern, dass sie entweder 15/16
oder 17/16 Einheitsintervalle lang sind. Die speziellen Impuls-Bits,
die geändert werden
können,
werden durch das Signal TIMING POSITIONS bestimmt, das vom externen
Demapper geliefert wird.
-
Die
Zeiger-Bewegungs-Einheit 18 und die Mapping-Einheit 20 bestimmen,
ob und wann Taktgenerator 14 die Breite spezieller Impuls-Bits
des Signals SYNC CLOCK ändert.
Die Mapping-Einheit 20 liest den Stand der elastischen
Speichereinheit 12 in einem festen bekannten Zeitabstand
und vergleicht ihn mit dem Stand der elastischen Speichereinheit 12,
der im vorherigen Intervall gemessen wurde. Abhängig davon, ob der Stand der
elastischen Speichereinheit 12 sich zwischen den Intervallen
erhöht
oder verringert hat, muss Taktgenerator 14 das Signal SYNC
CLOCK entweder beschleunigen, indem er Taktimpuls-Bits der Intervallbreite
15/16 verwendet, oder das Signal SYNC CLOCK verlangsamen, indem er
an bestimmten Timing-Positionen des Signals SYNC CLOCK Taktimpuls-Bits
der Intervallbreite 17/16 verwendet.
-
Die
Mapping-Einheit 20 berechnet, wie viele geänderte Impuls-Bits
von Taktgenerator 14 erzeugt werden müssen. Die Mapping-Einheit 20 bestimmt die
Anzahl von geänderten
Impuls-Bits auf
der Grundlage eines Algorithmus, der die Änderung der Anzahl von Breitenänderungs-Möglichkeiten
von einem Zeitpunkt zum nächsten
begrenzt. Diese Begrenzung ist das direkte Ergebnis einer gewünschten Mapping-Jitter-Spezifikation
für den
digitalen Desynchronisierer 10. Die Mapping-Einheit 20 liefert
die Anzahl von Breitenänderungs-Möglichkeiten,
die an den speziellen Zeit-Positionen eingenommen werden können, über das
Signal MAPPING an den Taktgenerator 14. Die Breitenänderungs-Möglichkeiten
werden bis zum nächsten
Intervall der Mapping-Einheit 20 über der Zeit gleich verteilt.
-
Um
eine Trennung zwischen den Anforderungen von Mapping-Jitter und Zeiger-Bewegungen zu
erreichen, muss die Mapping-Einheit 20 ihre
Berechnung ohne Berücksichtigung
von Zeiger-Ereignissen
durchführen,
die aufgetreten sein können. Wenn
ein Zeiger-Ereignis auftritt, tritt eine sofortige Änderung
von ungefähr
acht Bit im Stand des elastischen Speichers auf. Das Auftreten des
Zeiger-Ereignisses wird vom externen Demapper über das Signal POINTER EVENTS
an die Zeiger-Bewegungs-Einheit 18 geliefert. Die Zeiger-Bewegungs-Einheit 18 sammelt
die Zeiger-Ereignisse und liefert an die Mapping-Einheit 20 einen
Korrekturfaktor, der zum Füllstand,
der aus der elastischen Speichereinheit 12 ausgelesen wird,
addiert oder von ihm subtrahiert werden muss. Auf diese Weise können Mapping-Jitter
und Zeiger-Bewegungs-Jitter getrennt und unabhängig aus dem Ausgangssignal
des digitalen Desynchronisierers 10 entfernt werden.
-
Die
Zeiger-Bewegungs-Einheit 18 liefert ein Signal POINTER
an den Taktgenerator 14, so dass die gesammelten Zeiger-Daten
in der elastischen Speichereinheit 12 ausgeglichen werden
können. Die
Rate, mit der das Leaking stattfinden kann, wird durch eine gewünschte Jitter-Spezifikation
für Zeiger-Ereignisse spezifiziert.
Die Zeiger-Bewegungs-Einheit 18 liefert Information, die
anzeigt, wie viele Bit-Einstellungen gemacht werden müssen und in
welche Richtung, entweder plus oder minus 1/16. Taktgenerator 14 ändert die
Breite spezieller Impuls-Bits des Signals SYNC CLOCK als Reaktion
auf die Information von der Zeiger-Bewegungs-Einheit 18.
Die Impuls-Bits,
die für
das Zeiger-Leaking geändert
werden, werden durch das Signal TIMING POSITION vom externen Demapper
gekennzeichnet und sind nicht dieselben, die für die Verwendung durch Mapping-Einheit 20 gekennzeichnet
und reserviert sind. Während
der Zeit, in der die Zeiger-Effekte ausgeglichen werden, ändert die
Zeiger-Bewegungs-Einheit 18 das Korrektursignal für Mapping-Einheit 20,
so dass die restlichen nicht ausgeglichenen Daten nicht in die von
der Mapping-Einheit 20 durchgeführten Berechnungen aufgenommen
werden.
-
2 ist
ein Blockdiagramm der Mapping-Einheit 20. Der Betrieb der
Mapping-Einheit 20 beginnt mit der Aktivierung durch ein
Signal INITIALIZE. Das Signal INITIALIZE wird an Steuerblock 22 und
am Count-88-Block 24 empfangen. Bei Empfang eines Signals
START OF FRAME vom externen Demapper erzeugt der Steuerblock 22 ein
Signal CLEAR. Das Signal CLEAR wird an die elastische Speichereinheit 12,
an einen Schreib-Zähler 26 und einen
Lese-Zähler 28 angelegt.
Steuerblock 22 erzeugt auch ein Signal INHIBIT, das verhindert,
dass Takt-Synthesizer 14 läuft, bis die elastische Speichereinheit 12 ihren
initialisierten Stand erreicht hat. Das Signal INHIBIT wird auch
dazu verwendet, eine Frequenzeinstellungs-Tabelle 30 in
einen inaktiven Zustand zu versetzen, so dass ihre Anzeige an den Takt-Synthesizer 14 in
der ersten Einstellungs-Periode keine Offsets ergibt.
-
Die
Steuerung der Mapping-Einheit 20 durch das Signal INITIALIZE
wird deaktiviert, wenn 88 Bits in die elastische Speichereinheit 12 geschrieben
wurden. Der Count-88-Block 24 stellt fest, wann als Reaktion
auf das Signal GAPPED CLOCK vom externen Demapper 88 Bits in der
elastischen Speichereinheit 12 gespeichert wurden. Der
Count-88-Block 24 erzeugt ein Signal COUNT 88 für Steuerblock 22, um
den Zustand des Signals INHIBIT zu ändern und die Frequenzeinstellungs-Tabelle 30 und
den Takt-Synthesizer 14 in den aktiven Betrieb zu schalten.
Die Zahl 88 wurde als minimal erforderlicher initialisierter Stand
in der elastischen Speichereinheit 12 gewählt, bei
dem unabhängig
von der Lage der aus drei Byte bestehenden VC12-Kopfinformations-Lücken kein Puffer-Unterlauf
auftritt.
-
Wenn
ein Zählwert
von 88 erreicht wird, werden alle Schaltkreise in der Mapping-Einheit 20 eingeschaltet.
Die Daten können
nun mit einer Rate von 2,048 Megabit pro Sekunde in die elastische
Speichereinheit 12 geschrieben und aus ihr gelesen werden.
Die Abtastintervalle fallen mit einem Signal 50 MS SAMPLE vom externen
Demapper zusammen, welches die Anzahl von Zählern triggert, die Informationen
an Takt-Synthesizer 14 liefern.
Anfangs haben diese Zähler
keine Wirkung auf den Prozess, weil die Frequenzeinstellungs-Tabelle 30 ursprünglich gelöscht war.
Die Frequenzeinstellungs-Tabelle 30 liefert eine Anzeige
an Takt-Synthesizer 14, wie sein Takt-Zählwert
einzustellen ist. Anfangs liefert die Frequenzeinstellungs-Tabelle 30 ein
voreingestelltes Signal mit einer kontinuierlichen Division-durch-sechzehn-Rate.
-
Während der
Ausführung
des Prozesses berechnet ein Füllstands-Zähler 32 einen
Ziel-Stand des elastischen Speichers. Der Ziel-Stand der elastischen
Speichereinheit 12 ist abhängig von der Phasenänderung
im VC12-Rahmen bezogen auf den TU12-Rahmen. Der Nennwert oder der
ideale Stand der elastischen Speichereinheit 12 zu jedem
Zeitpunkt ist eine Funktion der relativen Phasenbeziehung zwischen
den TU12- und den VC12-Rahmen. Nimmt man an, dass die Abtastung
durch die elastische Speichereinheit 12 am TU12-Kopfinformations-Lücken-Byte stattfindet,
befindet sich der beobachtete Stand der elastischen Speichereinheit 12 auf einem
Minimum, wenn das TU12-Kopfinformations-Lücken-Byte einem dritten Byte
der VC12-Kopfinformations-Lücke folgt.
Dies beruht auf der Tatsache, dass das Auftreten einer maximal aus
vier Byte bestehenden Lücke
das Leeren der elastischen Speichereinheit 12 maximiert,
da keine dazwischenliegenden Nutzinformations-Bytes hinzuzufügen sind. Somit
muss für
die Situation, in der das TU12-Kopfinformations-Lücken-Byte
den VC12-Kopfinformations-Lücken-Bytes
folgt, der Stand der elastischen Speichereinheit 12 gleich
der minimalen Anfangs-Reserve sein.
-
Es
gibt jedoch andere Ausrichtungen, in denen die Rahmen sich nicht
auf diese Weise ausrichten und in denen es erforderlich ist, den
Stand der elastischen Speichereinheit 12 zu bestimmen.
Der Füllstands-Zähler 32 führt einen
Algorithmus aus, mit dem der Ziel-Stand der elastischen Speichereinheit 12 bestimmt
wird. Der Füllstands-Zähler 32 empfängt ein
Signal END OF VC12 GAP, das den Zähler löscht. Wenn ein dazwischenliegendes
Byte ein Nutzinformations-Byte ist, addiert der Füllstands-Zähler 32 als Reaktion
auf das Signal GAPPED CLOCK 0,6875 Bits, oder binär 0,10112, zu seinem Zählerstand. Wenn das dazwischenliegende
Byte ein Lücken-Byte ist,
verringert der Füllstands-Zähler 32 als
Reaktion auf das Signal GAP BYTE vom externen Demapper seinen Zählerstand
um 7,3125 Bits, oder binär 111,01012. Wenn das TU12-Kopfinformations-Lücken-Byte erreicht wird, hört der Füllstands-Zähler 32 mit
der Durchführung
von Einstellungen seines Zählerstandes
auf. Die Erhöhungs-
und Verringerungs-Zählwerte
werden bestimmt, indem eine mittlere Byte-Bewegung genommen wird,
die sich aus einer Zeiger-Bewegung ergibt, wobei für 35 VC12-Bytes
jedes 256 E1-Bits enthält.
Da dieser Wert 256/35 = 7,314 Bits ergibt, der nicht einfach in Binärform umgewandelt
werden kann, wurde der Erhöhungs-Wert
so eingestellt, dass er die Differenz zwischen der gewünschten
Byte-Bewegung von 7,314 Bits und der Binärdarstellung von 7,3125 Bits ausgleicht.
-
Um
Mapping-Jitter zu justieren, wird der Ziel-Füllstand der elastischen Speichereinheit 12,
der durch den Füllstands-Zähler 32 bestimmt wird,
mit dem Schreib-Zähler 26 und
dem Lese-Zähler 28 durch
einen Diskriminator 34 verglichen. Diskriminator 34 vergleicht
die Schreib- und Lese-Zählerstände, um
einen Füllstand
für die
elastische Speichereinheit 12 zu finden. Dieser Füllstand
wird mit dem Ziel-Füllstand
der elastischen Speichereinheit 12 verglichen, der vom
Füllstands-Zähler 32 berechnet
wurde. Der Ziel-Füllstand
wird bestimmt, indem der Zählwert
gelesen wird, der im Füllstands-Zähler 32 gespeichert ist,
die zur Zeit in der Zeiger-Bewegungs-Einheit 18 gespeicherte
Zahl, die von einem Signal POINTER ADJUST empfangen wurde, subtrahiert
wird, um die Wirkungen von Zeiger-Bewegungen auszumaskieren, und
ein aus vierzig Bit bestehender Spielraum als Ergebnis der Wirkungen
des Bit-Stopfens, von Zeiger-Bewegungen und Taktunterschieden hinzuaddiert
wird. Das Ergebnis dieses Vergleichs ergibt eine neue Frequenzkorrektur,
die von Diskriminator 34 an die Frequenzeinstellungs-Tabelle 30 geliefert
wird.
-
Die
Frequenzeinstellungs-Tabelle 30 ist so programmiert, dass
sie die Richtung und die Frequenz von Korrekturen als Reaktion auf
ein Signal FREQUENCY CORRECTION vom Diskriminator 34 liefert.
Die Frequenzeinstellungs-Tabelle 30 liefert eine Richtung
der Korrektur an Takt-Synthesizer 14. Die Frequenz der
Korrektur wird als Rahmen-Intervall umgesetzt und an einen durch
N teilenden Zähler COUNTER 36 angelegt.
Der durch N teilende Zähler COUNTER 36 teilt
den Rahmen-Zählwert
durch ein Modul N und liefert ein Signal ADJUSTED FRAME an den Takt-Synthesizer 14,
der anzeigt, wenn der geeignete Rahmen erreicht wurde. Der Takt-Synthesizer 14 macht
als Reaktion auf das Signal ADJUSTED FRAME im aktuellen Rahmen eine
Korrektur und ändert
ein Impuls-Bit im Rahmen. Ein Bit-Zähler 38 stellt fest,
welches Impuls-Bit im Rahmen zu ändern
ist. In diesem Beispiel ändert
Takt-Synthesizer 14 das achte Bit des Rahmens.
-
Nicht
jedes Korrektur-Intervall wird einen Faktor von vierhundert haben.
Aus diesem Grund zählt
ein Justier-Zähler 40 die
tatsächliche
Anzahl von im Abtastintervall durchgeführten Justierungen. Wenn die
Frequenzeinstellungs-Tabelle 30 einen
Intervall-Zählwert
liefert, wird die Zahl aufgerundet, um zu garantieren, dass die
korrekte Zahl von Korrekturen durchgeführt werden kann. Der Justier-Zähler 40 hält den durch
N teilenden Zähler 36 an,
bevor zu viele Korrekturen als Reaktion auf ein Signal FRAMES TO
ADJUST von der Frequenzeinstellungs-Tabelle 30 und auf
das Signal ADJUSTED FRAME vom durch N teilenden Zähler 36 erzeugt
werden. Takt-Synthesizer 14 teilt einen Quellen-Takt von
der Referenz-Oszillator-Einheit 16 als
Reaktion auf die Frequenz und Richtung der zur Beseitigung des Mapping-Jitters
erforderlichen Korrekturen durch 15, 16 oder 17.
-
Diskriminator 34 liefert
ein zusätzliches
Signal an Takt-Synthesizer 14.
Ein Signal OVERFLOW ENABLE wird immer dann aktiv, wenn die elastische Speichereinheit 12 sich
ihrer Kapazität
nähert,
entweder positiv oder negativ. Wenn diese Situation auftritt, führt Takt-Synthesizer 14 Justierungen
in jedem Rahmen durch, bis der Füllstand
der elastischen Speichereinheit 12 zurück auf eine sichere Ebene gebracht
wurde. Diese Bedingung kann auftreten, wenn der Eingangstakt sich
außerhalb
der Spezifikation befindet oder seine Frequenz sich mit einer zu
großen
Rate ändert.
Während
dieser Bedingung liegen die charakteristischen Eigenschaften des
Signals SYNC CLOCK außerhalb
der spezifizierten Toleranzen, aber es gehen keine Daten verloren.
Vorzugsweise wird ein Füllstand
von ungefähr
zehn Bits von der Überlauf-/Unterlauf-Bedingung
benutzt. Dies liefert einen ausreichenden Spielraum für einen
vernünftigen
Offset von ungefähr
ein Hertz pro Sekunde.
-
3 ist
ein Blockdiagramm einer Zeiger-Bewegungs-Einheit 18. Die Zeiger-Bewegungs-Einheit 18 empfängt vom
externen Demapper immer dann ein Signal POINTER EVENT und ein Signal
POINTER DIRECTION an einem Zeiger-Bewegungs-Zähler 50, wenn eine
Zeiger-Bewegung auftritt. Entsprechend dem Wert des Signals POINTER DIRECTION
wird der Zeiger-Bewegungs-Zähler 50 7 und
7/16 Bits, 111,01112 binär, zu seinem aktuellen Wert
addieren oder von ihm subtrahieren. Der Wert von 7 und 7/16 Bits
für Zeiger-Bewegungen
wurde gewählt,
um eine einfache Binärarithmetik
und Rundung durchführen
zu können.
Der Zeiger-Bewegungs-Zähler 50 liefert
ein Signal CORRECTION an den Takt-Synthesizer 14, um eine Korrektur
um 1/16 Bit in der durch das Signal POINTER DIRECTION angegebenen
Richtung durchzuführen.
Die Bitkorrektur wird am 136. E1-Bit nach dem Beginn des Rahmens
durchgeführt
und wird durch das Signal COUNT 136 bestimmt, das vom Bit-Zähler 38 der Mapping-Einheit 20 an
einem Takt-Freigabe-Block 52 empfangen wird. Das 136. Bit
wurde ausgewählt,
weil es 1/2 Rahmen von dem Korrektur-Bit für Mapping-Jitter entfernt ist.
Nachdem Bitzähler 38 einen Zählwert von
136 erreicht hat, kann er frei weiterlaufen, solange er so konstruiert
ist, dass er nicht auf einen Zählwert
von acht weiterläuft,
bevor der nächste Rahmen
beginnt. Der Takt-Freigabe-Block 52 liefert ein Signal
CLK an den Zeiger-Bewegungs-Zähler 50, um
das Signal CORRECTION für
Takt-Synthesizer 14 zu erzeugen. Der Takt-Synthesizer vergleicht
die eingestellte Polarität
des 136. Bits mit der Polarität des
8. Bits. Wenn sie entgegengesetzt sind, werden die Bit-Justierungen
der Taktperioden für
diesen Rahmen nicht durchgeführt,
um den Gesamt-Jitter zu verringern.
-
Die
restliche Schaltung der Zeiger-Mapping-Einheit 18 liefert
ein Steuersignal für
den Takt-Freigabe-Block 52, um das CLK-Signal an den Zeiger-Bewegungs-Zähler 50 zu
liefern. Das Signal START OF FRAME vom externen Demapper wird an einem
durch vier teilenden Block 54 empfangen. Der durch vier
teilende Block 54 verarbeitet das Rahmen-Startsignal, um
ein Anzeige-Signal MULTIFRAME zu erhalten. Das Anzeige-Signal MULTIFRAME wird
an einen Mehrrahmen-Zähler 56 und
an einen Justier-Zähler 58 angelegt.
Der Mehrrahmen-Zähler 56 erzeugt
ein vierundzwanzig Mikrosekunden langes Signal für Justier-Zähler 58.
Der Justier-Zähler 58 zählt bis
zu dem Wert herauf, der in einem Justier-Ende-Zählregister 60 gefunden
wurde. Ein Komparator 62 vergleicht den Wert in Justier-Zähler 58 mit
dem Wert in Justier-Ende-Zählregister 60.
Wenn Justier-Zähler 58 den
Wert im Justier-Ende-Zählregister 60 erreicht,
wie vom Komparator 62 bestimmt, wird der Wert im Justier-Zähler 58 gelöscht. Zu
Beginn startet der Wert von Justier-Ende-Zählregister 60 mit
Null und wird jeden 24. Unterrahmen aktualisiert, was auf dem Zählwert eines
Intervall-Zählers 64 beruht.
Für die
ersten sieben Intervalle wird der Wert von Justier-Ende-Zählregister 60 als
Reaktion auf einen unteren Komparator 66 erhöht. Für die Intervalle von
7 bis 17 ändert
sich der Wert von Justier-Ende-Zählregister 60 nicht.
Nach dem 17. Intervall wird der Wert von Justier-Ende-Zählregister 60 als
Reaktion auf den Komparator höherer
Ordnung 68 dekrementiert. Wenn der Wert in Zeiger-Bewegungs-Zähler 50 den
Wert Null erreicht, werden der Mehrrahmen-Zähler 56 und das Justier-Ende-Zählregister 60 durch
ein Nicht-Null-Zeiger-Zähl-Signal auf Null gelöscht.
-
Die
Wirkung des Signals CLK auf den Zeiger-Bewegungs-Zähler 50 ist
es, den Inhalt des Zählers
um 1/17 eines Bits zu erhöhen
oder zu verringern. Die Richtung des Prozesses ist immer gegen Null,
entsprechend der Richtung des Signals CORRECTION für den Takt-Synthesizer 14.
Wenn Zeiger-Bewegungs-Zähler 50 anfangs
eine Zeiger-Bewegung 7 oder 111,01112 hat,
wird der Zeiger-Bewegungs-Zähler 50 gelöscht, nachdem
einhundertneunzehn mal 0,00012 subtrahiert
wurde, was der Anzahl von Korrekturen entspricht, die erforderlich
sind, um Zeiger-Justierungen auszugleichen. Der Takt-Synthesizer 14 verteilt
diese Anzahl von Korrekturen über
den gesamten Satz von Rahmen. Einhundertneunzehn Korrekturen wurden
gewählt,
um ein gleichmäßiges Ansteigen
und Abfallen über
ein akzeptierbares Justier-Intervall bereitzustellen.
-
Zusammenfassend
kann man sagen, dass ein digitaler Desynchronisierer eine Mapping-Einheit und
eine Zeiger-Bewegungs-Einheit
enthält,
die unabhängig
voneinander Mapping-Jitter
und Zeiger-Justierungen erkennen. Die Mapping-Einheit und die Zeiger-Bewegungs-Einheit
liefern Signale an einen Takt-Synthesizer, damit der Takt-Synthesizer
ein Synchronisations-Taktsignal erzeugen kann, das den Quellen-Takt approximiert,
um Daten aus einer elastischen Speichereinheit zu übertragen.
Der Takt-Synthesizer justiert eine spezielle Bit-Position, um Mapping-Jitter
zu kompensieren, der von der Mapping-Einheit erkannt wird. Der Takt-Synthesizer
justiert auch eine andere Bit-Position als Reaktion auf Zeiger-Justierungen,
die von einer Zeiger-Bewegungs-Einheit
erkannt werden. Auf diese Weise liefert der digitale Desynchronisierer
eine getrennte Einrichtung, um Zeiger-Justierungen unabhängig von dem
Jitter auszugleichen, der durch die Desynchronisation der Effekte
des Mapping verursacht wird.
-
Somit
ist es offensichtlich, dass gemäß Ausführungen
der vorliegenden Erfindung ein digitaler Desynchronisierer bereitgestellt
wird, der die oben angegebenen Vorteile bietet. Obwohl die bevorzugte Ausführung detailliert
beschrieben wurde, muss verstanden werden, dass darin verschiedene Änderungen,
Ersetzungen und Abwandlungen durchgeführt werden können. Zum
Beispiel können,
obwohl spezielle Inkrement- und Dekrement-Werte und spezielle Netzwerk-Signale
verwendet werden, für
unterschiedliche Signale unterschiedliche Werte verwendet werden,
um ein geeignet synchronisiertes Taktsignal in den Fällen zu
erreichen, die ein DS3-Signal enthalten, das in ein STS-1-Signal
umgesetzt wird. Weitere Beispiele kann ein Fachmann leicht feststellen,
und sie können
realisiert werden, ohne vom Umfang der vorliegenden Erfindung abzuweichen,
wie in den folgenden Ansprüchen
definiert.
-
Liste der in der/den Zeichnung/en
verwendeten Ausdrücke
(ohne Bezugszeichen)
-
1
-
-
- Elastic store unit
=
- Elastische Speichereinheit
- Pointer movement unit
=
- Zeiger-Bewegungs-Einheit
- Mapping unit =
- Mapping-Einheit
- Clock generator =
- Taktgenerator
- Reference oscillator
unit =
- Referenz-Oszillator-Einheit
-
2
-
-
- Control =
- Steuerung
- Elastic store unit
=
- Elastische Speichereinheit
- 176 bit capacity =
- 176 Bit Kapazität
- Count 88 =
- Count-88-Block
- Write =
- Schreiben
- Read =
- Lesen
- 50 MS Sample =
- 50 MS Abtastwert
- (Coincident with V1)
=
- (gleichzeitig mit
V1)
- Discriminator =
- Diskriminator
- From pointer movement unit
=
- Von der Zeiger-Bewegungs-Einheit
- Lookup table =
- Frequenzeinstellungs-Tabelle
- Level counter =
- Füllstands-Zähler
- Level =
- Füllstand
- Divide by N =
- Division durch N
- 5 to 400 =
- 5 bis 400
- To pointer movement
unit =
- Zur Zeiger-Bewegungs-Einheit
- Bit count =
- Bitzähler
- 8 bits =
- 8 Bit
- Adjustment count =
- Justier-Zähler
- Clock synthesizer =
- Taktgenerator
- Reference oscillator
unit =
- Referenz-Oszillator-Einheit
-
3
-
-
- From mapping unit 20
=
- Von der Mapping-Einheit 20
- Clock enable =
- Takt-Freigabe-Block
- To mapping unit =
- Zur Mapping-Einheit
- Pointer movement count =
- Zeiger-Bewegungs-Zähler
- 9 bit + sign =
- 9 Bit + Vorzeichen
- Pointer event add/sub
=
- Zeiger-Ereignis-Addition/Subtraktion
- Non-zero pointer count
=
- Zeiger-Zählwert ungleich Null
- Multiframe counter
=
- Mehrrahmen-Zähler
- Divide by 48 =
- Division durch 48
- Adjustment counter
=
- Justier-Zähler
- Comparator =
- Komparator
- Adjustment end count
=
- Justier-Ende-Zählregister
- Interval count =
- Intervall-Zähler
- Low order <= 7 comparator =
- Komparator niedriger Ordnung <= 7
- High order > 17 comparator =
- Komparator höherer Ordnung > 17
- Clock synthesizer =
- Taktgenerator