-
TECHNISCHES GEBIET DER ERFINDUNG
-
Diese
Erfindung liegt im Gebiet der Kommunikationsnetze und ist genauer
auf die synchrone Kommunikation von Daten zwischen Netzelementen
gerichtet, die mit unterschiedlichen Taktfrequenzen arbeiten.
-
HINTERGRUND DER ERFINDUNG
-
In
den letzten Jahren ist der Einsatz lokaler Netze (LANs) von Personalcomputern
und Arbeitsplatzrechnern in Geschäfts- und Bildungsunternehmen
weit verbreitet geworden. Diese modernen Netze haben signifikante
Steigerungen der Produktivität geschaffen,
nicht nur indem sie Personen mit der Fähigkeit versehen haben, elektronisch
miteinander zu kommunizieren, sondern außerdem, indem sie den gemeinsamen
Zugriff auf Datenbanken und Dokumente ermöglicht haben, die in einem
zentralen Server und in den vernetzten Client-Arbeitsplatzrechnern
gespeichert sind. Bei der sich ständig verbessernden Leistung
moderner Kommunikations- und Netzelemente verwenden sowohl große als auch kleine
Unternehmen nun Netze zwischen ihren Personalcomputern und Arbeitsplatzrechnern.
Herkömmliche
LANs können
außerdem
durch Brücken oder
Router in ein weiträumiges
Netz (WAN) miteinander verbunden werden. Typischerweise enthält jedes
Netzsegment eine Anzahl von Client-Arbeitsplatzrechnern und eine
Brücke
oder einen Router; die Verbindung der Brücken und Router in Form eines Rings
oder Baums erlaubt die Kommunikation zwischen den Clients, die sich
in verschiedenen Segmenten des WAN befinden. Ferner erweitert die
Verfügbarkeit
des Internet-Zugriffs auf derartige vernetzte Computer den Desktop-Zugriff über lokale
proprietäre
Datenquellen hinaus auf weltweite öffentliche und sichere Datenquellen-Standorte.
-
Die
schnelle Verbesserung der Funktionalität und Leistung der modernen
Personal-Computer und Arbeitsplatzrechner hat wiederum den Wunsch
nach einer Netzkommunikation mit höheren Datenraten erzeugt, da
die Menge der Daten, die durch einen Client-Arbeitsplatzrechner
verarbeitet werden kann, entsprechend zugenommen hat. Ähnlich kann
die Kommunikation mit hoher Bandbreite den Austausch von Datentypen,
wie z. B. 3D-Bildern, Bewegtbildvideo, Tondateien und dergleichen,
ermöglichen,
von denen jeder durch große
Daten blöcke
repräsentiert wird.
Ein weiterer Trend geht von der Halbduplexkommunikation über das
Netz zur Vollduplex-Netzkommunikation, die gleichzeitiges Senden
und Empfangen von Daten erlaubt und folglich die Bandbreite effektiv
verdoppelt, während
sie den Bandbreitenverlust auf Grund von Kollisionen eliminiert.
-
In
modernen LANs und WANs, insbesondere bei Verbindungen mit hoher
Datenrate über
belegte Netze, wird im Allgemeinen die paketgestützte Datenkommunikation verwendet.
Im Gegensatz zu verbindungsorientierten Netzen, in denen eine dedizierte
Verbindung zwischen den Quell- und Zielknoten im Netz aufgebaut
wird, teilt die Paketvermittlung jede Nachricht (d. h. jeden zu übertragenden
Block) in kleine Pakete. Jedes Paket trägt die Identifizierer der Quell- und Zielknoten ihrer
entsprechenden Nachricht zusammen mit einem Identifizierer ihres
Ortes in der Folge der Pakete, die die Gesamtnachricht umfasst.
Dies erlaubt die multiplexierte Übermittlung
der Pakete aus mehreren Nachrichten zwischen mehreren Kombinationen
der Quell- und Zielknoten im Netz. Die Identifizierer jedes Pakets
erlauben jedem Zielknoten, seine adressierten Pakete zu behalten und
diese behaltenen Pakete erneut in die übertragene Nachricht sequentiell
einzuordnen. Im Ergebnis erlauben die paketvermittelten Netze, dass
zu einem gegebenen Zeitpunkt mehr Knoten miteinander kommunizieren,
wobei jede Kommunikation einen Anteil der Gesamtnetzbandbreite verwendet,
ohne die anderen Kanäle
zu blockieren. Beispiele herkömmlicher paketgestützter Netze
enthalten Ethernet, Token Ring und FDDI.
-
Vor
kurzem sind LAN-Vermittlungen für
die Verwendung sowohl in Ethernet-Netzen als auch in FDDI- und Token-Ring-LANs
verfügbar
geworden. Eine LAN-Vermittlung
besitzt mehrere Ports, von denen jeder mit einem Client-Arbeitsplatzrechner
(oder einem Netz-Hub, je nachdem) verbunden sein kann oder eine
Aufwärtsstrecke
zu einer weiteren Vermittlung oder einem Server bereitstellen kann.
Eine LAN-Vermittlung unterscheidet sich von einer Brücke oder
einem Hub insofern, als die Vermittlung die gleichzeitige Vermittlung
von Paketen zwischen mehreren Paaren ihrer Ports erlaubt. Im Ergebnis
schafft die Vermittlung insgesamt eine höhere Bandbreite für ihre Clients
bei verringerter Latenzzeit. Außerdem können die
Ports einer Ethernet-Vermittlung sowohl über einen Hub mit einem Netzsegment
als auch über
ein dedizierte Segment mit einem Client-Arbeitsplatzrechner verbunden
sein.
-
Vordem
ist die Anzahl der Ports, die von herkömmlichen Vermittlungen unterstützt werden
konnten, relativ eingeschränkt
gewesen. Herkömmliche Ethernet-Vermittlungen können z.
B. in der Größenordnung
von vierundzwanzig Vollduplex-10-Mbit/s-Ports und drei Vollduplex-100-Mbit/s-Ports
unterstützen.
Mit dem Erscheinen der Ethernet-Kommunikation mit Gigabit-Datenraten
treten nun herkömmliche
Ethernet-Vermittlungen für
die Unterstützung
von acht Vollduplex-100-Mbit/s-Ports und einem 1000-Mbit/s-Port ("Gigabit"-Port) in den Markt
ein.
-
Die
Netzkonstrukteure und -anwender verlangen jedoch die Unterstützung einer
großen
Anzahl von Ports, insbesondere falls dedizierte Vollduplexverbindungen
von Client-Arbeitsplatzrechnern (z. B. der Client-Arbeitsplatzrechner
C4 bis C6 nach 1) gewünscht werden.
Infolge der begrenzten Anzahl von Ports, die durch herkömmliche
Vermittlungsarchitekturen unterstützt werden, müssen diese
herkömmlichen
Konstruktionen zusätzliche
Hierarchieebenen in die Vermittlungsarchitektur einfügen, um
die gewünschte
Anzahl von Ports für
ein gegebenes Netz bereitzustellen. In derartigen herkömmlichen Anordnungen
wird nicht nur das Management des Netzes komplex, sondern die Rekonfiguration
der Ports im Netz wird ziemlich beschwerlich gemacht.
-
Als
weiterer Hintergrund ist die Übermittlung der
Daten zwischen Vermittlungsvorrichtungen oder Teilsystemen im Allgemeinen
synchron, weil die Sende- und
Empfangsvorrichtungen die Daten entsprechend einem periodischen
Taktsignal senden und empfangen. Jede Vermittlungsvorrichtung enthält folglich
eine Empfangsseite, die die Rahmen der Daten von einem weiteren
Netzelement empfängt,
und eine Sendeseite, die den empfangenen Rahmen zu einem nächsten Zielnetzelement
weiterleitet.
-
In
einer gegebenen Vermittlungsvorrichtung arbeiten die Empfangs- und
Sendeseiten typischerweise entsprechend Takten, die nominell die
gleiche Frequenz in Bezug aufeinander besitzen, in der Praxis aber
infolge von Leistungsunterschieden ein wenig unterschiedliche Frequenzen
besitzen. Typischerweise erzeugt jede Vermittlungsvorrichtung einen
Takt auf ihrer Sendeseite, entsprechend dem die Datenpakete codiert
und zur nächsten
Vermittlungsvorrichtung gesendet werden. Andererseits gewinnt die
Empfangsseite der Vermittlungsvorrichtung aus dem empfangenen Bitstrom
das Taktsignal selbst zurück,
entspre chend dem die Empfangsseite ihre Decodierungs- und anderen
Empfangsfunktionen ausführt;
dieser zurückgewonnene
Takt entspricht folglich dem in der benachbarten Vermittlungsvorrichtung,
die den Bitstrom sendet, erzeugten Sendtakt. Weil verschiedene Vermittlungsvorrichtungen
deshalb die durch die Empfangs- und Sendeseiten einer gegebenen
Vermittlungsvorrichtung verwendeten Takte erzeugen, wird erwartet,
dass sich die Frequenz des Empfangstakts in einer Vermittlungsvorrichtung
von der ihres erzeugten Sendetakts unterscheidet. Während erwartet
wird, dass der Unterschied der Taktfrequenz zwischen den Sendetakten relativ
gering ist und gut in einem spezifizierten Toleranzniveau liegt,
können
sich immer noch Taktungsunterschiede zwischen den Sende- und Empfangsseiten
innerhalb einer Vermittlungsvorrichtung ergeben. Diese Taktungsunterschiede
erfordern im Allgemeinen, dass eine Vorrichtung, die eine Datenübermittlung
empfängt,
die empfangenen Daten mit der Sendevorrichtung synchronisieren muss,
bevor sie die Daten anderswohin im System weiterleitet.
-
Außerdem muss
die Gesamtübertragungsarchitektur
bei einer Gesamtdatenübertragungsrate
arbeiten, die ihrer Verbindung mit der niedrigsten Frequenz entspricht,
wobei alle Verbindungen mit höheren
Frequenzen Leerlaufsymbole einfügen,
wie es notwendig ist, um die Verbindung mit der niedrigsten Frequenz
nicht zu überholen.
Es wird das Beispiel einer Sendevermittlungsvorrichtung betrachtet,
die einen Sendetakt mit einer Frequenz erzeugt, die 0,05% langsamer
als die des Sendetakts einer Empfangsvermittlungsvorrichtung ist.
Dies bedeutet, dass alle 2000 Zyklen des langsameren Sendetaktes
während der
gleichen Zeitdauer von 2001 Zyklen des schnelleren Sendetaktes auftreten.
Falls die Vermittlungsvorrichtung mit dem langsameren Sendetakt
die Daten in Rahmen von 490 Symbolen mit zehn Leerlaufsymbolen zwischen
den Rahmen sendet, sendet die schnellere Vermittlungsvorrichtung
diese völlig
gleichen Datenrahmen und Leerlaufsymbole erneut, wobei sie aber
ein zusätzliches
Leerlaufsymbol nach jedem vierten Rahmen einfügt, um den Unterschied der
Sendetaktfrequenzen zu berücksichtigen.
Die Datenübertragungsrate
als solche (d. h. die tatsächlichen
Datenrahmen, wobei die Leerlaufsymbole nicht gezählt werden) wird durch die
langsamste Vermittlungsvorrichtung festgelegt.
-
Wie
oben angegeben worden ist, verwenden viele herkömmliche Netze paketgestützte Protokolle, in
denen die Daten in der Form von Rahmen gesendet und empfangen werden.
In vielen Fällen,
insbesondere in Anbetracht der ver schiedenen Quellen und Ziele des
Verkehrs, werden die Rahmen im Allgemeinen nicht über irgendeine
gegebene Verbindung in einer zusammenhängenden Weise übertragen;
statt dessen werden im Allgemeinen zwischen benachbarten Rahmen über eine
gegebene Verbindung Leerlaufsymbole übertragen.
-
Die
oben angegebenen Frequenzunterschiede zwischen den Sende- und Empfangsseiten
einer gegebenen Vermittlungsvorrichtung müssen, wenn sie auch noch so
gering sind, angesprochen werden, um einen Kommunikationsausfall
zu vermeiden. Falls z. B. in einer Vorrichtung der Empfangstakt langsamer
als der Sendetakt ist, werden die Daten langsamer empfangen, als
sie gesendet werden können;
der Sender darf in diesem Fall die Daten nicht weiterleiten, sobald
er sie empfangen hat, weil an irgendeinem Punkt der Sender dem Empfänger in
einem derartigen Ausmaß voraus
sein kann, dass er bereit ist, ein nächstes Symbol zu senden, das
noch nicht empfangen worden ist. Falls umgekehrt in derselben Vorrichtung
der Empfangstakt schneller als der Sendetakt ist, können sich
die empfangenen Symbole in der Vorrichtung aufstapeln, wobei das nächste Symbol
für die
Weiterleitung vorhanden ist, bevor das vorhergehende Symbol tatsächlich gesendet
worden ist.
-
Eine
herkömmliche
Technik, um den Unterschied in den Taktbereichsfrequenzen anzusprechen,
wird im Allgemeinen als "Dribble-Down-Puffer" bezeichnet. Dieser
Zugang fügt
einen Puffer zwischen die Empfangs- und Sendeseiten einer Vermittlungsvorrichtung
ein, wobei der Puffer dazu dient, ein oder mehrere empfangene Symbole
vor der Sendung zu speichern. Gemäß der herkömmlichen Verwirklichungen sind
die Dribble-Down-Puffer jedoch notwendigerweise relativ tief und
folglich teuer zu implementieren gewesen. Ferner erfordert die Verwendung
eines Dribble-Down-Puffers im Allgemeinen eine ausreichende zeitliche
Lücke zwischen
den Datenrahmen, in der der Puffer zurückgesetzt werden kann. In jedem
Fall fügen
die Dribble-Down-Puffer und andere herkömmliche Zugänge zu den Problemen, die sich
aus den unterschiedlichen Empfangs- und Sendefrequenzen ergeben,
einen Betrag der unerwünschten
Latenzzeit in jeder Vermittlungsvorrichtung ein.
-
US-A-6.000.037 offenbart
ein Verfahren der Technik zum Übertragen
von Daten von einem ersten Taktbereich zu einem zweiten Taktbereich,
wobei die ersten und zweiten Taktsignale aus einem Basistaktsignal
abgeleitet werden und die Phasenbeziehung zwischen den zwei Taktsignalen
verwendet wird, um die Daten zwischen den zwei Bereichen zu übertragen.
Außerdem
können
die Taktsignale unabhängig erzeugt
werden, wobei das Frequenzverhältnis
zwischen den zwei Signalen und die Phasendifferenz während einer
ausgewählten
Zeitdauer bestimmt werden können.
Dies wird dann verwendet, um die künftigen Phasenbeziehungen vorherzusagen
und auf diese Weise die Übertragung
der Daten zu steuern.
-
KURZZUSAMMENFASSUNG DER ERFINDUNG
-
Die
vorliegende Erfindung schafft eine Schaltung und ein Verfahren in
einer Netzvermittlung zum Weiterleiten empfangener Netzdaten zu
einem Sender, wobei die Empfangs- und Sendeseiten der Vermittlung
bei unterschiedlichen Taktfrequenzen arbeiten.
-
Die
vorliegende Erfindung schafft weiter eine derartige Schaltung und
ein derartiges Verfahren, bei denen die Latenzzeit der Netzvermittlung
minimiert ist.
-
Die
vorliegende Erfindung schafft noch weiter eine derartige Schaltung
und ein derartiges Verfahren, bei denen das Zurücksetzen zwischen den Rahmen
nicht erforderlich ist.
-
Die
vorliegende Erfindung kann in einer Netzvorrichtung, wie z. B. einem
Netzring-Sender/Empfänger,
implementiert sein. Der Sender/Empfänger enthält Empfangs- und Sendeseiten zum
Empfangen von Daten in der Form digitaler Rahmen von Symbolen bzw.
zum Senden der empfangenen Daten an eine weitere Netzvorrichtung.
Ein Silopuffer (FIFO-Puffer) ist zwischen den Empfangs- und Sendeseiten
des Sender/Empfängers
vorgesehen, wobei er eine relativ kleine Tiefe der Einträge besitzt. Jedem
FIFO-Eintrag ist ein Gültigkeitsbitzustand
zugeordnet, der jeder der Empfangs- und Sendeseiten des Sender/Empfängers zugeordnet
ist. Bei der Speicherung von zwei aufeinanderfolgenden gültigen Symbolen
im FIFO leitet dann die Sendeseite ein Symbol von den FIFO-Einträgen weiter
und löscht
ihr Gültigkeitsbit
für die
Empfangsseite, um den Empfang eines weiteren Symbols zu erlauben.
Falls der FIFO ohne gültige
Symbole ist, gibt die Sendeseite Leerlaufsymbole aus.
-
Gemäß einem
ersten Aspekt liegt die vorliegende Erfindung in einer Schnittstellenschaltung
für die Übermittlung
empfangener Daten von einem Empfangs taktbereich in einen Sendetaktbereich,
die umfasst: einen Puffer, der mehrere Einträge enthält und einen Eingang, der so
angeschlossen ist, dass er Daten von dem Empfangstaktbereich empfängt, und einen
Ausgang, um Daten in den Sendetaktbereich auszugeben, besitzt; und
mehrere Gültigkeitslogikschaltungen,
wovon jeder ein entsprechender Eintrag der mehreren Einträge des Puffers
zugeordnet ist, wobei jede Gültigkeitslogikschaltung
umfasst: einen Schreibgültigkeits-Signalspeicher zum
Steuern des Zustands einer gültigen
Leitung in dem Empfangstaktbereich, wobei der Schreibgültigkeits-Signalspeicher
einen Setz-Eingang besitzt, der so angeschlossen ist, dass er ein
Schreibanforderungssignal empfängt;
einen Lesegültigkeits-Signalspeicher
zum Steuern des Zustands einer gültigen
Leitung in dem Sendetaktbereich, wobei der Lesegültigkeits-Signalspeicher einen
Rücksetz-Eingang
besitzt, der so angeschlossen ist, dass er ein Leseanforderungssignal empfängt; eine
Rücksetzlogik
zum Zurücksetzen
des Schreibgültigkeits-Signalspeichers
in Reaktion auf das Leseanforderungssignal; und eine Setzlogik zum Setzen
des Lesegültigkeits-Signalspeichers
in Reaktion auf das Schreibanforderungssignal.
-
Gemäß einem
weiteren Aspekt liegt die vorliegende Erfindung in einem Verfahren
zum Übertragen
von Datenwörtern
von einem Empfangstaktbereich in einen Sendetaktbereich, das umfasst:
Eingeben eines Datenworts in einen Eingang eines Puffers, der mehrere
Einträge
besitzt; in Reaktion auf ein einem ersten der mehreren Einträge zugeordnetes Schreibgültigkeitsbit
Angeben, dass der erste der mehreren Einträge keine gültigen Daten enthält, wobei
der erste der mehreren Einträge
durch einen momentanen Wert eines Schreibzeigers angegeben wird;
Speichern des eingegebenen Datenworts in dem ersten der mehreren
Einträge;
Setzen des Schreibgültigkeitsbits,
das dem ersten der mehreren Einträge zugeordnet ist; Setzen eines
Lesegültigkeitsbits,
das dem ersten der mehreren Einträge zugeordnet ist; und in Reaktion
auf ein einem zweiten der mehreren Einträge zugeordnetes Lesegültigkeitsbit
Angeben, dass ein zweiter der mehreren Einträge gültige Daten enthält, wobei
der zweite der mehreren Einträge
durch einen momentanen Wert eines Lesezeigers angegeben wird; Lesen
der Inhalte des zweiten der mehreren Einträge in dem Sendetaktbereich;
Löschen
des Lesegültigkeitsbits,
das dem zweiten der mehreren Einträge zugeordnet ist; und Löschen eines
Schreibgültigkeitsbits,
das dem zweiten der mehreren Einträge zugeordnet ist.
-
KURZBESCHREIBUNG DER MEHREREN
ANSICHTEN DER ZEICHNUNG
-
Die
vorliegende Erfindung wird nun beispielhaft unter Bezugnahme auf
die bevorzugten und beispielhaften Ausführungsformen weiter beschrieben, die
in den Figuren der beigefügten
Zeichnung veranschaulicht sind, worin:
-
1 ein
Stromlaufplan in Form eines Blockschaltplans eines Ethernet-Netzes ist, in dem
eine bevorzugte Ausführungsform
der vorliegenden Erfindung implementiert ist;
-
2 ein
Stromlaufplan in Form eines Blockschaltplans eines Vermittlungssystems
in dem Netz nach 1 gemäß einer bevorzugten Ausführungsform
der Erfindung ist;
-
3a und 3b Stromlaufpläne in Form von
Blockschaltplänen
des Vermittlungssystems nach 2 vor bzw.
nach der Erfassung eines Fehlers in einer Vermittlungsstrukturvorrichtung
darin gemäß einer
bevorzugten Ausführungsform
der Erfindung sind;
-
4 ein
Stromlaufplan in Form eines Blockschaltplans der Architektur einer
Vermittlungsstruktur gemäß einer
bevorzugten Ausführungsform
der Erfindung ist;
-
5 ein
Stromlaufplan in Form eines Blockschaltplans eines Ringweges in
einer Vermittlungsstruktur gemäß einer
bevorzugten Ausführungsform der
Erfindung ist;
-
6 ein
Stromlaufplan in Form eines Blockschaltplans eines Taktfrequenzkompensations-FIFO gemäß der bevorzugten
Ausführungsform
der Erfindung ist;
-
7a ein
Stromlaufplan in schematischer Form eines Flankendetektors in der
Lese-/Schreiblogik des Taktfrequenzkompensations-FIFO nach 6 gemäß der bevorzugten
Ausführungsform
der Erfindung ist;
-
7b ein
Stromlaufplan in schematischer Form einer Synchronisiereinrichtung
in der Lese-/Schreiblogik des Taktfrequenzkompensations-FIFO nach 6 gemäß einer
bevorzugten Ausführungsform
der Erfindung ist; und
-
8 ein
Ablaufplan ist, der den Betrieb des Taktfrequenzkompensations-FIFO nach 6 veranschaulicht,
der gemäß einer
bevorzugten Ausführungsform
der Erfindung konstruiert ist.
-
AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
-
Wie
aus der folgenden Beschreibung offensichtlich wird, kann die vorliegende
Erfindung im Zusammenhang mit einer umfassenden Vielfalt von Implementierungen
und im Zusammenhang mit paketvermittelten Netzen verschiedener Protokolle
und Kommunikationstypen verwendet werden. Die folgende Beschreibung,
die auf eine bevorzugte Ausführungsform
der vorliegenden Erfindung im Zusammenhang mit Ethernet-Netzen gerichtet
ist, wird deshalb lediglich beispielhaft vorgelegt, wobei es selbstverständlich ist,
dass die Fachleute auf dem Gebiet, die auf diese Beschreibung Bezug
nehmen, die vorliegende Erfindung im Zusammenhang mit alternativen
Implementierungen für
Ethernet-Netze und Netze anderer Typen ohne weiteres verwenden und
verwirklichen können,
ohne vom Umfang der vorliegenden Erfindung abzuweichen.
-
1 ist
ein Blockschaltplan auf hoher Ebene eines Ethernet-Netzes, in dem
eine bevorzugte Ausführungsform
der vorliegenden Erfindung leicht implementiert werden kann. Wie
im Fall des herkömmlichen
vermittelten Netzes, das oben bezüglich 1 erörtert worden
ist, sind die Client-Arbeitsplatzrechner C0 bis
C3 über
den Hub H in einem Netzsegment verbunden. Sowohl der Hub H als auch
die Client-Arbeitsplatzrechner C4 bis C6 sind mit entsprechenden Ports des Vermittlungssystems 10 verbunden.
In dem Beispiel nach 1 ist der Hub H über den
Port P0 mit dem Vermittlungssystem 10 verbunden,
während
die Client-Arbeitsplatzrechner C4, C5, C6 über die
Ports Pk, Pm bzw.
Pn mit dem Vermittlungssystem 10 verbunden
sind. Jeder der Ports P schafft in dieser beispielhaften Implementierung
Vollduplex-100-Mbit/s-Verbindungen. Das Vermittlungssystem 10 ist
außerdem
durch zugeordnete Aufwärtsstrecken
UL, die jede als eine Hochleistungs-Vollduplexverbindung (z. B.
1000-Mbit/s- oder "Gigabit"-Vollduplexverbindung)
arbeiten, mit mehreren Servern SRV verbunden.
-
Das
Vermittlungssystem 10 gemäß einer bevorzugten Ausführungsform
der vorliegenden Erfindung kann eine große Anzahl von Ports P und Hochgeschwindigkeits-Aufwärtsstrecken
UL abwickeln. Es wird z. B. davon ausgegangen, dass entsprechend
der aktuellen Technologie das Vermittlungssystem 10 gemäß der vorliegenden
Erfindung in der Größenordnung
bis zu einhundertzwanzig Ports P, fünfzehn Aufwärtsstrecken UL oder eine Kombination
aus diesen (wobei jede Gigabit-Aufwärtsstrecke UL acht 100-Mbit-Ports
P in der Kombination ersetzt) unterstützen kann. Außerdem wird
davon ausgegangen, dass bezüglich
der Anzahl und des Typs andere Verbindungen außerdem durch das Vermittlungssystem 10 unterstützt werden
können,
wie aus der folgenden Beschreibung klar wird.
-
Unter
Bezugnahme auf 2 wird nun die Anordnung des
Vermittlungssystems 10 gemäß einer bevorzugten Ausführungsform
der Erfindung ausführlich
beschrieben. In dieser beispielhaften Ausführungsform enthält das Vermittlungssystem 10 drei Vermittlungsstrukturvorrichtungen 200 bis 202 ,
die in der Art eines Rings miteinander verbunden sind. Gemäß dieser
bevorzugten Ausführungsform
der Erfindung besitzt jede Vermittlungsstrukturvorrichtung 20 eine
Anzahl von Schnittstellen, die jede eine bidirektionale Verbindung
mit einer ausgewählten
Kombination aus 100-Mbit-Vermittlungsvorrichtungen 14 und Gigabit-Vermittlungsvorrichtungen 16 schaffen.
In dieser beispielhaften Ausführungsform
unterstützt jede
100-Mbit-Vermittlungsvorrichtung 14 acht Ports P, während jede
Gigabit-Vermittlungsvorrichtung 16 eine Aufwärtsstrecke
UL unterstützt.
Ein Beispiel der Vermittlungsvorrichtung 14, die für die Verwendung im
Vermittlungssystem 10 gemäß einer bevorzugten Ausführungsform
der Erfindung geeignet ist, ist die TNETX4090-Ethernet-Vermittlungsvorrichtung,
die von Texas Instruments Incorporated verfügbar ist, während ein Beispiel der Gigabit-Vermittlungsvorrichtung 16,
die für
die Verwendung im Vermittlungssystem 10 gemäß einer
bevorzugten Ausführungsform
der Erfindung geeignet ist, die TNETX4020-Ethernet-Vermittlungsvorrichtung
ist, die von Texas Instruments Incorporated verfügbar ist.
-
Wie
aus 2 offensichtlich ist, ist die Ringanordnung der
Vermittlungsstrukturvorrichtungen 20 durch eine redundante
bidirektionale Kommunikation zwischen jeder der Vorrichtungen 20 und
den Nachbarvorrichtungen 20 auf beiden Seiten von ihr verwirklicht.
Wie im Folgenden ausführlicher
beschrieben wird, enthält
folglich jede Vermittlungsstrukturvorrichtung 20 vier bidirektionale
Ringschnittstellen. Im Ergebnis dieser Zusammenschaltung kann jeder
Port P oder jede Aufwärtsstrecke
UL, der bzw. die durch eine entsprechende Vermittlung 14, 16 unterstützt wird,
mit jedem anderen Port P oder jeder anderen Aufwärtsstrecke UL kommunizieren,
mit der eine Verbindung durch das Vermittlungssystem 10 hergestellt
ist. Demgemäß schafft
das Vermittlungssystem 10 eine Netzvermittlung mit einer äußerst großen Kapazität, wie oben
angegeben worden ist, mit bis zu einer 0/120/0- oder 0/0/15-Kapazität (ausgedrückt als
10-Mbit-/100-Mbit-/Gbit-Kapazitäten)
und Kombinationen dazwischen.
-
Unter
Bezugnahme auf 4 wird nun die Konstruktion
der Vermittlungsstrukturvorrichtung 20 gemäß einer
bevorzugten Ausführungsform
der Erfindung ausführlich
beschrieben. Jede der Vermittlungsstrukturvorrichtungen 200 bis 202 in
dem Vermittlungssystem 10 nach 2 gemäß einer
bevorzugten Ausführungsform
der Erfindung ist ähnlich konstruiert,
wobei als solche eine derartige Vermittlungsstrukturvorrichtung 20 beispielhaft
beschrieben wird. Die Vermittlungsstrukturvorrichtung 20 ist
in dieser Ausführungsform
der Erfindung eine Ethernet-Vermittlungsstruktur, die mit einer
Kombination von bis zu fünf
Vermittlungen 14, 16 (wie in 2 gezeigt
ist) durch die Vermittlungsschnittstellen 220 bis 224 eine Schnittstelle bildet. Gemäß dieser
bevorzugten Ausführungsform
der Erfindung schafft jede Vermittlungsschnittstelle 22 eine
bidirektionale Gigabit-Verbindung
mit einer zugeordneten Vermittlungsvorrichtung 14, 16,
vorzugsweise durch einen medienunabhängigen Gigabit-Schnittstellenport (GMII-Port)
an der angeschlossenen Vermittlungsvorrichtung 14, 16.
Jede der Schnittstellen 22 ist bidirektional mit jedem
von vier Ringwegen 240 bis 243 in der Vermittlungsstrukturvorrichtung 20 verbunden, wie
in 4 gezeigt ist.
-
Wie
im Folgenden ausführlicher
beschrieben wird, schafft jeder der Ringwege 24 in der
Vermittlungsstrukturvorrichtung 20 einen unidirektionalen Kommunikationsweg
in der Ringkonfiguration der Vermittlungsstrukturvorrichtungen 20 im
Vermittlungssystem 10 nach 2. Als solcher
ist jeder Ringweg 24 einem Paar von Ringschnittstellen 26R, 26X zugeordnet.
In diesem Beispiel ist der Ringweg 240 an
die Empfangsringschnittstelle 26R0 und
die Senderingschnittstelle 26X0 gekoppelt,
während
der Ringweg 241 an die Empfangsringschnittstelle 26R1 und die Senderingschnittstelle 26X1 gekoppelt ist. Der Ringweg 241 überträgt ähnlich wie
der Ringweg 240 Daten, aber in
der entgegengesetzten "Richtung" bezüglich des
Ringwegs 240 . In dem Beispiel nach 2 ist
der Kommunikationsweg der Empfangsringschnittstelle 26R0 , des Ringwegs 240 und
der Senderingschnittstelle 26X0 für den Datenfluss
von links nach rechts in 4 orientiert, während die Empfangsringschnittstelle 26R1 , der Ringweg 241 und
die Senderingschnittstelle 26X1 für den Datenfluss
in der entgegengesetzten Richtung (von rechts nach links) orientiert
sind. Ähnlich
ist der Ringweg 242 den Ringschnittstellen 26R2 , 26X2 zugeordnet,
während
der Ringweg 243 den Ringschnittstellen 26R3 , 26X3 zugeordnet
ist.
-
In
dem Beispiel des in 2 gezeigten Vermittlungssystems 10 liegt
die Vermittlungsstrukturvorrichtung 20 nach 4 als
solche in vier separaten unidirektionalen Ringen, zwei in jeder
Richtung. Die Vermittlungen 14, 16 sind in einer
derartigen Weise mit der Vermittlungsstrukturvorrichtung 20 verbunden,
um die Datenlast so sehr wie möglich
(im Idealfall mit einem Viertel der Datenlast in jedem Ring) zwischen
den vier Ringen auszugleichen; ein derartiger Ausgleich maximiert
die Datenübertragungsrate des
Gesamtsystems. Die gegenrotierenden Ringe erlauben die Rekonfiguration
des Vermittlungssystems 10 im Fall des Ausfalls einer der
Vermittlungsstrukturvorrichtungen 20, z. B. durch das Rekonfigurieren
der vier Ringe in zwei Ringe, wobei in jedem Ring zweimal so viele
Vorrichtungen angesiedelt sind.
-
Die 3a und 3b veranschaulichen ein
Beispiel einer derartigen Rekonfiguration. 3a veranschaulicht
die Vermittlungsstrukturvorrichtungen 200 , 201 , 202 ,
die in der oben beschriebenen Weise, die in 2 gezeigt
ist, durch vier Ringe in das Vermittlungssystem 10 verbunden
sind. Die Vermittlungen 14, 16 im Vermittlungssystem 10 sind
um der Klarheit willen in den 3a und 3b nicht
gezeigt. Falls z. B. die Vermittlungsstrukturvorrichtung 201 ausfällt, erfasst jede der Vermittlungsstrukturvorrichtungen 200 , 202 im
Vermittlungssystem 10 gemäß einer bevorzugten Ausführungsform
der Erfindung Störungen
in ihrer Sendung der Daten an ihre benachbarte Vermittlungsstrukturvorrichtung 201 und in ihrem Empfang der Daten von
ihrer benachbarten Vermittlungsstrukturvorrichtung 201 . In Reaktion auf die Erfassung dieses
Zustands rekonfiguriert dann jede der Vermittlungsstrukturvorrichtungen 200 , 202 diese
Ringschnittstellen, die vorher mit der Vermittlungsstrukturvorrichtung 201 in Verbindung standen, damit sie mit
ei ner entsprechenden Ringschnittstelle in derselben Vermittlungsstrukturvorrichtung
der Vermittlungsstrukturvorrichtungen 200 , 202 kommunizieren, was zu einer Ringkonfiguration
führt,
wie sie in 3b gezeigt ist. Diese Rekonfiguration
oder dieses "Umwickeln" wird vorzugsweise
in den Vermittlungsstrukturvorrichtungen 200 , 202 selbst ausgeführt. Wie in 3b gezeigt
ist, steht die ausgefallene Vermittlungsstrukturvorrichtung 201 nicht länger mit den Vermittlungsstrukturvorrichtungen 200 , 202 in Verbindung,
aber die Vermittlungsstrukturvorrichtungen 200 , 202 und ihre (nicht gezeigten) zugeordneten Vermittlungsvorrichtungen 14, 16 verbleiben
innerhalb des Vermittlungssystems 10 verbunden.
-
Diese
Fähigkeit
zur Rekonfiguration im Fall eines Ausfalls erlaubt außerdem die "heiße" Einfügung einer
zusätzlichen
Vermittlungsstrukturvorrichtung 20 in ein bereits arbeitendes
ringkonfiguriertes Vermittlungssystem 10.
-
In 4 ist
eine zusätzliche
Unterstützungslogik
in der Vermittlungsstrukturvorrichtung 20 vorgesehen. Gemäß dieser
bevorzugten Ausführungsform der
Erfindung ist der RINGCLK-Generator 27 in der Vermittlungsstrukturvorrichtung 20 vorgesehen,
um ein Taktsignal RINGCLK zu erzeugen, das die Sendung der Daten
von den Senderingschnittstellen 26X steuert; wie im Folgenden
angegeben wird, gewinnen die Empfangsringschnittstellen 26R ihre
Taktsignale aus den ankommenden Ringdaten selbst zurück. Wie
außerdem
in 4 gezeigt ist, schafft die Daten-Eingabe/Ausgabe-Schnittstelle
(DIO-Schnittstelle) 27 eine bidirektionale Steuerdatenkommunikation
zwischen der Vermittlungsstrukturvorrichtung 20 und einem
Host-Computer. Außerdem
enthält
die Vermittlungsstrukturvorrichtung 20 zwei völlig gleiche Kommunikationsschnittstellen 290 , 291 ,
die die Informationen zwischen der Vermittlungsstrukturvorrichtung 20 und
ihren unmittelbaren Nachbarn (auf der linken bzw. rechten Seite)
in einer Ringanordnung, wie z. B. in 2 gezeigt
ist, übertragen.
Die Kommunikationsschnittstellen 29 erlauben den Vermittlungsstrukturvorrichtungen 20,
Ringkonfigurationsinformationen vor den oder getrennt von den Datenkommunikationen über die über die
Schnittstellen 28 bereitgestellten Datenwege miteinander
auszutauschen.
-
Gemäß den bevorzugten
Ausführungsformen
der Erfindung arbeitet jede Ringschnittstelle 28 durch
differentielle Signalisierung mit einer Datenrate von 2,5 GBd. Die
Konstruktion eines der unidirektionalen Datenwege, der eine Emp fangsringschnittstelle 26R,
einen Ringweg 24 und eine Sendringschnittstelle 26X umfasst,
wird nun ausführlich
bezüglich 5 beschrieben.
-
Wie
in 5 gezeigt ist, werden die Daten durch den Ringweg 24 in
Codegruppen von seinem entsprechenden Empfangsringpuffer 26R empfangen
und in den Demultiplexer 31 eingegeben. In dieser bevorzugten
Ausführungsform
der Erfindung ist die Taktfrequenz, mit der die Codegruppen in den
Demultiplexer 31 eingegeben werden, das Zweifache der Taktfrequenz,
mit der in diesem Beispiel die Daten vom Demultiplexer 31 zum
Decodierer 32 weitergeleitet werden. In einer bevorzugten
Ausführungsform
der Erfindung werden z. B. Zehn-Bit-Codegruppen durch den Demultiplexer 31 bei
seiner nominellen Taktfrequenz von 250 MHz empfangen und durch den
Demultiplexer 31 in Paaren von Zehn-Bit-Codegruppen mit einer Taktfrequenz von
125 MHz an den Decodierer 32 weitergeleitet. Die Taktfrequenz,
mit der die Codegruppen in den Demultiplexer 31 eingegeben
werden, ist gemäß dieser
Ausführungsform der
Erfindung ein Taktsignal, das aus dem Datenbitstrom selbst durch
die Empfangsringschnittstelle 26R zurückgewonnen wird.
-
Der
Decodierer 32 ist in dieser bevorzugten Ausführungsform
ein Doppel-10-Bit-zu-8-Bit-Decodierer, durch den die paarweisen
Zehn-Bit-Codegruppen in ein einziges Sechzehn-Bit-Datenwort umgesetzt
werden, das zum Taktfrequenzkompensations-FIFO 34 gemäß einer
bevorzugten Ausführungsform
der Erfindung weitergeleitet wird. Die durch den Decodierer 32 ausgeführte Decodierung
setzt die Daten entsprechend dem geeigneten Formatierungsstandard,
wie z. B. dem entsprechend dem IEEE-802.3z-Standard, um. Es können außerdem zusätzliche
Bits erzeugt werden, um anzugeben, ob jedes decodierte Datenwort
Daten enthält
oder statt dessen ein Steuersymbol, wie z. B. ein Rahmen-Trennzeichen oder
ein Leerlaufwort, ist.
-
Der
Taktfrequenzkompensations-FIFO 34 gemäß einer bevorzugten Ausführungsform
der Erfindung steuert die Übermittlung
der Daten zwischen den Empfangsseiten und den Sendeseiten des Ringweges 24.
Die Konstruktion und der Betrieb des Taktfrequenzkompensations-FIFO 34 werden
im Folgenden ausführlich
beschrieben. Zum geeigneten Zeitpunkt, wie im Folgenden ausführlich beschrieben wird,
leitet der Taktfrequenzkompensations-FIFO 34 das empfangene
decodierte Datenwort zu einem oder mehreren Zielen des Ringweges 24 weiter.
-
Falls
das empfangene decodierte Datenwort an eine der Vermittlungsvorrichtungen 14, 16 adressiert
ist, an die die Vermittlungsstrukturvorrichtung 20 gekoppelt
ist, wird das vom Taktfrequenzkompensations-FIFO 34 ausgegebenen
Datenwort an jede der Schnittstellen 22 (4)
weitergeleitet. Falls das empfangene decodierte Datenwort längs des
Rings zur nächsten
Vermittlungsstrukturvorrichtung 20 weiterzuleiten ist,
wird die Ausgabe des Taktfrequenzkompensations-FIFO 34 in
die Ringwegregister 38 eingegeben und in diesen gespeichert,
wo die Daten entsprechend dem geeigneten Token- oder Rahmen-Parsingalgorithmus
geparst werden, der für
die spezielle Anwendung zu verwenden ist. Die empfangenen decodierten
Datenwörter,
die den Token-Daten entsprechen, werden außerdem durch den Taktfrequenzkompensations-FIFO 34 für die Beibehaltung
in den Token-Puffer 36 eingegeben, falls die Token-Daten
längs des
Rings im Vermittlungssystem 10 zu senden sind.
-
Der
Multiplexer 40 wählt
eine von mehreren Datenquellen aus, von der Datenwörter zum
Codierer 42 für
die Sendung weiterzuleiten sind. Der Multiplexer 40 empfängt eine
Eingabe von jeder der Vermittlungsschnittstellen 22, so
dass die Daten von den entsprechenden Vermittlungsvorrichtungen 14, 16 längs der
Ringkonfiguration weitergeleitet werden können. Außerdem ist ein Eingang des
Multiplexers 40 an die Ringwegregister 38 gekoppelt,
um die geparsten Rahmen- oder
Token-Daten zu empfangen, während
ein Eingang des Multiplexers 40 an den Token-Puffer 36 gekoppelt
ist, um von ihm die beibehaltenen Token-Daten zu empfangen. Der
Multiplexer 40 wird durch eine (nicht gezeigte Steuerschaltungsanordnung)
gesteuert, um nach der Codierung durch den Codierer 42 die
geeigneten Daten, die zu senden sind, auszuwählen.
-
Der
Codierer 42 ist ein Doppel-8-Bit-zu-10-Bit-Codierer zum
Umsetzen des durch den Multiplexer 40 ausgewählten Sechzehn-Bit-Datenworts
in zwei Zehn-Bit-Codegruppen, abermals
entsprechend dem geeigneten Formatstandard, wie z. B. dem IEEE-802.3z-Standard.
Diese zwei Zehn-Bit-Codegruppen werden gleichzeitig parallel in
den Multiplexer 43 eingegeben. Der Multiplexer 43 leitet
diese zwei Zehn-Bit-Code-Gruppen beim Doppelten der Frequenz, mit
dem die decodierten Codegruppen in seinen Eingang eingegeben werden,
sequentiell an die Senderingschnittstelle 26X weiter. Wenn
z. B. der Ringweg 24 mit 125 MHz arbeitet, wie oben beschrieben
worden ist, gibt der Multiplexer 43 die Zehn-Bit-Codegruppen mit 250 MHz
in die Senderingschnittstelle 26X ein. Dann werden die
Ringdaten zur nächsten
Vermittlungsstrukturvorrichtung 20 im Vermittlungssystem 10 gesendet, wie
in 2 gezeigt ist.
-
Wie
in 5 gezeigt ist, arbeitet der Ringweg 24 entsprechend
verschiedenen Taktbereichen, von denen zwei auf der Datenrate basieren,
mit der die Ringdaten empfangen werden, während zwei von denen auf der
Taktrate basieren, mit der die Ringdaten gesendet werden. In diesem
Beispiel werden, wie oben angegeben worden ist, die Zehn-Bit-Datengruppen
mit der zurückgewonnenen
Taktfrequenz (z. B. nominell 250 MHz), die durch die entsprechende Empfangsringschnittstelle 26R erzeugt
wird, in den Eingang des Demultiplexers 31 eingegeben;
nach dem Demultiplexieren werden dann die empfangenen Daten mit
einer Taktfrequenz, die von dieser zurückgewonnenen Taktfrequenz abwärtsgeteilt
wird (z. B. durch zwei geteilt wird und folglich nominell 125 MHz
beträgt),
durch den Demultiplexer 31 weitergeleitet, durch den Decodierer 32 decodiert
und in den Taktfrequenzkompensations-FIFO 34 eingegeben. Auf
der Sendeseite werden die Codegruppen durch den Multiplexer 43 mit
einem seriellen Hochgeschwindigkeitstakt RINGCLK (z. B. nominell
250 MHz), der durch die RINGCLK-Taktgeneratorschaltung 27 erzeugt
wird, an die Senderingschnittstelle 26X multiplexiert und
gesendet; wobei die Datenauswahl durch den Multiplexer 40 und
die Codierung durch den Codierer 42 bei einer geteilten
Frequenz bezüglich
des seriellen Takts RINGCLK (z. B. geteilt durch zwei und folglich
nominell 125 MHz) ausgeführt werden.
Die Grenze zwischen den Bereichen der geteilten Takte auf den Empfangs-
und Sendeseiten wird durch den Taktfrequenzkompensations-FIFO 34 geschaffen.
-
Theoretisch
befinden sich der geteilte zurückgewonnene
Takt auf der Empfangsseite des Ringwegs 24 und der geteilte
Sendetakt auf der Sendeseite des Ringwegs 24 auf der gleichen
Frequenz, wobei in diesem Fall die Pufferung zwischen den Empfangs-
und Sendeseiten des Ringwegs 24 nicht notwendig sein würde. Infolge
von Faktoren, wie z. B. Leistungsunterschieden, Vorrichtungsgrößentoleranzen,
Lastvariationen und dergleichen, sind Unterschiede der Taktfrequenzen
auf beiden Seiten des Taktfrequenzkompensations-FIFO 34 vorhanden. Wie
nun ausführlich
beschrieben wird, ist der Taktfrequenzkompensations-FIFO 34 in
einer derartigen Weise konstruiert, um diese Taktungsunterschiede mit
einem Minimum von Latenzzeit zu kompensieren.
-
Nun
wird unter Bezugnahme auf 6 die Konstruktion
des Taktfrequenzkompensations-FIFO 34 gemäß einer
bevorzugten Ausführungsform
der Erfindung beschrieben. Der Taktfrequenzkompensations-FIFO 34 umfasst
einen Umlaufpuffer 44, der mehrere Einträge aufweist,
von denen jeder ein vom Decodierer 32 empfangenes Datenwort
speichert, das in den Multiplexer 40 im Ringweg 24 einzugeben ist,
wie in 5 gezeigt ist. Gemäß einer bevorzugten Ausführungsform
der vorliegenden Erfindung kann die Anzahl der Einträge des Umlaufpuffers 44 relativ
klein gehalten werden; in dieser beispielhaften Implementierung
beträgt
die Kapazität
des Umlaufpuffers 44 nur fünf Einträge. Die Datenwörter vom Decodierer 32 werden
in die Einträge
des Umlaufpuffers 44 (der im Bereich des geteilten zurückgewonnenen
Takts synchronisiert ist) durch die Schreibzeiger- und Logikeinrichtung 46W eingegeben,
wobei die Inhalte der Einträge
des Umlaufpuffers 44 durch die Lesezeiger- und Logikeinrichtung 46R gelesen
werden und in einen Eingang des Multiplexers 47 (der im RINGCLK/2-Taktbereich
synchronisiert ist) eingegeben werden. Die Verwendung sowohl der
Schreibzeiger- und Logikeinrichtung 46W als auch der Lesezeiger-
und Logikeinrichtung 46R erlaubt dem Umlaufpuffer 44,
in der Weise eines Silospeichers zu arbeiten, wie aus der folgenden
Beschreibung ersichtlich wird. In dieser Hinsicht werden die Schreibzeiger- und
Logikeinrichtung 46W und die Lesezeiger- und Logikeinrichtung 46R durch
die Lese-/Schreiblogik 48 entsprechend des Zustands der
Lese- und Schreibgültigkeitsbits
gesteuert, die jedem Eintrag des Umlaufpuffers 44 entsprechen,
wie nun ausführlich
beschrieben wird.
-
Jeder
Eintrag des Umlaufpuffers 44 ist gemäß dieser bevorzugten Ausführungsform
der Erfindung einer Instanz einer Empfangs-/Sendegültigkeitslogik 50 zugeordnet.
Wie in 6 gezeigt ist, spreizt jede Instanz der Empfangs-/Sendegültigkeitslogik 50 die
Taktbereiche, wobei ein Schreibabschnitt entsprechend dem Bereich
des geteilten zurückgewonnenen
Takts arbeitet und ein Leseabschnitt entsprechend dem RINGCLK/2-Taktbereich
arbeitet. Gemäß dieser
bevorzugten Ausführungsform
der Erfindung empfängt
jede Instanz der Empfangs-/Sendegültigkeitslogik 50 einen
Schreibbefehl im Bereich des geteilten zurückgewonnenen Takts von der
Quelle eines Datenworts, z. B. vom Decodierer 32, wobei sie
einen Lesebefehl im RINGCLK/2-Taktbereich vom Ziel eines Datenworts
empfängt,
z. B. von den Ringwegregistern 38 oder einer anderen zugeordneten
Steuerlogik. Außerdem
werden Gültigkeitsbits durch
die Empfangs- /Sendegültigkeitslogik 50 in
die Quell- und Zielfunktionen in den entsprechenden Bereichen eingegeben.
-
6 veranschaulicht
die ausführliche
Konstruktion der Empfangs-/Sendegültigkeitslogik 500 , die dem 0. Eintrag des Umlaufpuffers
zugeordnet ist; selbstverständlich
sind die anderen Instanzen der Empfangs-/Sendegültigkeitslogik 50 im
Taktfrequenzkompensations-FIFO 34 ähnlich konstruiert und den
anderen Einträgen
des Umlaufpuffers 44 zugeordnet. Gemäß dieser bevorzugten Ausführungsform
der Erfindung wird die Schreibwort-Befehlsleitung WRW0 vom Decodierer 32 oder
von der zugeordneten Empfangssteuerschaltungsanordnung im Ringweg 24 empfangen
und in den Setzeingang des RS-Flipflops 52 eingegeben.
In diesem Beispiel gibt ein aktiver hoher Pegel auf der Schreibwort-Befehlsleitung
WRW0 an, dass ein Datenwort bereit ist, in den 0. Eintrag des Umlaufpuffers 44 geschrieben
zu werden. Der Ausgang des RS-Flipflops 52 steuert die Gültigkeitsleitung
WV0 an, die mit einem aktiven hohen Pegel angibt, dass der 0. Eintrag
des Umlaufpuffers 44 gültige
Daten enthält;
umgekehrt gibt ein tiefer Pegel auf der Leitungsgültigkeitsleitung
WV0 an, dass dieser Eintrag keine gültigen Daten enthält und folglich
verfügbar
ist, um ein Datenwort zu empfangen. Diese Ausgabe des RS-Flipflops 52 wird
außerdem
zum Eingang des Flankendetektors 54 weitergeleitet, wobei
in Reaktion auf diese der Zustand der Gültigkeitsleitung RV0 gesteuert
wird, wie nun beschrieben wird.
-
Der
Flankendetektor 54 ist eine Schaltung zum Abtasten eines Übergangs
an ihrem Eingang IN, der in diesem Beispiel mit dem Ausgang des
RS-Flipflops 52 verbunden ist, und zum Erzeugen eines aktiven
Pegels in Reaktion auf einen derartigen Übergang. Die Ausgabe des Flankendetektors 54 wird
in den Eingang IN der Synchronisationseinrichtung 56 eingegeben,
die an ihrem Ausgang basierend auf dem Zustand an ihrem Eingang
IN ein entsprechendes Signal erzeugt. Die Ausgabe der Synchronisationseinrichtung 56 wird
in den Setzeingang des RS-Flipflops 62 eingegeben, das
wiederum die Gültigkeitsleitung
RV0 ansteuert. Der Flankendetektor 54 und die Synchronisationseinrichtung 56 besitzen außerdem einen
Eingang CLR, wobei in Reaktion auf diesen sein bzw. ihr Ausgang
deaktiviert wird. In dem Beispiel nach 6 sind die
Eingänge
CLR mit dem Ausgang der Synchronisationseinrichtung 56 verbunden.
Wie im Folgenden weiter ausführlich
beschrieben wird, empfangen außerdem
sowohl der Flankende tektor 54 als auch die Synchronisationseinrichtung 56 ein
Taktsignal von der Sendeseite im RINGCLK/2-Taktbereich, entsprechend
dem ihre jeweiligen Ausgänge
synchron sind. Der Flankendetektor 54 erzeugt deshalb in
seinem allgemeinen Betrieb in Reaktion auf einen Tief-zu-Hoch-Übergang
an seinem Eingang, der in Reaktion darauf, dass die Schreibwort-Befehlsleitung
WRW0 aktiv angesteuert wird, um eine Schreiboperation in den entsprechenden
(z. B. 0.) Eintrag des Umlaufpuffers 44 zu initiieren,
auftritt, einen aktiven Pegel an seinem Ausgang. Dieser aktive Pegel
wird dann durch die Synchronisationseinrichtung 56 in den
RINGCLK/2-Taktbereich synchronisiert und veranlasst das RS-Flipflop 62,
die Gültigkeitsleitung
RV0 aktiv anzusteuern, um anzugeben, dass der entsprechende Eintrag
des Umlaufpuffers 44 nun gültige Daten enthält.
-
Nun
wird unter Bezugnahme auf 7a die Konstruktion
des Flankendetektors 54 gemäß einer bevorzugten Ausführungsform
der Erfindung ausführlich
beschrieben. In 6 enthält die Empfangs-/Sendegültigkeitslogik 500 in ihrem Weg von der Sendeseite zur
Empfangsseite des Taktfrequenzkompensations-FIFO 34 außerdem einen Flankendetektor 60,
der ähnlich
wie der Flankendetektor 54 konstruiert ist. Die Konstruktion
des Flankendetektors 54 als solche wird in einer Weise
beschrieben, die etwas generisch für beide Flankendetektoren 54, 60 ist.
-
Der
Flankendetektor 54 enthält
ein Dreieingangs-NAND-Gatter 90, wobei der Eingang IN des Flankendetektors 54 mit
einem Eingang des Dreieingangs-NAND-Gatters 90 verbunden
ist; wie oben angegeben worden ist, ist der Eingang IN des Flankendetektors 54 mit
dem Ausgang des RS-Flipflops 52 verbunden. Der Eingang
IN ist außerdem
mit einem Setzeingang des D-Flipflops 92 verbunden, um
das Flipflop 92 in Reaktion auf einen Tief-zu-Hoch-Übergang
am Eingang IN in einen "1"-Zustand zu setzen. Die
Ausgabe des Flipflops 92 wird in einen zweiten Eingang
des NAND-Gatters 90 eingegeben. Der Eingang CLR des Flankendetektors 54 ist über den
Inverter 89 sowohl mit dem D-Eingang des D-Flipflops 92 als
auch mit dem D-Eingang des D-Flipflops 94 und dem dritten
Eingang des NAND-Gatters 90 verbunden. Der Ausgang des
NAND-Gatters 90 ist mit einem invertierenden Setzeingang
des D-Flipflops 94 verbunden (um das D-Flipflop 94 bei einem Hoch-zu-Tief-Übergang
zu setzen), während
der Ausgang des Flipflops 94 die Ausgabe des Flankendetektors 54 ausgibt.
-
Die
Flipflops 92, 94 des Flankendetektors 54 werden
durch ein Taktsignal auf einer Leitung CLK getaktet, das von dem
Zielbereich erzeugt wird, der im Fall des Flankendetektors 54 die
Sendeseite im RINGCLK/2-Taktbereich ist. Spezifischer überträgt die Leitung
CLK das Taktsignal RINGCLK/2 von der Sendeseite der Vermittlungsstrukturvorrichtung 20; im
Fall des Flankendetektors 60 ist selbstverständlich das
entsprechende Taktsignal auf der Leitung CLK der geteilte zurückgewonnene
Takt, der in der Empfangsseite der Vermittlungsstrukturvorrichtung 20 verwendet
wird. In 7a wird das Taktsignal auf der
Leitung CLK in die Takteingänge
der Flipflops 92, 94 eingegeben, um ihre gleichzeitige
Taktung auszuführen.
-
In
Betrieb beginnt der Flankendetektor 54 aus einem Zustand,
in dem sich die Leitung IN auf einem inaktiven tiefen Pegel befindet,
wie er durch das RS-Flipflop 52 (6) erzeugt
wird, was angibt, dass sein entsprechender Eintrag des Umlaufpuffers 44 keine
gültigen
Daten enthält,
und es folglich eine Schreibanforderung auf der Schreibwort-Befehlsleitung
WRW0 erwartet. In diesem Anfangszustand, der einem vorhergehenden
Schreibvorgang in den entsprechenden Eintrag des Umlaufpuffers 44 folgt,
ist die Ausgabe der Synchronisationseinrichtung 56 bereits
in den Eingang CLR des Flankendetektors 54 eingegeben worden.
Der invertierte Zustand des Eingangs CLR, gefolgt von den Zyklen
des Zieltaktes RINGCLK/2 auf der Leitung CLK, um die Flipflops 92, 94 in
einen "0"-Zustand zurückzusetzen,
wird an das NAND-Gatter 90 und den Ausgang OUT ausgegeben.
Folgende Zyklen auf der Leitung CLK stören diesen Zustand nicht.
-
Wenn
der Decodierer 32 oder eine andere Steuerschaltungsanordnung
die Schreibwort-Befehlsleitung WRW0 aktiviert, um einen Schreibvorgang
in den 0. Eintrag des Umlaufpuffers 44 auszuführen, erzeugt
in 6 das RS-Flipflop 52 einen hohen Pegel
an seinem Ausgang, was den Eingang IN des Flankendetektors 54 veranlasst,
dann einen Tief-zu-Hoch-Übergang
auszuführen.
Dieser Übergang
gibt direkt einen hohen Pegel in einen Eingang des NAND-Gatters 90 ein
und setzt außerdem
das Flipflop 92, so dass der hohe Pegel in den zweiten Eingang
des NAND-Gatters 90 eingegeben wird. Da sich der Eingang
CLR bereits auf einem tiefen Pegel befindet, wie oben angegeben
worden ist, befinden sich folglich alle drei Eingänge des
NAND-Gatters 90 auf einem hohen Pegel, wobei in Reaktion
darauf das NAND-Gatter 90 einen Hoch-zu-Tief-Übergang
an seinem Ausgang ausführt.
Dieser Übergang,
eingegeben in den invertierenden Setzeingang des Flipflops 94,
setzt folglich das Flipflop 94 und erzeugt einen hohen
Pegel an seinem Ausgang OUT. Dieser Zustand wird durch die Flipflops 92, 94 im
Flankendetektor 54 aufrechterhalten, bis die Leitung CLR
durch die Synchronisationseinrichtung 56 hoch angesteuert wird.
Im Ergebnis wird der Tief-zu-Hoch-Übergang am
Ausgang des Flipflops 52 durch den Flankendetektor 54 erfasst,
der in Reaktion darauf einen aktiven hohen Pegel an seinem Ausgang
ansteuert und diesen Pegel zur Synchronisationseinrichtung 56 weiterleitet.
-
Nun
wird unter Bezugnahme auf 7b die Konstruktion
der Synchronisationseinrichtung 56 ausführlich beschrieben. Die Synchronisationseinrichtung 56 umfasst
im Wesentlichen ein Paar D-Flipflops 98, 102,
wobei die geeignete Datensetzlogik durch die UND-Gatter 96, 100 bereitgestellt
ist. Wie im Fall der Flankendetektoren 54, 60 ist
eine entsprechende Synchronisationseinrichtung 58 in der
Lese-/Schreiblogik 500 für das Synchronisieren
der Signale vorgesehen, die sich von der Sendeseite zur Empfangsseite
des Taktfrequenzkompensations-FIFO 34 bewegen;
die Synchronisationseinrichtungen 56, 58 sind
gemäß einer
bevorzugten Ausführungsform
der Erfindung ähnlich
konstruiert, wobei die Synchronisationseinrichtung 56 als
solche hierin in einer etwas generischen Weise beschrieben wird. In
diesem Beispiel wird die Eingabe IN der Synchronisationseinrichtung 56 in
einen Eingang des UND-Gatters 96 eingegeben, während die
Eingabe CLR der Synchronisationseinrichtung 56 in einen
invertierenden Eingang des UND-Gatters 96 eingegeben wird.
Der Ausgang des UND-Gatters 96 ist mit dem D-Eingang des
D-Flipflops 98 verbunden. Die Ausgabe des Flipflops 98 wird
in einen Eingang des UND-Gatters 100 eingegeben, das an
seinem weiteren, invertierenden Eingang die Eingabe CLR empfängt; die
Ausgabe des Flipflops 100 wird in den D-Eingang des D-Flipflops 102 eingegeben,
das sowohl den Ausgang als auch den Eingang CLR in die Synchronisationseinrichtung 56 (und
den Flankendetektor 54) ansteuert, wie in 6 gezeigt
ist.
-
Die
Synchronisationseinrichtung 56 besitzt in dieser Ausführungsform
der Erfindung die Funktion des Synchronisierens des Übergangs
des Ausgangs des Flipflops 52 in der Empfangsseite der
Lese-/Schreiblogik 500 mit dem
RINGCLK/2-Taktbereich der Sendeseite. Deshalb empfangen in dieser Ausführungsform
der Erfindung die Flipflops 98, 102 der Synchronisationseinrichtung 56 ein
Taktsignal auf der Leitung CLK vom Zieltaktbereich, der in diesem
Fall im RINGCLK/2-Taktbereich liegt (vorzugsweise das Taktsignal
RINGCLK/2 selbst ist). Umgekehrt enthält die Synchronisationseinrichtung 60 die Flipflops 98, 102,
die durch das geteilte zurückgewonnene
Taktsignal der Empfangsseite der Vermittlungsstrukturvorrichtung 20 getaktet
werden, die das Ziel ihres Signals ist, wie in 6 gezeigt
ist.
-
In
Betrieb ist der Anfangszustand der Synchronisationseinrichtung 56 ein
tiefer Logikpegel am Eingang IN, wobei ein tiefer Logikpegel am
Eingang CLR aufrechterhalten wird. Dieser tiefe Logikpegel am Eingang
IN wird über
das UND-Gatter 96 in
das Flipflop 98 getaktet und durch einen Zyklus des Zieltakts
RINGCLK/2 in den Eingang CLK eingegeben; die resultierende Tiefpegelausgabe
aus dem Flipflop 98 wird dann ähnlich in das Flipflop 102 getaktet
und am Ausgang OUT ausgegeben. Bei einem durch den Flankendetektor 54 in
Reaktion auf eine Änderung des
Zustands des Flipflops 52 (6) erzeugten Tief-zu-Hoch-Übergang
wird dann ein hoher Pegel in einen Eingang des UND-Gatters 96 in
Kombination mit dem tiefen Zustand des Eingangs CLR, der in seinen
invertierenden Eingang eingegeben wird, eingegeben; wobei dann das
UND-Gatter 96 einen hohen Pegel an seinem Ausgang ansteuert,
der beim nächsten
Zyklus des Zieltakts RINGCLK/2 am Eingang CLK in das Flipflop 96 getaktet
wird, der danach am Ausgang des Flipflops 96 erscheint.
Der nächste Zyklus
des Zieltakts RINGCLK/2 taktet dann diesen hohen Pegel (der in Kombination
mit einem tiefen Pegel vom Eingang CLR an einem invertierenden Eingang
vorliegt) in das Flipflop 102, das wiederum die Leitung
OUT in einer Weise, die mit dem RINGCLK/2-Taktbereich synchron ist,
hoch ansteuert. Als solcher ist der Übergang am Ausgang des Flipflops 52 im
Bereich des geteilten zurückgewonnenen
Taktes mit dem anderen Taktbereich synchronisiert, nämlich mit
dem RINGCLK/2-Taktbereich der Sendeseite der Vermittlungsstruktur 20.
-
Der
hohe Pegel am Ausgang der Synchronisationseinrichtung 56 wird
dann in die jeweiligen Eingänge
CLR des Flankendetektors 54 und der Synchronisationseinrichtung 56 rückgekoppelt.
In 7a wird dieser hohe Pegel am Eingang CLR des Flankendetektors 54 nach
der Inversion durch den Inverter 89 mit dem nächsten Zyklus
des Taktes RINGCLK/2 am Eingang CLK in die Flipflops 92, 94 getaktet,
was den Ausgang OUT des Flankendetektors 54 zurücksetzt.
In der Synchronisationseinrichtung 56 steuert der hohe
Pegel auf der Leitung CLR den Ausgang der UND-Gatter 96, 100 tief,
wobei dann jeder Zustand mit dem nächsten Zyklus des Taktes RINGCLK/2
in die Flipflops 98, 102 getaktet wird. Dann sind
der Flankendetektor 54 und die Synchronisationseinrichtung 56 für den nächsten Schreibbefehl vorbereitet.
-
In 6 wird,
wie oben angegeben worden ist, die Lesewort-Befehlsleitung RDW0
von der Sendeseite des Ringwegs 24 empfangen, wie z. B.
von den Ringwegregistern 38 oder der zugeordneten Sendesteuerschaltungsanordnung,
wobei sie in den Rücksetzeingang
des RS-Flipflops 62 eingegeben wird. Die Lesewort-Befehlsleitung
RDW0 gibt mit einem aktiven hohen Pegel an, dass die Sendeseite der
Vermittlungsstrukturvorrichtung 20 ein Datenwort vom Taktfrequenzkompensations-FIFO 34 anfordert. Die
Ausgabe des Flipflops 62 wird, außer dass sie die Gültigkeitsleitung
RV0 ansteuert, außerdem über den Inverter 55 in
den Eingang IN des Flankendetektors 60 eingegeben, der ähnlich wie
der Flankendetektor 54 konstruiert ist, der hierin oben
bezüglich 7a beschrieben
worden ist. Die Ausgabe des Flankendetektors 60 wird in
den Eingang IN der Synchronisationseinrichtung 58 eingegeben,
die ähnlich
wie die hierin oben beschriebene Synchronisationseinrichtung 56 konstruiert
ist und die den Zustand des Flipflops 62 in den Bereich
des geteilten zurückgewonnenen
Taktes sendet. Die Ausgabe der Synchronisationseinrichtung 58 wird
in den Rücksetzeingang
des RS-Flipflops 52 eingegeben, das, wie oben angegeben
worden ist, die Gültigkeitsleitung
WV0 ansteuert.
-
Nun
wird der Gesamtbetrieb der Empfangs-/Sendegültigkeitslogik 500 beschrieben, wobei es selbstverständlich ist,
dass die anderen Instanzen der Empfangs-/Sendegültigkeitslogik 501 bis 504 in einer ähnlichen
Weise arbeiten. Diese Beschreibung beginnt aus einem Anfangszustand,
in dem der 0. Eintrag des Umlaufpuffers 44 leer (d. h.
nicht gültig) ist,
wie durch einen tiefen Pegel auf der Gültigkeitsleitung WV0 (und auf
der Gültigkeitsleitung
RV0) angegeben wird. Bei der Aktivierung einer Schreibanforderung
durch den Decodierer 32 oder die zugeordnete Steuerschaltungsanordnung
durch das Ansteuern eines aktiven Zustands auf der Schreibwort-Befehlsleitung
WRW0, was in Kombination mit der Ausgabe der Daten durch den Decodierer 32 an
die Schreibzeiger- und Logikeinrichtung 46W ausgeführt wird,
veranlasst der vorher tiefe Pegel auf der Gültigkeitsleitung WV0 die Lese-/Schreiblogik 48,
das Schreiben der ausgegebenen Daten in den 0. Eintrag des Umlaufpuffers 44 zu
erlauben. Das RS-Flipflop 52 wird durch den aktiven Pegel
auf der Schreibwort-Befehlsleitung WRW0 gesetzt, was die Gültigkeitsleitung
WV0 hoch ansteuert. Außerdem
wird der aktive Übergang
am Ausgang des Flipflops 52 über den Flankendetektor 54 und
die Synchronisationseinrichtung 56 in den RINGCLK/2-Taktbereich synchronisiert,
was das RS-Flipflop 62 setzt. Die Gültigkeitsleitung RV0 wird durch
das Flipflop 62 auf einen hohen Pegel angesteuert, was
angibt, dass der 0. Eintrag des Umlaufpuffers 44 nun gültige Daten enthält.
-
Im
Fall einer Leseanforderung für
die gültigen
Inhalte (die Leitung RV0 ist hoch) des 0. Eintrags des Umlaufpuffers 44,
die durch einen aktiven Pegel auf der Lesewort-Befehlsleitung RDW0
von den Ringwegregistern 38 oder einem weiteren Sendeziel im
Ringweg 24 angegeben wird, wird das RS-Flipflop 62 zurückgesetzt,
was die Gültigkeitsleitung
RV0 tief ansteuert. Unterdessen gibt die Lesezeiger- und Logikeinrichtung 46R die
Inhalte des 0. Eintrags des Umlaufpuffers 44 in den Multiplexer 47 ein,
wie im Folgenden beschrieben wird. Außerdem setzt der aktive tiefe
Pegel auf der Gültigkeitsleitung
RV0 über den
Flankendetektor 60 und die Synchronisationseinrichtung 58 das
RS-Flipflop 52 zurück
und steuert die Gültigkeitsleitung
WV0 tief an. Dieser Zustand der Gültigkeitsleitung WV0 erlaubt
folglich, dass der 0. Eintrag des Umlaufpuffers 44 wie
gewünscht
mit neuen Daten neu geschrieben wird.
-
Wie
in 6 gezeigt ist und wie oben erwähnt worden ist, wird jede der
Gültigkeitsleitungen von
der Empfangs-/Sendegültigkeitslogik 50 in
die Lese-/Schreiblogik 48 eingegeben,
die wiederum die Schreibzeiger- und Logikeinrichtung 46W und
die Lesezeiger- und Logikeinrichtung 46R bei ihrem Zugriff auf
den Umlaufpuffer 44 steuert. Die Gültigkeitsleitungen WV0 und
RV0 von der Empfangs-/Sendegültigkeitslogik 50 werden
z. B. zur Lese-/Schreiblogik 48 weitergeleitet, wie die ähnlichen
Gültigkeitsleitungen
WV1 bis WV4 und RV1 bis RV4 weitergeleitet werden. Während die
Ausgabe aus der Lesezeiger- und Logikeinrichtung 46R in
einen Eingang des Multiplexers 47 eingegeben wird, empfängt außerdem ein
zweiter Eingang des Multiplexers 47 einen festen Wert vom
Leerlaufsymbolregister 45, wobei der feste Wert dem Code
für ein
Leerlaufsymbol entspricht. Wie im Folgenden beschrieben wird, kann
folglich der Multiplexer 47 entweder die Ausgabe des Umlaufpuffers 44 oder
das Leerlaufsymbol für
die Eingabe in ein geeignetes Ziel, wie z. B. die Ringwegregister 38 und
dergleichen, in Abhängigkeit
davon auswählen, ob
der Umlaufpuffer 44 irgendwelche gültigen Daten enthält, wie
nun bezüglich
des allgemeinen Betriebs des Taktfrequenzkompensations-FIFO 34 beschrieben
wird.
-
8 veranschaulicht
den Betrieb des Taktfrequenzkompensations-FIFO 34 bezüglich seiner Empfangs-
und Sendefunktionen. Wie aus dieser Beschreibung offensichtlich
wird, arbeiten die Empfangs- und Sendefunktionen des Taktfrequenzkompensations-FIFO 34 in
einer im Wesentlichen asynchronen Weise in Bezug aufeinander parallel
zueinander; in der Tat und gemäß dieser
bevorzugten Ausführungsform
der Erfindung, wie oben bezüglich
den 4 und 5 angegeben worden ist, arbeitet
die Empfangsfunktion im Bereich des geteilten zurückgewonnenen
Taktes, während
die Sendefunktion im RINGCLK/2-Taktbereich arbeitet. Wie außerdem oben
bezüglich 6 angegeben
worden ist, halten die Schreibzeiger- und Logikeinrichtung 46W und
die Lesezeiger- und Logikeinrichtung 46R getrennte entsprechende
Schreib- und Lesezeiger in den Umlaufpuffer 44 aufrecht.
-
Im
Empfangsbereich wird der Betrieb des Taktfrequenzkompensations-FIFO 34 durch
die Eingabe eines Datenworts (das von einem Leerlaufsymbol verschieden
ist) vom Decodierer 32 in den Prozess 64 initiiert.
Dieses neue Datenwort ist in den Eintrag x des Umlaufpuffers 44 zu
schreiben, wobei x dem momentanen Wert eines Schreibzeigers in der Schreibzeiger-
und Logikeinrichtung 46W entspricht. In der FIFO-Weise
entspricht der Wert x dem ältesten Eintrag
in der zeitlichen Folge des Umlaufpuffers 44 (d. h., die
anderen Einträge
sind später
geschrieben worden). Wie aus der folgenden Beschreibung ersichtlich
wird, rückt
der Eintrag des Umlaufpuffers 44, in den die Schreiboperationen
auszuführen
sind, inkremental und in einer kreisförmigen Weise vor. In dem Fall,
in dem das Datenwort einem Leerlaufsymbol entspricht, wird keine
Schreibhandlung ausgeführt.
-
Nach
dem Empfang des neuen Datenwortes im Prozess 64 führt die
Lese-/Schreiblogik 48 im Taktfrequenzkompensations-FIFO 34 die
Entscheidung 67 aus, um den momentanen Zustand der Gültigkeitsleitung
WVx zu prüfen,
um zu bestimmen, ob der zugeordnete x-te Eintrag des Umlaufpuffers 44, der
dem momentanen Wert des Schreibzeigers entspricht, immer noch gültige Daten
enthält,
die noch nicht zur Sendeseite des Taktfrequenzkompensations-FIFO 34 weitergeleitet
worden sind. Wenn ja, was durch die Gültigkeitsleitung WVx auf einem aktiven
hohen Pegel angegeben wird, ist der x-te Eintrag des Umlaufpuffers 44 noch
nicht verfügbar,
um neue Daten zu empfangen, was gemäß einer bevorzugten Ausführungsform
der Erfindung ein Fehler ist. Wie aus der folgenden Beschreibung
ersichtlich wird, wird die Tiefe des Umlaufpuffers 44 entsprechend
dem zulässigen
Differential in den Taktraten zwischen den Sendetakten der Vermittlungsstrukturvorrichtungen 20 in
Kombination mit der maximalen Rahmenlänge und der Umlaufzeit der
Flankendetektoren 54, 60 und der Synchronisationseinrichtungen 56, 58 in
der Lese-/Schreiblogik 50 gewählt. Es wird nicht erwartet, dass
der Umlaufpuffer 44 als solcher überläuft, was den Zustand verursachen
würde,
dass die Gültigkeitsleitung
WVx hoch ist, wenn der Schreibzeiger auf ihren entsprechenden Eintrag
zeigt. Ein derartiger Überlauf
gibt an, dass sich die Sendetakte einer der Vermittlungsstrukturvorrichtungen 20 außerhalb ihrer
Spezifikationsgrenze befinden.
-
Vorausgesetzt,
dass die Inhalte dieses Eintrags des Umlaufpuffers 44 vorher
gelesen worden sind, so dass sich die Gültigkeitsleitung WVx auf einem
inaktiven Pegel befindet (im Prozess 84, der im Folgenden
beschrieben wird), schickt die Entscheidung 67 ein Nein-Ergebnis
zurück.
Der tiefe Pegel auf der Gültigkeitsleitung
WVx wird zum Decodierer 32 oder der zugeordneten Steuerschaltungsanordnung
weitergeleitet, der bzw. die im Prozess 69 einen aktiven
Zustand auf der Schreibwort-Befehlsleitung WRWx aktiviert, die dem
x-ten Eintrag des Umlaufpuffers 44 zugeordnet ist. Dann
wird durch die Schreibzeiger- und Logikeinrichtung 46W der
Prozess 70 ausgeführt,
um das empfangene Datenwort in den x-ten Eintrag des Umlaufpuffers 44 zu
schreiben. In 6 beeinflusst die Aktivierung
der Schreibwort-Befehlsleitung WRWx im Prozess 69 außerdem den
Prozess 72, was den Zustand des Flipflops 52 in der
zugeordneten Instanz der Empfangs-/Schreibgültigkeitslogik 50x setzt, um einen aktiven Pegel auf
der Gültigkeitsleitung
WVx auszugeben und um bei der Synchronisation in den RINGCLK/2-Bereich
durch die Synchronisationseinrichtung 56 den Zustand des Flipflops 62 zu
setzen und folglich einen aktiven Zustand auf der Gültigkeitsleitung
RVx für
den x-ten Eintrag des Umlaufpuffers 44 auszugeben. Dieser Gültigkeitszustand
auf der Gültigkeitsleitung
RVx kann den Zustand der Entscheidungen 79, 81 im Sendebereich
beeinflussen, wie im Folgenden beschrieben wird. Wie oben angegeben
worden ist, wird, falls ein Leerlaufsymbol im Prozess 64 empfangen
wird, keine Schreiboperation ausgeführt, wobei die Gültigkeitsleitung WVx
für den
Eintrag x des Umlaufpuffers 44 als solche unverändert verbleibt,
was angibt, dass der Eintrag x keine gültigen Daten enthält.
-
Der
Empfang eines Datenworts durch den Empfangsbereich des Taktfrequenzkompensations-FIFO 34 wird
durch den Prozess 74 abgeschlossen, der den Schreibzeiger
in der Schreibzeiger- und Logikeinrichtung 46W inkrementiert,
um auf den nächsten
sequentiellen Eintrag des Umlaufpuffers 44 zu zeigen. Wie
oben angegeben worden ist, wird die Kreisförmigkeit des Umlaufpuffers 44 durch
den Wert dieses Schreibzeigers beeinflusst, der beim Erreichen des
fünften
Eintrags im Umlaufpuffer 44 umläuft. Die Empfangsseite des
Takffrequenzkompensations-FIFO 34 ist folglich bereit,
das nächste
Datenwort vom Decodierer 32 zu empfangen.
-
Die
Sendeseite des Taktfrequenzkompensations-FIFO 34 arbeitet
durch die Abfrage der Gültigkeitsbits
RV0 bis RV4, um zu bestimmen, wann ein Datenwort aus dem Umlaufpuffer 44 gelesen
werden kann. In dieser Hinsicht beginnt der Taktfrequenzkompensations-FIFO 34 mit
der Entscheidung 79, in der der Zustand der Gültigkeitsleitung
RVy, die dem momentanen Wert des Lesezeigers in der Lesezeiger-
und Logikeinrichtung 46R zugeordnet ist, geprüft wird.
Wie oben angegeben worden ist, gibt ein aktiver hoher Pegel auf
dieser Gültigkeitsleitung
RVy an, dass der zugeordnete y-te Eintrag im Umlaufpuffer 44 gültige Daten
enthält,
die für
die Wiedergewinnung und die Übertragung
verfügbar
sind. Falls die momentane Gültigkeitsleitung
RVy nicht gesetzt ist (die Entscheidung 79 nein lautet),
was angibt, dass für
die Ausgabe aus dem Umlaufpuffer 44 keine gültigen Daten
verfügbar
sind, wird der Prozess 80 ausgeführt, um ein Leerlaufsymbol
an die Ringwegregister 38 auszugeben. In 6 wird
der Prozess 80 durch den Multiplexer 47 ausgeführt, der
das Leerlaufsymbolregister 45 als die Quelle der Datenwörter auswählt, die
er zu den Ringwegregistern 38 (und folglich zum Multiplexer 40 und
weiter zur Senderingsschnittstelle 26X, siehe die 3 und 4) weiterleitet.
-
Dann
wird die Entscheidung 82 ausgeführt, um zu bestimmen, ob zu
diesem Zeitpunkt alle Gültigkeitsleitungen
RV gelöscht
sind. Gemäß dieser Ausführungsform
der Erfindung ist der Umlaufpuffer 44 zwischen den Datenrahmen
völlig
leer, wenn eine Folge von Leerlaufsymbolen (deren Anzahl im Allgemeinen
größer als
die Anzahl der Einträge
des Umlaufpuffers 44 ist) durch den Taktfre quenzkompensations-FIFO 34 übertragen
wird. Die Entscheidung 82 bestimmt als solche, ob alle
Gültigkeitsleitungen
RV gelöscht
sind; falls nein (die Entscheidung 82 nein lautet), wird
die Steuerung zurück
zu Entscheidung 79 geleitet, wo die momentane Gültigkeitsleitung
RVy für
den y-ten Eintrag des Umlaufpuffers 44 auf gültige Daten
geprüft
wird. Falls jedoch alle Gültigkeitsleitungen
RV gelöscht
sind, setzt die Lese-/Steuerlogik 48 darin ein Steuerbit,
das angibt, dass vor dem Initiieren des Lesens eines Rahmens mehrere
gültige
Datenwörter
zu erfassen sind. In dieser beispielhaften Implementierung, in der
zwei gültige
Einträge
des Umlaufpuffers 44 vor dem Initiieren eines Lesens des Umlaufpuffers 44 erforderlich
sind, wird im Prozess 83 das Steuerbit "warte auf 2" in der Lese-/Schreiblogik 48 gesetzt,
wobei im Anschluss daran die Steuerung zurück zur Entscheidung 79 geleitet
wird, durch die der Taktfrequenzkompensations-FIFO 34 abermals
den Zustand der Gültigkeitsleitung
RVy prüft.
-
Gemäß diesem
Beispiel einer bevorzugten Ausführungsform
der Erfindung wartet der Taktfrequenzkompensations-FIFO 34,
bis zwei gültige
Symbole im Umlaufpuffer 44 gespeichert sind, bevor er irgendwelche
Datenwörter
liest. Dieses Warten auf eine spezifizierte Anzahl gültiger Einträge ist gemäß einer
bevorzugten Ausführungsform
der Erfindung vorgesehen, um die Häufigkeit zu verringern, mit
der Leerlaufsymbole in den gesendeten Datenstrom eingefügt werden,
wie nun beschrieben wird.
-
Die
vor dem Lesen der Daten aus dem Umlaufpuffer 44 erforderliche
Anzahl gültiger
Einträge wird
sowohl entsprechend der Toleranz der Frequenzvariation zwischen
den Sendetakten der Vermittlungsstrukturvorrichtungen 20 als
auch entsprechend der maximalen Rahmengröße ausgewählt. Ein Taktfrequenz-Toleranzniveau
von 0,05% führt
z. B. zu einer maximalen Variation von einem Taktzyklus pro 2000
Zyklen. Falls die maximale Ethernet-Rahmenlänge in der Größenordnung
von 1500 Bytes oder 750 Symbolen liegt und solange wie die Sendetakte
innerhalb ihrer spezifizierten Toleranz liegen, kann nicht mehr
als ein Zyklusschlupf zwischen der Empfangsseite und der Sendeseite
einer Vermittlungsstrukturvorrichtung 20 auftreten. Für den Fall,
in dem die Empfangsseite langsamer als die Sendeseite ist, wird
deshalb durch das Warten, bis zwei aufeinanderfolgende Einträge des Umlaufpuffers 44 gültig sind,
bevor irgendeiner der Einträge
gelesen wird, deshalb sichergestellt, dass selbst im Fall eines
Zyklusschlupfs das Lesen irgendeines einzelnen Datenrahmens nicht
das Ausgeben eines Leerlaufsymbols mitten im Rahmen erfordert. Statt
dessen wird im Prozess 80 das Leerlaufsymbol nur zwischen
den Symbolen gesendet.
-
Selbstverständlich können unterschiedliche Takttoleranzgrenzen
und Datenrahmenlangen erfordern, dass eine größere Anzahl gültiger Einträge vor dem
Initiieren eines Lesens des Umlaufpuffers 44 vorhanden
ist. Es können
z. B. drei Einträge
notwendig sein, bevor eine Leseoperation initiiert wird, falls zwei
Zyklusschlupfe innerhalb eines Datenrahmens möglich sind.
-
Die
Anzahl der Einträge
im Umlaufpuffer 44 wird in dem Fall, in dem der Empfangstakt
schneller als der Sendetakt ist, außerdem vorzugsweise entsprechend
der maximalen Anzahl der Zyklusschlupfe innerhalb eines Datenrahmens
ausgewählt.
Falls z. B. die Empfangsseite der Vermittlungsstrukturvorrichtung 20 höchstens
ein zusätzliches
Symbol empfangen kann, das während
eines gegebenen Datenrahmens durch die Sendeseite gesendet werden kann.
Im vorhergehenden Beispiel, in dem zwei gültige Einträge vor dem Ausführen einer
Leseoperation erforderlich sind, sind diese zwei gültigen Einträge plus
wenigstens zwei zusätzliche
Einträge
im Umlaufpuffer 44 notwendig, um beide Fälle abzuwickeln. In
Anbetracht dessen, dass die Gesamttiefe des Umlaufpuffers 44 gemäß der bevorzugten
Ausführungsform
der Erfindung relativ klein ist, und in Anbetracht des maximalen
Phasenschräglaufs,
der zwischen den Sende- und Empfangstakten vorhanden sein kann,
ist es vernünftig,
wenigstens einen weiteren zusätzlichen
Eintrag einzubeziehen; gemäß dieser
bevorzugten Ausführungsform
der Erfindung enthält deshalb
der Umlaufpuffer 44 fünf
Einträge.
-
In 8 und
wie oben beschrieben worden ist, wird durch den auf der Empfangsseite
des Taktfrequenzkompensations-FIFO 34 ausgeführten Prozess 72 beim
Speichern eines Datenworts im Umlaufpuffer 44 das Gültigkeitsbit
RVy gesetzt. Auf Grund des Gültigkeitsbits
RVy, das dann gesetzt ist (die Entscheidung 79 lautet ja),
prüft dann
der Taktfrequenzkompensations-FIFO 34 in der Entscheidung 85 den
Zustand des Steuerbits "warte
auf 2" in der Lese-/Schreiblogik 48.
Falls das Steuerbit "warte auf
2" gesetzt ist (die
Entscheidung 85 ja lautet), ist der Lesevorgang nicht zu
initiieren, bis der Zustand der nächsten Gültigkeitsleitung RV(y + 1),
die dem nächsten
Eintrag im Umlaufpuffer 44 zugeordnet ist, in der Entscheidung 81 getestet
wird. Falls in 7 die nächste Gültigkeitsleitung
RV(y + 1) nicht gesetzt ist (die Entscheidung 81 nein lautet),
wird die Steuerung zum Prozess 80 für die Ausgabe eines weiteren Leerlaufsymbols
weitergeleitet. Die Entscheidung 82 schickt ein nein zurück (weil
die Gültigkeitsleitung RVy
gesetzt ist, wie im Prozess 79 bestimmt wird), wobei die
Steuerung zurück
zur Entscheidung 79 geleitet wird, bis die Gültigkeitsleitung
RV(y + 1) durch eine Instanz des Prozesses 72 auf der Empfangsseite
gesetzt wird.
-
Da
die Entscheidung 81 ein Ja-Ergebnis zurückschickt, was angibt, dass
zwei Einträge
des Umlaufpuffers 44 gültige
Daten (keine Leerlaufsymboldaten) enthalten, wird dann der Prozess 84 ausgeführt, um
das Steuerbit "warte
auf 2" in der Lese-/Schreiblogik 48 zu
löschen;
dies erlaubt, dass nachfolgende Lesevorgänge fortgesetzt werden, ohne
zwei gültige
Wörter
zu erfordern, bis alle Gültigkeitsleitungen
RY gelöscht
sind, wie z. B. zwischen Symbolen. Dann wird die Lesewort-Befehlsleitung RDWy
im Prozess 86 durch das geeignete Ziel der Daten oder die
zugeordnete Steuerschaltungsanordnung aktiviert, um das Lesen des
y-ten Eintrags im Umlaufpuffer 44 beim momentanen Wert
des Lesezeigers in der Lesezeiger- u. Logikeinrichtung 46R zu initiieren.
Die Lese-/Schreiblogik 48 steuert dann die Lesezeiger-
u. Logikeinrichtung 46R, um den entsprechenden Eintrag
des Umlaufpuffers 44 im Prozess 88 zu lesen, der
die Inhalte dieses Eintrags in den Multiplexer 47 eingibt,
der in diesem Fall den Ausgang des Umlaufpuffers 44 für die Weiterleitung zu
dem geeigneten Ziel, wie z. B. den Ringwegregistern 38,
dem Token-Puffer 36 oder den Vermittlungsschnittstellen 22,
auswählt,
wie in 5 gezeigt ist. Außerdem dient die Aktivierung
der Lesewort-Befehlsleitung RDWy im Prozess 86 außerdem dazu, den
Zustand des Flipflops 62 zurückzusetzen, die Gültigkeitsleitung
RVy zu löschen
und durch die Synchronisationseinrichtung 58 den Zustand
des Flipflops 52 zurückzusetzen
und folglich die Gültigkeitsleitung
WVy auf der Sendeseite des Taktfrequenzkompensations-FIFO 34 zu
löschen,
alles im Prozess 90. Der momentane Wert des Lesezeigers
in der Lesezeiger- und Logikeinrichtung 46R wird dann im Prozess 92 inkrementiert,
wobei die Steuerung zurück
zur Entscheidung 79 für
die Abfrage der Gültigkeit
des nächsten
sequentiellen Eintrags im Umlaufpuffer 44, wie er vom Sende- oder Empfangsbereich gesehen
wird, geleitet wird.
-
Deshalb
erscheint es vom Empfangsbereich, dass die Anzahl der gültigen Einträge im Taktfrequenzkompensations-FIFO 34 in
seinem allgemeinen Betrieb zwischen drei und fünf variiert; während es
vom Sendebereich erscheint, dass die Anzahl der gültigen Einträge zwischen
einem und drei variiert. Dieser Unter schied in der sichtbaren Anzahl
der Einträge
ist auf die Verzögerungen
zurückzuführen, die in
jeder Instanz der Empfangs-/Sendelogik 50 durch die Synchronisationseinrichtungen 56, 58 ausgegeben
werden, so dass die Gültigkeitsleitungen
RV auf der Sendeseite schneller als die Gültigkeitsleitungen WV auf der
Empfangsseite des Taktfrequenzkompensations-FIFO 34 gelöscht werden.
In Abhängigkeit
von der Phasenbeziehung zwischen den Takten im Bereich des geteilten
zurückgewonnenen
Taktes und des RINGCLK/2-Bereichs wird davon ausgegangen, dass der
Taktfrequenzkompensations-FIFO 34 eine Latenzzeit einfügt, die
von etwas weniger als zwei Taktzyklen bis zu etwas über drei
Taktzyklen variieren kann; die gebrochenen Variationen sind auf die
Aufbau- und Haltezeiten zurückzuführen, die
für die
Synchronisationseinrichtungen 56, 58 notwendig sind.
-
Gemäß der vorliegenden
Erfindung wird deshalb die Kompensation der Unterschiede der Empfangs-
und Sendetaktfrequenzen in einer Netzvermittlung durch die Verwendung
eines Puffers mit einer sehr maßvollen
Tiefe (z. B. fünf
Einträge)
leicht erhalten. Diese Kompensation umfasst nur einen kleinen Betrag
der Latenzzeit, wie z. B. in der Größenordnung von drei Taktzyklen.
Im Ergebnis kann eine hohe Datenrate über eine Ringanordnung von Netzvermittlungsstrukturen,
wie sie z. B. im System 10 vorgesehen sind, erreicht werden.
Außerdem
ist die für
die Verwirklichung des Taktkompensationsschemas erforderliche Logik
relativ maßvoll,
wobei sie einfach und stabil zu implementieren ist.