DE69917639T2 - Anordnung zur verarbeitung von sonet- oder SDH-DS0-Rahmen zur Kanalzurordnung - Google Patents

Anordnung zur verarbeitung von sonet- oder SDH-DS0-Rahmen zur Kanalzurordnung Download PDF

Info

Publication number
DE69917639T2
DE69917639T2 DE69917639T DE69917639T DE69917639T2 DE 69917639 T2 DE69917639 T2 DE 69917639T2 DE 69917639 T DE69917639 T DE 69917639T DE 69917639 T DE69917639 T DE 69917639T DE 69917639 T2 DE69917639 T2 DE 69917639T2
Authority
DE
Germany
Prior art keywords
data
frame
channel
fifo
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69917639T
Other languages
English (en)
Other versions
DE69917639D1 (de
Inventor
David Penkler
Daniel Tronca
François Vincent
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of DE69917639D1 publication Critical patent/DE69917639D1/de
Application granted granted Critical
Publication of DE69917639T2 publication Critical patent/DE69917639T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/062Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
    • H04J3/0623Synchronous multiplexing systems, e.g. synchronous digital hierarchy/synchronous optical network (SDH/SONET), synchronisation with a pointer process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/07Synchronising arrangements using pulse stuffing for systems with different or fluctuating information rates or bit rates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J2203/00Aspects of optical multiplex systems other than those covered by H04J14/05 and H04J14/07
    • H04J2203/0001Provisions for broadband connections in integrated services digital network using frames of the Optical Transport Network [OTN] or using synchronous transfer mode [STM], e.g. SONET, SDH
    • H04J2203/0073Services, e.g. multimedia, GOS, QOS
    • H04J2203/0076Channel characteristics, e.g. BER, error detection, error correction, delay, jitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J2203/00Aspects of optical multiplex systems other than those covered by H04J14/05 and H04J14/07
    • H04J2203/0001Provisions for broadband connections in integrated services digital network using frames of the Optical Transport Network [OTN] or using synchronous transfer mode [STM], e.g. SONET, SDH
    • H04J2203/0089Multiplexing, e.g. coding, scrambling, SONET

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Time-Division Multiplex Systems (AREA)

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf Telekommunikationen und insbesondere auf die Verarbeitung von SONET-Rahmen (SONET = Synchronous Optical NETwork, synchrones optisches Netz), SDH-Rahmen (SDH = Synchronous Digital Hierarchy, synchrone digitale Hierarchie) oder ähnlichem.
  • Hintergrund der Erfindung
  • SONET und SDH sind äquivalente Standards (amerikanisch bzw. europäisch) zum Transportieren von Daten auf optischen Netzwerken. Gemäß dieser Standards werden Daten, die mehreren Kommunikationskanälen entsprechen, in hierarchischen Rahmen übermittelt.
  • 1 zeigt eine exemplarische Hierarchie gemäß dem SONET-Standard. Diese Hierarchie entspricht dem OC3-Signal (OC3 = Optical Carrier level 3, optische Trägerebene 3), das eine Bitrate von 155,52 Mbits/s aufweist. Der Rahmen der oberen Ebene, STS3 (Synchronous Transport Signal level 3, synchrones Transportsignal Ebene 3) wird in 125 μs gesendet. Er enthält drei STS1-Rahmen. Jeder STS1-Rahmen enthält sieben Gruppen von virtuellen Unterbündeln (VT – Virtual Tributaries). Eine Gruppe kann vier VT1,5-Behälter (Größe 1,5 VTs) umfassen. Jeder VT1,5-Behälter umfasst 24 Bytes, die gleichzeitigen DS0-Signalen entsprechen. Eine DS0 (Digital Signal level 0, digitale Signalebene 0) weist eine Datenübertragungsrate von 64 Kb/s auf.
  • Das OC3-Signal übermittelt somit 2.016 gleichzeitige DS0-Signale und weist eine effektive Bitrate von 129.024 Mbits/s auf. Der Rest der Kapazität von 155,52 Mbits/s wird zum Transportieren notwendiger Zusätze verwendet.
  • Es existieren auch andere Hierarchien. Insbesondere können die VT-Gruppen eines STS1-Rahmens jeweils drei VT2-Rahmen, zwei VT3-Rahmen oder einen VT6-Rahmen enthalten.
  • 2 zeigt das SDH-Äquivalent der Hierarchie der 1. Der Obere-Ebene-Rahmen ist STM1 (Synchronous Transport Module level 1, synchrones Transportmodul Ebene 1). Er erhält drei VC3-Rahmen (VC3 = Virtual Container level 3, virtueller Behälter Ebene 3). Jeder VC3-Rahmen enthält sieben Gruppen von drei TU12-Rahmen (TU12 = Tributary Unit level 12, Zubringereinheit Ebene 12). Schließlich enthält jeder TU12-Rahmen 32 DS0-Bytes. Dies beläuft sich ebenfalls auf 2.016 DS0-Signale.
  • Der Kürze halber bezieht sich die folgende Beschreibung lediglich auf den SONET-Standard als Beispiel, die hierin bereitgestellten Lehren gelten jedoch ohne weiteres auch für den SDH-Standard.
  • 3 zeigt die Struktur eines STS3-Rahmens. Er ist in einer Bytematrix von 270 Spalten und 9 Zeilen angeordnet. Die Bytes der Matrix werden von links nach rechts und von oben nach unten übertragen. Jeder dieser drei übermittelten STS1-Rahmen weist drei Spalten von Transportzusätzen auf. Diese Zusatz-Spalten sind in den neun ersten Spalten der Matrix verflochten. Beispielsweise sind die ersten drei Transportzusatzbytes, als A1, A2 und J0 bezeichnet, für den ersten STS1-Rahmen markiert (d. h. die Bytes in der ersten Zeile der 1., 4. und 7. Spalte).
  • Die Zusatzbytes sind in dem Standard vollständig dokumentiert. Der Verständlichkeit der Erfindung halber werden lediglich einige von ihnen hierin erwähnt.
  • Die drei STS1-Rahmen, die als STS1-1, STS1-2 und STS1-3 bezeichnet sind, sind in jeweiligen verbleibenden Spalten der Matrix auf verflochtene Weise enthalten, d. h. von der 10. bis zur 270. Spalte gehören drei aufeinanderfolgende Spalten jeweils zu den drei STS1-Rahmen.
  • Die STS1-Rahmen werden auf schwebende bzw. floatende Weise übermittelt: sie starten bei willkürlichen Positionen in dem STS3-Rahmen. Zwei Bytes, die als H1 und H2 bezeichnet sind, der Transportzusätze jedes STS1-Rahmens bilden einen Zeiger, der die Position des ersten Bytes des STS1-Rahmens angibt. Das erste Byte eines STS1-Rahmens ist ein durch J1 bezeichnetes „Pfadzusatz"-Byte.
  • Ein Zweck dieser Technik des floatenden Rahmens und Zeigers besteht darin, zu ermöglichen, dass STS1-Rahmen zu jeglichem Zeitpunkt in eine aktuelle Übertragung eingefügt werden. Ein weiterer Zweck besteht darin, Übertragungsgeschwindigkeitsdriften, vor allem Driften bei Taktgeschwindigkeiten zwischen dem Sender- und dem Empfängerende, zu kompensieren. Falls der Sendertakt langsamer ist als der Empfängertakt, wird zwischen aufeinanderfolgende STS1-Rahmen hie und da ein bedeutungsloses Byte eingefügt, wodurch der Zeiger auf den zweiten Rahmen um 1 inkrementiert wird. Dies wird im Standard als „Positivstopfen" bezeichnet.
  • Falls der Sendertakt schneller ist als der Empfängertakt, wird der STS1-Rahmen hie und da um ein Byte zurück verschoben, wodurch der Zeiger auf den Rahmen um 1 verringert wird. In der Tat überlappt der STS1-Rahmen nicht den vorhergehenden Rahmen, da ein spezifisches Transportzusatzbyte (durch H3 bezeichnet) vorgesehen ist, um das erste Byte des zurück verschobenen Rahmens zu empfangen. Dies wird im Standard als „Negativstopfen" bezeichnet.
  • 4 zeigt die Struktur eines STS1-Rahmens. Er ist gemäß einer Bytematrix von 87 Spalten und 9 Zeilen angeordnet. Die erste Spalte enthält den „Pfadzusatz", dessen erstes Byte durch J1 bezeichnet ist. Die Spalten 30 und 59 enthalten feststehende Stopfbytes. Die verbleibenden Spalten enthalten die 7 Gruppen von 4 VT1,5-Behältern, in die Gruppen schichtförmig eingelagert sind. Diese Spalten sind in 4 durch Bezugnahmen des Typs i-j bezeichnet, wobei i die Gruppennummer und j die Rahmennummer in der Gruppe ist.
  • Die erste Zeile, zwischen Positionen 2 und 29, enthält Zusatzbytes, die durch V1, V2, V3 und V4 bezeichnet sind und die die Startpunkte der VT1,5-Behälter identifizieren sollen, da derartige Rahmen ebenfalls auf floatende Weise übermittelt werden.
  • 5 veranschaulicht, wie aufeinanderfolgende VT1,5-Behälter gesendet und identifiziert werden. In der Tat werden vier aufeinanderfolgende VT1,5-Behälter in einem Superrahmen übermittelt, der aus vier aufeinanderfolgenden STS1-Rahmen besteht. Die Bytes V1 bis V4 werden jeweils in dem 1. bis 4. STS1-Rahmen des Superrahmens gesendet. Die Bytes V1 und V2 bilden einen „VT-Nutzlastzeiger" und identifizieren die Position des ersten Bytes des ersten der vier jeweiligen VT1,5-Behälter. Dieses erste Byte ist durch V5 bezeichnet. Die ersten Bytes der drei anderen VT1,5-Behälter sind jeweils durch J2, Z6 und Z7 bezeichnet. Die Bytes V5, J2, Z6 und Z7 bilden einen „VT-Pfadzusatz".
  • Eine derartige Hierarchie wird beispielsweise beim Handhaben von Telefonverbindungen verwendet, die DS0-Signalen in einer Telefonzentrale entsprechen. Zu diesem Zweck verwendet man Abzweigmultiplexer bzw. Add-Drop-Multiplexer. Eine derartige Vorrichtung extrahiert einen spezifischen DS0-Datenfluss von einer OC3-Verbindung (zweigt einen solchen ab) und/oder fügt einen DS0-Datenfluss in die OC3-Verbindung ein (addiert denselben). Der verbleibende Verkehr gelangt ohne zusätzliche Vorverarbeitung geradewegs durch den Multiplexer.
  • 6 zeigt schematisch einen herkömmlichen Add-Drop-Multiplexer (ADM) 10. Der ADM kann um zwei integrierte Schaltungen herum gebaut sein, die durch PMC-Sierra hergestellt sind, d. h. das PM5342-Pfad-/Abschnitt-Sende-/Empfangsgerät, aka SPECTRA, und den PM5362-Zubringereinheit-Nutzlast-Prozessor (TUPP – tributary unit payload processor). Die Zuordnung dieser Schaltungen identifiziert die Positionen der Nutzlasten der VT1,5-Behälter in einer OC3-Verbindung und ermöglicht somit, dass diese Behälter oder ihre DS0-Signale auf einfache Weise einzeln extrahiert werden. Die Einfügung von VT1,5-Behältern in die OC3-Verbindung ist unkompliziert, da die notwendigen Positionsinformationen bereits für die Extraktion berechnet wurden.
  • Die einzelnen DS0-Signale (extrahiert oder einzufügen) werden über einen standardmäßigen Telekommunikationsbus, z. B. SC, MUIP oder H.100, ausgetauscht, um jegliche notwendigen Operationen, z. B. Schalten oder Weiterleiten bzw. Routen, durchzuführen. Die DS0-Signale jedes VT1,5-Behälters werden über eine individuelle T1-Verbindung und Busschnittstelle 12 mit dem Telekommunikationsbus ausgetauscht.
  • Derartige Add-Drop-Multiplexer sind üblicherweise auf das Verarbeiten einiger weniger VT1,5-Behälter beschränkt. In der Tat übermittelt ein einzelner VT1,5-Behälter 24 DS0-Signale, die statistisch ausreichend sind, um 360 Telefonteilnehmer zu bedienen. Somit sind bei den meisten Telefonzentralen lediglich einige wenige VT1,5-Behälter (bis zu acht) notwendig. Das Verarbeiten aller VT1,5-Behälter würde 84 Busschnittstellen 12, üblicherweise in Form einzelner Zusatzkarten, erfordern, was die Komplexität und das Volumen der Vorrichtung beträchtlich erhöhen würde.
  • Es besteht jedoch ein wachsender Bedarf daran, eine große Zahl von Telefonkommunikationen von zentralisierten Stellen aus zu handhaben. Ein derartiger Bedarf findet sich vor allem bei Voicemail-Systemen großen Umfangs.
  • In der US 5,472,600 ist ein System zum Zurückumwandeln von STM-Signalen, die unter Verwendung von ATM übermittelt wurden, in STM-Signale beschrieben.
  • Zusammenfassung der Erfindung
  • Die vorliegende Erfindung bezieht sich darauf, eine Vorrichtung einer geringen Komplexität und eines geringen Volumens bereitzustellen, vorzugsweise in Form einer einzelnen Karte, die in der Lage ist, alle DS0-Signale eines Hochgeschwindigkeitsübertragungssignals, z. B. OC3, einzeln zu handhaben. Eine Schwierigkeit besteht darin, alle 2.016 DS0-Signale, die in einem OC3-Signal enthalten sind, einzelnen Kanälen zuzuweisen.
  • Diese Schwierigkeit wird allgemein durch eine Vorrichtung zum individuellen Verarbeiten einer Mehrzahl von Datenübertragungskanälen überwunden, wobei Daten für jeden Kanal an einer vorbestimmten Position in einem seriell empfangenen Rahmen enthalten sind, dadurch gekennzeichnet, dass die Vorrichtung folgende Merkmale umfasst: eine Einrichtung zum Bestimmen der Position von aktuell empfangenen Daten des Rahmens in dem Rahmen; einen Kanalspeicher, der als Reaktion auf die Position der aktuell empfangenen Daten eine Kanalnummer liefert; und eine Mehrzahl von FIFOs, die jeweils den Kanälen zugeordnet sind, wobei jeder FIFO auf eine jeweilige Kanalnummer, die durch den Kanalspeicher geliefert wird, zum Speichern der aktuell empfangenen Daten anspricht.
  • Falls die Daten des OC3-Signals durch einen PCI-Bus mit einem Hostsystem ausgetauscht werden, besteht eine Schwierigkeit darin, den Datendurchsatz über den PCI-Bus zu erfüllen.
  • Diese Schwierigkeit wird allgemein durch ein Verfahren zum Erzielen aufeinanderfolgender DMA-Lese- und Schreibtrans fers zwischen einem lokalen Bus und einem PCI-Bus über eine PCI-Brücke überwunden, das folgende Schritte umfasst: Versehen der PCI-Brücke mit Anweisungen zum Einrichten eines DMA-Lesetransfers, worauf unmittelbar Anweisungen zum Einrichten eines DMA-Schreibtransfers folgen; Bereitstellen der Daten für den DMA-Schreibtransfer unmittelbar nach den Anweisungen zum Einrichten des DMA-Schreibtransfers; und Empfangen der Daten des DMA-Lesetransfers nach der Bereitstellung der Daten für den DMA-Schreibtransfer.
  • Wenn die Daten des OC3-Signals durch einen Telekommunikationsbus ausgetauscht werden, besteht eine Schwierigkeit darin, eine variierende Übertragungsgeschwindigkeit zu berücksichtigen, wohingegen der Telekommunikationsbus erfordert, dass die Übertragung synchron ist. Das Problem ist besonders kritisch, wenn die Übertragungsgeschwindigkeit einen bleibenden Fehler aufweist.
  • Diese Schwierigkeit wird allgemein durch ein Verwaltungsverfahren für einen FIFO überwunden, der zwischen einen eingehenden und einen ausgehenden Datenfluss platziert wird, wobei die Datenflüsse synchron sind und eine Übertragungsgeschwindigkeit aufweisen, die um eine Nenngeschwindigkeit herum schwankt, wobei das Verfahren folgende Schritte umfasst: anfängliches Füllen des FIFO auf einen vorbestimmten Pegel; Schreiben und Lesen von Daten in dem FIFO durch den eingehenden bzw. ausgehenden Datenfluss; falls der FIFO leer wird, Senden bedeutungsloser Daten in dem ausgehenden Fluss, bis der FIFO wieder seinen vorbestimmten Füllpegel erreicht hat; und sobald der FIFO voll wird, Erklären des FIFO als leer.
  • Die vorstehenden und weitere Aufgaben, Merkmale, Aspekte und Vorteile der Erfindung ergeben sich aus der folgenden ausführlichen Beschreibung von Ausführungsbeispielen der vorliegenden Erfindung, wenn sie in Verbindung mit den beiliegenden Zeichnungen betrachtet werden.
  • Kurze Beschreibung der Zeichnungen
  • 1 zeigt eine beispielhafte SONET/OC3-Rahmenhierarchie.
  • 2 zeigt eine beispielhafte SDH/STM1-Rahmenhierarchie.
  • 3 zeigt die Struktur eines STS3-Rahmens.
  • 4 zeigt die Struktur eines STS1-Rahmens.
  • 5 zeigt einen Superrahmen von vier aufeinanderfolgenden STS1-Rahmen.
  • 6 zeigt schematisch einen herkömmlichen Add-Drop-Multiplexer.
  • 7 zeigt eine vereinfachte Architektur einer erfindungsgemäßen Vorrichtung zum Verarbeiten aller DS0-Signale, die auf einer Hochgeschwindigkeitsverbindung übermittelt werden.
  • 8 ist ein Zeitdiagramm, das verschiedene Signale veranschaulicht, die durch eine SONET-Schnittstelle, die bei der Vorrichtung der 7 verwendet wird, bereitgestellt werden.
  • 9 zeigt schematisch einen VT-Prozessor, der bei der Vorrichtung der 7 verwendet wird.
  • 10 ist ein Zeitdiagramm eines DMA-Lesezyklus durch einen PCI-Bus.
  • 11A und 11B sind Zeitdiagramme optimierter DMA-Zyklen in einem besten Fall bzw. in einem schlimmsten Fall.
  • 12 zeigt schematisch ein Ausführungsbeispiel eines bei der Vorrichtung der 7 verwendeten TDM-Pufferverwalters.
  • 13 zeigt schematisch ein optimiertes Ausführungsbeispiel einer Schaltzentrale.
  • Bester Modus zum Durchführen der Erfindung
  • Bei 7 dient eine SONET-Schnittstelle 14 dazu, ein eingehendes OC3-Signal bei 155,52 Mbits/s in einen Empfangsbytestrom Rx bei 19,44 Mbytes/s umzuwandeln und einen Sendebytestrom Tx derselben Geschwindigkeit in ein ausgehendes OC3-Signal umzuwandeln. Zu diesem Zweck verwendet die Schnittstelle 14 einen Teil der Funktionalität eines herkömmlichen Add-Drop-Multiplexers des Typs der 6. Insbesondere kann sie die bei einem derartigen Multiplexer verwendeten SPECTRA- und TUPP-Schaltungen verwenden.
  • Bei derartigen Schaltungen liegen die Byteströme Rx und Tx in einem STS3-Rahmenformat vor, d. h. sie entsprechen dem Abtasten der in 3 gezeigten Matrix von links nach rechts und von oben nach unten.
  • Der Empfangsstrom Rx ist derjenige, der die intensivste Verarbeitung durch die Schnittstelle 14 erfordert. Die TUPP-Schaltung ist dafür verantwortlich, die STS1-Rahmen und die VT1,5-Behälter zu identifizieren, die, wie zuvor erwähnt wurde, bei willkürlichen Positionen in ihren jeweiligen Rahmen STS3 und STS1 einer höheren Ebene starten. Zu diesem Zweck führt sie die notwendige Zeigerverwaltung durch und erzeugt verschiedene Synchronisationssignale, die bei 8 veranschaulicht sind. Ein STS1-Sync-Signal erzeugt einen Taktpuls für jedes erste Byte (J1) eines STS1-Rahmens, und ein VT1,5-Sync-Signal erzeugt einen Taktpuls für jedes V5-Byte, d. h. jedes erste Byte einer Gruppe von vier aufeinanderfolgenden VT1,5-Behältern eines Superrahmens.
  • Ein STS3-Sync-Signal wird durch die SPECTRA-Schaltung erzeugt. Es erzeugt einen Taktpuls für jedes erste Byte der STS3-Nutzlast, d. h. in der ersten Zeile, 10. Spalte des STS3-Rahmens.
  • Der Sendebytestrom Tx wird direkt der SPECTRA-Schaltung bereitgestellt, die dafür verantwortlich ist, ihn, sobald er eingeht, in das ausgehende OC3-Signal einzufügen. Dies bedeutet, dass alle Zusatzbytes zuvor berechnet und in den Tx-Strom platziert wurden. Dies ist jedoch nicht komplex, da die Vorrichtung der 7 alle Daten vollständig aus dem eingehenden OC3-Signal extrahiert und somit nicht floatende Positionen von Rahmen in dem ausgehenden OC3-Signal verwalten muss, d. h. die Rahmen werden alle ausgerichtet und die Rahmenzeiger auf Null gesetzt.
  • Jedoch ist eine derartige Funktionalität der Schnittstelle 14 ähnlich derjenigen von herkömmlichen Add-Drop-Multiplexern. Der Zweck der Erfindung besteht darin, alle 2.016 DS0-Signale eines OC3-Signals individuell zu handhaben.
  • Die Schwierigkeit besteht somit darin, die eingehenden DS0-Signale von dem Eingangsstrom Rx zu demultiplexieren und, umgekehrt, die ausgehenden DS0-Signale zu dem ausgehenden Strom Tx zu multiplexieren.
  • Diese Funktionalität wird durch einen in 7 gezeigten „Virtuelles-Unterbündel-Prozessor" 16 gewährleistet. Dieser Prozessor arbeitet in Zuordnung mit einem Speicher 18 und einem spezifischen Bus, der als VT-Bus bezeichnet wird. Der VT-Bus ist mit einer Benutzerschaltung gekoppelt, die die individuellen DS0-Signale ausnutzt. 7 veranschaulicht zwei exemplarische Benutzer.
  • Ein erster Benutzer ist ein Hostcomputer 20, der durch einen PCI-Bus mit der Vorrichtung verbunden ist. Der VT-Bus ist nacheinander durch einen Hostpufferverwalter 22, der in Verbindung mit einem Puffer 24 arbeitet, und eine PCI-Brücke 26 mit dem PCI-Bus gekoppelt.
  • Der Hostcomputer wird beispielsweise verwendet, um Sprachnachrichten, die durch jeweilige DS0-Signale, die Telefonverbindungen entsprechen, empfangen und gesendet werden, in Form von Dateien zu speichern.
  • Ein zweiter Benutzer ist ein Telekommunikationsbus, z. B. H.100. Dieser Bus ist durch einen TDM-Pufferverwalter 28, der in Verbindung mit einem Puffer 30 arbeitet, mit dem VT-Bus gekoppelt.
  • Der H.100-Bus, der zum Transportieren von 2.048 DS0-Signalen in der Zeitbündelung (TDM – Time Division Multiplex) fähig ist, wird beispielsweise dazu verwendet, während des Betriebs eine Signalverarbeitung, z. B. Komprimierung oder Verschlüsselung, an eingehenden DS0-Signalen durchzuführen. Die verarbeiteten Signale werden zu jeweiligen ausgehenden DS0-Signalen. Er kann ferner zu Schalt- und Weiterleitungszwecken wie bei einem Add-Drop-Multiplexer verwendet werden.
  • 9 zeigt eine Architektur des VT-Prozessors der 7 ausführlicher. Für die Verarbeitung des Empfangsbytestroms Rx werden die durch die SONET-Schnittstelle 14 bereitgestellten verschiedenen Synchronisationssignale SYNC (STS3-Sync, STS1-Sync, VT1,5-Sync) einer Positionsberechnungseinheit 32 bereitgestellt. Die Rolle dieser Einheit besteht darin, die Position in einem aktuellen STS3-Rahmen eines Nutzlast-Bytes (oder DS0-Bytes), der aktuell in dem Rx-Strom übermittelt wird, bereitzustellen. Die Berechnung wird erreicht, so dass die Positionen der Bytes und nachfolgender VT1,5-Behälter dieselben bleiben, auch wenn sich die entsprechenden STS1-Rahmen verschieben, um Taktdriften zu kompensieren (Positiv- oder Negativstopfen).
  • Beispielsweise werden die Positionen hierarchisch den DS0-Bytes eines einzelnen VT1,5-Behälters, den VT1,5-Behältern einer selben VT-Gruppe, den VT-Gruppen eines selben STS1-Rahmens und schließlich den STS1-Rahmen zugewiesen. Bei dieser Regel lauten die Positionen der ersten DS0-Bytes, die auf dem Rx-Strom empfangen werden, wenn der Einfachheit halber angenommen wird, dass alle VT1,5-Behälter in dem STS3-Rahmen ausgerichtet sind, folgendermaßen: 1, 672 + 1, 1.344 + 1, 97, 672 + 97, 1.344 + 97, 193, 672 + 193, 1.344 + 193, 289, 672 + 289, 1.344 + 289 usw. Diese unregelmäßigen Positionswerte sind auf die Tatsache zurückzuführen, dass die drei STS1-Rahmen in dem STS3-Rahmen verflochten sind (siehe 3) und dass die VT1,5-Behälter durch Gruppen in jedem STS1-Rahmen verflochten sind (siehe 4).
  • Fachleute werden ohne weiteres eine derartige Positionsberechnungseinheit konstruieren, wobei sie die verschiedenen Synchronisationssignale, die herkömmlicherweise durch die SPECTRA- und TUPP-Schaltungen bereitgestellt werden, und die Kenntnis der Rahmenstrukturen nutzen.
  • Die Positionsinformationen werden durch die Einheit 32 einem Empfangskanalspeicher 34 als Leseadresse bereitgestellt. Dieser Speicher enthält eine benutzerdefinierte Kanalnummer an jeder Stelle, d. h. für jede Position. Die durch den Speicher 34 als Reaktion auf die Positionsinformationen bereitgestellte Kanalnummer wird als Schreibadresse auf dem VT-Bus platziert, wobei die zu schreibenden Daten das aktuelle Byte auf dem Strom Rx sind. Wenn die dem Speicher 34 bereitgestellten Positionsinformationen nicht bedeutend sind, d. h. wenn die Bytes auf dem Strom Rx Zusatzbytes sind, werden die Schreiboperationen unterbunden, beispielsweise durch einen inaktiven Zustand eines Datenfreigabesignals DEN.
  • Das Datenfreigabesignal DEN wird durch die Positionsberechnungseinheit 32 aus den SYNC-Signalen und der Kenntnis der Rahmenstrukturen, nämlich der Stellen der Zusatzbytes, erzeugt. Somit wird das Signal DEN lediglich während der effektiven Nutzlastbytes aktiviert, wie in 8 veranschaulicht ist.
  • Die Vorrichtung, in die Daten geschrieben werden, ist ein mit dem VT-Bus gekoppelter Empfangspuffer 36. Der Puffer 36 besteht aus so vielen FIFOs, wie DS0-Signale zu verarbeiten sind (2.016), und jeder FIFO reagiert auf eine jeweilige Kanalnummer, die als Schreibadresse auf dem VT-Bus präsentiert wird, indem er das aktuelle DS0-Byte speichert. Die FIFOs sind für eine Benutzerschaltung einzeln zugänglich, wodurch jeder Kanal, somit jedes DS0-Signal, einzeln verarbeitet werden kann.
  • In der Praxis sind die FIFOs als jeweilige Speicherbereiche in einem einzelnen Speicher mit Doppelzugriff implementiert. Die Lese- und Schreibadressen des Speichers mit Doppelzugriff werden durch eine Zustandsmaschine verwaltet, die Zeiger unterhält, die für jeden FIFO die Stellen, in die zu lesen und zu schreiben ist, angeben.
  • Ausgehende DS0-Bytes werden durch die Benutzerschaltung in einen Sendepuffer 38 geschrieben, in einzelnen FIFOs, die jeweils 2.016 Ausgangskanälen zugeordnet sind. Die Puffer 36 und 38 bilden zusammen einen Puffer (in 7 24 oder 30), der einer Benutzerschaltung zugeordnet ist. Jeder FIFO des Puffers 38 reagiert auf eine entsprechende Kanalnummer, die als Leseadresse auf dem VT-Bus präsentiert wird, indem er ein nächstes Byte in den Sendestrom Tx platziert. Die Kanalnummer wird durch einen Sendekanalspeicher 40 bereitgestellt, der, wie der Kanalspeicher 34, eine benutzerdefinierbare Kanalnummer für jede Position eines DS0-Bytes in einem ausgehenden STS3-Rahmen enthält.
  • Die Positionen der ausgehenden DS0-Bytes werden durch einen Positionszähler 42 auf ähnliche Weise erzeugt, wie die Positionen für den eingehenden Strom Rx berechnet werden. Jedoch ist diese Positionserzeugung viel einfacher, da alle Rahmen miteinander ausgerichtet sind und die Rahmenzeiger Null sind. Ein Freigabesignal EN, das äquivalent zu dem Signal DEN ist, wird ebenfalls erzeugt, um die Nutzlastbytepositionen von den Zusatzbytepositionen zu unterscheiden. Dieses Signal EN wird auf dem VT-Bus bereitgestellt, um zu vermeiden, dass Daten von dem Puffer 38 gelesen werden, wenn die durch den Zähler 42 bereitgestellte Position einem Zusatzbyte entspricht.
  • Die notwendigen Zusatzbytes werden durch eine Einheit 44 berechnet und in den ausgehenden Strom Tx eingefügt, wobei die Positions- und Freigabesignale von dem Zähler 42 genutzt werden.
  • Jeder der Ströme Rx und Tx weist eine Übertragungsrate von 19,44 Mbytes/s auf. Dies bedeutet, dass der VT-Bus bei 38,88 Mbytes/s getaktet ist, um den Rx-Strom in jedem ersten Taktzyklus und den Tx-Strom in jedem zweiten Taktzyklus zu verarbeiten.
  • Die Positionsberechnungsaufgabe für den eingehenden Strom Rx kann vereinfacht werden, wenn dem TUPP ein spezifischer Befehl gegeben wird, der ihn veranlasst, die drei STS1-Rahmen in dem entsprechenden STS3-Rahmen neu auszurichten. Mit anderen Worten sind die Pfadzusatzspalten der drei STS1-Rahmen die 10. bis 12. Spalte des STS3-Rahmens, die unmittelbar auf die Transportzusatzspalten folgen, und die Bytes V1–V4 sind in der ersten Zeile, von den Positionen 13 bis 96.
  • Im folgenden wird die Funktionsweise des Hostpufferverwalters 22 (7) beschrieben. Der Hostpufferverwalter 22 ist dafür verantwortlich, die in den FIFOs des Empfangspuffers 36 (9) gespeicherten DS0-Bytes durch den PCI-Bus an das Hostsystem zu transferieren und die auf dem Hostsystem gelesenen DS0-Bytes durch den PCI-Bus in die FIFOs des Sendepuffers 38 zu transferieren. Aufgrund der Funktionsweise des VT-Prozessors enthält jeder FIFO DS0-Bytes, die einem jeweiligen einzelnen Kanal entsprechen, wodurch die Verarbeitung dieser Daten besonders einfach und unkompliziert ist. Beispielsweise entspricht der Inhalt jedes FIFO einer auf dem Hostsystem gespeicherten entsprechenden Datei.
  • Der Empfangspuffer 36 wird bei einer effektiven Rate von 16 Mbytes/s durch den VT-Prozessor gefüllt, wohingegen der Sendepuffer 38 bei einer effektiven Rate von 16 Mbytes/s durch diesen Prozessor geleert wird (der effektive Verkehr von DS0-Bytes beträgt aufgrund des Entfernens des Zusatzes 32 Mbytes/s statt 38,88 Mbytes/s). Somit muss der Hostpufferverwalter gewährleisten, dass dieser Verkehr durch den PCI-Bus aufrechterhalten wird und dass bei den FIFOs niemals eine Über- oder Unterschreitung erfolgt.
  • Der 32 Mbytes/s-Verkehr ist ein Viertel des theoretischen Durchsatzes des PCI-Busses. Der theoretische Durchsatz eines PCI-Busses kann kaum jemals aufrechterhalten werden, insbesondere wenn Daten, die auf einer Festplatte oder einem anderen Massenspeichermedium gespeichert sind, über den PCI-Bus wiedergewonnen werden. In der Tat weisen Massenspeichermedien einen Durchsatz auf, der weit unter dem des PCI-Busses liegt, wodurch die Daten teilweise in einem Cachespeicher oder einem TLB-Puffer (TLB = Translate Lookaside Buffer, assoziativer Übersetzungs-Pufferspeicher), der den notwendigen Durchsatz aufweist, aufrechterhalten werden. Trotzdem liegen immer Lesezugriffslatenzen vor, auch in dem Cachespeicher oder TLB, wobei diese Latenzen im Fall eines Cache-Fehltreffers 1 μs erreichen können.
  • Überdies erzielt eine herkömmliche PCI-Brücke Transfers als Reaktion auf spezifische Befehle, deren Abschluss mehrere Zyklen erfordert, während derer keine effektiven Daten transferiert werden.
  • All diese Überlegungen machen es sehr schwierig, auch nur ein Viertel des theoretischen Durchsatzes des PCI zu erreichen, auch wenn der PCI-Bus für die Aufgabe zweckgebunden ist.
  • Die effektivste Weise, die Auswirkung von Leselatenz- und Anweisungszyklen zu verringern, besteht darin, DMA-Transfers über den PCI-Bus zu erzielen. In der Tat ermöglicht dies, dass Daten durch große Bursts transferiert werden, an denen die Latenz- und Anweisungszyklen für jeden Burst nur einmal beteiligt sind.
  • 10 veranschaulicht einen typischen DMA-Lesezyklus über einen PCI-Bus, der an dem lokalen Bus Lbus zwischen der PCI-Brücke 26 und dem Hostpufferverwalter 22 eingeleitet wird. Eine erste Anweisung RDAD wird der PCI-Brücke bereitgestellt, die einen Lesevorgang, die zu lesende Adresse und die Größe des Bursts angibt. Unmittelbar danach wird der PCI-Brücke zum Auslösen des Lesevorgangs eine zweite Anweisung RDtrig bereitgestellt.
  • Derartige Anweisungen können jeweils bis zu 12 Taktzyklen für eine herkömmliche PCI-Brücke, wie z. B. die PLX-PCI9080-Schaltung, brauchen, d. h. jeweils 0,3 μs in dem vorliegenden Fall, bei dem der lokale Bus bei 38,88 MHz getaktet wird. Im schlimmsten Fall, wie gezeigt ist, kann der Leseburst 1 μs nach dem Ende der RDtrig-Anweisung an dem PCI-Bus und dann an dem lokalen Bus ankommen.
  • Nach dem DMA-Leseburst kann ein weiterer DMA-Lese- oder -Schreibzyklus starten. 10 zeigt dies für einen Schreibzyklus, der durch eine WRAD-Anweisung und eine WRtrig-Anweisung eingeleitet wird.
  • Bei einem DMA-Schreibzyklus kann der Burst unmittelbar nach der Schreibauslöseanweisung WRtrig geschrieben werden.
  • Bei derartigen DMA-Zyklen ist es nützlich, die Größe der Bursts zu erhöhen, um die Bedeutung der Anweisungs- und Latenzzyklen zu verringern. In dem vorliegenden Fall ist es jedoch nicht möglich, die Schreibbursts über eine bestimmte Grenze hinaus zu erhöhen. In der Tat entsprechen Daten, die in einem DMA-Burst geschrieben sind, einem einzelnen Kanal, d. h. dem Inhalt eines einzelnen FIFOs des Empfangspuffers 36, was bedeutet, dass dieser FIFO alle Bytes für den Burst enthalten muss. Der FIFO empfängt jedoch nur ein Byte in jedem STS3-Rahmen, d. h. alle 125 μs. Dies bedeutet, dass der Datenstrom um N × 125 μs verzögert ist, wobei N die Größe eines Bursts ist. In der Praxis sollte diese Verzögerung 8 ms nicht überschreiten, um Echoprobleme zu vermeiden. Die maximale Größe der Schreibbursts beträgt somit 64 Bytes.
  • In dem vorliegenden Fall ist es notwendig, zwischen Lesezyklen und Schreibzyklen derselben Größe abzuwechseln, um gleiche Eingangs- und Ausgangsübertragungsraten zu haben, wodurch die Größe der Lesebursts ebenfalls 64 Bytes beträgt.
  • Überdies transferiert ein DMA-Burst nicht nur effektive Daten: Busentscheidungsinformationen müssen ebenfalls ausgetauscht werden. Folglich benötigt ein DMA-Burst für 64 Bytes, angenommen der lokale Bus ist 32 Bits breit, 30 Taktzyklen (oder 0,8 μs) auf dem lokalen Bus (16 für die effektiven Daten und 14 für die Busentscheidung).
  • Von diesen Annahmen ausgehend brauchen ein 64-Byte-Lesezyklus und ein 64-Byte-Schreibzyklus insgesamt 3,8 μs (4 × 0,3 + 1 + 2 × 0,8), was einem Durchsatz von 33,7 Mbytes/s entspricht. Dies ist dann der maximal erreichbare Durchsatz auf dem lokalen Bus. Dieser Durchsatz ist unzureichend, da er kaum größer ist als der notwendige Durch satz von 32 Mbytes/s und zu wenig Raum für Fluktuationen und andere notwendige Zusätze lässt, z. B. Unterbrechungshandhabung zum Umschalten des PCI-Busses zwischen einem Master- und einem Slave-Modus.
  • 11A und 11B veranschaulichen ein DMA-Zugriffsschema, das dieses Problem vermeidet. Ein DMA-Schreibzyklus wird unmittelbar nach dem Aufbau eines DMA-Lesezyklus aufgebaut, d. h. die PCI-Brücke-Anweisungen für einen Schreibzyklus (WRAD und WRtrig) werden unmittelbar nach der RDtrig-Anweisung auf dem lokalen Bus Lbus bereitgestellt.
  • Im besten Falle, der in 11A veranschaulicht ist, wird der Burst von zu lesenden Daten kurz nach der RDtrig-Anweisung auf dem PCI-Bus platziert, während die Schreibaufbauanweisungen WRAD und WRtrig auf dem lokalen Bus bereitgestellt werden. Dies bedeutet, dass der Leseburst nicht unmittelbar auf dem lokalen Bus platziert werden kann, da der lokale Bus beschäftigt ist. Der Leseburst wird in einem Puffer der PCI-Brücke gespeichert und wartet auf einen Zeitpunkt, wenn der lokale Bus frei wird. Dieser Zeitpunkt könnte unmittelbar nach der WRtrig-Anweisung sein. Statt dessen wird der Burst von zu schreibenden Daten unmittelbar nach der WRtrig-Anweisung auf dem lokalen Bus platziert, und der Leseburst wird unmittelbar nach dem Schreibburst auf dem lokalen Bus platziert. Auf diese Weise ist dieselbe Vorgehensweise sowohl im besten Fall als auch in dem nachstehend beschriebenen schlimmsten Fall einsetzbar. Der Schreibburst wird ferner in einem Puffer gespeichert bevor er auf dem PCI-Bus platziert wird, da es wahrscheinlich ist, dass der PCI-Bus mit dem Ende des Lesebursts beschäftigt ist, wenn der Schreibburst auf dem lokalen Bus beginnt.
  • Wie gezeigt ist, sind die Bursts auf dem PCI-Bus kürzer als diejenigen auf dem lokalen Bus (sie dauern 0,6 μs statt 0,8 μs). Es ist in der Tat so, dass, obwohl der PCI-Bus bei 33 MHz getaktet wird (langsamer als der lokale Bus), bei jedem Burst auf dem PCI-Bus weniger Zusätze ausgetauscht werden.
  • Im schlimmsten Fall, wie er in 11B veranschaulicht ist, kommt der Leseburst 1 μs nach der RDtrig-Anweisung auf dem PCI-Bus an, und zwar inmitten des Schreib-DMA-Bursts, der unmittelbar nach der WRtrig-Anweisung auf dem lokalen Bus platziert wurde. Der Schreibburst auf dem lokalen Bus endet vor dem Leseburst auf dem PCI-Bus, weshalb der Transfer des Lesebursts zu dem lokalen Bus und des Schreibbursts zu dem PCI-Bus erst nach dem Ende des Lesebursts auf dem PCI-Bus erfolgen. Wie gezeigt ist, hinterlässt dies ein Ruheintervall zwischen den Lese- und Schreibbursts auf dem lokalen Bus. Dieses Ruheintervall, im wesentlichen 0,2 μs, ist kürzer als die Zeit, die den Beginn des Lesebursts auf dem PCI-Bus von dem Beginn des Schreibbursts auf dem lokalen Bus trennt, da, wie zuvor erwähnt wurde, die PCI-Bursts kürzer sind als die Bursts des lokalen Busses.
  • Bei diesem Verfahren dauert der Transfer von zwei 64-Byte-Bursts insgesamt 3 μs, was einem ausreichenden Durchsatz von 42,7 Mbytes/s entspricht.
  • Die 64 Bytes eines DMA-Bursts werden in einem einzelnen FIFO des Puffers 36 (oder 38) gelesen (oder geschrieben). Die FIFOs werden sequentiell abgefragt, nicht unbedingt in der Reihenfolge, in der sie durch den VT-Prozessor 16 gefüllt oder geleert wurden. In der Praxis weisen die FIFOs eine Tiefe von 256 Bytes auf, und beim Starten wird ihnen Zeit gegeben, sich halb zu füllen, bevor sie das erste Mal abgefragt werden. Da die Füll- und Leerungsraten der FIFOs normalerweise gleich sind, enthält ein FIFO normalerweise jedes Mal, wenn er abgefragt wird, dieselbe Anzahl von Bytes, nominell 128.
  • Wenn ein virtuelles Unterbündel langsamer ist als ein Nennwert in dem OC3-Signal, nimmt die Anzahl von Bytes, die in den entsprechenden FIFOs enthalten sind, zwischen zwei Abfragen ab. Zu einem gegebenen Zeitpunkt enthalten die FIFOs nicht genügend Daten zum Abfragen, d. h. weniger als 64 Bytes bei jeder Abfrage. Folglich empfängt der Hostcomputer bei jedem DMA-Schreibburst weniger Bytes. Dies hat jedoch keine negativen Folgen, da die effektiv transferierten Bytes an eine Datei in dem Hostsystem angehängt werden, wodurch die Integrität des Bytestroms bewahrt wird.
  • Falls ein virtuelles Unterbündel schneller ist als ein Nennwert, erhöht sich die Anzahl von Bytes, die in den entsprechenden FIFOs enthalten sind, zwischen zwei Abfragen. Zu einem gegebenen Zeitpunkt sind die FIFOs voll und tendieren zu einer Umwicklung, d. h. ein eingehendes Bytes wird über das erste Byte des FIFO geschrieben, bevor dieses erste Byte in einem DMA-Burst ausgesendet werden kann. Dies würde einen Datenverlust bewirken.
  • Um diesen Datenverlust zu vermeiden, wird eine kleine Gruppe von FIFOs zwischen zwei Hauptabfragesequenzen aller FIFOs abgefragt, wobei die Gruppe von FIFOs jedes Mal gewechselt wird. Beispielsweise werden die FIFOs gemäß den folgenden Sequenzen abgefragt:
    1 – 2.016,
    1 – 8,
    1 – 2.016,
    9 – 16,
    1 – 2.016,
    17 – 24
    usw.
  • Während jeder Hauptabfragesequenz werden 64 Bytes systematisch aus jedem FIFO gelesen. Während einer zusätzlichen Abfragesequenz werden nur dann 64 Bytes aus einem FIFO gelesen, wenn der FIFO mehr als 128 Bytes enthält. Mit dieser Technik wird ein FIFO, der eine höhere als nominelle Füllrate aufweist, hie und da ein zusätzliches Mal geleert, je nach der effektiven Füllrate des FIFO.
  • Die Sende-FIFOs 38, d. h. diejenigen, die die DMA-Lesebursts von dem PCI-Bus empfangen, brauchen keine Überschreitungsverwaltung. In der Tat werden die Daten, die von dem PCI-Bus kommen, auf den Takt des lokalen Busses (38,88 MHz) synchronisiert. Sie sind nur dazu da, um der Tatsache Rechnung zu tragen, dass die von dem PCI-Bus kommenden Daten in einem STS3-Rahmen nicht unbedingt in derselben Reihenfolge ausgesendet werden müssen.
  • Im folgenden wird die Funktionsweise des TDM-Pufferverwalters 28 (7) beschrieben. Der TDM-Pufferverwalter 28 ist dafür verantwortlich, DS0-Bytes zwischen einem Telekommunikationsbus, bei dem vorliegenden Beispiel H.100, und dem Puffer 30 auszutauschen. Wie der Puffer 24 für den PCI-Bus umfasst der Puffer 30 Empfangs- und Sendepuffer 36 und 38, die jeweils 2.016 FIFOs enthalten, die jeweils einzelnen Kanälen zugeordnet sind.
  • Ob ein Kanal dem PCI-Bus oder einem Telekommunikationsbus zugeordnet ist, wird durch den Benutzer in Kanalspeichern 34 und 40 (9) bestimmt.
  • Ein H.100-Bus weist 32 Drähte auf, von denen jeder 128 „Zeitschlitze", die in 125 μs-Rahmen angeordnet sind, übermittelt. Mit anderen Worten übermittelt der H.100-Bus 4.096 Zeitschlitze in 125 μs. Jeder Zeitschlitz entspricht einer seriellen Übertragung eines jeweiligen DS0-Bytes, wodurch ein H.100-Bus ausreichend ist, um den gesamten OC3-Vollduplexverkehr zu übermitteln.
  • Um Daten mit den H.100-Bussen auszutauschen, werden die Daten durch den TDM-Pufferverwalter Byte um Byte in jeden FIFO gelesen und geschrieben, und nicht nach Bursts von 64 Bytes auf der Seite des PCI-Busses.
  • Ein einzelnes Byte wird während einer Abfragesequenz in jedem Empfangs-FIFO 36 gelesen. Das Byte wird gespeichert, wobei es auf seinen Zeitschlitz auf dem entsprechenden H.100-Bus wartet, und wird schließlich in Serie auf dem entsprechenden Draht ausgesendet.
  • Eine Schwierigkeit bei der Verwendung eines Telekommunikationsbusses sind die Echtzeitanforderungen, die er stellt, insbesondere in Bezug auf ein Platzieren von Daten auf dem Bus. Es wird immer ein Zeitschlitz gesendet, ob er Daten enthält oder nicht; falls das Byte für den Zeitschlitz zu spät ankommt, wird der Zeitschlitz mit Müll gesendet. Falls das Byte zu früh ankommt, kann es ebenfalls nicht ausgesendet werden, da der Zeitschlitz mit dem vorherigen Byte besetzt ist.
  • Die Verwendung eines FIFO ermöglicht, dass Übertragungsratendriften kompensiert werden, vorausgesetzt, dass er keinen Unterschreitungszustand erreicht, d. h. dass die durchschnittliche Übertragungsrate gleich der nominellen Rate ist.
  • Falls die Bytes eines Kanals langsamer als bei einer nominellen Rate empfangen werden, nimmt die Anzahl von Bytes, die in dem entsprechenden FIFO enthalten sind, mit der Zeit ab. Zu einem gegebenen Zeitpunkt weist der FIFO eine Unterschreitung auf, d. h. enthält keine Bytes, wenn er abgefragt wird. Herkömmlicherweise signalisiert der FIFO, dass der Leseprozess enden muss. Der Übertragungsprozess auf einem H.100-Bus kann jedoch nicht angehalten werden, weshalb ein Müllbyte auf dem Bus gesendet wird.
  • Dieser Zustand wird erreicht, wenn das Übertragungssignal eine zeitliche Verzögerung von N Bytes erreicht hat, wobei N die Anzahl von Bytes ist, die anfänglich in dem FIFO gespeichert sind. Die Zahl N wird so gewählt, dass die Fehlerrate ein erforderliches Kriterium erfüllt, beispielsweise ein Fehler alle 10 mn.
  • Die Takte der mit einer SONET- oder SDH-Verbindung verbundenen Vorrichtungen sind ein sogenanntes „Stratum 3", was bedeutet, dass sie in einem Freilaufmodus eine Genauigkeit von +/–4,6 ppm aufweisen. Der Freilaufmodus ist ein Ausnahmemodus, bei dem eine Vorrichtung die Synchronisation verloren hat. Der Datenfluss, den die Vorrichtung sendet, in der Regel VT1,5-Behälter, überspringt somit 4,6 Bits alle Million, was für die VT1,5-Übertragungsrate von 1,544 Mbits/s einen Fehler alle 27 Sekunden ergibt. Um das Kriterium „ein Fehler alle 10 mn" zu erfüllen, wird der anfängliche Gehalt N der FIFOs gleich 32 gewählt, und die FIFO-Tiefe wird gleich 64 gewählt. Bei dem Wert 32 beträgt die Fehlerrate in der Tat ein Fehler alle 14 mn.
  • Falls die Daten Ton oder Bildern entsprechen, hat ein von Zeit zu Zeit auftretender Fehler keine wahrnehmbare Auswirkung. Falls keine Fehler toleriert werden, wird ein Fehlerbehebungsmechanismus verwendet. Beispielsweise wird der Fehler durch die Benutzerschaltung mittels einer CRC-Prüfung erfasst, die an einem aktuellen Datenpaket durchgeführt wird, und die Benutzerschaltung fordert an, dass das aktuelle Paket durch den Sender erneut gesandt wird. Die Daten, die bis zur Ankunft des erneut gesandten Pakets empfangen werden, werden anschließend verworfen.
  • Die Verwendung von FIFOs, wie sie oben beschrieben wurden, ist zufriedenstellend, wenn das Übertragungssignal eine Geschwindigkeitsdrift aufweist, die zwischen zu langsam und zu schnell variiert. Ein Problem tritt dann auf, wenn das Übertragungssignal einen bleibenden Geschwindigkeitsfehler aufweist.
  • Im Fall einer bleibenden zeitlichen Übertragungsgeschwindigkeitsverzögerung wird, nachdem der FIFO einen leeren Zustand erreicht hat, z. B. nach einem Betrieb von 14 mn, ein erstes Müllbyte auf dem H.100-Bus gesandt. Die nachfolgenden Male, die das FIFO abgefragt wird, enthält es höchstens ein Byte und ist alle 14/32 = 0,44 mn leer (bei dem vorliegenden Beispiel, bei dem der Wert von 14 mn mit anfänglich 32 Bytes in dem FIFO erreicht wird). Folglich wird die Fehlerrate mit 32 multipliziert und wird inakzeptabel.
  • Um diesen Nachteil zu überwinden, hört der TDM-Pufferverwalter auf, den FIFO zu lesen, nachdem er einen Unterschreitungszustand erreicht hat, und zwar so lange, bis der FIFO wieder 32 Bytes enthält. Folglich wird ein Burst von 32 aufeinanderfolgenden Müllbytes auf dem H.100-Bus gesendet. Dies ist jedoch nicht schädlicher als das Senden eines einzigen Müllbytes, da die Benutzerschaltung nur die Übertragung benötigt, um von dem Paket, das das erste der 32 Müllbytes enthält, neu zu beginnen, d. h. anzufordern, dass ein einzelnes Paket erneut gesandt wird. In der Tat kann ein Burst von aufeinanderfolgenden Fehlern unter diesen Umständen als einzelner Fehler betrachtet werden.
  • Die Fehlerrate beträgt dann wiederum eins alle 14 nm.
  • Wenn die Bytes eines Kanals zu schnell empfangen werden, nimmt die Anzahl von Bytes, die in dem entsprechenden FIFO enthalten sind, mit der Zeit zu. Nach einer gegebenen Zeit ist der FIFO voll. Herkömmlicherweise würde dann eine Anforderung an den Sender gesendet werden, das Senden von Daten zu beenden, aufgrund der synchronen Charakteristik der SONET-Verbindung ist dies in dem vorliegenden Fall jedoch nicht möglich. Folglich wird jegliches Bytes, das empfangen wird, wenn der FIFO voll ist, verworfen. Die Benutzerschaltung des H.100-Busses erfasst den Fehler und fordert an, dass das Datenpaket erneut gesandt wird.
  • Die FIFO-Tiefe ist so gewählt, dass die Fehlerrate, die sich aus einer Übertragungsgeschwindigkeitsvoreilung ergibt, eine vorbestimmte Spezifikation erfüllt, bei dem vorliegenden Beispiel ein Fehler alle 10 mn. Die gewählte Tiefe beträgt bei dem Beispiel 64, was 32 Bytes über dem anfänglichen Inhalt von 32 Bytes lässt und einen Fehler alle 14 mn ergibt.
  • Falls die Übertragungsgeschwindigkeitsvoreilung bleibend ist, wird der FIFO nach einem Betrieb von 14 mn voll, wodurch ein erstes Byte verworfen wird. Für die nächsten empfangenen Bytes weist der FIFO höchstens eine freie Stelle auf und ist alle 0,44 mn voll. Folglich werden weitere Bytes mit einer inakzeptablen Rate von eins alle 0,44 mn verworfen.
  • Um diesen Nachteil zu überwinden, ermöglicht der TDM-Pufferverwalter dem FIFO eine Umwicklung, d. h. das erste ungelesene Byte des FIFO wird mit einem eingehenden Byte überschrieben, wenn der FIFO voll ist. Folglich werden alle in dem FIFO enthaltenen 64 Bytes verworfen. Dies ist wiederum nicht schädlicher als das Verwerfen eines einzigen Bytes, da die Benutzerschaltung des H.100-Busses nur einmal einen Fehler erfasst und anfordert, dass die Übertragung von dem Paket, in dem der Fehler erfasst wurde, neu beginnt.
  • Um der Tatsache Rechnung zu tragen, dass ein Risiko besteht, dass die Übertragungsgeschwindigkeit in der Zwischenzeit unter die nominelle Geschwindigkeit absinkt, ermöglicht der TDM-Pufferverwalter dem FIFO, sich halb (32 Bytes) wieder aufzufüllen, bevor er seinen Inhalt auf dem H.100-Bus sendet. Dies führt zum Senden von 32 Müllbytes auf dem H.100-Bus. Wiederum ist dies jedoch aus den oben dargelegten Gründen nicht schädlich.
  • Die effektive Fehlerrate beträgt dann wiederum eins alle 14 mn.
  • Ein Senden der Daten, die auf dem H.100-Bus kommen, auf der SONET-Verbindung erfolgt synchron mit den Zeitschlitzen des H.100-Busses, wodurch die Sende-FIFOs 38 einfach zu Neuordnungszwecken verwendet werden, wie die Sende-FIFOs auf der Seite des PCI-Busses.
  • 12 zeigt schematisch ein Ausführungsbeispiel eines TDM-Pufferverwalters 28 für den eingehenden Bytestrom Rx. Die Empfangs-FIFOs sind in einem einzelnen RAM 30 mit Einfachzugriff enthalten, auf den mit Adressen, die durch einen Lese-/Schreibzeigerspeicher 50, der bei diesem Ausführungsbeispiel ein RAM mit Doppelzugriff ist, bereitgestellt werden, abwechselnd ein Lese- und ein Schreibzugriff durchgeführt wird. Jede Stelle des Zeigerspeichers 50 enthält einen Schreibzeiger und einen Lesezeiger und wird durch eine entsprechende Kanalnummer ausgewählt, die abwechselnd durch den VT-Bus und durch einen Zeitschlitz-/Kanalnummer-Speicher 52 bereitgestellt wird. Dieser Speicher 52 weist die Kanalnummern jeweiligen Zeitschlitzen zu und ist durch den Benutzer programmierbar.
  • Eine derartige Lösung zum Implementieren einer Mehrzahl von FIFOs kann selbstverständlich auch auf der Seite des PCI-Busses verwendet werden. Dann bildet der Kanalspeicher 52 DMA-Bursts auf Kanalnummern ab, statt Zeitschlitze auf Kanalnummern abzubilden.
  • Wenn ein Byte von dem VT-Bus in einen FIFO geschrieben wird, spricht der Zeigerspeicher 50 auf die auf dem VT-Bus bereitgestellte Kanalnummer an. Der FIFO-Speicher 30 wird dann mit einer Adresse, deren MSBs die Kanalnummer sind und die LSBs der durch den Zeigerspeicher 50 bereitgestellte Schreibzeiger sind, leseausgewählt. Dieser Schreibzeiger wird dann durch einen Sequenzer 54 aktualisiert und erneut in seine aktuelle Stelle in dem Zeigerspeicher 50 geschrieben.
  • In einem nächsten Zyklus wird ein Byte, das in einem H.100-Zeitschlitz gesendet werden soll, aus einem FIFO in dem Speicher 30 gelesen. Der Zeitschlitz wird durch den Sequenzer 54 identifiziert und dem Kanalnummernspeicher 52 als Leseadresse bereitgestellt. Der Speicher 52 liefert somit eine Kanalnummer als Leseadresse an den Zeigerspeicher 50. Diese selbe Kanalnummer wird als die MSBs an den Lesezeiger angehängt, der dann durch den Zeigerspeicher 50 bereitgestellt ist, um die Leseadresse des FIFO-Speichers 30 zu bilden. Dieser Lesezeiger wird durch den Sequenzer aktualisiert und erneut in seine aktuelle Stelle des Zeigerspeichers 50 geschrieben.
  • Die durch den Sequenzer 54 erzeugten Zeitschlitznummern sind vorzugsweise aufeinanderfolgend und derart, dass Zahlen 0 bis 31 dem ersten Zeitschlitz jedes der 32 Drähte entsprechen, Nummern 32 bis 63 dem zweiten Zeitschlitz jedes der 32 Drähte entsprechen usw.
  • Obwohl die effektive Übertragungsrate des Bytestroms Rx 16 Mbytes/s beträgt, werden die Bytes bei 19,44 Mbytes/s in dem FIFO-Speicher 30 gelesen und geschrieben, d. h. mit der Zeitbasis, die zum Verarbeiten von SONET-Signalen verwendet wird. Da der FIFO-Speicher 30 einen Einfachzugriff aufweist, sind die Lese- und Schreibraten gleich. Jedoch erfordert der H.100-Bus, dass die Bytes bei ihrer effektiven Rate von 16 Mbytes/s bereitgestellt werden. Zu diesem Zweck werden die Bytes mit 19,44 MHz in einen Taktadapter-FIFO 56 geschrieben und mit 16 MHz aus demselben ausgelesen.
  • Schließlich werden die Bytes durch einen Schalter 58 in jeweiligen Zeitschlitzen des H.100-Busses platziert. Der Schalter 58 sendet während des jeweiligen Zeitschlitzes jedes Byte in Serie auf einem entsprechenden von 32 Drähten aus.
  • Der Schalter 58 kann 32 Paare von Registern umfassen, die jeweils den Drähten zugeordnet sind. 32 aufeinanderfolgende Bytes von dem FIFO 56 werden jeweils in die ersten Register der Paare geschrieben, während die zweiten Register der Paare Bit um Bit auf die jeweiligen Drähte ausgelesen werden. Die Rollen der ersten und der zweiten Register werden für einen nächsten Stapel von 32 Bytes vertauscht.
  • Die Schaltungsanordnung zum Verarbeiten des Sendebytestroms Tx, d. h. der Daten, die von dem H.100-Bus kommen und an die SONET-Verbindung gesendet werden, ist zu der oben beschriebenen Schaltungsanordnung streng symmetrisch und wird daher nicht beschrieben.
  • 13 zeigt schematisch ein Ausführungsbeispiel eines Schalters 58, der besonders gut an eine FPGA-Implementierung (FPGA = Fully Programmable Gate Array, vollständig programmierbares Gatterarray) angepasst ist. Die oben beschriebene Lösung für den Schalter ist an einen vollständigen kundenspezifischen Entwurf einer integrierten Schaltung angepasst; falls sie in einem FPGA implementiert wäre, würde sie zumindest einen Logikblock des Arrays pro Flip-Flop erfordern, d. h. 2 × 8 × 32 = 512 Logikblöcke, was sehr viel ist.
  • Der Schalter der 13 umfasst vier Gruppen von acht 1-Bit-Speichern 60 mit Doppelzugriff. Jeder Speicher 60 ist 16 Bits tief, wobei 8 Bits dazu gedacht sind, Daten von dem FIFO 56 zu empfangen, während die anderen 8 Bits auf Drähten des H.100-Busses gesendet werden.
  • Jeder Speicher 60 mit Doppelzugriff weist den Vorteil auf, dass er mit lediglich zwei FPGA-Logikblöcken verwirklicht werden kann, wodurch insgesamt 32 Logikblöcke zur Speicherung in dem Schalter verwendet werden.
  • Jeder Speicher 60 einer Gruppe ist vier aufeinanderfolgenden Drähten zugewiesen. Jede Gruppe ist zwei benachbarten Bits eines von dem FIFO 56 empfangenen Bytes zugewiesen. Die Eingänge der acht Speicher 60 einer Gruppe sind mit dem Ausgang eines 2-1-Multiplexers 62 verbunden, der an seinen zwei Eingängen die jeweiligen zwei Bits des aktuellen Bytes von dem FIFO 56 empfängt.
  • Acht 4-1-Multiplexer 64 sind so verbunden, dass der i-te Multiplexer an seinem j-ten Eingang den Ausgang des i-ten Speichers 60 der j-ten Gruppe empfängt, wobei i zwischen 1 und 8 variiert und j zwischen 1 und 4 variiert.
  • Acht 1-4-Demultiplexer 66 empfangen jeweils die Ausgänge der Multiplexer 64, und die vier Ausgänge eines jeden entsprechen vier aufeinanderfolgenden Drähten des H.100-Busses.
  • Jeder Multiplexer oder Demultiplexer erfordert einen einzigen FPGA-Logikblock. Folglich erfordert der ganze Schalter 52 Logikblöcke (plus einige weitere zum Steuern der Elemente) statt der 512, die erforderlich wären, wenn eine herkömmliche Schaltstruktur in einem FPGA implementiert wäre.
  • Ein Byte wird zusammen mit einer durch den Sequenzer 54 bereitgestellten Zeitschlitznummer dem Schalter durch den FIFO 56 bereitgestellt. In der Tat werden lediglich die 5 LSBs der Zeitschlitznummer verwendet, die den Draht identifizieren, auf dem das Byte gesendet wird, z. B. Draht k. Die 3 MSBs der Nummer k wählen einen Speicher 60 in jeder Gruppe aus, und die 2 verbleibenden LSBs der Zahl k wählen in diesen Speichern die Stelle aus, die dem Draht k entspricht. Die ausgewählte Stelle des ersten ausgewählten Speichers empfängt Bits 0 und 1 des aktuellen Bytes in zwei aufeinanderfolgenden 32-MHz-Taktzyklen durch den ersten Multiplexer 62. Die ausgewählte Stelle des zweiten ausge wählten Speichers empfängt Bits 2 und 3 durch den zweiten Multiplexer 62 usw.
  • Die Bits des aktuellen Bytes werden in eine erste Hälfte der Speicher 60 geschrieben, während die in der zweiten Hälfte enthaltenen Bits auf die Drähte platziert werden. Die Platzierung der Bits, die einem einzelnen H.100-Bus-Taktzyklus (8 MHz) entsprechen, erfolgt in vier 32-MHz-Taktzyklen.
  • Bei einem ersten Zyklus wird die erste Stelle jedes Speichers 60 ausgewählt, und die Multiplexer 64 wählen ihren ersten Eingang aus, während die Demultiplexer 66 ihren ersten Ausgang auswählen. Somit wird ein erstes Bit auf Drähte 0, 4, 8 ... 28 platziert.
  • Bei einem zweiten Zyklus wird die zweite Stelle jedes Speichers 60 ausgewählt, die Multiplexer 64 wählen immer noch ihren ersten Eingang aus, und die Demultiplexer 66 wählen ihren zweiten Ausgang aus. Ein erstes Bit wird somit auf die Drähte 1, 5, 9 ... 29 platziert.
  • Bei einem dritten Zyklus wird die dritte Stelle jedes Speichers 60 ausgewählt, die Multiplexer 64 wählen immer noch ihren ersten Eingang aus, und die Demultiplexer 66 wählen ihren dritten Ausgang aus. Somit wird ein erstes Bit auf die Drähte 2, 6, 10 ... 30 platziert.
  • Bei einem vierten Zyklus wird die vierte Stelle jedes Speichers 60 ausgewählt, die Multiplexer 64 wählen immer noch ihren ersten Eingang aus, und die Demultiplexer 66 wählen ihren vierten Ausgang aus. Ein erstes Bit wird somit auf die Drähte 3, 7, 11 ... 31 platziert.
  • Auf dieser Stufe übermitteln alle 32 Drähte ein jeweiliges Bit, das dem Bit 0 von 32 Bytes entspricht, um in jeweiligen Zeitschlitzen zu übermitteln. Und die erste Gruppe der Speicher 60 wurde geleert.
  • Die obigen vier Zyklen werden noch einmal wiederholt, um Bit 1 der 32 Bytes auf den 32 Drähten zu platzieren.
  • Um Bits 3 und 4 der 32 Bytes nacheinander auf den Drähten zu platzieren, werden die vier oben genannten Zyklen noch zweimal wiederholt, mit der Ausnahme, dass die Multiplexer 64 ihren zweiten Eingang auswählen. Und so weiter, bis alle Eingänge der Multiplexer 64 auswählt und die Speicher 60 geleert wurden.
  • Zum Verarbeiten eines Sendebytestroms Tx wird ein Schalter verwendet, dessen Struktur symmetrisch zu dem der 13 ist. Mit anderen Worten werden die Eingänge und Ausgänge der Speicher 60 vertauscht, werden die Multiplexer 62 und 64 durch Demultiplexer ersetzt, und werden die Demultiplexer 66 durch Multiplexer ersetzt. Überdies werden die Direktverbindungen zwischen den Multiplexern 62 und den Speichern 60 durch 8-1-Multiplexer ersetzt.
  • Die vorliegende Erfindung wurde beispielhaft in Bezug auf den SONET-Standard beschrieben, Fachleute können die Erfindung jedoch ohne weiteres auch auf andere, ähnliche Standards, z. B. SDH, anwenden.

Claims (11)

  1. Eine Vorrichtung zum individuellen Verarbeiten einer Mehrzahl von Datenübertragungskanälen, wobei Daten für jeden Kanal an einer vorbestimmten Position in einem seriell empfangenen Rahmen enthalten sind, mit folgenden Merkmalen: einer Einrichtung (32) zum Bestimmen der Position von aktuell empfangenen Daten des Rahmens in dem Rahmen; dadurch gekennzeichnet, daß die Vorrichtung folgende Merkmale umfaßt: einen Kanalspeicher (34), der als Reaktion auf die Position der aktuell empfangenen Daten, die durch die Einrichtung zum Bestimmen bestimmt wird, eine Kanalnummer liefert; und eine Mehrzahl von FIFOs (36, 38), die jeweils den Kanälen zugeordnet sind, wobei jeder FIFO auf eine jeweilige Kanalnummer, die durch den Kanalspeicher geliefert wird, zum Speichern der aktuell empfangenen Daten anspricht.
  2. Eine Vorrichtung zum individuellen Verarbeiten einer Mehrzahl von Datenübertragungskanälen, wobei Daten von jedem Kanal an einer vorbestimmten Position in einem seriell gesendeten Rahmen eingefügt werden sollen, dadurch gekennzeichnet, daß die Vorrichtung folgende Merkmale umfaßt: einen Positionsgenerator (32), der die Position von aktuell gesendeten Daten in dem Rahmen liefert; einen Kanalspeicher (34), der ansprechend auf die durch den Positionsgenerator gelieferte Position eine Kanalnummer liefert; und eine Mehrzahl von FIFOs (36, 38), die jeweils den Kanälen zugeordnet sind, wobei jeder FIFO auf eine jeweilige Kanalnummer anspricht, die durch den Kanalspeicher zum Liefern von in demselben gespeicherten Daten als die aktuell gesendeten Daten geliefert wird.
  3. Die Vorrichtung gemäß Anspruch 1 oder 2, bei der die FIFOs jeweilige Speicherbereiche in einem einzelnen RAM mit Doppelzugriff sind und die ferner einen Zeigerspeicher umfaßt, bei dem jede Stelle einem jeweiligen FIFO in dem RAM zugeordnet ist, und die einen Schreibzeiger und einen Lesezeiger enthält und auf eine Kanalnummer anspricht, um dem RAM gegenüber den Lesezeiger als Leseadresse oder den Schreibzeiger als Schreibadresse zu präsentieren, wobei die Kanalnummer als die höchstwertigen Bits an die Lese- oder Schreibadresse angehängt ist.
  4. Die Vorrichtung gemäß Anspruch 1 oder 2, bei der der Rahmen effektive Daten und Gesamtdaten enthält und die Positionen in dem Rahmen für die effektiven Daten fortlaufend sind.
  5. Die Vorrichtung gemäß Anspruch 4, bei der die effektiven Daten DS0-Bytes sind, die in virtuellen Unterbündeln (VTs) oder Zubringereinheiten (TUs) enthalten sind, die gemäß dem SONET- oder SDH-Standard definiert sind.
  6. Die Vorrichtung gemäß Anspruch 5, bei der die Positionen in einem selben virtuellen Unterbündel oder einer selben Zubringereinheit aufeinanderfolgend sind.
  7. Die Vorrichtung gemäß Anspruch 5, bei der der Rahmen ein gemäß dem SONET- oder SDH-Standard definierter STS3- oder STM1-Rahmen ist.
  8. Die Vorrichtung gemäß Anspruch 7, die eine Schaltungsanordnung zum Leiten der Datenübertragungskanäle durch einen PCI-Bus aufweist.
  9. Die Vorrichtung gemäß Anspruch 7, die eine Schaltungsanordnung zum Leiten der Datenübertragungskanäle durch einen Telekommunikationsbus in Form von Zeitschlitzen aufweist.
  10. Ein Verfahren zum individuellen Verarbeiten einer Mehrzahl von Datenübertragungskanälen, bei dem Daten für jeden Kanal in einer vorbestimmten Position in einem seriell empfangenen Rahmen enthalten sind, wobei das Verfahren folgenden Schritt umfaßt: Bestimmen der Position von aktuell empfangenen Daten des Rahmens in dem Rahmen; gekennzeichnet durch: Liefern, an eine Mehrzahl von FIFOs, die jeweils den Kanälen zugeordnet sind, einer Kanalnummer von einem Kanalspeicher als Reaktion auf die Position der aktuell empfangenen Daten, wobei jeder FIFO auf eine jeweilige Kanalnummer, die durch den Kanalspeicher geliefert wird, zum Speichern der aktuell empfangenen Daten, anspricht.
  11. Ein Verfahren zum individuellen Verarbeiten einer Mehrzahl von Datenübertragungskanälen, wobei die Daten von jedem Kanal in einer vorbestimmten Position an einem seriell gesendeten Rahmen eingefügt werden sollen, wobei das Verfahren folgende Schritte umfaßt: Bestimmen der Position von aktuell gesendeten Daten in dem Rahmen; Liefern, an eine Mehrzahl von FIFOs, die jeweils den Kanälen zugeordnet sind, einer Kanalnummer von einem Kanalspeicher als Reaktion auf die Position der aktuell gesendeten Daten, wobei jeder FIFO auf eine jeweilige Kanalnummer, die durch den Kanalspeicher geliefert wird, zum Liefern von in demselben gespeicherten Daten als die aktuell gesendeten Daten, anspricht.
DE69917639T 1999-10-08 1999-10-08 Anordnung zur verarbeitung von sonet- oder SDH-DS0-Rahmen zur Kanalzurordnung Expired - Lifetime DE69917639T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP99410129A EP1091289B1 (de) 1999-10-08 1999-10-08 Anordnung zur verarbeitung von sonet- oder SDH-DS0-Rahmen zur Kanalzurordnung

Publications (2)

Publication Number Publication Date
DE69917639D1 DE69917639D1 (de) 2004-07-01
DE69917639T2 true DE69917639T2 (de) 2005-05-19

Family

ID=8242274

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69917639T Expired - Lifetime DE69917639T2 (de) 1999-10-08 1999-10-08 Anordnung zur verarbeitung von sonet- oder SDH-DS0-Rahmen zur Kanalzurordnung

Country Status (3)

Country Link
US (1) US6891863B1 (de)
EP (1) EP1091289B1 (de)
DE (1) DE69917639T2 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002300130A (ja) * 2001-03-29 2002-10-11 Nec Corp Sonet/sdhのオーバヘッド挿入/抽出方式及び装置
JP3974855B2 (ja) * 2001-04-26 2007-09-12 インターナショナル・ビジネス・マシーンズ・コーポレーション データ伝送装置
KR100611579B1 (ko) * 2004-12-10 2006-08-10 한국전자통신연구원 멀티밴드와 멀티캐리어를 위한 단말 플랫폼 보드 및 장치
US7839885B2 (en) * 2005-04-25 2010-11-23 Lsi Corporation Connection memory for tributary time-space switches
US7656791B1 (en) * 2006-07-19 2010-02-02 Pmc-Sierra, Inc. Systems and methods for hitless equipment protection
CN100512059C (zh) * 2006-08-16 2009-07-08 华为技术有限公司 在无源光网络中传输同步数字体系业务的方法及装置
US8149871B2 (en) * 2009-02-13 2012-04-03 Cisco Technology, Inc. Pointer offset mechanism enabling cost effective SONET/SDH mapping/demapping over ethernet
CN106027195B (zh) * 2015-12-29 2018-12-14 深圳市恒扬数据股份有限公司 一种识别sdh线路通道结构和协议类型的方法和装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4323790A (en) 1980-06-05 1982-04-06 International Telephone And Telegraph Corporation Elastic storage and synchronization control apparatus for use in a telephone switching system
JPH0194731A (ja) * 1987-10-07 1989-04-13 Mitsubishi Electric Corp 時分割多重化装置
US4942553A (en) 1988-05-12 1990-07-17 Zilog, Inc. System for providing notification of impending FIFO overruns and underruns
US5402452A (en) 1992-08-25 1995-03-28 Alcatel Network Systems, Inc. Incremental phase smoothing desynchronizer and calculation apparatus
US5784377A (en) * 1993-03-09 1998-07-21 Hubbell Incorporated Integrated digital loop carrier system with virtual tributary mapper circuit
US5448558A (en) 1994-04-05 1995-09-05 International Business Machines Corporation Method and apparatus for managing packet FIFOS
JPH07297830A (ja) * 1994-04-21 1995-11-10 Mitsubishi Electric Corp 多重化装置、非多重化装置、スイッチング装置、およびネットワークアダプタ
CA2124610C (en) * 1994-05-30 1998-10-06 Charles Kevin Huscroft Integrated user network interface device
DE69518286T2 (de) 1994-06-17 2001-02-22 Advanced Micro Devices Inc Speicherübertragungsgeschwindigkeitsbegrenzung für PCI-Meister
JP2770786B2 (ja) * 1995-06-05 1998-07-02 日本電気株式会社 構造化データの多重atm/stm変換装置
US5673399A (en) 1995-11-02 1997-09-30 International Business Machines, Corporation System and method for enhancement of system bus to mezzanine bus transactions
US5742765A (en) 1996-06-19 1998-04-21 Pmc-Sierra, Inc. Combination local ATM segmentation and reassembly and physical layer device
US5940456A (en) * 1996-06-20 1999-08-17 Ut Starcom, Inc. Synchronous plesiochronous digital hierarchy transmission systems
US5881248A (en) 1997-03-06 1999-03-09 Advanced Micro Devices, Inc. System and method for optimizing system bus bandwidth in an embedded communication system
US6603776B1 (en) * 1999-04-05 2003-08-05 Lucent Technologies, Inc. & Pmc-Sierra, Inc. System for efficient broadband data payload conversion

Also Published As

Publication number Publication date
DE69917639D1 (de) 2004-07-01
US6891863B1 (en) 2005-05-10
EP1091289B1 (de) 2004-05-26
EP1091289A1 (de) 2001-04-11

Similar Documents

Publication Publication Date Title
DE69936697T2 (de) Verkettung von Containern in einem SDH-Netzwerk
DE3742941C2 (de)
DE69028863T2 (de) Formatumsetzer
DE60213430T2 (de) Stm-1 bis stm-64 sdh/sonet rahmenanpasser mit datenmultiplexen aus einer serie von konfigurierbaren e/a ports
DE69126359T2 (de) Ringübertragungssystem
DE69827349T2 (de) Gigabit-Ethernet Schnittstelle für ein synchrones Netz (SONET)
EP0903959B1 (de) Verfahren zum Übertragen von Datenpaketen und zur Durchführung des Verfahrens geeignetes Netzelement
EP0422443B1 (de) Multiplexer und Demultiplexer, insbesondere für Nachrichtenübertragungs-Netze mit einer synchronen Hierarchie der Digitalsignale
DE69535477T2 (de) Paketverwaltungsgerät für schnelles Paketnetzwerk
US7177314B2 (en) Transmit virtual concatenation processor
DE69115548T2 (de) Zeitmultiplex-Vermittlungssystem mit hoher Geschwindigkeit
DE3742939A1 (de) Verfahren zur hybriden paketvermittlung und einrichtungen hierzu
DE69026526T2 (de) Sonet-Empfangssignalisierungsumsetzer
EP1069718B1 (de) Umwandlung von nahtloser Verkettung zu virtueller Verkettung in einem synchronen digitalen Nachrichtenübertragungsnetz
DE69917639T2 (de) Anordnung zur verarbeitung von sonet- oder SDH-DS0-Rahmen zur Kanalzurordnung
EP0777351B1 (de) Synchrones digitales Übertragungssystem
DE3881574T2 (de) Vermittlungsverfahren für integrierte Sprach/Daten-Übertragung.
DE60037393T2 (de) Nachrichtenübertragungssystem
EP0598455B1 (de) Übertragungssystem der synchronen digitalen Hierarchie
DE60203173T2 (de) Verfahren und vorichtung mit einfünger/rahmenanpasser mehrerer kanäle niedriger geschwindigkeiten in einen einzigen hochgeschwindigkeits sdh/sonet kanal
DE60305571T2 (de) Verkehrsverwaltung in einem synchronen Kommunikationsnetzwerk
CN103634229B (zh) 一种片间通讯方法及控制装置
DE69931160T2 (de) Gerät zur Verarbeitung von SONET oder SDH Rahmen auf einem PCI-Bus
DE60031090T2 (de) Verfahren und Vorrichtung zur Wiederzusammensetzung von Rahmen
DE69535151T2 (de) Integrierte Netzvermittlung, die einer grossen Bereich von Fonktionen unterstützt

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE

8364 No opposition during term of opposition