DE4222547A1 - Schaltungsanordnung zur Steuerung eines Pufferspeichers - Google Patents

Schaltungsanordnung zur Steuerung eines Pufferspeichers

Info

Publication number
DE4222547A1
DE4222547A1 DE19924222547 DE4222547A DE4222547A1 DE 4222547 A1 DE4222547 A1 DE 4222547A1 DE 19924222547 DE19924222547 DE 19924222547 DE 4222547 A DE4222547 A DE 4222547A DE 4222547 A1 DE4222547 A1 DE 4222547A1
Authority
DE
Germany
Prior art keywords
pointer
counter
arrangement
bytes
value
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.)
Withdrawn
Application number
DE19924222547
Other languages
English (en)
Inventor
Helmut Dipl Ing Leuschner
Klaus Dipl Ing Scheffel
Michael Dipl Ing Niegel
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.)
Philips Intellectual Property and Standards GmbH
Original Assignee
Philips Patentverwaltung GmbH
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 Philips Patentverwaltung GmbH filed Critical Philips Patentverwaltung GmbH
Priority to DE19924222547 priority Critical patent/DE4222547A1/de
Priority to EP93201927A priority patent/EP0578315A1/de
Priority to US08/086,974 priority patent/US5428612A/en
Priority to IL10624793A priority patent/IL106247A/en
Priority to CA002099921A priority patent/CA2099921A1/en
Priority to AU41825/93A priority patent/AU4182593A/en
Priority to JP5170159A priority patent/JPH06204960A/ja
Publication of DE4222547A1 publication Critical patent/DE4222547A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/16Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
    • H04J3/1605Fixed allocated frame structures
    • H04J3/1611Synchronous digital hierarchy [SDH] or SONET

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

Die Erfindung bezieht sich auf eine Schaltungsanordnung zur Steuerung eines Pufferspeichers, der zur Einschreibung oder Auslesung von Nutzdaten eines Signals der synchronen digitalen Hierarchie vorgesehen ist.
Eine solche Schaltungsanordnung ist aus der deutschen Patentanmeldung P 41 08 429 bekannt, die ein STM-1-Signal der synchronen digitalen Hierarchie verarbeitet. Eine erste aus der oben genannten deutschen Patentanmeldung P 41 08 429 bekannte Schaltungsanordnung dient zur Steue­ rung des Einschreibvorgangs in einen Pufferspeicher. Eine zweite daraus bekannte Schaltungsanordnung dient zur Steuerung des Auslesevorgangs aus dem Pufferspeicher.
Das STM-1-Signal ist nach Rahmen strukturiert und weist außer den eigentlichen Nutzdaten des Signals, Steuerinfor­ mationen und Stopfdaten auf, die als Datenlücken bezeich­ net werden. Ein STM-1-Rahmen besteht aus 270 Spalten und 9 Zeilen (pro Zeile 270 Watts). In den Zeilen 1 bis 3 und 5 bis 9, jeweils in den Spalten 1 bis 9 ist der "Section Overhead" (SOH) für Steuerungs- und Fehlererkennungsinfor­ mationen und in dem restlichen Bereich (AU-Nutzdatenbe­ reich = AU-Payload) Daten des Signals, Stopfdaten und weitere Steuerungsinformationen untergebracht.
In dem AU-Nutzdatenbereich können mehrere verschiedene Container (C-4, C-3, C-2, C-12 und C-11) untergebracht sein. Unter einem Container wird die Grundverpackungsein­ heit für digitale Nutzsignale verstanden. Beispielsweise kann in einem STM-1-Rahmen eine Verwaltungseinheit ("Admi­ nistrative Unit") AU-4 mit einem Container C-4 für eine Bitrate von 139,264 MBit/s eingebracht sein. Oder es kön­ nen drei Verwaltungseinheiten AU-3 in dem STM-1-Rahmen untergebracht sein. Davon enthält z. B. eine Verwaltungs­ einheit AU-3 einen Container C-3 für eine Bitrate von 44,736 MBit/s. Die zweite Verwaltungseinheit AU-3 kann beispielsweise sieben "Tributary Unit Groups" TUG-2 mit jeweils einem Container C-2 für eine Bitrate von 6,312 MBit/s enthalten. In der dritten Verwaltungseinheit AU-3 können ferner sieben TUG-2 mit jeweils drei Contai­ nern C-12 für eine Bitrate von 2,048 MBit/s eingefügt sein. Aus den Containern werden durch Hinzufügung von Steuerinformationen und Stopfinformationen übergeordnete Transporteinheiten (VC-4, VC-3, TU-3, TU-2, TU-12 und TU-11) gebildet.
Aus der obengenannten Patentanmeldung ist bekannt, daß jeweils für jeden im STM-1-Signal enthaltenen Container eine eigene Steueranordnung zur Steuerung des Einschreib- oder Auslesevorgangs für mehrere Pufferspeicher vorhanden ist. Eine solche Steuerung benötigt einen großen Hardware­ aufwand (bauteileaufwendig).
Der Erfindung liegt die Aufgabe zugrunde, eine Schaltungs­ anordnung der eingangs genannten Art zu schaffen, die einen geringen Hardwareaufwand benötigt.
Die Aufgabe wird bei einer Schaltungsanordnung zur Steue­ rung eines Pufferspeichers der eingangs genannten Art durch folgende Merkmale gelöst:
Die Schaltungsanordnung enthält eine Steueranordnung, die
  • - zur Zuordnung jeweils eines Modulo-Schreib- oder Lese­ zählers zu jeweils einer Transporteinheit des Signals,
  • - zur Bildung einer Pufferspeicheradresse wenigstens aus dem Zählerstand des dem Datenbyte zugeordneten Modulo- Schreib- oder Lesezählers,
  • - mittels Zählern zur Bestimmung der Position jedes Da­ tenbytes im Signal, zur Zuordnung der Datenbytes zur jeweiligen Transporteinheit und zur Ermittlung der Nutzdatenbytes des Signals und
  • - zur Freigabe des Pufferspeichers bei Nutzdatenbytes vorgesehen ist.
Die erfindungsgemäße Schaltungsanordnung ermittelt die im Signal (z. B. STM-1-Signal) vorhandenen Transporteinheiten und weist beispielsweise für einen Einschreibvorgang von Nutzdatenbytes in den Pufferspeicher jedem Container einen Modulo-Schreibzähler zu. Für einen Auslesevorgang von Nutzdatenbytes aus dem Pufferspeicher wird jedem Container ein Modulo-Lesezähler zugewiesen. Die Nutzdatenbytes ent­ halten die eigentliche Information des zu transportieren­ den Signals. Das Nutzdatenbyte wird in einer Speicherzelle des Pufferspeichers abgelegt, deren Pufferspeicheradresse mindestens aus dem Modulo-Schreibzählerstand gebildet ist. Insbesondere bei niederbitratigen Transporteinheiten (TU-2, TU-12, TU-11) kann, um den Speichervorgang über­ sichtlicher zu gestalten, die Pufferspeicheradresse aus einer einer Transporteinheit zugeordneten Adresse und dem Modulo-Schreibzählerstand gebildet werden.
Ein Datenbyte kann in den Pufferspeicher nur dann einge­ schrieben werden, wenn dieses ein Nutzdatenbyte ist. Eben­ so wird aus dem Pufferspeicher nur ein Nutzdatenbyte aus­ gelesen. Um ein Nutzdatenbyte zu bestimmen, wird die Posi­ tion jedes Datenbytes im Signal (beispielsweise STM-1- Signal) und in der Transporteinheit, zu dem das Nutzdaten­ byte gehört, von der Steueranordnung mittels der Zähler bestimmt. Soll ein Nutzdatenbyte in den Pufferspeicher eingeschrieben werden, wird der Pufferspeicher zur Ein­ schreibung freigegeben. Umgekehrt kann, wenn ein Nutzda­ tenbyte in das Signal (z. B. STM-1-Signal) eingefügt werden soll, der Pufferspeicher zur Auslesung freigegeben werden.
Eine solche Steueranordnung weist einen geringeren Hardwa­ reaufwand als die bekannte Schaltungsanordnung auf, ist flexibel aufgebaut und kann jede Art von Containerzusam­ menstellungen in dem Signal verarbeiten, ohne daß die Schaltungsanordnung bei einer Änderung des Inhaltes des Signals verändert werden muß. Sie kann also einerseits für die Steuerung eines Pufferspeichers bei einem Einschreib­ vorgang und andererseits zur Steuerung eines Pufferspei­ chers bei einem Auslesevorgang eingesetzt werden.
In einer Weiterbildung der Schaltungsanordnung zur Ver­ arbeitung von STM-1-Signalen ist die Steueranordnung durch Auswertung der Zählerstände der Zähler
  • - zur Kennzeichnung der AU-Nutzdatenbytes und der AU- Pointerbytes,
  • - zur Zuordnung der AU-Nutzdatenbytes zu den einzelnen Transporteinheiten,
  • - zur Kennzeichnung der TU-Pointerbytes und
  • - zur Kennzeichnung der negativen Stopfstelle als Nutz­ datenbyte bei Vorliegen einer negativen Stopfaktion und zur Aufhebung der Kennzeichnung der positiven Stopf­ stelle als Nutzdatenbyte bei Vorliegen einer positiven Stopfaktion vorgesehen.
Die Zuordnung der Daten zu den Transporteinheiten wird in der Steueranordnung durch Auswertung der Zählerstände durchgeführt. Nach der Detektierung von Startbytes werden die AU-Nutzdatenbytes und die AU-Pointerbytes durch Detek­ tierung von Zählerständen ermittelt und dann gekennzeich­ net. Beispielsweise wird ein Zeiger gesetzt, der AU-Nutz­ datenbytes angibt. Ferner werden die AU-Nutzdatenbytes weiter aufgeschlüsselt, d. h. sie werden der Transportein­ heit zugeordnet, deren Nutzdaten sie darstellen. Wenn eine positive Stopfaktion vorliegt, werden hier keine Nutzdaten aus dem Signal entnommen oder in das Signal eingefügt. Bei einer positiven Stopfaktion wird die Nutzinformation aus­ gelassen. Im Gegensatz hierzu wird bei einer negativen Stopfaktion an dieser Stopfstelle Nutzinformation über­ tragen. Eine solche Stopfaktion muß beim Einschreibvorgang durch Auswertung der Pointerbytes ermittelt werden. Sind die Pointerbytes ausgewertet, kann bestimmt werden, ob an dieser Stopfstelle Nutzdatenbytes vorliegen. Beim Auslese­ vorgang wird von einer Stopfentscheidungsschaltung, die z. B. aus der deutschen Patentanmeldung P 41 08 429 bekannt ist, angegeben, ob eine Stopfaktion vorgenommen werden muß.
Um die Position der AU-Pointerbytes im Signal zu ermit­ teln, enthält die Steueranordnung wenigstens einen zur Zählung der AU-Pointerbytes vorgesehenen Zähler. Bei Er­ reichen bestimmter Zählerstände ist die Steueranordnung weiter zur Bildung einer Pointerkennzeichnung für ein AU- Pointerbyte oder eine mögliche Stopfstelle vorgesehen. Die Pointerkennzeichnung kennzeichnet ein Datenbyte als Poin­ terbyte oder eine mögliche positive oder negative Stopf­ stelle.
Um die Position der TU-Pointerbytes im Signal zu ermit­ teln, enthält die Steueranordnung wenigstens eine zur Zählung der Datenbytes im AU-Nutzdatenbereich vorgesehene Zähleranordnung. Durch Auswertung der Zählerstände der Zähleranordnung ist die Steueranordnung weiterhin zur Bestimmung der Position der Datenbytes im AU-Nutzdaten­ bereich, zur Zuordnung der Datenbytes zu den TU-Transport­ einheiten und zur Bildung einer Pointerkennzeichnung für ein TU-Pointerbyte oder eine mögliche Stopfstelle vorgese­ hen. Die Zähleranordnung bestimmt die Position der Daten­ bytes im AU-Nutzdatenbereich, indem sie den Datenbytes eine TU-3, TU-2, TU-12 oder TU-11 (TU-Transporteinheiten) zuordnet und innerhalb der TU-Transporteinheiten die je­ weiligen Positionen der Datenbytes und damit die Positio­ nen der Pointerbytes und von möglichen Stopfstellen durch Detektierung von wenigstens einem Zählerstand bestimmt.
In einer Ausführungsform für die Zähleranordnung ist
  • - wenigstens jeweils ein Spaltenzähler zur Bestimmung der Spalte und wenigstens jeweils ein Zeilenzähler zur Be­ stimmung der Zeile in einer AU-4- oder AU-3-Verwal­ tungseinheit,
  • - ein Positionszähler für wenigstens eine TU-3 zur Kenn­ zeichnung der Nutzdatenbytes in einer TU-3,
  • - ein Zähler zur Kennzeichnung von TUG-2,
  • - wenigstens ein Zähler zur Kennzeichnung von TU-12 in wenigstens einer TUG-2,
  • - wenigstens ein Zähler zur Kennzeichnung von TU-11 in wenigstens einer TU-11 und
  • - jeweils wenigstens ein Positionszähler für jeweils wenigstens eine TU-2, eine TU-12 und eine TU-11 zur Kennzeichnung der Nutzdatenbytes in einer TU-2, einer TU-12 und einer TU-11 enthalten.
In einer Verwaltungseinheit AU-3 können Container C-3, C-2, C-12 und C-11 transportiert werden. Die übergeord­ neten "Tributary Units" TU-2, TU-12 und TU-11 werden in "Tributary Unit Groups" TUG-2 eingefügt. Um jeweils die Nutzdatenbytes und die Pointerbytes und evtl. vorhandene feste und variable Stopfstellen in einer solchen TU-Trans­ porteinheit zu detektieren, sind jeweils Spalten- und Zeilenzähler, Zähler zur Kennzeichnung von TUG-2, TU-12 und TU-11 und Positionszähler für TU-2, TU-12 und TU-11 vorhanden. Es ist dabei nur erforderlich, jeweils in einer TUG-2 zu ermitteln, wie die Datenbytes verteilt sind. Ebenso muß nur der Inhalt einer in der TUG-2 zu transpor­ tierenden TU-2, TU-12 oder TU-11 detektiert werden. Es ist aber auch möglich und aufwendiger für jeden möglichen Container eigene Zähler zu benutzen. Die Zähleranordnung bestimmt also entweder für eine Verwaltungseinheit AU-4 oder AU-3 jede denkbare Konstellation von Transporteinhei­ ten und bestimmt dazu die Nutzdatenbytes mittels der Posi­ tionszähler und beispielsweise feste Stopfstellen mittels der Spalten- und Zeilenzähler.
Der Positionszähler für eine "Tributary Unit" TU-3 ist für die Kennzeichnung des Inhaltes einer AU-3 nicht erforder­ lich. Eine TU-3 kann nur in einer Verwaltungseinheit AU-4 transportiert werden. Um die Zähleranordnung einfach zu gestalten und für beide Verwaltungseinheiten AU-3 und AU-4 zu verwenden, ist dieser Positionszähler auch für eine AU-3 vorhanden. Für einen STM-1-Rahmen sind also für die darin zu transportierenden drei Verwaltungseinheiten AU-3 drei solcher Zähleranordnungen erforderlich. Um diese drei Zähleranordnungen auch für eine Verwaltungseinheit AU-4 ausnutzen zu können, kann eine AU-4 in drei Bereiche un­ terteilt werden, die sich spaltenweise abwechseln. Die in der Erfindung verwendete Zähleranordnung weist gegenüber dem bisher aus dem Stand der Technik bekannten eine bedeu­ tend geringere Anzahl von Zählern auf.
Zur Bildung einer Pufferspeicheradresse dient eine in der Steueranordnung enthaltene Adressierungsanordnung, die
  • - bei Vorliegen eine VC-4 oder eines VC-3 die Bildung der Pufferspeicheradresse aus dem Zählerstand des jeweili­ gen zugeordneten Modulo-Schreib- oder Lesezählers,
  • - bei Vorliegen einer TU-2 zur Bildung der Pufferspei­ cheradresse aus dem Zählerstand des jeweiligen zugeord­ neten Modulo-Schreib- oder Lesezählers und aus dem Zählerstand des Zählers zur Kennzeichnung von TUG-2 und
  • - bei Vorliegen einer TU-12 oder TU-11 zur Bildung der Pufferspeicheradresse aus dem Zählerstand des jewei­ ligen zugeordneten Modulo-Schreib- oder Lesezählers und aus dem Zählerstand des Zählers zur Kennzeichnung von TUG-2 und aus dem Zählerstand des Zählers zur Kenn­ zeichnung von TU-12 oder TU-11 vorgesehen ist.
In der Adressierungsanordnung wird also zuerst ermittelt, zu welcher Transporteinheit das Nutzdatenbyte gehört. Liegt ein Nutzdatenbyte eines virtuellen Containers VC-4 oder VC-3 vor, so wird die Pufferspeicheradresse aus dem Zählerstand des jeweiligen dem virtuellen Container zu­ geordneten Modulo-Schreib- oder Lesezähler entnommen. Der Modulowert richtet sich nach der erforderlichen Puffertie­ fe, d. h. welche zeitlichen Verschiebungen zwischen Ein­ schreibvorgang und Auslesevorgang kompensiert werden müs­ sen. Bei einer TU-2 wird die Pufferspeicheradresse aus dem Zählerstand des Zählers zur Kennzeichnung von TUG-2 und aus dem Zählerstand des zugeordneten Modulo-Schreib- oder Lesezähler gebildet. Hierbei sind die höherwertigen Bits der Pufferspeicheradresse durch den Zählerstand des Zäh­ lers zur Kennzeichnung der TUG-2 und die niederwertigen Bits aus dem Zählerstand des Modulo-Schreib- oder Lesezäh­ ler zusammengesetzt. Bei den TU-12 oder TU-11 wird zusätz­ lich noch der Zählerstand der Zähler zur Kennzeichnung von TU-12 oder TU-11 zu den höherwertigen Bits der Pufferspei­ cheradresse zugeschlagen.
In einer Weiterbildung der Erfindung enthält die Steuer­ anordnung eine Pointerschaltung, die bei Vorliegen einer Pointerkennzeichnung für die H1- bzw. V1- und H2- bzw. V2- Pointerbytes jeweils zur Entnahme eines Teils des Pointer­ wertes aus den oder zur Einfügung eines Teils des Pointer­ wertes in die Pointerbytes vorgesehen ist. Die Pointer­ schaltung detektiert also wenigstens die Pointerkennzeich­ nung für ein H1-, H2-, V1- oder V2-Pointerbyte und ent­ nimmt bzw. fügt jeweils die Teile, aus denen sich der Pointerwert zusammensetzt, aus den bzw. in die H1-, H2-, V1- oder V2-Pointerbytes ein.
Der aktuelle Pointerwert wird jeweils mit Kenntnis des bisherigen aktuellen Pointerwertes gebildet. Unter dem aktuellen Pointerwert ist der Pointerwert zu verstehen, der den Anfang der entsprechenden Transporteinheit angibt. Daher enthält die Pointerschaltung einen Pointerspeicher, der wenigstens zur Speicherung eines Pointerwertes an einer durch die von der Adressierungsanordnung zu bilden­ den Pointeradresse gekennzeichneten Speicherplatz vorgese­ hen ist. Für die VC-4 und VC-3 werden fest vorgegebene Pointeradressen, für die TU-2 werden von dem Zähler zur Kennzeichnung einer TUG-2 abhängige Pointeradressen und für die TU-12 oder TU-11 von dem Zähler zur Kennzeichnung einer TUG-2 und von dem jeweiligen Zähler zur Kenn­ zeichnung einer TU-12 oder TU-11 abhängigen Pointeradres­ sen erzeugt.
Bei dem empfangenen Signal wird die Bildung des aktuellen Pointerwertes für eine TU-Transporteinheit durch Auswer­ tung des bisherigen aktuellen, des neu empfangenen und des zuletzt empfangenen Pointerwertes durchgeführt. Die Poin­ terschaltung ist bei Übereinstimmung des neu empfangenen und des zuletzt empfangenen Pointerwertes und bei Nicht­ übereinstimmung des bisherigen aktuellen Pointerwertes und des neuen Pointerwertes dabei höchstens zur Setzung des neu empfangenen Pointerwertes als aktueller Pointerwert vorgesehen. Sonst bleibt der bisherige aktuelle Pointer­ wert auch der aktuelle Pointerwert.
Eine Stopfaktion wird z. B. in einer TU-Transporteinheit TU-2, TU-12 und TU-11 frühestens mit dem V3-Pointerbyte durchgeführt. Soll eine Stopfaktion vorgenommen werden, verschiebt sich der Anfang der TU-Transporteinheit um ein Datenbyte. Das bedeutet, daß der TU-Pointerwert um eine Einheit dekrementiert oder inkrementiert wird. Wenn nach Auswertung der V1- und der V2-Pointerbytes der TU-Trans­ porteinheiten TU-2, TU-12 oder TU-11 der Pointerwert auf den Anfang des entsprechenden Containers weist, der zwi­ schen dem V2- und V3-Pointerbyte liegt, tritt vor der eigentlichen Stopfstelle eine Verschiebung auf. Das selbe gilt für die Verwaltungseinheiten AU-4 und AU-3. Um eine Verschiebung vor der eigentlichen Stopfstelle zu verhin­ dern, ist die Pointerschaltung bei Auftreten einer positi­ ven oder negativen Stopfaktion erst nach Auftreten des H3- oder V3-Pointerbytes einer Transporteinheit zur Inkremen­ tierung oder Dekrementierung der Pointerwerte vorgesehen.
Damit die Zähler der Zähleranordnung einen gemeinsamen Bezugspunkt zum Rahmen des empfangenen Signals der syn­ chronen digitalen Hierarchie haben, ist die Initialisierung der Zähler der Zähleranordnung jeweils zu Beginn einer AU-4- oder AU-3-Verwaltungseinheit vorgesehen.
Aus der deutschen Patentanmeldung P 42 05 959 ist eine Schaltungsanordnung zum Ausgleich von Frequenz- und/oder Phasenschwankungen zwischen einem ankommenden und einem abgehenden AU-Nutzdatenbyte und anderen Datenbytes enthal­ tenen Signal bekannt. Die Schaltungsanordnung enthält einen Vorpuffer zur Zwischenspeicherung der Nutzdatenbytes und einer AU-Pointer-Kennung, die den Anfang eines AU- Pointers kennzeichnet, und eine Steuerschaltung, die bei einer Stopfung ein Sperrsignal ausgibt. Eine Stopfung tritt bei Frequenz- und/oder Phasenschwankungen und bei den SOH-Daten des STM-1-Rahmens auf. Wenn also keine Nutz­ datenbytes vom Vorpuffer ausgelesen werden, liegt das Sperrsignal vor.
In der Steueranordnung der erfindungsgemäßen Schaltungs­ anordnung für die Auswertung von Pointerbytes des empfan­ genen STM-1-Signals erhält die Steueranordnung ein Sperr­ signal bei Nichtvorliegen von AU-Nutzdatenbytes und ist bei Auftreten eines Sperrsignals zur Angabe eines Zeigers für das Nichtvorliegen von Nutzdatenbytes vorgesehen. Das Sperrsignal wird beispielsweise von dem aus der deutschen Patentanmeldung P 42 05 959 bekannten Vorpuffer geliefert. Der Zeiger gibt also an, ob AU-Nutzdatenbytes vorliegen. Weiterhin ist ein Positionszähler zur Zählung der AU-Nutz­ datenbytes vorhanden, der bei Vorliegen des Sperrsignals die Zählung unterbricht. Dieser Positionszähler wird zur Ermittlung der AU-Pointerbytes benötigt.
Bei Übereinstimmung des jeweiligen aktuellen Pointerwertes mit dem Inhalt des entsprechenden Positionszählers ist die Steueranordnung zur Ausgabe jeweils eines Zeigers für den Anfang einer AU-4, AU-3, TU-3, TU-2, TU-12 oder TU-11 vorgesehen. Ist beispielsweise der Zählerinhalt des AU- Positionszählers gleich dem Pointerwert der entsprechenden Verwaltungseinheit AU-3 oder AU-4 wird ein Zeiger ausgege­ ben, der in einem zur Pufferung der Nutzdatenbytes des STM-1-Signals dienenden Pufferspeicher zwischengespeichert werden kann und zur Zuordnung der zeitlichen Reihenfolge bei der Auslesung der Nutzdatenbytes verwendet wird.
Um herauszufinden, wann AU-Pointer auftreten, ist ein AU- Pointer-Zähler in der Steueranordnung enthalten. Die Steu­ eranordnung erhält eine AU-Pointer-Kennung zur Kennzeich­ nung des Anfangs der AU-Pointer. Diese AU-Pointer-Kennung initialisiert den AU-Pointer-Zähler zur Zählung der AU- Pointer-Bytes. Die AU-Pointer-Kennung kann von dem aus der deutschen Patentanmeldung P 42 05 959 bekannten Vorpuffer geliefert werden.
Die erfindungsgemäße Schaltungsanordnung, die ein zu sen­ dendes Signal der synchronen digitalen Hierarchie bildet, bekommt von einem zur Pufferung von Nutzdatenbytes dienen­ den Pufferspeicher einen Zeiger für den Anfang einer AU-4, AU-3, TU-3, TU-2, TU-12 oder TU-11 geliefert. Bei Liefe­ rung eines Zeigers für den Anfang einer AU-4, AU-3, TU-3, TU-2, TU-12 oder TU-11 ist die Pointerschaltung dann zur Bildung des aktuellen Pointerwertes aus dem Zählerinhalt des entsprechenden Positionszählers vorgesehen. Soll posi­ tiv oder negativ gestopft werden, so inkrementiert oder dekrementiert die Pointerschaltung den aktuellen Pointer­ wert.
Für das zu sendende Signal der synchronen digitalen Hier­ archie ist eine Steueranordnung erforderlich, die noch eine Sende-Rahmenzähleranordnung mit einem Spaltenzähler zur Bestimmung der Spalte und einem Zeilenzähler zur Bestim­ mung der Zeile in dem rahmensynchronisierten Signal der synchronen digitalen Hierarchie (STM-1-Signal) enthält. Der Spaltenzähler und der Zeilenzähler sind für die Initiali­ sierung der Zähler der Zähleranordnung erforderlich (Er­ zeugung eines gemeinsamen Bezugspunktes). Die Zähler der Zähleranordnung werden jeweils zu Beginn der 9. Spalte und der 4. Zeile im STM-1-Rahmen initialisiert. Des weiteren dient der Spalten- und Zeilenzähler in der Sende-Rahmen­ zähleranordnung zur Bestimmung von Pointerkennzeichnungen für die AU-Pointerbytes.
Ausführungsbeispiele der Erfindung werden nachstehend anhand der Figuren näher erläutert. Es zeigt
Fig. 1 eine schematische Darstellung des STM-1-Rahmens mit einem VC-4-Container,
Fig. 2 eine Multiplexstruktur des STM-1-Signales,
Fig. 3 das Multiplexschema von "Tributary Units" TU-11 bzw. TU-12 in eine "Tributary Unit-Group" TUG-2,
Fig. 4 das Multiplexschema von "Tributary Unit-Groups" TUG-2 in einen virtuellen Container VC-3,
Fig. 5 das Multiplexschema von "Tributary Unit-Groups" TUG-2 in eine "Tributary Unit-Group" TUG-3,
Fig. 6 das Multiplexschema von "Tributary Unit-Groups" TUG-3 in einen virtuellen Container VC-4,
Fig. 7 das Multiplexschema von Verwaltungseinheiten AU-3 in eine Verwaltungseinheitsgruppe AUG,
Fig. 8 eine schematisch dargestellte Verwaltungseinheit AU-4 mit Pointerstellen für "Tributary Units" TU-3,
Fig. 9 eine schematische Darstellung eines Vielfachrah­ mens mit Pointerstellen für die virtuellen Con­ tainer VC-11, VC-12 und VC-2,
Fig. 10 ein erstes Ausführungsbeispiel einer erfindungs­ gemäßen Schaltungsanordnung,
Fig. 11 ein Blockschaltbild einer in der Schaltungsan­ ordnung nach Fig. 10 enthaltenen Schreibschal­ tung,
Fig. 12 ein Blockschaltbild einer in der Schaltungsan­ ordnung nach Fig. 10 enthaltenen Empfangs-Poin­ terschaltung,
Fig. 13 ein zweites Ausführungsbeispiel einer erfin­ dungsgemäßen Schaltungsanordnung und
Fig. 14 ein Blockschaltbild einer in der Schaltungsan­ ordnung nach Fig. 13 enthaltenen Leseschaltung.
Übertragungssysteme, die Signale der synchronen digitalen Hierarchie übertragen, weisen Regeneratorschaltungen auf, in denen Anpassungsschaltungen Frequenz- und Phasenschwan­ kungen zwischen einem ankommenden und einem abgehenden Signal ausgleichen. Mit einem solchen Übertagungssystem wird beispielsweise ein STM-1-Signal übertragen. Dieses STM-1-Signal ist nach Rahmen strukturiert und in der CCITT-Empfehlung G709 näher erläutert. Im folgenden sol­ len die für die Erfindung wesentlichen Teile des STM-1- Rahmenaufbaues erläutert werden.
Die Struktur eines STM-1-Rahmens ist in Fig. 1a schema­ tisch dargestellt. Der Rahmen besteht aus 270 Spalten und 9 Zeilen (pro Zeile 270 Watts). In den Zeilen 1 bis 3 und 5 bis 9, jeweils in den Spalten 1 bis 9 ist der sogenannte "Section Overhead" (SOH) für Steuerungs- und Fehlererken­ nungsinformationen, in der 4. Zeile von Spalte 1 bis 9 ist der AU-Pointer (AU-P) untergebracht, und in den restlichen Spalten und Zeilen die eigentliche Nutzinformation, die "AU-Payload" oder der AU-Nutzdatenbereich (P) eingefügt. Wie Fig. 1b zeigt, ist in dem Nutzdatenbereich beispiels­ weise ein virtueller Container VC-4 untergebracht, der aus einem C-4-Nutzdatenbereich und einem Steuerungsbereich POH ("Path Overhead") besteht. Unter einem Container wird hierbei die Grundverpackungseinheit für Nutzdatenbytes verstanden. In einem solchen Container können noch weitere Container untergebracht werden.
Eine Multiplexbildung für den STM-1-Rahmen ist in Fig. 2 gezeigt. In einen Container C-3 werden Daten eines Nutz­ signals mit einer Bitrate von 44,736 Mbit/s hineinge­ bracht. Durch Hinzufügung eines POH wird aus dem Container C-3 ein virtueller Container VC-3. Durch Hinzufügung von Pointerbytes, Stopfbytes und weiteren Bytes wird aus dem virtuellen Container VC-3 eine "Tributary Unit" TU-3 oder eine Verwaltungseinheit ("Administration Unit") AU-3. Drei Verwaltungseinheiten AU-3 werden in einen STM-1-Rahmen eingefügt.
In einen Container C-2 werden Daten eines Nutzsignals mit einer Bitrate von 6,312 Mbit/s, in einen Container C-12 werden Daten eines Nutzsignals mit einer Bitrate von 2,048 Mbit/s und in einen Container C-11 werden Daten eines Nutzsignals mit einer Bitrate von 1,44 Mbit/s einge­ fügt. Aus den Containern C-2, C-12 und C-11 werden virtu­ elle Container VC-2, VC-12 und VC-11, indem jeweils ein POH dazugesetzt wird. Nachdem die virtuellen Container VC-2, VC-12 und VC-11 durch Stopfbytes und weitere Bytes ergänzt worden sind, ergeben sich "Tributary Units" TU-2, TU-12 und TU-11. Die TU-2, TU-12 und TU-11 werden in einer "Tributary Unit-Group" TUG-2 zusammengefaßt. In eine TUG-2 wird eine TU-2 oder drei TU-12 oder vier TU-11 eingesetzt.
In einen VC-3 können sieben TUG-2 oder in eine TUG-3 sie­ ben TUG-2 eingefügt werden. Im ersten Fall wird dabei noch ein POH und im zweiten Fall weitere Bytes und Stopfbytes hinzugefügt. Drei TUG-3 werden in einen VC-4 eingepaßt, der zusätzlich noch ein POH, weitere Bytes und Stopfbytes enthält. Ebenfalls kann in den VC-4 - wie oben schon er­ läutert - ein Container C-4 eingefügt werden. Der VC-4 wird in eine AU-4 (auch als Verwaltungseinheitsgruppe AUG bezeichnet) eingefügt, die gegenüber dem virtuellen Con­ tainer VC-4 einen AU-Pointer enthält. Diese AU-4 bildet dann zusammen mit dem SOH den STM-1-Rahmen. Durch Verviel­ fachung des STM-1-Rahmens ergeben sich höhere STM-Rahmen (STM-N).
Aus Fig. 3 wird die Multiplexbildung von vier TU-11 bzw. drei TU-12 in eine TUG-2 deutlich. Die Bytes einer Spalte einer TU-11 beziehungsweise TU-12 werden abwechselnd in eine TUG-2 eingefügt.
Fig. 4 zeigt das Multiplexschema für die Einfügung von sieben TUG-2 in einen VC-3. Die erste Spalte des VC-3 ist mit einer POH belegt. In die folgenden Spalten werden abwechselnd die Bytes einer Spalte einer TUG-2 in den VC-3 eingefügt. Ein ähnliches Multiplexschema ist in der Fig. 5 für die Multiplexbildung von sieben TUG-2 in eine TUG-3 gezeigt. Hierbei sind jedoch die ersten beiden Spalten unter anderem für feste Stopfstellen vorgesehen.
Die Multiplexbildung von drei TUG-3 in einen VC-4 ist in Fig. 6 dargestellt. In den ersten drei Spalten des VC-4 ist ein POH und feste Stopfstellen vorgesehen. Die restli­ chen Spalten des VC-4 sind abwechselnd mit Spalten der jeweiligen TUG-3 belegt.
Die Verschachtelung von drei AU-3 mit dem zugehörigen AU- Pointer ist in der Fig. 7 gezeigt. Die AU-Pointer jeder AU-3 sind abwechselnd in dem AU-Pointer des STM-1-Rahmens abgelegt. Die Bytes jeder Spalte einer AU-3 sind ebenfalls abwechselnd in einer AUG abgelegt.
Jede AU-3 und AU-4 und jede TU-3, TU-2, TU-12 und TU-11 besitzen Pointer. Die Pointer werden an fest vorgegebenen Stellen eingefügt. Sie weisen auf den Anfang des zugehöri­ gen virtuellen Containers hin und können Stopfdaten ent­ halten. Die Lage der Pointer für die AU-4 und AU-3 ist aus den Fig. 1 und 7 ersichtlich. Die Lage der Pointer für die TU-3 ergibt sich aus der Fig. 8. Die Pointer H1, H2 und H3 sind für jede der drei TU-3 einem VC-4 in den Spalten 4 bis 6 des VC-4, Zeilen 1 bis 3 untergebracht. In der 1. Spalte des VC-4 ist ein POH und in der 2. und 3. Spalte des VC-4 sind feste Stopfstellen FS vorhanden, wenn in einem VC-4 drei TU-3 eingefügt sind.
Eine TU-2, TU-12 oder TU-11 wird in vier aufeinanderfol­ genden STM-1-Rahmen übertragen. Im ersten Rahmen einer "Tributary Unit" ist an der ersten Byteposition der Poin­ ter V1, im zweiten Rahmen an der ersten Byteposition der Pointer V2, im dritten Rahmen an der ersten Byteposition der Pointer V3 und im vierten Rahmen an der ersten Bytepo­ sition der Pointer V4 vorhanden. Im dritten Rahmen kann an der zweiten Byteposition eine positive Stopfstelle sein.
Pro Rahmen sind sonst 26 Bytes eines virtuellen Containers VC-11, 35 Watts eines virtuellen Containers VC-12 und 107 Bytes eines virtuellen Containers VC-2 zu übertragen.
Ein erstes Ausführungsbeispiel der erfindungsgemäßen Schaltungsanordnung zur Steuerung eines Pufferspeichers 1 für einen Einschreibvorgang, die Bestandteil einer Anpas­ sungsschaltung ist und STM-1-Signale verarbeitet, ist schematisch in der Fig. 10 dargestellt. Der Pufferspeicher 1 wird von einer Empfangs-Steueranordnung 2 gesteuert und erhält von dieser einen Schreibbefehl, einen Zeigerwert J1D und eine Pufferspeicheradresse PS. Die Empfangs-Steu­ eranordnung 2 ist noch mit einer Schaltungsanordnung 3 (im folgenden als Vorpufferschaltung bezeichnet) zum Ausgleich von Frequenz- und/oder Phasenschwankungen zwischen einem ankommenden und einem abgehenden Signal gekoppelt. Diese Vorpufferschaltung 3 ist aus der deutschen Patentanmeldung P 42 05 959 bekannt. Sie liefert Datenbytes an den Puffer­ speicher 1 und an die Empfangs-Steueranordnung 2. Ferner liefert sie ein Sperrsignal an die Empfangs-Steueranord­ nung 2, wenn keine Datenbytes aus der Vorpufferschaltung 3 ausgelesen werden. Die Empfangs-Steueranordnung 2 erhält von der Vorpufferschaltung 3 noch eine AU-Pointer-Kennung, die den Anfang des AU-Pointers kennzeichnet und eine Be­ reichskennung B. Jede AU-3 und jeder dazugehörige AU-Poin­ ter sind abwechselnd in den STM-1-Rahmen eingesetzt. Es sind folglich drei Bereiche vorhanden, die abwechselnd im STM-1-Rahmen auftauchen. Zur Kennzeichnung eines Bereiches liefert die Vorpufferschaltung 3 die Bereichskennung B, die auch in der Empfangs-Steueranordnung 2 für die Aus­ wertung des Nutzdatenbereichs benutzt wird. Die Informa­ tion, welche Container in dem STM-1-Signal transportiert werden, liefert ein Managementspeicher des Systemmanage­ ments, der hier nicht näher dargestellt ist.
Die Empfangs-Steueranordnung 2 enthält eine Schreibschal­ tung 4 und eine Empfangs-Pointerschaltung 5, die ebenfalls Datenbytes von der Vorpufferschaltung 3 erhalten. Die Empfangs-Pointerschaltung 5 liefert die Information, ob AU-Nutzdatenbytes vorliegen. In diesem Fall ist der Zeiger DAT gleich 1 gesetzt. Ferner führt sie der Schreibschal­ tung 4 eine J1-Kennzeichnung zu, die kennzeichnet, ob das in den Pufferspeicher 1 einzuschreibende Nutzdatenbyte der Anfang eines VC-4 oder eines VC-3 in einer AU-3 ist. Die Schreibschaltung 4 erhält noch von der Empfangs-Pointer­ schaltung 5 den Pointerwert Pakt(B, n) zu jedem gelieferten Container und die Angabe, ob eine positive oder negative Stopfaktion vorliegt. Die Empfangs-Pointerschaltung 5 enthält einen Pointerspeicher, in dem Pointerinformationen von vorhergehenden STM-1-Rahmen abgespeichert sind. Die zu jedem gelieferten Container gehörige Pointeradresse PA liefert die Schreibschaltung 4 an die Empfangs-Pointer­ schaltung 5. Außerdem gibt sie Pointerkennzeichnun­ gen V1, . . . , V4 an die Empfangs-Pointerschaltung 5 aus, die jeweils kennzeichnet, daß hier eine mögliche Stopfstelle und Pointerbytes liegen können. Letztlich liefert sie noch eine TU-Kennung an die Empfangs-Pointerschaltung 5, die angibt, zu welcher "Tributary Unit" das von der Vorpuffer­ schaltung 3 gelieferte Datenbyte gehört.
Es sei noch erwähnt, daß aus Gründen der Übersichtlichkeit in der Fig. 10 und den folgenden Fig. Taktsignalverbindun­ gen nicht aufgeführt und beschrieben sind.
In Fig. 11 ist ein Blockschaltbild der Schreibschaltung 4 dargestellt. Diese enthält eine Empfangs-Zähleranord­ nung 6, eine Empfangs-Adressierungsanordnung 7, eine H4- Anordnung 8 und eine Schreibentscheidungsanordnung 9. Die Empfangs-Zähleranordnung 6 enthält drei einem Bereich zugeordnete Zählerstufen. Jede Zählerstufe enthält einen Spaltenzähler AUS(B) zur Zählung der Spalten in einer AU-3 bzw. AU-4, einem Zeilenzähler zur Zählung der Zeilen in einer AU-3 bzw. AU-4. Pro Bereich ist jeweils ein Zähler TUG2(B), ein Zähler TU11(B) und ein Zähler TU12(B) vorhan­ den. Der Zähler TUG2(B) ermittelt, zu welcher TUG-2 das anliegende Datenbyte zuzuordnen ist, wenn eine TUG-2 in dem Bereich transportiert wird. Der Zähler TU12(B) ermit­ telt für einen Bereich, zu welcher TU-12 das Datenbyte zuzuordnen ist, wenn in den TUG-2 mehrere TU-12 eingefügt sind. Das gleiche wird für eine TUG-2 für einen Bereich für eine TU-11 mit dem Zähler TU11(B) durchgeführt.
Ferner sind noch vier Positionszähler TU3POS(B), TU2POS(B), TU12POS(B) und TU11POS(B) vorhanden, die je­ weils die Position eines Nutzdatenbytes in der zugehörigen TU-3, TU-2, TU-12 und TU-11 feststellen, wenn eine solche Transporteinheit benutzt wird. Anhand der verschiedenen Zählerstände setzt die Empfangs-Zähleranordnung 6 ver­ schiedene Pointerzeiger (H1TU3(B), H2TU3(B), H3TU3(B) und H3TU3P(B) für eine TU3; VTU2(B), VTU2P(B) für eine TU-2; VTU11(B) und VTU11P(B) für eine TU-11; VTU12(B) und VTU12P(B) für eine TU12), die kennzeichnen, daß das anlie­ gende Datenbyte möglicherweise ein Pointerbyte oder eine Stopfstelle ist.
Die Positionszählerstände werden an die Empfangs-Adres­ sierungsanordnung 7 geliefert. Der Zählerstand des Spal­ tenzählers AUS(B) wird an die H4-Anordnung 8 und an die Schreibentscheidungsanordnung 9 und der Zählerstand des Zeilenzählers AUZ(B) an die H4-Anordnung 8 geliefert. Des weiteren erhält die Empfangs-Zähleranordnung 6 noch Daten­ bytes und die Bereichskennung B von der Vorpufferschal­ tung 3 und von der Empfangs-Pointerschaltung 5 den Zeiger DAT und die J1-Kennzeichnung geliefert. Sie erzeugt zwei TU-Zeiger TU3D(B) und TUG2D(B) für jeden Bereich, die kennzeichnen, wann eine TU-3 oder eine TUG-2 vorliegen. Des weiteren weist die Empfangs-Zähleranordnung 6, ebenso wie die Empfangs-Adressierungsanordnung 7, die H4-Anord­ nung 8 und die Schreibentscheidungsanordnung 9 noch eine Verbindung zum Managementspeicher des Systemmanagements auf.
Die H4-Anordnung 8 ermittelt, zu welchem der vier Rahmen das gelieferte Datenbyte gehört. Hierzu wird der H4-Anord­ nung 8 noch die Bereichskennung B und die Datenbytes von der Vorpufferschaltung 3 und der Zeiger DAT von der Emp­ fangs-Pointerschaltung 5 geliefert. Die H4-Anordnung 8 liefert den Wert H4akt(B, n) an die Empfangs-Adressierungs­ anordnung 7.
In der Empfangs-Adressierungsanordnung 7 wird die TU-Ken­ nung, die Pointeradresse PA, die Pufferspeicheradresse PS, eine Pointerkennzeichnung V1, V2, V3, V3P und V4 und ein Positionszeiger TUPOS gebildet. Der Positionszeiger TUPOS liefert den Wert eines der Positionszähler TU3POS(B), TU2POS(B), TU12POS(B) oder TU11POS(B). Die Pointerkenn­ zeichnung V1 bis V4 kennzeichnet, welches Pointerbyte vorliegt und ob eine positive Stopfstelle vorhanden ist.
Die Schreibentscheidungsanordnung 9, welche die Bereichs­ kennung B von der Vorpufferschaltung 3 und die J1-Kenn­ zeichnung, den Zeiger DAT, den Pointerwert und eine Mit­ teilung, ob eine Stopfaktion vorliegt, von der Empfangs- Pointerschaltung 5 empfängt, erzeugt einen Schreibbefehl und den Zeiger J1D. Zur Bildung der Pufferspeicheradresse PS wird von der Schreibentscheidungsanordnung 9 an die Empfangs-Adressierungsanordnung 7 noch der Zählerstand von einem Schreibzähler geliefert. Es sind für einen VC-4 ein Schreibzähler VC4SC, für jeweils einen VC-3 ein Schreib­ zähler VC3SC(B) und für maximal 84 niederbitratige Contai­ ner jeweils ein Schreibzähler LOSC(PA) vorhanden. Es kön­ nen nämlich in einer AU-4 bzw. in drei AU-3 insgesamt 84 C-11 transportiert werden.
Die oben genannten Anordnungen 6 bis 9 können Teile einer anwendungsspezifischen integrierten Schaltung (ASIC) oder Prozessorelemente sein, die mittels spezieller Entwurfs­ sprachen an einem Rechner entworfen werden (vgl. z. B. "ASIC- Entwurf mit VHDL und Logiksynthese" von D. Peer, Elektronik 23, 1991, Seiten 84 bis 92). Die Funktion sol­ cher Schaltungselemente läßt sich daher einfacher über Zu­ stands- oder Programmabläufe erläutern.
Im folgenden werden die Zustandsabläufe für Anordnungen in der Schreibschaltung 4 beschrieben, die im Anhang A aufge­ führt sind. Zuerst wird in der Empfangs-Zähleranordnung 6 der Schreibschaltung 4 ermittelt, wo das jeweilige von der Vorpufferschaltung 3 gelieferte Datenbyte im STM-1-Rahmen einzuordnen ist. In eine Verwaltungseinheit AUG werden drei AU-3 von Spalte zu Spalte abwechselnd eingefügt. Die Bytes von drei aufeinanderfolgenden Spalten gehören also zu jeweils unterschiedlichen AU-3. Jede AU-3 ist einem Bereich zugeordnet. Eine AU-4 geht vollständig in einer AUG auf. Diese ist auch in drei Bereiche unterteilt. Jede dritte Spalte ist jeweils dem gleichen Bereich zugeordnet. Die Spalten 0, 3, 6 usw. gehören zum Bereich 0, die Spal­ ten 1, 4, 7 usw. gehören zum Bereich 1 und die Spalten 2, 5, 8 usw. gehören zum Bereich 2.
In der Empfangs-Zähleranordnung 6 wird nach dem Start zuerst überprüft, ob der von der Empfangs-Pointerschal­ tung 5 gelieferte Zeiger DAT gleich 1 ist, also ob gültige Daten anliegen. Liegen keine gültigen Daten an, wird zum Start zurückgesprungen. Im anderen Fall wird überprüft, ob die ebenfalls von der Empfangs-Pointerschaltung 5 gelie­ ferte J1-Kennzeichnung vorliegt. Die J1-Kennzeichnung gibt den Beginn eines VC-4 in einer AU-4 oder eines VC-3 in einer AU-3 an. Ist die J1-Kennzeichnung vorhanden, wird als nächstes überprüft, ob eine AU-4 geliefert wird. Diese Information kann beispielsweise von dem Managementspeicher zugeführt werden. Liegt eine AU-4 vor, so wird jeweils für jeden der drei Bereiche eine Initialisierung in der In­ itialisierungsroutine (Anhang A) durchgeführt (Die J1- Kennzeichnung liegt nur für den ersten Bereich vor.). Zuerst wird also der Bereich B gleich 0 gesetzt und dann zur Initialisierungsroutine gesprungen. Anschließend wird daßelbe für die beiden anderen Bereiche durchgeführt. Liegt keine AU-4 sondern eine AU-3 vor wird ebenfalls zur Initialisierungsroutine gesprungen. Dann wird eine Initia­ lisierung für den aktuellen Bereich durchgeführt.
Falls keine J1-Kennzeichnung vorliegt, wird durch Abfrage des Managementspeichers geprüft, ob eine AU-4 geliefert wird. Ist dies erfüllt, wird zur Zählerroutine 1 (An­ hang A) gesprungen. Falls eine AU-3 vorliegt, wird zur Zählerroutine 2 (Anhang A) gesprungen.
Im folgenden wird die Initialisierungsroutine erläutert. Nach dem Start werden der Spaltenzähler AUS(B), der Zei­ lenzähler AUZ(B), die Zähler TUG2(B), TU11(B), TU12(B) und der Positionszähler TU3POS(B) für den jeweiligen Bereich initialisiert. Der Spaltenzähler AUS(B) und der Zeilenzäh­ ler AUZ(B) werden mit dem Wert 0 belegt. Der Zählerstand des Zählers TUG2(B), der eine von sieben TUG-2 kennzeich­ net, wird gleich 6 gesetzt. Der Zählerstand des Zählers TU11(B), der eine von vier TU-11 kennzeichnet, wird mit dem Wert 3 belegt. Der Zählerstand des Zählers TU12(B), der eine von drei TU-12 kennzeichnet wird gleich 2 ge­ setzt. Der Zählerstand des Positionszählers TU3POS(B), der ein Datenbyte einer TU-3 kennzeichnet, erhält den Wert 594. In einer TU-3 sind 765 Datenbytes enthalten (verglei­ che Fig. 3.8/G709). Der Wert 594 bezieht sich auf das Ende einer TU-3 in einer VC-4. Der Positionszähler TU3POS(B) beinhaltet ebenso wie alle genannten und zu nennenden Zähler als Zählerwert den Zählerstand 0.
Die drei weiteren Positionszähler TU2POS(B), TU12POS(B) und TU11POS(B), die jeweils die Position eines Datenbytes in einer TU-2, einer TU-12 oder einer TU-11 festlegen, werden nur dann initialisiert, wenn der erste von 4 Rahmen vorliegt. Hierüber gibt der Zeiger H4akt(B, n) Auskunft, der von der H4-Anordnung 8 zugeführt wird. Falls der Zeiger H4akt(B, n) gleich 0 ist, liegt der erste Rahmen vor und der Zählerstand des Positionszählers TU2POS(B) wird mit dem Wert 320 belegt (428 Bytes pro Container TU-2; Byte 320 kennzeichnet das Ende einer TU-2; vergleiche Fig. 3.11/G709), der Zählerstand des Positionszählers TU12POS(B) mit dem Wert 104 (140 Bytes pro Container TU- 12; Byte 104 kennzeichnet das Ende einer TU-12; vergleiche Fig. 3.11/G709) und der Zählerstand des Positionszählers TU11POS(B) mit dem Wert 77 (104 Bytes pro Container TU-11; Byte 77 kennzeichnet das Ende einer TU-11; vergleiche Fig. 3.11/G709). Falls ein anderer Rahmen vorliegt (Zeiger H4akt(B, n) ≠ 0), wird zum Ende gesprungen.
Als nächstes wird die Zählerroutine 1 beschrieben, die bei Vorliegen einer AU-4 angesprungen wird. Nach dem Start wird überprüft, ob der Zählerstand des Spaltenzählers AUS(B) gleich 86 ist, also das letzte Datenbyte am Ende einer Zeile zu verarbeiten ist (87 Spalten pro Bereich). Wird dies bejaht, wird der Zählerstand des Spaltenzählers AUS(B) gleich 0 gesetzt. Dann wird der Zählerstand des Zeilenzähler AUZ(B) um eine Einheit erhöht. Wenn der Zäh­ lerstand gleich 9 ist, wird dieser auf den Wert 0 gesetzt. Der Zeilenzähler kennzeichnet in diesem Fall wieder die erste Zeile einem VC-4. Ist der Zählerstand des Spalten­ zählers AUS(B) nicht gleich 86 wird er um eine Einheit erhöht.
In einem VC-4 können drei TUG-3 entweder mit jeweils einer TU-3 oder jeweils sieben TUG-2 transportiert werden. Für jede mögliche Kombination wird im folgenden die Position des Datenbytes im VC-4 bestimmt. Zuerst wird diese in einem TU-3 bestimmt. Hierbei wird geprüft, ob der Zähler­ stand des Spaltenzählers AUS(B) größer als 1 ist. Ist das nicht der Fall, wird der TU-Zeiger TU3D(B) gleich 0 ge­ setzt. Das bedeutet, daß keine TU-3-Daten vorliegen. Daten einer TU-3 liegen nämlich erst in der dritten Spalte jedes Bereiches vor (vergleiche Fig. 2.4 und 2.5/G709). In dem anderen Fall wird der TU-Zeiger TU3D(B) gleich 1 gesetzt und dann der Zählerstand des Positionszählers TU3POS(B) um eine Einheit erhöht. Beim Zählerstand 765 beginnt der Positionszähler TU3POS(B) wieder bei 0 zu zählen (765 Bytes pro TU-3).
Des weiteren wird überprüft, ob ein Pointerbyte oder eine positive oder negative Stopfmöglichkeit vorliegt. Zuerst wird gefragt, ob der Zählerstand des Spaltenzählers AUS(B) gleich 1 ist. Wird dies verneint, werden die drei Pointer­ zeiger H1TU3(B), H2TU3(B) und H3TU3(B) gleich 0 gesetzt. Dann wird gefragt, ob der Zählerstand des Spaltenzählers AUS(B) gleich 2 und der Zählerstand des Zeilenzählers AUZ(B) gleich 2 ist. Wird dies verneint, wird der Pointer­ zeiger H3TU3P(B) gleich 0 gesetzt. Im anderen Fall wird der Pointerzeiger H3TU3P(B) gleich 1 gesetzt. Dieser gibt an, daß eine positive Stopfmöglichkeit vorliegt. Wenn der Zählerstand des Spaltenzählers AUS(B) gleich 1 ist, wird gefragt, ob der Zählerstand des Zeilenzählers AUZ(B) gleich 0 ist. Wird dies bejaht, liegt die erste Zeile vor und der Pointerzeiger H1TU3(B) wird gleich 1 gesetzt. Ist der Zählerstand des Zeilenzählers AUS(B) ungleich 0, wird als nächstes geprüft, ob der Zählerstand des Zeilenzählers AUZ(B) gleich 1 ist. Stimmt dies, wird der Pointerzeiger H2TU3(B) gleich 1 gesetzt. Ist dies nicht der Fall, wird zuletzt überprüft, ob der Zählerstand des Zeilenzählers AUZ(B) gleich 2 ist. Liegt das Datenbyte in der dritten Zeile, so wird ein Pointerzeiger H3TU3(B) gleich 1 ge­ setzt. Die Pointerzeiger H1TU3(B), H2TU3(B) und H3TU3(B) geben an, wenn sie gleich 1 gesetzt sind, daß die Pointer­ stellen H1 und H2 und eine negative Stopfmöglichkeit (H3) vorliegen.
Als nächstes wird die Position des Datenbytes bestimmt, wenn TU-2 vorliegen. Zuerst wird hierbei überprüft, ob der Zählerstand des Spaltenzählers AUS(B) größer 2 ist. Wird dies verneint, wird der TU-Zeiger TUG2D(B) gleich 0 ge­ setzt, d. h. es liegen keine Daten einer TUG-2 und damit einer TU-2 vor. Im anderen Fall wird der TU-Zeiger TUG2D(B) gleich 1 gesetzt (vgl. Fig. 2.4 und 2.7/G709). Dann wird geprüft, welche TUG-2 vorliegt. Hierbei wird gefragt, ob der Zählerstand des Zählers TUG2(B) gleich 6 ist. Ist dies nicht der Fall, wird der Zählerstand des Zählers TUG2(B) um eine Einheit erhöht, im anderen Fall gleich 0 gesetzt und gefragt, ob der Zählerstand des Spal­ tenzählers AUS(B) kleiner 10 und der Zählerstand des Zei­ lenzählers AUZ(B) gleich 0 ist. Diese Abfrage und die folgenden Instruktionen bzw. Abfragen werden nur für die erste TUG-2 durchgeführt. Bei den sechs anderen TUG-2 ergäben sich die gleichen Ergebnisse. Wird die letzte Abfrage bejaht, liegt der Teil einer TUG-2 vor, der TU-2- Pointer enthält. In diesem Fall wird der Pointerzeiger VTU2(B) gleich 1 und im anderen Fall gleich 0 gesetzt. Ist der Pointerzeiger VTU2(B) gleich 0, liegt das Datenbyte nicht im dem Teil des TUG-2, wo Pointer von TU-2 auftre­ ten. Nachdem der Pointerzeiger VTU2(B) gleich 0 gesetzt ist, wird der Zählerstand des Positionszählers TU2POS(B) um eine Einheit erhöht. Beim Zählerstand 428 beginnt der Positionszähler TU2POS(B) wieder bei 0 zu zählen. Eine TU-2 enthält 428 Bytes in 4 Rahmen (ohne Pointer; verglei­ che Fig. 3.11/G709). Anschließend wird überprüft, ob der Zählerstand des Spaltenzählers AUS(B) kleiner 17 und der Zählerstand des Zeilenzählers AUZ(B) gleich 0 ist. Ist dies der Fall, wird der Pointerzeiger VTU2P(B) gleich 1 und im anderen Fall gleich 0 gesetzt. Dieser Pointerzeiger VTU2P(B) kennzeichnet die positiven Stopfmöglichkeiten der TU-2, die in den Spalten 10 bis 16 und in jeder ersten Zeile auftreten. Diese Zuordnung gilt nur für den dritten der vier Rahmen.
Nachdem zuletzt die Datenpositionen oder Pointerpositionen für eine TU-2 in einer TUG-2 bestimmt worden sind, werden als nächstes die Pointerpositionen bzw. Datenpositionen von einer TU-11 in einer TUG-2 ermittelt. Hierbei wird zunächst überprüft, ob der Zählerstand des Spaltenzäh­ lers AUS(B) größer 2 und der Zähler TUG2(B) gleich 0 ist. Wie oben erwähnt, kommen erstmals in der vierten Spalte Daten eines TUG-2 vor. Ergibt die Prüfung, daß der Zähler­ stand des Spaltenzählers AUS(B) kleiner oder gleich 2 und der Zählerstand des Zählers TUG2(B) ungleich 0 ist, wird zur Marke 11 gesprungen. Im anderen Fall wird gefragt, ob der Zählerstand des Zählers TU11(B) gleich 3 ist. Wird dies verneint, wird der Zählerstand des Zählers TU11(B) um eine Einheit erhöht. Bei einer Bejahung wird der Zähler­ stand des Zählers TU11(B) gleich 0 gesetzt. Die folgenden Instruktionen und Abfragen werden also nur für die erste TU-11 in einer TUG-2 durchgeführt. Anschließend wird ge­ fragt, ob der Zählerstand des Spaltenzählers AUS(B) klei­ ner 31 und der Zählerstand des Zeilenzählers AUZ(B) gleich Null ist. In der ersten Zeile und bis zur Spaltenzahl 30 kommen Pointer V1 bis V4 in einer TUG-3 vor (vgl. Fig. 2.6 und 2.7/G709). Liegt das Datenbyte in diesem Teil des STM- 1-Rahmens, wird der Pointerzeiger VTU11(B) gleich 1 ge­ setzt. Im anderen Fall wird der Pointerzeiger VTU11(B) gleich 0 gesetzt und der Zählerstand des Positionszählers TU11POS(B) um eine Einheit erhöht. Beim Zählerstand 104 beginnt der Positionszähler TU11POS(B) wieder bei 0 zu zählen. Der Positionszähler TU11POS(B) gibt die Position eines Datenbytes in einer TU-11 an. Zur Feststellung ob das Datenbyte an einer positiven Stopfmöglichkeit ist, wird überprüft, ob der Zählerstand des Spaltenzählers AUS(B) kleiner 59 und der Zählerstand des Zeilenzählers AUZ(B) gleich 0 ist (vgl. Fig. 3.11/G709). Wird dies be­ jaht, wird der Pointerzeiger VTU11P(B) gleich 1 gesetzt. Diese Zuordnung gilt ebenfalls nur für den dritten der vier Rahmen. Im anderen Fall wird dieser Pointerzeiger VTU11P(B) gleich 0 gesetzt. Anschließend folgt die Mar­ ke 11.
Zum Schluß der Zählerroutine 1 werden die Pointerpositio­ nen und die Datenpositionen einer TU-12 festgestellt. Zuerst wird gefragt, ob der Zählerstand des Spaltenzählers AUS(B) größer 2 und der Zählerstand des Zählers TUG2(B) gleich 0 ist. Ist dies der Fall, wenn also Daten mit TU-12 vorliegen können, wird gefragt, ob der Zählerstand des Zählers TU12(B) gleich 2 ist. In eine TUG-2 können 3 TU-12 eingefügt werden. Die Frage dient also zur Feststellung welche TU-12 vorliegt. Wird die Frage verneint, wird der Zählerstand des Zählers TU12(B) um eine Einheit erhöht. Im anderen Fall wird der Zählerstand des Zählers TU12(B) gleich 0 gesetzt und weitere Instruktionen und Abfragen werden für die erste TU-12 durchgeführt. Anschließend wird gefragt, ob der Zählerstand des Spaltenzählers AUS(B) kleiner 24 und der Zählerstand des Zeilenzählers AUZ(B) gleich 0 ist. Hiermit soll festgestellt werden, ob Pointer vorliegen können. In einer TUG-3 liegen nämlich in den Spalten 3 bis 23 in der ersten Zeile Pointer vor. Wird die Frage bejaht, wird der Pointerzeiger VTU12(B) gleich 1 gesetzt, d. h., es liegt ein V1-, ein V2-, ein V3- oder ein V4-Byte einer TU-12 vor. Im anderen Fall wird der Pointerzeiger VTU12(B) gleich 0 gesetzt. Dann wird der Zählerstand des Positionszählers TU12POS(B) um eine Ein­ heit erhöht. Beim Zählerstand 140 beginnt der Positions­ zähler TU12POS(B) wieder bei 0 zu zählen. Der Positions­ zähler TU12POS(B) gibt die Position eines Datenbytes in einer TU-12 an. Anschließend wird noch überprüft, ob der Teil vorliegt, in dem eine positive Stopfmöglichkeit auf­ treten kann. Dabei wird gefragt, ob der Zählerstand des Spaltenzählers AUS(B) kleiner 45 ist und der Zählerstand des Zeilenzählers AUZ(B) gleich 0 ist. In den Spalten 24 bis 44 und der ersten Zeile können positive Stopfmöglich­ keiten auftreten. Wird dies bejaht, wird der Pointerzeiger VTU12P(B) gleich 1 gesetzt (Diese Zuordnung gilt ebenfalls nur für den dritten der vier Rahmen). Im anderen Fall wird er gleich 0 gesetzt. Nach dieser letzten Instruktion ist die Zählerroutine 1 beendet.
Im folgenden wird die Zählerroutine 2 beschrieben, die verwendet wird, wenn eine AU-3 vorliegt. Nach dem Start wird überprüft, ob der Zählerstand des Spaltenzählers AUS(B) gleich 86 ist. Wird dies bejaht, wird der Zähler­ stand des Spaltenzählers AUS(B) gleich 0 gesetzt. Dann wird der Zählerstand des Zeilenzählers AUZ(B) um eine Einheit erhöht. Beim Zählerinhalt von 9 wird der Zeilen­ zähler AUZ(B) gleich 0 gesetzt. Ist der Zählerstand des Spaltenzählers AUS(B) nicht gleich 86, wird er um eine Einheit erhöht.
In einem VC-3 kann ein Container C-3 oder sieben TUG-2 transportiert werden. Für den Transport von jeweils einer TU-11, TU-12 und TU-2 in einer TUG-2 werden im folgenden die Position im STM-1-Rahmen bestimmt. Zuerst wird die TU-2-Position ermittelt. Zuerst wird hierbei überprüft, ob der Zählerstand des Spaltenzählers AUS(B) gleich 0 oder gleich 29 oder gleich 58 ist (vgl. Fig. 2.3 und 2.9/G709). Falls diese Bedingung erfüllt ist, wird der TU-Zeiger TUG2D(B) gleich 0 gesetzt. In der ersten Spalte des VC-3 liegt der VC-3-POH, in der 30sten Zeile und in der 59sten feste Stopfbytes vor. Das bedeutet, daß die oben genannten Zeilen keine TUG2-Datenbytes enthalten. Ist die Bedingung nicht erfüllt, wird der TU-Zeiger TUG2D(B) gleich 1 ge­ setzt. Dann wird geprüft, welche TUG-2 vorliegt. Hierbei wird gefragt, ob der Zählerstand des Zählers TUG2(B) gleich 6 ist. Durch diese Abfrage soll die erste TUG-2 ermittelt werden. Wird die Frage verneint, wird der Zäh­ lerstand des Zählers TUG2(B) um eine Einheit erhöht. Im anderen Fall wird der Zählerstand des Zählers TUG2(B) gleich 0 gesetzt. Es liegt dann auch die erste TUG-2 vor. Nur für die erste TUG-2 werden die folgenden Instruktionen und Abfragen durchgeführt.
Als nächstes wird überprüft, ob der Zählerstand des Spal­ tenzählers AUS(B) größer 7 ist. Wird dies verneint, liegt der Teil einer TUG-2 vor, der Pointer von TU-2 enthält. Der Pointerzeiger VTU2(B) wird dann gleich 1 gesetzt. Im anderen Fall wird der Pointerzeiger VTU2(B) gleich 0 ge­ setzt und der Zählerstand des Positionszählers TU2POS(B) um eine Einheit erhöht. Dann wird gefragt, ob der Zähler­ stand des Spaltenzählers AUS(B) größer 14 ist. Wird diese Abfrage nicht bestätigt, wird der Pointerzeiger VTU2P(B) gleich 1 gesetzt. Der Pointerzeiger VTU2P(B) kennzeichnet, wie oben schon erwähnt, die Datenbytes, die positive Stopfmöglichkeiten enthalten (Diese Zuordnung gilt nur für den dritten der vier Rahmen). Ist der Zählerstand des Spaltenzählers AUS(B) größer als 14 wird der Pointerzeiger VTU2P(B) gleich 0 gesetzt.
Zur Ermittlung der Pointerpostionen bzw. Datenpositionen einer TU-11 in einer TUG-2 dient der folgende Teil der Zählerroutine 2. Hierbei wird zuerst überprüft, ob der Zählerstand des Zählers TUG2(B) gleich 0 ist. Ist dies nicht der Fall wird zu einer Marke 12 gesprungen. Bei einer Bestätigung wird abgefragt, ob der Zählerstand des Zählers TU11(B) gleich 3 ist. Wird die Frage verneint, wird der Zählerstand des Zählers TU11(B) um eine Einheit erhöht und im anderen Fall gleich 0 gesetzt. Ist die erste TU-11 gefunden (Zählerstand des Zählers TU11(B) gleich 0) wird geprüft, ob der Zählerstand des Spaltenzählers AUS(B) größer 28 ist. Diese Überprüfung und die folgenden werden nur bei der ersten TU-11 durchgeführt. Wird die Frage verneint, wird der Pointerzeiger VTU11(B) gleich 1 ge­ setzt. Bei einer Bestätigung wird der Pointerzeiger VTU11(B) gleich 0 gesetzt. Das Datenbyte kann also kein Pointer-Byte sein. Im folgenden wird der Zählerstand des Positionszählers TU11POS(B) um eine Einheit erhöht. Beim Zählerstand 104 wird dieser gleich 0 gesetzt. Anschließend wird überprüft, ob der Zählerstand des Spaltenzählers AUS(B) größer 57 ist. Wird die Frage bejaht, liegt keine positive Stopfmöglichkeit vor und der Pointerzeiger VTU11P(B) wird gleich 0 gesetzt. Im anderen Fall kann eine positive Stopfmöglichkeit vorliegen und der Pointerzeiger VTU11P(B) wird mit der Zahl 1 belegt (Diese Zuordnung gilt ebenso nur für den dritten der vier Rahmen). Als nächstes folgt die Marke 12.
Zum Schluß der Zählerroutine 2 werden die Pointerpositio­ nen und die Datenpositionen einer TU-12 festgelegt. Zuerst wird gefragt, ob der Zählerstand des Zählers TUG2(B) gleich 0 ist. Wird dies bejaht liegen Daten einer TU-12 vor und es wird die erste TU-12 gesucht. Hierbei wird gefragt, ob der Zählerstand des Zählers TU12(B) gleich 2 ist. Wird diese Frage verneint, wird der Zählerstand des Zählers TU12(B) um eine Einheit erhöht. Im anderen Fall wird der Zählerstand des Zählers gleich 0 gesetzt und weitere Instruktionen und Abfragen durchgeführt. Es wird dann der Teil gesucht, in dem keine Pointer-Bytes liegen können. Hierbei wird die Frage gestellt, ob der Zähler­ stand des Spaltenzählers AUS(B) größer 21 ist. Bis zur Spalte 21 können nämlich noch Pointer-Bytes vorliegen. Wird die Frage verneint, wird der Pointerzeiger VTU12(B) gleich 1 und im anderen Fall gleich 0 gesetzt. Anschlie­ ßend wird der Zählerstand des Positionszählers TU12POS(B) um eine Einheit erhöht. Zum Schluß werden noch positive Stopfmöglichkeiten gesucht. In den Spalten 22 bis 42 kön­ nen positive Stopfmöglichkeiten auftreten. Daher wird die Frage gestellt, ob der Zählerstand des Spaltenzäh­ lers AUS(B) kleiner 43 ist. Ist dies der Fall wird der Pointerzeiger VTU12P(B) gleich 1 (Diese Zuordnung gilt auch nur für den dritten der vier Rahmen) und im anderen Fall gleich 0 gesetzt. Mit dieser letzten Instruktion ist die Zählerroutine 2 beendet.
Nachdem in der Empfangs-Zähleranordnung 6 ermittelt worden ist, wo das Datenbyte in dem AU-Nutzdatenbereich eingeord­ net werden kann, wird in der Empfangs-Adressierungsanord­ nung 7 eine Pufferspeicheradresse PS für ein Datenbyte und eine Pointeradresse PA gebildet und dem Datenbyte werden bestimmte Zählerstände und Zeiger bzw. Kennzeichnungen zugewiesen. Zuerst wird jedoch eine TU-Kennung gleich 0 gesetzt. Diese gibt an, daß keine Daten einer TU-3, TU-12 oder TU-11 vorliegen. Danach wird überprüft, ob ein VC-4 vorliegt. Diese Information wird aus dem Managementspei­ cher entnommen. Liegt ein VC-4 vor, wird die Pufferspei­ cheradresse PS gleich dem Inhalt eines Schreibzählers VC4SC gesetzt. Der Zählerstand dieses Schreibzäh­ lers VC4SC wird nach jedem Datenbyte um eine Einheit er­ höht. Des weiteren wird eine Pointeradresse PA gleich "00111BB" gesetzt. Die beiden Buchstaben "B" sind für den Bereich reserviert. Wenn kein VC-4 vorliegt, wird über­ prüft, ob ein VC-3 in einer AU-3 vorliegt. Diese Informa­ tion kommt ebenfalls vom Managementspeicher. Wird diese Abfrage bejaht, wird die Pufferspeicheradresse PS gleich dem Inhalt eines Schreibzählers VC3SC(B) gesetzt. Für jeden Bereich existiert ein Schreibzähler VC3SC(B), dessen Zählerstand jeweils auch nach jedem Datenbyte um eine Einheit erhöht wird. Die Pointeradresse PA wird gleich "00111BB" gesetzt. Ist die letzte Abfrage verneint worden, wird überprüft, ob ein VC-3 in einer AU-4 vorkommt. Ist dies der Fall, wird die Pufferspeicheradresse PS gleich dem Inhalt des Schreibzählers VC3SC(B) und die Pointerad­ resse PA gleich "BB00000" gesetzt. Im anderen Fall wird zu einer TUG-2-Adreß-Routine gesprungen.
Nach dem Start der Empfangs-TUG2-Adreß-Routine wird eine Zwischenadresse ZW gleich "BBTTT" gesetzt. Die beiden Buchstaben "B" stehen für den Bereich und die drei Buch­ staben "T" sind für den Inhalt des Zählers TUG2(B) reser­ viert. Als nächstes wird dann aus dem Managementspeicher entnommen, ob eine TU-2 vorliegt. Ist dies der Fall, wird die Pointeradresse PA aus der Zwischenadresse und zwei niederwertigen Bits, die gleich "0" gesetzt sind, zusam­ mengefügt. Wird die letzte Abfrage verneint, wird anhand des Inhalts des Managementspeichers überprüft, ob eine TU-12 vorkommt. Wird diese Frage bejaht, wird als Pointeradresse PA ein Datenwort gebildet, welches als höherwertige Bits die Zwischenadresse ZW und als nieder­ wertige Bits den Inhalt des Zählers TU12(B) enthält. Im anderen Fall wird die Pointeradresse PA aus der Zwischen­ adresse ZW und dem Inhalt des Zählers TU11(B) zusammen­ gesetzt. Anschließend wird noch die Pufferspeicheradresse PS aus der Pointeradresse und dem Inhalt eines Schreibzäh­ lers LOSC(PA) zusammengefügt. Die Pointeradresse bildet dabei die höherwertigeren Bits. Es existieren insgesamt 84 Schreibzähler LOSC(PA), die durch die Pointeradresse gekennzeichnet sind. Hiermit ist die Empfangs-TUG2-Adreß- Routine beendet.
In dem Zustandsablauf der Empfangs-Adressierungsanord­ nung 7 werden im folgenden die in der Empfangs-Zähleran­ ordnung 6 bestimmten Pointerzeiger den Pointerkennzeich­ nungen V1, V2, V3, V3P und V4 und der Inhalt eines Posi­ tionszählers einem Positionszeiger TUPOS zugewiesen. Zu­ erst wird aus dem Managementspeicher entnommen, ob eine TU-3 vorliegt. Ist dies der Fall, wird die TU-Kennung gleich 4 gesetzt und der Pointerkennzeichnung V1 der Poin­ terzeiger H1TU3(B), der Pointerkennzeichnung V2 der Poin­ terzeiger H2TU3(B), der Pointerkennzeichnung V3 der Poin­ terzeiger H3TU3(B), der Pointerkennzeichnung V3P der Zei­ ger H3TU3P(B) und der Pointerkennzeichnung V4 der Wert 0 zugewiesen. Der Positionszeiger TUPOS wird noch gleich dem Inhalt des Positionszählers TU3POS(B) gesetzt. Hiernach wird zum Ende der Empfangs-Adressierungsanordnung gesprun­ gen. Liegt keine TU-3 vor, wird überprüft, ob ein VC-3 in einer AU-3 oder ein VC-4 in einer AU-4 vorkommt. Diese Information wird ebenfalls aus dem Managementspeicher entnommen. Wird die Abfrage bejaht, werden die Pointer­ kennzeichnungen V1, V2, V3, V3P und V4 gleich 0 gesetzt. Im anderen Fall wird überprüft, ob eine TU-11 vorliegt. Ist das der Fall, wird die TU-Kennung gleich 3, ein Zeiger V gleich dem Pointerzeiger VTU11(B), ein Zeiger VP gleich dem Pointerzeiger VTU11P(B) und der Positionszeiger TUPOS gleich dem Inhalt des Positionszählers TU11POS(B) gesetzt. Wenn keine TU-11 vorliegt, wird abgefragt, ob eine TU-12 vorhanden ist. Bei einer Bejahung der Abfrage wird die TU- Kennung gleich 2, der Zeiger V gleich dem Pointerzeiger VTU12(B), der Zeiger VP gleich dem Pointerzeiger VTU12P(B) und der Positionszeiger TUPOS gleich dem Inhalt des Posi­ tionszählers TU12POS(B) gesetzt. Im anderen Fall liegt eine TU-2 vor, bei der ebenfalls eine Zuweisung der Zeiger V und VP stattfindet. Der Zeiger V wird gleich dem Poin­ terzeiger VTU2(B), der Zeiger VP gleich dem Pointerzeiger VTU2P(B) und der Positionszeiger TUPOS gleich dem Inhalt des Positionszählers TU2POS(B) gesetzt. Außerdem wird die TU-Kennung noch mit 0 belegt.
Als nächstes muß jetzt festgestellt werden, welcher der vier Rahmen bei einer TU-11, TU-12 oder TU-2 vorliegt. Diese Information wird jeweils aus der H4-Anordnung ent­ nommen. Wenn der erste Rahmen vorliegt (H4akt(B, n) = 0), wird die Pointerkennzeichnung V1 gleich dem Zeiger V und die restlichen Pointerkennzeichnungen V2, V3, V3P und V4 gleich 0 gesetzt. Wenn H4akt(B, n) gleich 1 ist, liegt der zweite Rahmen vor. Dann wird die Pointerkennzeichnung V2 gleich dem Zeiger V und die restlichen Pointerkenn­ zeichnungen gleich 0 gesetzt. Bei Vorliegen des dritten Rahmens (H4akt(B, n) = 2) wird die Pointerkennzeichnung V3 gleich dem Zeiger V und die Pointerkennzeichnung V3P gleich dem Zeiger VP gesetzt. Die anderen Pointerkenn­ zeichnungen werden mit 0 belegt. Ist H4akt(B, n) nicht gleich 2 gehört das Datenbyte zum vierten Rahmen. Hierbei wird nur die Pointerkennzeichnung V4 mit dem Zeiger V belegt. Die anderen Pointerkennzeichnungen werden gleich 0 ge­ setzt. Mit dieser letzten Instruktion ist der Zustands­ ablauf der Empfangs-Adressierungsanordnung 7 beendet.
Nach dem Zustandsablauf der Empfangs-Adressierungsanord­ nung 7 wird der Zustandsablauf der Schreibent­ scheidungsanordnung 9 abgearbeitet. Hier wird der Schreib­ befehl zum Beschreiben des Pufferspeichers 1 und eine Erhöhung des Zählerstandes verschiedener Schreibzähler vorgenommen. Nach dem Start wird aus dem Managementspei­ cher entnommen, ob ein VC-4 in einer AU-4 vorliegt. Wird diese Abfrage bejaht, wird überprüft, ob eine J1-Kenn­ zeichnung vorliegt. Diese Information wird von der Emp­ fangs-Pointerschaltung 5 geliefert. Wird dies bejaht wird ein Zeiger J1D mit 1 belegt. Im anderen Fall wird der Zeiger J1D gleich 0 gesetzt. Danach wird ermittelt, ob gültige Daten vorliegen (DAT = 1?). Nur wenn gültige Daten vorliegen, wird ein Schreibbefehl erzeugt.
Ergibt sich, daß keine AU-4 mit einer VC-4 vorhanden ist, wird darauffolgend abgefragt, ob ein AU-3 mit einer VC-3 vorliegt. Diese Information liefert der Managementspeicher. Ist dies der Fall wird der Zeiger J1D gleich 1 gesetzt, wenn eine J1-Kennzeichnung ermittelt worden ist. Im ande­ ren Fall wird der Zeiger mit 0 belegt. Anschließend wird bei gültigen Daten (DAT = 1) und bei keiner festen Stopf­ möglichkeit im AU-3 (Spaltenzähler AUS(B) ≠29 und ≠58) der Schreibbefehl gebildet.
Liegt keine AU-3 mit einer VC-3 vor, wird überprüft, ob der Zeiger TUPOS, der die Position eines Datenbytes in einem Container bestimmt, gleich dem Pointerwert für ein V5- oder J1-Byte ist. Der Pointerwert wird von der Emp­ fangs-Pointerschaltung 5 geliefert. Wird dies bejaht, wird der Zeiger J1D mit 1 und im anderen Fall mit 0 belegt. Dann wird abgefragt, ob eine TU-3 vorliegt. Diese Informa­ tion gibt der Managementspeicher. Ist dies der Fall, wird ein Schreibbefehl gegeben, wenn a) gültige Daten (DAT = 1) vorliegen und b) der TU-Zeiger TU3D(B) gleich 1 gesetzt ist und c) keine positive Stopfaktion oder d) eine nega­ tive Stopfaktion vorliegt. Wenn keine TU-3 vorkommt, wird nur dann ein Schreibbefehl gegeben, wenn a) gültige Daten (DAT = 1) vorliegen und b) der TU-Zeiger TUG2D(B) gleich 1 ist und c) die Pointerkennzeichnung V1 gleich 0 und d) die Pointerkennzeichnung V2 gleich 0 und e) die Pointerkenn­ zeichnung V3 gleich 0 ist oder eine negative Stopfaktion vorliegt und f) die Pointerkennzeichnung V3P gleich 0 ist oder keine positive Stopfaktion vorliegt und g) die Poin­ terkennzeichnung V4 gleich 0 ist. Zum Schluß des Moduls Schreibentscheidungsanordnung wird noch überprüft, ob ein Schreibbefehl vorliegt. Ist dies der Fall werden die Zäh­ lerstände der Schreibzähler VC4SC, VC3SC(B) und LOSC(PA) erhöht und der Befehl "Pufferspeicher mit Datenbyte und Zeiger J1D beschreiben" gegeben. Damit ist die Schreibentscheidungsanordnung beendet.
Beim Zustandsablauf der H4-Anordnung 8 wird zuerst über­ prüft, ob der Spaltenzähler AUS(B) gleich 0 und der Zei­ lenzähler AUZ(B) gleich 5 und der Zeiger DAT gleich 1 ist. In jeder AU-4 oder AU-3 wird in der 1. Spalte und der 5. Zeile das H4-Byte übertragen, welches die Rahmennummer angibt. Es wird zuerst überprüft, ob die AU-4 vorliegt. Dann wird jeweils für jede Bereichskennung der AU-4 (B = 1, 2, 3) und für den jeweiligen Bereich in einer AU-3 ein H4-Wert ermittelt. Die Rahmennummer (H4-Wert) wird aus den beiden niederwertigsten Bits des H4-Bytes gewonnen. Anschließend wird der H4-Wert in einem in der H4-Anord­ nung 8 befindlichen Speicher gespeichert. Dieser H4-Wert wird als neu empfangener H4-Wert H4neu(B, n) bezeichnet. Dieser Wert wird mit den um 1 erhöhten aktuellen H4-Wert H4akt(B, n-1) verglichen. Der aktuelle H4-Wert gibt die Rahmennummer des zuvor empfangenen VC-4 bzw. VC-3 an. Die Variable "n" bezieht sich auf den neu empfangenen und den neu zu bestimmenden aktuellen H4-Wert. "n-1" bezieht sich auf den jeweiligen vorhergehenden H4-Wert. Wenn der neu empfangene H4-Wert gleich dem um 1 erhöhten aktuellen H4-Wert ist, wird der aktuelle H4-Wert gleich dem neu empfangenen H4-Wert gesetzt (H4akt(B, n): = H4neu(B, n)). Wenn das nicht der Fall ist, wird überprüft, ob der neu empfan­ gene H4-Wert zusammen mit den davor empfangenen vier letz­ ten H4-Werten eine Sequenz bildet. Eine Sequenz bedeutet, daß die vier Rahmennummern periodisch gesendet werden. Keine Sequenz liegt vor, wenn beispielsweise zuerst der erste und dann der vierte Rahmen gesendet worden ist. Ist eine solche Sequenz vorhanden, wird der aktuelle H4-Wert gleich dem neu empfangenen H4-Wert gesetzt (H4akt(B, n): = H4neu(B, n)). Ist das nicht der Fall, wird der aktuelle H4-Wert inkrementiert (H4akt(B, n): = H4akt(B, n)+1) In Fig. 12 ist das Blockschaltbild der Empfangs-Pointer­ schaltung 5 gezeigt. Diese enthält eine Hauptanordnung 10, einen AU-Pointerzähler 11 und einen AU-Positionszähler 12 zur Zählung der AU-Nutzdatenbytes und der AU-Pointer. Der AU-Pointerzähler 11 erhält von der Vorpufferschaltung 3 die AU-Pointer-Kennung, die den Anfang eines AU-Pointers kennzeichnet. Der AU-Pointerzähler 11 verändert seinen Zählerinhalt beim Auftreten eines AU-Pointerbytes. Der Zählerinhalt des AU-Pointerzählers 11 wird der Hauptanord­ nung 10 und dem AU-Positionszähler 12 geliefert. Der AU- Positionszähler 12 erhält des weiteren von der Vorpuffer­ schaltung 3 das Sperrsignal und die Bereichskennung B. Der Zählerinhalt des Positionszählers 2 wird an die Hauptan­ ordnung 10 gegeben. Ferner liefert der Positionszähler 12 noch den Zeiger DAT.
Die Hauptanordnung 10 in der Empfangs-Pointerschaltung 5 enthält mehrere Speicher und Zähler. Sie empfängt von der Schreibschaltung 4 eine Pointeradresse PA, die Pointer­ kennzeichnungen V1, V2 und V3 und die TU-Kennung. Die Pointeradresse PA wird in einem Adreßzwischenspeicher zwi­ schengespeichert. Die Berechnung des Pointerwertes und ob positive oder negative Stopfaktionen vorliegen, wird mit Hilfe eines H1V1-Speichers, eines Pointerspeichers, eines Pointerzählers und eines Stopfzählers durchgeführt. Ferner erhält die Hauptanordnung 10 noch die Datenbytes von der Vorpufferschaltung 3.
Die Hauptanordnung 10 verändert gegebenenfalls den Zeiger DAT bei einer negativen oder positiven Stopfaktion. Dann liefert sie noch die Information, ob eine Stopfaktion vorgesehen ist. Der berechnete Pointerwert Pakt(PA, n) für die TU-3, TU-2, TU-12 und TU-11 wird ebenso wie die J1- Kennzeichnung für den Anfang eines VC-4 bzw. VC-3-Contai­ ners abgegeben.
Im Anhang B sind die Zustandsabläufe der Empfangs-Pointer­ schaltung 5 beschrieben. Zuerst wird der Zustandsablauf des AU-Pointerzählers 11 erläutert. Die AU-Pointer-Kennung wird von der Vorpufferschaltung 3 dem AU-Pointerzähler 11 geliefert, wenn der Anfang des AU-Pointers vorliegt. Liegt eine AU-Pointer-Kennung vor, wird der Zählerstand (AUPO) des AU-Pointerzählers 11 auf den Wert 0 gesetzt. Im ande­ ren Fall wird abgefragt, ob der Zählerstand des AU-Poin­ terzählers 11 den Wert 12 hat. Liegt nicht der Wert 12 vor, so liegt ein Datenbyte des AU-Pointers oder der posi­ tiven Stopfstelle vor. Dann wird der Zählerstand (AUPO) des AU-Pointerzählers 11 um eine Einheit erhöht. Im ande­ ren Falle wird keine Veränderung des Inhaltes des AU-Poin­ terzählers 11 durchgeführt.
Der Zustandsablauf des AU-Positionszählers 12 zeigt die Ermittlung, ob gültige Daten vorliegen, und die Bestimmung der Position des jeweiligen Datenbytes im STM-1-Rahmen. Zuerst wird gefragt, ob ein Sperrsignal von der Vorpuffer­ schaltung 3 geliefert wird. Ist das nicht der Fall, wird der Zeiger DAT gleich 1 gesetzt, d. h. es liegen gültige Daten vor. Dann wird überprüft, ob der erste Bereich vor­ liegt, d. h. ob die Bereichskennung B gleich 0 ist. Wird dies bejaht, wird der Zählerinhalt (AUVC) des AU-Positi­ onszählers 12 um eine Einheit erhöht. Der Zählerinhalt (AUVC) des AU-Positionszählers 12 wird also nur erhöht, wenn der erste Bereich vorliegt, d. h. er zählt von 0 bis 782 (9 Zeilen, 87 Spalten). Im anderen Fall wird der In­ halt des AU-Positionszählers 12 nicht verändert. Liegt ein Sperrsignal vor, wird der Zeiger DAT gleich 0 gesetzt. Es liegen dann keine gültigen Daten vor. Anschließend wird ermittelt, ob die erste positive Stopfstelle vorliegt. Dies gibt der AU-Pointerzähler 11 aus dem ersten Zweig an. Wenn der Zählerstand (AUPO) des AU-Pointerzählers 11 gleich 9 ist, liegt die erste positive Stopfstelle vor. Dann wird der Zählerstand (AUVC) des AU-Positionszähler 12 gleich 0 gesetzt. Im anderen Fall wird keine Veränderung des Inhaltes des AU-Positionszählers 12 vorgenommen.
Anschließend wird der Zustandsablauf der Hauptanordnung 10 beschrieben. Hier wird nach dem Einlesen der von der Schreibschaltung 4 gelieferten Pointeradresse PA diese in einem Adreßzwischenspeicher abgespeichert. Als nächstes wird überprüft, ob ein H1-, H2-, V1- oder V2-Byte vor­ liegt. Hierzu wird der Zählerstand (AUPO) des AU- Pointerzählers 11 und die Schreibschaltung 4 ausgewertet. Bei Vorliegen eines H1- oder H2-Byte weist der AU- Pointerzähler 11 die Zählerstände 0 bis 5 auf. Die Schreibschaltung 4 gibt, wenn ein V1- oder V2-Byte vor­ liegt, eine Pointerkennzeichnung V1 oder V2 aus.
Wird die Abfrage bejaht, wird als nächstes überprüft, ob ein H1- oder V1-Byte vorhanden ist. Ist dies der Fall, wird das H1- oder V1-Byte in einem H1V1-Speicher zwischen­ gespeichert. Wird die Frage verneint, d. h. es liegt ein H2- oder V2-Byte vor, wird zu einer Auswerteroutine ge­ sprungen.
Im folgenden wird die Auswerteroutine erläutert. Zuerst wird das H1- oder V1-Byte aus dem H1V1-Speicher und das neu empfangene H2- oder V2-Byte eingelesen. Aus dem Pointerspeicher wird der zuletzt empfangene Pointer­ wert P(PA, n-1) und der aktuelle Pointerwert Pakt(PA, n-1) aus dem Pointerspeicher abgerufen. Diese Pointerwerte sind in einem Speicherbereich des Pointerspeichers abgelegt, der durch die von der Schreibschaltung 4 gelieferte Pointeradresse PA gekennzeichnet ist. Der aktuelle Poin­ terwert ist derjenige Pointerwert, der die Anfangsadresse eines VC-4, VC-3, TU-3, TU-2, TU-12 oder TU-11 angibt. Die Variable "n" bezieht sich auf die neu empfangenen und zu berechnenden Pointerwerte. "n-1" bezieht sich auf das vorhergehende Datenbyte. Im folgenden wird dann ein neuer aktueller Pointerwert bestimmt. Dieser ergibt sich aus dem bisherigen aktuellen Pointerwert, einem neu eingelesenen Pointerwert und dem zuletzt empfangenen Pointerwert.
Zuerst wird ein Pointerzähler PZ inkrementiert. Dann wird der Zeiger STOPFDAT gleich 1 gesetzt, der angibt, ob der neue aktuelle Pointerwert gleich dem bisherigen aktuellen oder dem neu empfangenen Pointerwert gesetzt wird. Ist der neu eingegebene Pointerwert P(PA, n) ungleich dem zuletzt empfangenen Pointerwert P(PA, n-1) wird der Zählerstand des Pointerzählers PZ auf den Wert 1 gesetzt. Ist das Gegen­ teil der Fall, wird überprüft, ob der aktuelle Pointerwert Pakt(PA, n-1) gleich dem neuen Pointerwert P(PA, n) ist. Ist dies der Fall, wird der Zählerstand des Pointerzählers PZ auf den Wert 0 gesetzt. Wird die Frage verneint, wird zuerst der Zeiger STOPFDAT gleich 0 gesetzt und dann über­ prüft, ob der Inhalt des Pointerzählers PZ gleich 3 ist. Ist dies nicht der Fall, wird der aktuelle Pointerwert nicht verändert, d. h. Pakt(PA, n): = Pakt(PA, n-1). Ist der Inhalt des Pointerzählers PZ gleich 3, wird der neue aktu­ elle Pointerwert Pakt(PA, n) gleich dem neuen Pointer­ wert P(PA, n) gesetzt.
Außer der Aktualisierung des Pointerwertes wird in der Auswerteroutine noch überprüft, ob eine Stopfaktion durch­ geführt werden soll. In der CCITT-Empfehlung G709 sind die Bedingungen in Fig. 3.3. erläutert, wann eine positive oder eine negative Stopfstelle vorliegt. Der aus zehn Bit bestehende Pointerwert hat abwechselnd sogenannte I-Bits und D-Bits. Ist die Mehrzahl der fünf I-Bits invertiert, soll eine positive Stopfaktion, und ist die Mehrzahl der fünf D-Bits invertiert, soll eine negative Stopfaktion durchgeführt werden.
Eine Stopfaktion wird nur vorgenommen, wenn der Zeiger STOPFDAT gleich 1 ist, d. h. der aktuelle Pointerwert Pakt(PA, n) ist noch nicht bestimmt. Wenn eine Stopfaktion durchgeführt werden soll, wird überprüft, ob der Inhalt eines Stopfzählers SZ den Wert 3 aufweist. Wird dies be­ jaht, wird gefragt, ob ein H2-Byte vorliegt. Dies wird aus dem Zählerstand (AUPO) des AU-Pointerzählers 11 entnommen. Liegt ein H2-Byte vor, wird überprüft, ob eine positive Stopfaktion vorliegt. Ist dies der Fall, wird der aktuelle Pointerwert Pakt(PA, n) gleich 0 gesetzt, wenn dieser gleich 782 ist. Sonst wird der aktuelle Pointerwert Pakt(PA, n) inkrementiert (Pakt(PA, n): = Pakt(PA, n-1)+1). Der aktuelle Pointerwert wird auf 782 geprüft, weil in einer Verwal­ tungseinheit AU-3 bzw. pro Bereich in einer Verwaltungsein­ heit AU-4 783 Datenbytes vorliegen. Liegt eine negative Stopfaktion vor, wird der aktuelle Pointerwert dekremen­ tiert (Pakt(PA, n): = Pakt(PA, n-1)-1), wenn dieser ungleich 0 ist. Sonst wird der aktuelle Pointerwert gleich 782 ge­ setzt. Wenn kein H2-Byte vorkommt, wird der bisherige ak­ tuelle Pointerwert übernommen und der Zählerstand des Stopfzählers SZ wird gleich dem Wert 0 gesetzt. Ist der Inhalt des Stopfzählers SZ ungleich 3, wird keine Stopfak­ tion durchgeführt und der Stopfzähler SZ wird mit dem Wert 0 belegt. Falls keine Stopfaktion durchgeführt werden soll, wird überprüft, ob der Inhalt des Stopfzählers SZ den Wert 3 aufweist. Ist dies der Fall, wird der Inhalt des Stopfzählers SZ nicht verändert. Im anderen Fall wird der Stopfzähler SZ inkrementiert. Damit ist die Auswerte­ routine beendet.
Nachdem die Auswerteroutine abgearbeitet ist, wird im Zustandsablauf der Hauptanordnung 10 der aktuelle Pointer­ wert Pakt(PA, n) und der neue Pointerwert P(PA, n) und die Stopfinformation, ob positiv, negativ oder überhaupt nicht gestopft wird, im Pointerspeicher abgelegt.
Der folgende Teil des Zustandsablaufs der Hauptanordnung 10 ermittelt, ob ein H3- oder V3-Byte vorliegt und die Stelle des J1-Bytes. Es liegt also kein H1-, H2-, V1- oder V2-Byte vor. Dann wird gefragt, ob ein H3-Byte vorliegt. Dies wird aus dem Zählerstand (AUPO) des AU-Pointerzäh­ lers 11 ermittelt. Ist ein H3-Byte vorhanden, wird über­ prüft, ob eine negative Stopfstelle vorliegt. Liegt keine negative Stopfstelle vor, wird der Zeiger DAT gleich 0 gesetzt und zum Ende gesprungen. Es liegen dann also keine Daten im H3-Pointer und auch kein J1-Byte vor. Im anderen Fall wird der Zeiger DAT gleich 1 gesetzt, d. h. es liegen an der Stelle des H3-Pointers Nutzdatenbytes vor. An­ schließend wird zur Marke 21 gesprungen. Wenn das vorlie­ gende Datenbyte kein H3-Byte ist, wird überprüft, ob eine Stopfstelle für eine AU-3 oder AU-4 vorliegt. Der Inhalt des AU-Pointerzählers 11 weist in diesem Fall die Zahlen 9, 10 oder 11 auf. Liegt keine solche Stopfstelle vor, wird zur Marke 21 gesprungen. Im anderen Fall wird, wenn eine positive Stopfstelle vorliegt, der Zeiger DAT gleich 0 gesetzt, d. h. es liegen keine Nutzdatenbytes vor, und anschließend zum Ende gesprungen.
Als nächstes folgt dann die Marke 21. Weiter wird dann der Pointerwert Pakt(PA, n) für die TU-3, TU-2, TU-12 und TU-11 und die Stopfinformation aus dem Pointerspeicher an die Schreibschaltung 4 geliefert. Ein Pointerwert Pakt(PA, n) für die AU-4 oder AU-3 wird nicht an die Schreibsteuer­ schaltung ausgegeben und bleibt im Pointerspeicher gespei­ chert.
Dann wird ermittelt, ob das J1-Byte vorliegt. Hierzu wird überprüft, ob der aus dem Pointerspeicher ausgelesene AU- Pointerwert Pakt(PA, n) gleich dem Inhalt (AUVC) des AU-Posi­ tionszählers 12 ist. Wenn dies der Fall ist, wird eine J1- Kennzeichnung an die Schreibschaltung 4 gegeben.
Zuletzt wird noch ermittelt, ob ein V3-Byte vorliegt. Ein solches V3-Byte ist vorhanden, wenn die Schreibschaltung 4 die Pointerkennzeichnung V3 liefert. Die folgende Über­ prüfung, ob Stopfaktionen vorliegen, werden nur getätigt, wenn der Zeiger STOPFDAT gleich 1 ist. Wird dies bejaht, wird zuerst überprüft, ob eine positive Stopfaktion vor­ liegt. Ist dies der Fall, wird zu einer Kennungsroutine 1 (Anhang B) gesprungen. In der Kennungsroutine 1 wird, wenn eine TU-3 vorliegt, d. h. die von der Schreibschaltung 4 gelieferte TU-Kennung gleich 4 ist, der neue aktuelle Pointerwert Pakt(PA, n) inkrementiert, wenn der bisherige Pointerwert Pakt(PA, n-1) nicht gleich 764 ist. Ist der bis­ herige Pointerwert 764, wird der neue Pointerwert Pakt(PA, n) gleich 0 gesetzt. Wenn eine TU-2 (TU-Kennung gleich 0) vorliegt, wird der neue Pointerwert Pakt(PA, n) nur bei der Zahl 427 nicht inkrementiert. Dann wird er gleich 0 gesetzt. Wenn die TU-Kennung gleich 2 (TU-12) ist, wird der neue Pointerwert Pakt(PA, n) gleich 0 gesetzt, falls der bisherige Pointerwert Pakt(PA, n-1) gleich 139 ist und sonst inkrementiert. Bei einer TU-11 (TU-Kennung gleich 3) wird der neue Pointerwert Pakt(PA, n) gleich 0 gesetzt, wenn der bisherige Pointerwert Pakt(PA, n-1) gleich 103 ist und sonst inkrementiert. Nach Abarbeitung der Kennungsroutine 1 wird der aktuelle Pointerwert Pakt(PA, n) im Pointerspeicher ge­ speichert.
Falls eine negative Stopfaktion vorliegt, wird zu einer Kennungsroutine 2 (Anhang B) gesprungen. In der Kennungs­ routine 2 wird zuerst gefragt, ob die TU-Kennung gleich 4 ist, d. h. es liegt eine TU-3 vor. Ist dies der Fall, wird überprüft, ob der bisherige aktuelle Pointerwert Pakt(PA, n-1) gleich 0 ist. Wird dies bejaht, wird der neue aktuelle Pointerwert Pakt(PA, n) gleich 764 gesetzt und im anderen Fall dekrementiert. Wenn eine TU-2 (TU-Kennung gleich 0) vorliegt, wird der neue Pointerwert Pakt(PA, n) gleich 427 gesetzt, wenn der bisherige Pointerwert Pakt(PA, n-1) gleich 0 ist und im anderen Fall dekrementiert. Bei der TU-Ken­ nung gleich 2 (TU-12) wird der neue Pointerwert Pakt(PA, n) gleich 139 gesetzt, wenn der bisherige Pointerwert Pakt(PA, n-1) gleich 0 ist und im anderen Fall dekrementiert. Wenn eine TU-11 (TU-Kennung gleich 3) vorliegt, wird der neue Pointerwert Pakt(PA, n) dekrementiert, wenn der bisheri­ ge aktuelle Pointerwert Pakt(PA, n-1) ungleich 0 ist und im anderen Fall, wenn der bisherige aktuelle Pointerwert Pakt(PA, n-1) gleich 0 ist, wird der neue aktuelle Pointerwert Pakt(PA, n) gleich 103 gesetzt. Damit ist das Ende des Zustandsablaufs der Hauptanordnung 10 erreicht.
Eine Inkrementierung oder Dekrementierung des Pointerwer­ tes in den Kennungsroutinen 1 oder 2 findet erst statt, wenn das H3-Pointerbyte einer TU-3 oder das V3-Pointerbyte einer TU-2, TU-12 oder TU-11 aufgetreten ist. Falls die Auswertung der H1- bzw. V1- und H2- bzw. V2-Pointerbytes ergibt, daß eine positive oder negative Stopfaktion vor­ liegt und der aktuelle Pointerwert nach dem H2- bzw. V2- Pointerbyte und vor dem H3- bzw. V3-Pointerbyte auftritt, wird trotzdem erst nach dem Auftreten des H3- bzw. V3- Pointerbytes eine Inkrementierung oder Dekrementierung des aktuellen Pointerwertes durchgeführt. Die negative oder positive Stopfstelle hat nämlich erst mit dem Auftreten des H3- bzw. V3-Pointerbytes Einfluß auf den Anfang der betreffenden TU-Transporteinheit.
Ein zweites Ausführungsbeispiel der erfindungsgemäßen Schaltungsanordnung zur Steuerung eines Pufferspeichers 13 für einen Auslesevorgang ist schematisch in der Fig. 13 dargestellt. Der Pufferspeicher 13 wird von einer Sende- Steueranordnung 14 gesteuert und erhält von dieser einen Lesebefehl und eine Pufferspeicheradresse PS. Der Puffer­ speicher 13 liefert der Sende-Steueranordnung die an der Pufferspeicheradresse PS abgelegten Nutzdatenbytes und den Zeigerwert J1D. Des weiteren erhält die Sende-Steueranord­ nung 14 noch Daten von einem Managementspeicher des Sy­ stemmanagement und Stopfdaten aus einer hier nicht näher dargestellten Stopfentscheidungsschaltung, die beispiels­ weise aus der deutschen Patentanmeldung P 41 08 429 be­ kannt ist. Die Leseschaltung liefert dann noch Ausgangs­ daten an die nicht näher dargestellte nachfolgende Schal­ tungsanordnung, welche die Ausgangsdaten mit SOH-Daten kombiniert.
Die Sende-Steueranordnung 14 enthält eine Sende-Pointer­ schaltung 15 und eine Leseschaltung 16. Die Leseschaltung 16 liefert an die Sende-Pointerschaltung 15 eine Pointer­ adresse PA eine TU-Kennung, Pointerkennzeichnungen V1, V2, V3, V3P und V4, den Zählerstand von einem STM-Spaltenzäh­ ler und STM-Zeilenzähler und einen Positionszeiger TUPOS. Die Sende-Pointerschaltung 15 liefert an die Leseschaltung 16 die H1-, H2-, V1- und V2-Bytes. Des weiteren wird mit­ geteilt, wann eine positive bzw. negative Stopfaktion vorliegt und der Pointerwert.
In Fig. 14 ist ein Blockschaltbild der Leseschaltung 16 gezeigt, die eine Sende-Zähleranordnung 17, eine Sende- Adressierungsanordnung 18, eine Sende-Rahmenzähleranord­ nung 19 und eine Leseentscheidungsanordnung 20 enthält. Die Sende-Zähleranordnung 17 ist ähnlich aufgebaut wie die Empfangs-Zähleranordnung 6. Sie enthält drei einem Bereich zugeordnete Zählerstufen. Jede Zählerstufe enthält einen Spaltenzähler AUS(B), einen Zeilenzähler AUZ(B), einen Zähler TUG2(B), einen Zähler TU11(B) und einen Zähler TU12(B). Ferner sind noch vier Positionszähler TU3POS(B), TU2POS(B), TU12POS(B) und TU11POS(B) in jeder Zählerstufe vorhanden. Diese Zähler haben die gleiche Funktion wie die Zähler in der Empfangs-Zähleranordnung 6. Anhand der ver­ schiedenen Zählerstände setzt die Sende-Zähleranordnung 17 verschiedene Pointerzeiger (H1TU3(B), . . . , VTU12(B)), die kennzeichnen, daß das anliegende Datenbyte möglicherweise ein Pointerbyte oder eine Stopfstelle ist. Diese Pointer­ zeiger werden an die Sende-Adressierungsanordnung 18 ge­ liefert. Des weiteren erhält die Sende-Adressierungsanord­ nung 18 die Zählerstände der Positionszähler.
Von dem Pufferspeicher 13 werden der Sende-Zähleranord­ nung 17 die Datenbytes zugeführt und von einem Management­ speicher des Systemmanagements erhält die Sende-Zähler­ anordnung 17 Daten zugeführt. An die Leseentscheidungs­ anordnung 20 liefert die Sende-Zähleranordnung 17 noch die TU-Zeiger TU3D(B) und TUG2(B).
In der Sende-Rahmenzähleranordnung 19 ist ein STM-Spalten­ zähler STMS, ein STM-Zeilenzähler STMZ, ein Bereichszäh­ ler B und ein Positionszähler AUPOS vorhanden. Die Zähler werden jeweils durch ein Start-Kennzeichen von dem System­ management gestartet, daß periodisch geliefert wird. Der STM-Spaltenzähler zählt die Spalten des STM-1-Rahmens und der STM-Zeilenzähler die Zeilen des STM-1-Rahmens. Der Bereichszähler ordnet jeder Spalte einen von drei Berei­ chen zu und liefert seinen Zählerinhalt als Bereichsken­ nung B an die Sende-Zähleranordnung 17, die Sende-Adres­ sierungsanordnung 18 und die Leseentscheidungsanord­ nung 20. Der Positionszähler AUPOS zählt in einem STM-1- Rahmen die Positionen in einem AU-Nutzdatenbereich bei der Bereichskennung B = 0. Die Zählerinhalte des STM-Spaltenzäh­ lers und des STM-Zeilenzählers werden noch der Sende-Zäh­ leranordnung 17 zugeführt. Des weiteren wird in der Sende- Rahmenzähleranordnung 19 noch ein Zeiger AUDAT erzeugt, der die Datenbytes des AU-Nutzdatenbereiches kennzeichnet. Dieser Zeiger AUDAT wird an die Sende-Zähleranordnung 17 und die Leseentscheidungsanordnung 20 geliefert. Die Sen­ de-Rahmenzähleranordnung 19 gibt auch noch an, welcher der vier Rahmen vorliegt. Hierzu gibt sie den Wert H4akt(B, n) aus, der an die Sende-Adressierungsanordnung 18 geliefert wird. Ferner gibt die Sende-Rahmenzähleranordnung 19 noch eine Pointerkennzeichnung H1, H2, H3 und H3P für die AU- Pointerbytes an die Leseentscheidungsanordnung 20.
In der Sende-Adressierungsanordnung 18 wird die TU-Ken­ nung, die Pointeradresse PA, die Pufferspeicheradresse PS, eine Pointerkennzeichnung V1, V2, V3, V3P und V4 und ein Positionszeiger TUPOS gebildet. Der Positionszeiger TUPOS liefert den Wert eines der Positionszähler TU3POS(B), TU2POS(B), TU12POS(B) oder TU11POS(B). Eine Pointerkenn­ zeichnung 43913 00070 552 001000280000000200012000285914380200040 0002004222547 00004 43794V1 bis V4 kennzeichnet, welches Pointerbyte vorliegt und ob eine positive Stopfmöglichkeit vorhanden ist.
Die Leseentscheidungsanordnung 20, die Datenbytes und den Zeiger J1D von dem Pufferspeicher 13, H1-, H2-, V1- und V2-Bytes und eine Mitteilung über eine Stopfaktion von der Sende-Pointerschaltung 15 empfängt, erzeugt einen Lesebe­ fehl und Ausgangsdatenbytes. Zur Bildung der Pufferspei­ cheradresse PS wird von der Leseentscheidungsanordnung 20 an die Sende-Adressierungsanordnung 18 noch der Zähler­ stand von einem Lesezähler geliefert. Ebenso wie in der Schreibentscheidungsanordnung 9 sind in der Leseentschei­ dungsanordnung 20 für einen VC-4 ein Lesezähler VC4RC, für jeweils einen VC-3 ein Schreibzähler VC3RC(B) und für maximal 84 niederbitratige Container ein Schreibzähler LORC(PA) vorhanden. Außerdem ist noch ein AU-3-Spaltenzäh­ ler AU3S(B) vorhanden, der die Spalten einer AU-3 zählt.
Die Anordnungen 17 bis 20 können ebenfalls Teile einer anwendungsspezifischen integrierten Schaltung (ASIC) oder Prozessorelemente sein, die im folgenden über einen Zu­ standsablauf erläutert werden.
Zuerst wird die Sende-Rahmenzähleranordnung mittels des im Anhang C aufgeführten Zustandsablaufs beschrieben. Wenn ein vom Systemmanagement periodisch der Sende-Rahmenzähler­ anordnung zugeführtes Start-Kennzeichen vorliegt, wird der Zählerstand des STM-Spaltenzählers STMS, des STM-Zeilen­ zählers STMZ und des Bereichszählers B auf 0 gesetzt. Der Positionszähler AUPOS wird auf 521 gesetzt (Der Wert 521 stellt die Position des letzten Byte im vorhergehenden Rahmen für den ersten Bereich dar.). Der Zeiger H4akt(B, n) wird inkrementiert. Bei dem Wert 4 wird der Zeiger H4akt(B, n) auf 0 gesetzt. Wenn kein Start-Kennzeichen vor­ liegt, wird der STM-Spaltenzähler STMS inkrementiert bis zum Wert 270. Dann wird STM-Spaltenzähler STMS auf 0 ge­ setzt. Falls der STM-Spaltenzähler STMS gleich 0 ist, wird der Zeilenzähler STMZ um eine Einheit erhöht bis zum Wert 9. Dann wird dieser Spaltenzähler gleich 0 gesetzt. Der Bereichszähler wird ebenfalls inkrementiert wenn kein Start-Kennzeichen vorliegt. Der Bereichszähler stellt einen Modulo-3-Zähler dar, der bei dem Zählerinhalt von 3 auf 0 gesetzt wird. Mit den bisher beschriebenen Zählern wird eine Spalte und eine Zeile im STM-1-Rahmen gekenn­ zeichnet und der jeweilige Bereich mittels einer Bereichs­ kennung B gekennzeichnet.
Als nächstes werden die Pointerkennzeichnungen H1, H2, H3 und H3P gebildet, welche die Pointerbytes im AU-Pointer kennzeichnen. Wenn der Zählerinhalt des STM-Zeilenzählers STMZ gleich 3 ist, wird überprüft, zu welcher Spalte das anliegende Datenbyte gehört. Wenn der STM-Spaltenzähler STMS gleich 0, 1 oder 2 ist, wird die Pointerkennzeichnung H1 gleich 1 gesetzt und im anderen Fall gleich 0, wenn der STM-Spaltenzähler STMS gleich 3, 4 oder 5 ist, wird die Pointerkennzeichnung H2 gleich 1 und im anderen Fall gleich 0 gesetzt, wenn der STM-Spaltenzähler STMS gleich 6, 7 oder 8 ist, wird die Pointerkennzeichnung H3 gleich 1 und im anderen Fall gleich 0 gesetzt und wenn der STM- Spaltenzähler STMS gleich 9, 10 oder 11 ist, liegt eine positive Stopfmöglichkeit vor und die Pointerkennzeichnung H3P wird gleich 1 und im anderen Fall gleich 0 gesetzt. Zuletzt wird noch ein Zeiger AUDAT gleich 1 gesetzt, wenn der STM-Spaltenzähler STMS größer 8 ist. Im anderen Fall wird der Zeiger AUDAT der Wert 0 zugewiesen. Der Zeiger AUDAT kennzeichnet den Bereich für gültige Sendedaten und schließt die SOH des STM-1-Rahmens und den AU-Pointerbe­ reich aus. Dann wird überprüft, ob der Zeiger AUDAT gleich 1 und die Bereichskennung B gleich 0 ist. Wird dies bejaht, wird der Positionszähler AUPOS inkrementiert. Bei dem Wert 783 wird der Zählerstand des Positionszählers auf 0 gesetzt.
Im folgenden wird der Zustands- oder Programmablauf der Sende-Zähleranordnung 17 beschrieben. Nach dem Start wird abgefragt, ob der Zeiger AUDAT gleich 1 ist. Ist dies nicht der Fall, wird zum Start zurückgesprungen. Im ande­ ren Fall wird überprüft, ob der Zählerinhalt des STM-Spal­ tenzählers STMS gleich 9 und der Zählerinhalt des STM- Zeilenzählers STMZ gleich 3 ist. Wird dies bejaht, wird zur Initialisierungsroutine gesprungen, die beim Zustands­ ablauf der Empfangs-Zähleranordnung 6 (Anhang A) be­ schrieben worden ist. Die Zähler der einzelnen Zählerstu­ fen in der Sende-Zähleranordnung 17 werden also direkt nach Auftreten der AU-Pointerbytes initialisiert. Wenn das Datenbyte direkt nach den AU-Pointerbytes nicht vorliegt, wird überprüft, ob die Bereichskennung B gleich 0 ist. Ist dies der Fall, wird überprüft, ob eine AU-4 vorliegt. Diese Information wird vom Managementspeicher erhalten. Ist dies der Fall, wird zur Zählerroutine 1 (Anhang A) gesprungen, die auch schon in der Empfangs-Zähleranordnung 6 verwendet worden ist. Im anderen Fall wird zur Zähler­ routine 2 (Anhang A) gesprungen, die ebenfalls in der Empfangs-Zähleranordnung 6 beschrieben worden ist. Ist die Bereichskennung B ungleich 0, wird zurück zum Start ge­ sprungen und der Programmablauf der Sende-Zähleranordnung 17 ist beendet. Bei der Sende-Zähleranordnung 17 ist nur eine Zählstufe erforderlich, da die einzelnen Bereiche innerhalb des STM-1-Rahmens nicht zueinander verschoben sind, d. h. es wird nur für den 1. Bereich (Bereichskennung B = 0) eine Zählung durchgeführt.
In der Sende-Adressierungsanordnung 18 wird außer der TU- Kennung eine Pointeradresse PA und eine Pufferspeicherad­ resse PS für ein Datenbyte gebildet. Im Zustandsablauf der Sende-Adressierungsanordnung 18 wird zuerst die TU-Kennung gleich 0 gesetzt. Danach wird überprüft, ob ein VC-4 vor­ liegt (aus Managementspeicher). Ist das der Fall, wird die Pufferspeicheradresse PS gleich dem Inhalt des Lesezählers VC4RC und die Pointeradresse PA gleich "00111BB" gesetzt. Die beiden Buchstaben "B" sind für den Bereich reserviert. Wenn kein VC-4 vorliegt, wird abgefragt, ob in einer AU-3 ein VC-3 vorhanden ist (aus Managementspeicher). Wird dies bejaht, wird die Pufferspeicheradresse PS gleich dem In­ halt des Lesezählers VC3RC(B) und die Pointeradresse PA gleich "00111BB" gesetzt. Liegt auch keine VC-3 in einer AU-3 vor, wird überprüft, ob eine VC-3 in einer AU-4 transportiert wird (aus Managementspeicher). Wird dies bejaht, wird die Pufferspeicheradresse PS gleich dem In­ halt des Lesezählers VC3RC(B) und die Pointeradresse PA gleich "BB00000" gesetzt. Wird diese Abfrage ebenfalls verneint, wird zur Sende-TUG-2-Adreß-Routine (Anhang C) gesprungen.
Zuerst wird nach dem Start der Sende-TUG2-Adreß-Routine eine Zwischenadresse ZW gleich "BBTTT" gesetzt. Die beiden Buchstaben "B" stehen für den Bereich und die drei Buch­ staben "T" sind für den Inhalt des Zählers TUG2(B) reser­ viert. Wenn eine TU-2 vorliegt (aus Managementspeicher) wird die Pointeradresse PA gleich der Zwischenadresse und bei niederwertigen Bits, die gleich "0" gesetzt sind, zusammengefügt. Wenn keine TU-2 vorliegt, wird aus dem Managementspeicher entnommen, ob eine TU-12 vorkommt. Ist dies der Fall, wird als Pointeradresse PA ein Datenwort gebildet, welches als höherwertige Bits die Zwischenadres­ se ZW und als niederwertige Bits den Inhalt des Zählers TU12(B) enthält. Liegt keine TU-12 vor, liegt eine TU-11 vor. Die Pointeradresse PA wird dann aus der Zwischen­ adresse und dem Inhalt des Zählers TU11(B) zusammengefügt. Anschließend wird noch die Pufferspeicheradresse PS aus der Pointeradresse PA und dem Inhalt des Lesezählers LORC(PA) zusammengesetzt. Die Pointeradresse bildet dabei die höherwertigen Bits. Hiermit ist die Sende-TUG2-Adreß- Routine beendet.
Anschließend werden die in der Sende-Zähleranordnung 17 bestimmten Zeiger für Pointerpositionen den Pointerkenn­ zeichnungen V1, V2, V3, V3P und V4 und der Inhalt eines Positionszählers dem Positionszeiger TUPOS in der Sende- Adressierungsanordnung 18 zugewiesen. Als erstes wird mit Hilfe des Managementspeichers überprüft, ob eine TU-3 vorliegt. Ist dies der Fall, wird die TU-Kennung gleich 4 gesetzt und der Pointerkennzeichnung V1 der Pointerzeiger H1TU3(B) der Pointerkennzeichnung V2 der Pointerzeiger H2TU3(B) der Pointerkennzeichnung V3 der Pointerzeiger H3TU3(B), der Pointerkennzeichnung V3P der Pointerzeiger H3TU3P(B) und der Pointerkennzeichnung V4 der Wert 0 zu­ gewiesen. Dem Positionszeiger TUPOS wird noch der Zähler­ inhalt des Positionszählers TU3POS(B) zugewiesen.
Liegt keine TU-3 vor, wird gefragt, ob eine VC-3 in einer AU3 oder ein VC-4 in einer AU-4 vorliegt. Wird die Frage bejaht, werden die Pointerkennzeichnungen V1 gleich H1, V2 gleich H2, V3 gleich H3, V3P gleich H3P und V4 gleich 0 und der Positionszeiger TUPOS gleich dem Zählerstand des Positionszählers AUPOS gesetzt. Im anderen Fall wird über­ prüft, ob eine TU-11 vorhanden ist (aus dem Management­ speicher). Ist dies der Fall, wird die TU-Kennung gleich 3 gesetzt, ein Zeiger V gleich dem Pointerzeiger VTU11(B), ein Zeiger VP gleich dem Pointerzeiger VUT11P(B) und der Positionszeiger TUPOS gleich dem Inhalt des Positionszäh­ lers TU11POS(B) gesetzt. Liegt keine TU-11 vor, wird mit­ tels des Managementspeichers dann überprüft, ob eine TU-12 vorhanden ist. Ist dies der Fall, wird die TU-Kennung gleich 2, der Zeiger V gleich dem Pointerzeiger VTU12(B), der Zeiger VP gleich dem Pointerzeiger VTU12P(B) und der Positionszeiger TUPOS gleich dem Inhalt des Positionszäh­ lers TU12POS(B) gesetzt. Im anderen Fall wird die TU-Ken­ nung mit dem Wert 0, der Zeiger V mit dem Pointerzeiger VTU2(B), der Zeiger VP mit dem Pointerzeiger VTU2P(B) und der Positionszeiger mit dem Inhalt des Positionszählers TU2POS(B) belegt.
Im folgenden werden die Zeiger V und VP den Pointerkenn­ zeichnungen V1 bis V4 zugewiesen. Hierzu muß ermittelt werden, welcher Rahmen vorliegt. Wenn der erste Rahmen vorliegt (H4akt(B, n) = 0), wird die Pointerkennzeichnung V1 gleich dem Zeiger V und die restlichen Pointerkenn­ zeichnungen gleich 0 gesetzt. Wenn der zweite Rahmen vor­ liegt (H4akt(B, n) = 1), wird die Pointerkennzeichnung V2 gleich dem Zeiger V und die restlichen Pointerkenn­ zeichnungen gleich 0 gesetzt. Bei Vorliegen des dritten Rahmens (H4akt(B, n) = 2) wird die Pointerkennzeichnung V3 gleich dem Zeiger V und die Pointerkennzeichnung V3P gleich dem Zeiger VP gesetzt. Die anderen Zeiger werden mit dem Wert 0 belegt. Liegt der vierte Rahmen vor, wird der Pointerkennzeichnung V4 der Zeiger V und den anderen Pointerkennzeichnungen der Wert 0 zugeordnet. Mit dieser letzten Instruktion ist der Zustandsablauf der Sende- Adressierungsanordnung 18 beendet.
Im folgenden wird der Zustandsablauf der Leseentschei­ dungsanordnung 20 (Anhang C) beschrieben. Hier wird der Lesebefehl zum Beschreiben des Pufferspeichers 13 und eine Erhöhung des Zählerstandes verschiedener Zähler vorgenom­ men. Nach dem Start wird aus dem Managementspeicher ent­ nommen, ob ein VC-4 in einer AU-4 vorliegt. Ist das der Fall, wird überprüft, ob die Bereichskennung B gleich 0 ist. Wird dies bejaht, wird als nächstes überprüft, ob die Pointerkennzeichnung H1 gleich 1 ist. Dann liegt nämlich das erste Byte des AU-Pointers vor. Ist die Pointerkenn­ zeichnung H1 gleich 1, wird als Ausgangsdatenbyte das H1- Byte, welches von der Sende-Pointerschaltung 15 geliefert wird, verwendet. Ist die Pointerkennzeichnung H1 nicht gleich 1, wird überprüft, ob die Pointerkennzeichnung H2 gleich 1 ist. In diesem Fall wird das von der Sende-Poin­ terschaltung 15 gelieferte H2-Byte als Ausgangsdatenbyte verwendet. Wenn auch die Pointerkennzeichnung H2 ungleich 1 ist, wird ein Lesebefehl für jeweils drei Datenbytes erzeugt, wenn a) der Zeiger AUDAT gleich 1 ist und keine positive Stopfaktion vorliegt oder b) eine negative Stopf­ aktion vorliegt.
Wenn die Bereichskennung B ungleich 0 ist, wird zuerst abgefragt, ob die Pointerkennzeichnung H1 gleich 1 ist. Ist dies der Fall, werden die Ausgangsdaten mit Festwerten (Y-Bytes) belegt (vergl. Fig. 3.1/G709). Ist die Pointer­ kennzeichnung H1 ungleich 1, wird überprüft, ob die Poin­ terkennzeichnung H2 gleich 1 ist. Ist dies der Fall, wer­ den die Ausgangsdaten mit weiteren Festwerten, d. h. alle Bits werden gleich 1 gesetzt, belegt (vergl. Fig. 3.1/G709).
Als nächstes wird dann abgefragt, ob der Lesebefehl vor­ liegt. Wird dies bejaht, wird überprüft, ob der Zeiger J1D, der vom Pufferspeicher 13 geliefert wird, gleich 1 ist. Wird dies ebenfalls bejaht, wird, wenn der erste Bereich vorliegt, d. h. die Bereichskennung B gleich 0 ist, der Zählerinhalt des Lesezählers VC4RC inkrementiert. Bei dem Zählerinhalt 64 wird der Lesezähler VC4RC gleich 0 gesetzt. Wenn der zweite Bereich vorliegt, d. h. die Be­ reichskennung B gleich 1 ist, wird der Lesezähler um zwei Einheiten erhöht. Dies kann nach dem Einschalten der Schaltungsanordnung passieren, wenn der Zeiger J1D dem 2. Bereich zugeordnet ist. In dem anderen Fall, wenn der Zeiger J1D dem 3. Bereich (Bereichskennung B = 2) zugeordnet ist, wird keine Erhöhung des Lesezählers vorgenommen. Durch Nichtzählen wird nämlich auf den ersten Bereich korrigiert. Wenn der Zeiger J1D ungleich 1 ist, wird der Modulo-64-Lesezähler VC4RC inkrementiert. Als Ausgangs­ daten werden dann die Pufferspeicherdaten geliefert.
Als nächstes wird überprüft, ob ein VC-3 eines Bereiches in einer AU-3 vorkommt. Diese Information wird ebenfalls vom Managementspeicher des Systemmanagements geliefert.
Falls der VC-3 in einer AU-3 vorliegt, wird überprüft, ob die Pointerkennzeichnung H1 gleich 1 ist. Ist dies der Fall, wird als Ausgangsdatenbyte das von der Sende-Poin­ terschaltung gelieferte H1-Byte genommen. Im anderen Fall wird überprüft, ob die Pointerkennzeichnung H2 gleich 1 ist. Wenn das bejaht wird, wird als Ausgangsdatenbyte das H2-Byte von der Sende-Pointerschaltung 15 verwendet. Ist die Pointerkennzeichnung H2 ungleich 1, wird zu einer Hilfsroutine (Anhang C) gesprungen.
Hier wird zuerst überprüft (Hilfsroutine), ob a) der Zei­ ger AUDAT gleich 1 ist und ob keine positive Stopfaktion vorliegt oder b) eine negative Stopfaktion vorliegt. Bei einer Bejahung wird ein AU-3-Spaltenzähler AU3S(B) inkre­ mentiert. Bei einem Zählerstand von 87 des AU-3-Spalten­ zählers AU3S(B) wird dieser gleich 0 gesetzt. Dieser AU-3- Spaltenzähler AU3S(B) kennzeichnet eine Spalte in einer AU-3 (vergl. hierzu Fig. 2.3/G709). Zur Feststellung, ob feste Stopfstellen vorliegen, wird überprüft, ob der AU3- Spaltenzähler AU3S(B) gleich 29 oder gleich 58 ist. Ist das nicht der Fall, wird ein Lesebefehl erzeugt und der Lesezähler VC3RC(B) wird inkrementiert. Bei dem Wert 32 wird der Lesezähler VC3RC(B) gleich 0 gesetzt. Dann wird das Datenbyte des Pufferspeichers 13 als Ausgangsdatenbyte verwendet. Zum Schluß der Hilfsroutine wird überprüft, ob der Zeiger J1D gleich 1 ist. Ist dies der Fall, wird der AU-3-Spaltenzähler AU3S(B) gleich 0 gesetzt (Initiali­ sierung). Damit ist die Hilfsroutine beendet.
Als nächstes wird im Zustandsablauf der Leseentscheidungs­ anordnung 20 mit Hilfe des Managementspeichers überprüft, ob eine TU-3 vorliegt. Ist das der Fall, wird gefragt, ob a) der Zeiger AUDAT gleich 1 und b) der Zeiger TU3D(B) gleich 1 und keine positive Stopfaktion vorliegt oder c) eine negative Stopfaktion vorliegt. Ist dies der Fall, wird ein Lesebefehl erzeugt und der Lesezähler VC3RC(B) wird um eine Einheit erhöht. Bei einem Zählerstand von 32 wird dieser Lesezähler VC3RC(B) gleich 0 gesetzt. Dann wird noch das aus dem Pufferspeicher 13 ausgelesene Daten­ byte als Ausgangsdatenbyte ausgegeben. Wenn keine TU-3 vorliegt, wird überprüft, ob a) der Zeiger AUDAT gleich 1 und b) der Zeiger TUG2D(B) gleich 1 und c) die Pointer­ kennzeichnung V1 gleich 0 gesetzt ist und d) die Pointer­ kennzeichnung V2 gleich 0 gesetzt ist und e) die Pointer­ kennzeichnung V3 gleich 0 gesetzt ist oder eine negative Stopfaktion vorliegt und f) die Pointerkennzeichnung V3P gleich 0 gesetzt ist oder keine positive Stopfaktion vor­ liegt und g) die Pointerkennzeichnung V4 gleich 0 gesetzt ist. Ist diese Bedingung erfüllt, wird ein Lesebefehl erzeugt und ein Lesezähler LORC(PA) inkrementiert, der dem ausgelesenen Datenbyte zugeordnet ist. Ferner wird das Datenbyte als Ausgangsdatenbyte ausgegeben. Ein Lesezähler LORC(PA) ist ein Modulo-12-Zähler. Damit ist der Zustands­ ablauf der Leseentscheidungsanordnung 20 beendet.
Zum Schluß wird der Zustandsablauf der Sende-Pointerschal­ tung 15 (Anhang D) beschrieben, die einen Adreßzwischen­ speicher und einen Pointerspeicher enthält. Nach dem Start wird die von der Leseschaltung 16 gelieferte Pointeradres­ se PA in dem Adreßzwischenspeicher abgespeichert. Dann wird überprüft, ob eine Pointerkennzeichnung H1 oder V1 gleich 1 ist. Ist das der Fall, wird zu einer H1V1-Routine gesprungen. Ist das nicht der Fall, wird überprüft, ob die Pointerkennzeichnung H2 oder V2 gleich 1 ist. Wird dies bejaht, wird zu einer H2V2-Routine gesprungen. Bei einer Verneinung wird dann geprüft, ob die Pointerkennzeichnung H3 oder V3 gleich 1 ist. Ist dies der Fall, wird zu einer H3V3-Routine gesprungen. Ist die Pointerkennzeichnung H3 oder V3 nicht gleich 1, wird abgefragt, ob der Zeiger J1D gleich 1 ist, d. h. ob ein J1- oder V5-Byte dem entspre­ chenden Datenbyte aus dem Pufferspeicher 13 zugeordnet ist. Ist das nicht der Fall wird zum Ende des Programm- bzw. Zustandsablauf der Sende-Pointerschaltung 15 gesprun­ gen. Im anderen Fall wird der Wert des Positionszeigers TUPOS als Pointerwert Pakt(PA, n) im Pointerspeicher gespei­ chert. Damit ist der Zustandsablauf der Sende-Pointer­ schaltung 15 beendet.
Im folgenden wird die H1V1-Routine (Anhang D) beschrieben. Nach dem Start wird zuerst überprüft, ob gestopft werden soll. Diese Information wird von der hier nicht näher dargestellten Stopfentscheidungsschaltung geliefert. Wird das verneint, wird ein H1- oder V1-Byte mit dem Pointer­ wert gebildet und zum Ende der H1V1-Routine gesprungen. Im anderen Fall, wenn gestopft werden soll, wird die Stopf­ information im Pointerspeicher gespeichert und überprüft, ob positiv gestopft werden soll. Dann wird ein H1- oder V1-Byte mit dem Pointerwert mit einem invertierten I-Bit gebildet und zum Ende der Routine gesprungen. Wenn negativ gestopft werden soll, wird das H1- oder V1-Byte mit dem Pointerwert mit einem invertierten D-Bit gebildet.
In der H2V2-Routine (Anhang D) wird die Bildung eines H2- oder V2-Bytes beschrieben. Nach dem Start wird überprüft, ob gestopft werden soll. Ist das nicht der Fall, wird das H2- oder V2-Byte aus dem Pointerwert gebildet. Im anderen Fall wird bei einer positiven Stopfung das H2- oder V2- Byte aus dem Pointerwert mit invertierten I-Bits gebildet. Bei einer negativen Stopfung wird das H2- oder V2-Byte aus dem Pointerwert mit invertierten D-Bits gebildet. Damit ist die H2V2-Routine beendet.
Nach dem Start der H3V3-Routine (Anhang D) wird zuerst überprüft, ob die Pointerkennzeichnung H3 gleich 1 ist. Wenn das der Fall ist, wird überprüft, ob gestopft werden soll. Wenn gestopft werden soll, wird gefragt, ob positiv gestopft werden soll. Bei einer Bejahung, wird überprüft, ob der Pointerwert Pakt(PA, n-1) gleich 782 ist. Ist dies der Fall, wird der Pointerwert Pakt(PA, n) gleich 0 gesetzt. Im anderen Fall wird der Pointerwert inkrementiert (Pakt(PA, n): = Pakt(PA, n-1)+1). Bei einer negativen Stopfung wird gefragt, ob der Pointerwert Pakt(PA, n-) gleich 0 ist. Ist dies der Fall, wird der Pointerwert Pakt(PA, n) gleich 782 gesetzt. Im anderen Fall wird der Pointerwert dekre­ mentiert (Pakt(PA, n): = Pakt(PA, n-1)-1). Wenn die Pointerkenn­ zeichnung H3 ungleich 1 ist, liegt die Stelle für das V3- Byte vor. Wenn gestopft werden soll, wird bei einer posi­ tiven Stopfaktion zur Kennungsroutine 1 (Anhang B) und bei einer negativen Stopfaktion zur Kennungspoutine 2 (An­ hang B) gesprungen. Diese beiden Kennungsroutinen 1 und 2 sind schon jeweils bei der Erläuterung der Empfangs-Poin­ terschaltung 5 beschrieben worden. Zum Schluß wird der aktuelle Pointerwert Pakt(PA, n) im Pointerspeicher gespei­ chert. Damit ist die H3V3-Routine beendet.
Anhang A Empfangs-Zähleranordnung 6
Start:
DAT = 1?
nein: zurück zum Start
ja: Liegt J1-Kennzeichnung vor
ja: Liegt Verwaltungseinheit AU-4 vor?
ja: Setze Bereich B: = 0, 1, 2:
Sprung zur Initialisierungsroutine
nein: Sprung zur Initialisierungsroutine
nein: Liegt Verwaltungseinheit AU-4 vor?
ja: Sprung zur Zählerroutine 1
nein: Sprung zur Zählerroutine 2
Ende:
Initialisierungsroutine
Start:
Spaltenzähler AUS(B): = 0
Zeilenzähler AUZ(B): = 0
Zähler TUG2(B): = 6
Zähler TU11(B): = 3
Zähler TU12(B): = 2
Positionszähler TU3POS(B): = 594
H4akt(B, n) = 0?
ja: Positionszähler TU2POS(B): = 320
Positionszähler TU12POS(B): = 104
Positionszähler TU11POS(B): = 77
Ende:
Zählerroutine 1
Start:
Spaltenzähler AUS(B) = 86?
ja: Spaltenzähler AUS(B): = 0
Zeilenzähler AUZ(B): = AUZ(B)+1 MOD 9
nein: Spaltenzähler AUS(B): = AUS(B)+1
Spaltenzähler AUS(B)<1?
nein: TU-Zeiger TU3D(B): = 0
ja: TU-Zeiger TU3D(B): = 1
Positionszähler TU3POS(B): = TU3POS(B)+1 MOD 765 Spaltenzähler AUS (B ) = 1?
nein: Pointerzeiger H1TU3(B), H2TU3(B), H3TU3(B) = 0 Spaltenzähler AUS(B) = 2 und Zeilenzähler AUZ(B) = 2?
nein: Pointerzeiger H3TU3P(B): = 0
ja: Pointerzeiger H3TU3P(B): = 1
ja: Zeilenzähler AUZ(B) = 0?
ja: Pointerzeiger H1TU3(B): = 1
nein: Zeilenzähler AUZ(B) = 1? ja: Pointerzeiger H2TU3(B): = 1
nein: Zeilenzähler AUZ(B) = 2?
ja: Pointerzeiger H3TU3(B): = 1
Spaltenzähler AUS(B)<2?
nein: TU-Zeiger TUG2D(B): = 0
ja: TU-Zeiger TUG2D(B): = 1
Zähler TUG2(B) = 6?
nein: Zähler TUG2(B): = TUG2(B)+1
ja: Zähler TUG2(B): = 0
Spaltenzähler AUS(B)<10 und Zeilenzähler AUZ(B) = 0?
ja: Pointerzeiger VTU2(B): = 1
nein: Pointerzeiger VTU2(B): = 0
Positionszähler
TU2POS(B): = TU2POS(B)+1 MOD 428
Spaltenzähler AUS(B)<17 und Zeilenzähler AUZ(B) = 0?
nein: Pointerzeiger VTU2P(B): = 0
ja: Pointerzeiger VTU2P(B): = 1
Spaltenzähler AUS(B)<2 und Zähler TUG2(B) = 0?
nein: Sprung zur Marke 11
ja: Zähler TU11(B) = 3?
nein: Zähler TU11(B): = TU11(B)+1
ja: Zähler TU11(B): = 0
Spaltenzähler AUS(B)<31 und Zeilenzähler AUZ(B) = 0?
ja: Pointerzeiger VTU11(B): = 1
nein: Pointerzeiger VTU11(B): = 0
Positionszähler
TU11POS(B): = TU11POS(B)+1 MOD 104
Spaltenzähler AUS(B)<59 und Zeilenzähler AUZ(B) = 0?
ja: Pointerzeiger VTU11P(B): = 1
nein: Pointerzeiger VTU11P(B): = 0
Marke 11:
Spaltenzähler AUS(B)<2 und Zähler TUG2(B) = 0?
ja: Zähler TU12(B) = 2?
nein: Zähler TU12(B): = TU12(B)+1
ja: Zähler TU12(B): = 0
Spaltenzähler AUS(B)<24 und Zeilenzähler AUZ(B) = 0?
ja: Pointerzeiger VTU12(B): = 1
nein: Pointerzeiger VTU12(B): = 0
Positionszähler
TU12POS(B): = TU12POS(B)+1 MOD 140
Spaltenzähler AUS(B)<45 und Zeilenzähler AUZ(B) = 0?
ja: Pointerzeiger VTU12P(B): = 1
nein: Pointerzeiger VTU12P(B): = 0
Ende:
Zählerroutine 2
Start:
Spaltenzähler AUS(B) = 86?
ja: Spaltenzähler AUS(B): = 0
Zeilenzähler AUZ(B): = AUZ(B)+1 MOD 9
nein: Spaltenzähler AUS(B): = AUS(B)+1
Spaltenzähler AUS(B) = 0 oder AUS(B) = 29 oder AUS(B) = 58?
ja: TU-Zeiger TUG2D(B): = 0
nein: TU-Zeiger TUG2D(B): = 1
Zähler TUG2(B) = 6?
nein: Zähler TUG2(B): = TUG2(B)+1
ja: Zähler TUG2(B): = 0
Spaltenzähler AUS(B)<7?
nein: Pointerzeiger VTU2(B): = 1
ja: Pointerzeiger VTU2(B): = 0
Positionszähler
TU2POS(B): = TU2POS(B)+1 MOD 428
Spaltenzähler AUS(B)<14?
nein: Pointerzeiger VTU2P(B): = 1
ja: Pointerzeiger VTU2P(B): = 0
Zähler TUG2(B) = 0?
nein: Sprung zur Marke 12
ja: Zähler TU11(B) = 3?
nein: Zähler TU11(B): = TU11(B)+1
ja: Zähler TU11(B): = 0
Spaltenzähler AUS (B)<28?
nein: Pointerzeiger VTU11(B): = 1
ja: Pointerzeiger VTU11(B): = 0
Positionszähler TU11POS(B): = TU11POS(B)+1 MOD 104
Spaltenzähler AUS(B)<57?
ja: Pointerzeiger VTU11P(B): = 0
nein: Pointerzeiger VTU11P(B): = 1
Marke 12:
Zähler TUG2(B) = 0?
ja: Zähler TU12(B) = 2?
nein: Zähler TU12(B): = TU12(B)+1
ja: Zähler TU12(B): = 0
Spaltenzähler AUS(B)<21?
nein: Pointerzeiger VTU12(B): = 1
ja: Pointerzeiger VTU12(B): = 0
Positionszähler
TU12POS(B): = TU12POS(B)+1 MOD 140
Spaltenzähler AUS(B)<43?
ja: Pointerzeiger VTU12P(B): = 1
nein: Pointerzeiger VTU12P(B): = 0
Ende:
Empfangs-Adressierungsanordnung 7
Start:
TU-Kennung: = 0
Liegt eine VC-4 vor?
ja: Pufferspeicheradresse PS: = Schreibzähler VC4SC Pointeradresse PA: = "00111BB"
nein: Liegt eine VC-3 in einer AU-3 vor?
ja: Pufferspeicheradresse PS: = Schreibzähler VC3SC(B)
Pointeradresse PA: = "00111BB"
nein: Liegt eine VC-3 in einer AU-4 vor?
ja: Pufferspeicheradresse PS: = Schreibzähler VC3SC(B)
Pointeradresse PA: = "BB00000"
nein: Gehe zur TUG-2-Adreß-Routine
Liegt TU-3 vor?
ja: TU-Kennung: = 4
Pointerkennzeichnung V1: = H1TU3(B), V2: = H2TU3(B), V3: = H3TU3(B), V3P: = H3TU3P(B), V4: = 0 und Positions­ zeiger TUPOS: = TU3POS(B)
nein: Liegt VC-3 in AU-3 oder VC-4 in AU-4 vor?
ja: Pointerkennzeichnung V1: = 0, V2: = 0, V3: = 0, V3P: = 0, V4: = 0
nein: Liegt TU-11 vor?
ja: TU-Kennung: = 3
Zeiger V: = VTU11(B), VP: = VTU11P(B), TUPOS: = TU11POS(B)
nein: Liegt TU-12 vor?
ja: TU-Kennung: = 2
Zeiger V: = VTU12(B), VP: = VTU12P(B), TUPOS: = TU12POS(B)
nein: TU-Kennung: = 0
Zeiger V: = VTU2(B), VP: = VTU2P(B), TUPOS: = TU2POS(B)
H4akt(B, n) = 0?
ja: Pointerkennzeichnung V1: = V, V2: = 0, V3: = 0, V3P: = 0, V4: = 0
nein: H4akt(B, n) = 1?
ja: Pointerkennzeichnung V1: = 0, V2: = V, V3: = 0, V3P: = 0, V4: = 0
nein: H4akt(B, n) = 2?
ja: Pointerkennzeichnung V1: = 0, V2: = 0, V3: = V, V3P: = VP, V4: = 0
nein: Pointerkennzeichnung V1: = 0, V2: = 0, V: = 0, V3: = 0, V4 = V
Ende:
Empfangs-TUG2-Adreß-Routine
Start:
Zwischenadresse ZW: = "BBTTT"
Liegt TU-2 vor?
ja: Pointeradresse PA: = ZW/"00"
nein: Liegt TU-12 vor?
ja: Pointeradresse PA: = ZW/TU12(B)
nein: Pointeradresse PA: = ZW/TU11(B)
Pufferspeicheradresse PS: = PA/Schreibzähler LOSC (PA)
Ende:
Schreibentscheidungsanordnung 9
Start:
Liegt AU-4 mit VC-4 vor?
ja: Liegt J1-Kennzeichnung vor?
ja: Zeiger J1D: = 1
nein: Zeiger J1D: = 0
DAT = 1?
ja: Erzeugung des Schreibbefehls
nein: Liegt AU-3 mit VC-3 eines Bereiches vor?
ja: Liegt J1-Kennzeichnung vor?
ja: Zeiger J1D: = 1
nein: Zeiger J1D: = 0
Ist DAT = 1 und Spaltenzähler AUS(B) ≠29 und ≠58?
ja: Erzeugung des Schreibbefehls
nein: Ist TUPOS = Pointerwert?
ja: Zeiger J1D: = 1
nein: Zeiger J1D: = 0
Liegt TU-3 vor?
ja: a) Ist DAT = 1 und
b) ist TU3D(B) = 1 gesetzt und
c) liegt keine positive Stopfaktion vor oder
d) liegt eine negative Stopfaktion vor?
ja: Erzeugung des Schreibbefehls
nein: a) Ist DAT = 1 und
b) ist TUG2D(B) = 1 gesetzt und
c) ist V1 = 0 gesetzt und
d) ist V2 = 0 gesetzt und
e) ist V3 = 0 gesetzt oder liegt eine ne­ gative Stopfaktion vor und
f) ist V3P = 0 gesetzt oder liegt keine positive Stopfaktion vor und
g) ist V4 = 0 gesetzt?
ja: Erzeugung des Schreibbefehls
Liegt Schreibbefehl vor?
ja: Schreibzähler VC4SC: = VC4SC+1 MOD 64
Schreibzähler VC3SC(B): = VC3SC(B)+1 MOD 32
Schreibzähler LOSC(PA): = LOSC(PA)+1 MOD 12
Datenbyte und Zeiger J1D in Pufferspeicher
Ende:
H4-Anordnung 8
Start:
Spaltenzähler AUS(B) = 0 und Zeilenzähler AUZ(B) = 5 und DAT = 1?
ja: Liegt AU-4 vor?
ja: Setze B: = 0, 1, 2:
Ermittlung des H4-Wertes aus den beiden niederwer­ tigsten Bits des H4-Bytes;
Speicherung des H4-Wertes in H4-Speicher;
Ist der neu empfangene H4-Wert H4neu(B, n) gleich dem aktuellen H4-Wert H4akt(B, n-1)+1?
ja: H4akt(B, n): = H4neu (B, n)
nein: Bildet der neu empfangene H4-Wert H4neu(B, n) zusammen mit den davor empfangenen vier letz­ ten H4-Werten H4neu(B, n-i), i = 1, . . . , 4, eine Sequenz?
ja: H4akt(B, n): = H4neu(B, n)
nein: H4akt(B, n) = H4akt(B, b-1)+1
Ende:
Anhang B Empfangs-Pointerschaltung 5 AU-Pointerzähler 11
Start:
Liegt AU-Pointer-Kennung vor?
ja: AU-Pointerzähler AUPO: = 0
nein: AU-Pointerzähler AUPO = 12?
nein: AU-Pointerzähler AUPO: = AUPO+1
ja: keine Veränderung des Inhaltes des AU-Pointerzählers AUPO
Ende:
AU-Positionszähler 12
Start:
Liegt ein Sperrsignal vor?
nein: DAT: = 1
Liegt erster Bereich vor (B = 0)?
ja: AU-Positionszähler AUVC: = AUVC+1
nein: Keine Änderung des Inhaltes des AU-Positions­ zählers AUVC
ja: DAT: = 0
Liegt die erste positive Stopfstelle vor?
ja: AU-Positionszähler AUVC: = 0
nein: Keine Änderung des Inhaltes des AU-Positions­ zählers AUVC
Ende:
Hauptanordnung 10
Start:
Abspeicherung der Pointeradresse PA in einem Adreßzwischenspeicher Liegt ein H1-, H2-, V1- oder V2-Byte vor?
ja: Liegt H1- oder V1-Byte vor?
ja: Zwischenspeicherung des H1- oder V1-Bytes im H1V1-Speicher;
nein: Sprung zur Auswerteroutine
Speichere den aktuellen Pointerwert Pakt(PA, n) und den neuen Pointerwert P(PA, n) und Stopf­ information im Pointerspeicher;
nein: Liegt H3-Byte vor?
ja: Liegt eine negative Stopfstelle vor?
nein: DAT: = 0
Sprung zum Ende
ja: DAT: = 1
Sprung zur Marke 21
nein: Liegt eine Stopfstelle für Verwaltungseinheit AU-3 oder AU-4 vor?
nein: Sprung zur Marke 21
ja: Liegt positive Stopfstelle vor?
ja: DAT: = 0
Sprung zum Ende
Marke 21:
Ausgabe vom Pointerwert Pakt(PA, n) für TU-3, TU-2, TU-12, TU-11 und Stopfinformation aus Pointerspei­ cher an Schreibschaltung 4;
Ist der aus dem Pointerspeicher ausgelesene Pointer­ wert Pakt(PA, n) für AU-4, AU-3 gleich dem Inhalt des Positionszählers AUVC?
ja: Ausgabe der J1-Kennzeichnung
Liegt V3-Byte vor und STOPFDAT = 1?
ja: Liegt positive Stopfaktion vor?
ja: Sprung zur Kennungsroutine 1
Speicherung des aktuellen Pointerwertes Pakt(PA, n) in Pointerspeicher;
nein: Liegt negative Stopfaktion vor?
nein: Sprung zum Ende
ja: Sprung zur Kennungsroutine 2
Speicherung des aktuellen Pointer­ wertes Pakt(PA, n) in Pointer­ speicher;
Ende:
Auswerteroutine
Start:
Eingabe des H1- oder V1-Bytes aus H1V1-Speicher, des neu empfangenen H2- oder V2-Bytes, des zuletzt empfangenen Pointerwertes P(PA, n-1) und des aktuellen Pointerwertes Pakt(PA, n-1) aus Pointerspeicher;
Pointerzähler PZ: = PZ+1;
STOPFDAT = 1
Ist der neu empfangene Pointerwert P(PA, n) gleich dem zu­ letzt empfangenen Pointerwert P(PA, n-1)?
ja: Ist der aktuelle Pointerwert Pakt(PA, n-1) gleich dem neuen Pointerwert P(PA, n)?
ja: Pointerzähler PZ: = 0
nein: STOPFDAT: = 0
Pointerzähler PZ = 3?
nein: Pakt(PA, n): = Pakt(PA, n-1)
ja: Pakt(PA, n): = P(PA, n)
nein: Pointerzähler PZ: = 1
Soll eine Stopfaktion durchgeführt werden und STOPFDAT = 1?
ja: Stopfzähler SZ: = 3?
ja: Liegt H2-Byte vor?
ja: Liegt positive Stopfaktion vor?
ja: Pointerwert Pakt(PA, n-1) = 782?
ja: Pakt(PA, n): = 0
nein: Pakt(PA, n) = Pakt(PA, n-1)+1
nein: Liegt negative Stopfaktion vor?
ja: Pointerwert Pakt(PA, n-1) = 0?
ja: Pakt(PA, n): = 782
nein: Pakt(PA, n): = Pakt(PA, n-1)-1
nein: Pakt(PA, n): = Pakt(PA, n-1)
Stopfzähler SZ: = 0
nein: keine Stopfaktion durchführen
Stopfzähler SZ: = 0
nein: Stopfzähler SZ = 3?
ja: Stopfzähler SZ: = SZ
nein: Stopfzähler SZ: = SZ+1
Ende:
Kennungsroutine 1
Start:
TU-Kennung = 4?
ja: Pointerwert Pakt(PA, n-1) = 764?
ja: Pointerwert Pakt(PA, n): = 0
nein: Pointerwert Pakt(PA, n) = Pakt(PA, n-1)+1
TU-Kennung = 0?
ja: Pointerwert Pakt(PA, n-1) = 427?
ja: Pointerwert Pakt(PA, n): = 0
nein: Pointerwert Pakt(PA, n) = Pakt(PA, n-1)+1
TU-Kennung = 2?
ja: Pointerwert Pakt(PA, n-1) = 139?
ja: Pointerwert Pakt(PA, n): = 0
nein: Pointerwert Pakt(PA, n): = Pakt(PA, n-1)+1
TU-Kennung = 3?
ja: Pointerwert Pakt(PA, n-1) = 103?
ja: Pointerwert Pakt(PA, n): = 0
nein: Pointerwert Pakt(PA, n) = Pakt(PA, n-1)+1
Ende:
Kennungsroutine 2
Start:
TU-Kennung = 4?
ja: Pointerwert Pakt(PA, n-1) = 0?
ja: Pointerwert Pakt(PA, n): = 764
nein: Pointerwert Pakt(PA, n) = Pakt(PA, n-1)-1
TU-Kennung = 0?
ja: Pointerwert Pakt(PA, n-1) = 0?
ja: Pointerwert Pakt(PA, n): = 427
nein: Pointerwert Pakt(PA, n): = Pakt(PA, n-1)-1
TU-Kennung = 2?
ja: Pointerwert Pakt(PA, n-1)= 0?
ja: Pointerwert Pakt(PA, n): = 139
nein: Pointerwert Pakt(PA, n): = Pakt(PA, n-1)-1
TU-Kennung = 3?
ja: Pointerwert Pakt(PA, n-1) = 0?
ja: Pointerwert Pakt(PA, n): = 103
nein: Pointerwert Pakt(PA, n): = Pakt(PA, n-1)-1
Anhang C Sende-Rahmenzähleranordnung 19
Start:
Liegt Start-Kennzeichen vor?
ja: STM-Spaltenzähler STMS: = 0
STM-Zeilenzähler STMZ: = 0
Bereichszähler B: = 0
Positionszähler AUPOS: = 521
H4akt(B, n): = H4akt(B, n-1)+1 MOD 4
nein: STM-Spaltenzähler STMS: = STMS+1 MOD 270
STM-Spaltenzähler STMS = 0?
ja: STM-Zeilenzähler STMZ: = STMZ+1 MOD 9
Bereichszähler B: = B+1 MOD 3
STM-Zeilenzähler STMZ = 3?
ja: STM-Spaltenzähler STMS = 0, 1 oder 2?
ja: Pointerkennzeichnung H1: = 1
nein: Pointerkennzeichnung H1: = 0
STM-Spaltenzähler STMS = 3, 4 oder 5?
ja: Pointerkennzeichnung H2: = 1
nein: Pointerkennzeichnung H2: = 0
STM-Spaltenzähler STMS = 6, 7 oder 8?
ja: Pointerkennzeichnung H3: = 1
nein: Pointerkennzeichnung H3: = 0
STM-Spaltenzähler STMS = 9, 10 oder 11?
ja: Pointerkennzeichnung H3P: = 1
nein: Pointerkennzeichnung H3P: = 0
STM-Spaltenzähler STMS<8?
ja: Zeiger AUDAT: = 1
nein: Zeiger AUDAT: = 0
AUDAT = 1 und Bereichszähler B = 0?
ja: Positionszähler AUPOS: = AUPOS+1 MOD 783
Ende:
Sende-Zähleranordnung 17
Start:
AUDAT = 1?
nein: zurück zum Start
ja: STM-Spaltenzähler STMS = 9 und STM-Zeilenzäh­ ler STMZ = 3?
ja: Sprung zur Initialisierungsroutine
nein: Bereichszähler B = 0 vor?
ja: Liegt Verwaltungseinheit AU-4 vor?
ja: Sprung zur Zählerroutine 1
nein: Sprung zur Zählerroutine 2
nein: zurück zum Start;
Ende:
Sende-Adressierungsanordnung 18
Start:
TU-Kennung: = 0
Liegt ein VC-4 vor?
ja: Pufferspeicheradresse PS: = Lesezähler VC4RC Pointeradresse PA: = "00111BB"
nein: Liegt eine VC-3 in einer AU-3 vor?
ja: Pufferspeicheradresse PS: = Lesezähler VC3RC(B)
Pointeradresse PA: = "00111BB"
nein: Liegt eine VC-3 in einer AU-4 vor?
ja: Pufferspeicheradresse PS: Lesezähler VC3RC(B)
Pointeradresse PA = "BB00000"
nein: Gehe zur Sende-TUG-2-Adreß-Routine
Liegt TU-3 vor?
ja: TU-Kennung: = 4
Pointerkennzeichnung V1: = H1TU3(B), V2: = H2TU3(B), V3: = H3TU3(B), V3P: = H3TU3P(B), V4: = 0 und Positionszeiger TUPOS: = TU3POS(B)
nein: Liegt VC-3 in AU-3 oder VC-4 in AU-4 vor?
ja: Pointerkennzeichnung V1: = H1, V2: = H2, V3: = H3, V3P: = H3P, V4: = 0 und TUPOS: = AUPOS
nein: Liegt TU-11 vor?
ja: TU-Kennung: = 3
Zeiger V: = VTU11(B), VP: = VTU11P(B), TUPOS: = TU11POS(B)
nein: Liegt TU-12 vor?
ja: TU-Kennung: = 2
Zeiger V: = VTU12(B), VP: = VTU12P(B), TUPOS: = TU12POS(B)
nein: TU-Kennung: = 0
Zeiger V: = VTU2(B), VP: = VTU2P(B), TUPOS: = TU2POS(B)
H4akt(B, n) = 0?
ja: Pointerkennzeichnung V1: = V, V2: = 0, V3: = 0, V3P: = 0, V4: = 0
nein: H4akt(B, n) = 1?
ja: Pointerkennzeichnung V1: = 0, V2: = V, V3: = 0, V3P: = 0, V4: = 0
nein: H4akt(B, n) = 2?
ja: Pointerkennzeichnung V1: = 0, V2: = 0, V3: = V, V3P: = VP, V4: = 0
nein: Pointerkennzeichnung V1: = 0, V2: = 0, V3: = 0, V3P: = 0, V4: = V
Ende:
Sende-TUG2-Adreß-Routine
Start:
Zwischenadresse ZW: = "BBTTT"
Liegt TU-2 vor?
ja: Pointeradresse PA: = ZW/"00"
nein: Liegt TU-12 vor?
ja: Pointeradresse PA: = ZW/TU12(B)
nein: Pointeradresse PA: = ZW/TU11(B)
Pufferspeicheradresse PS: = PA/Lesezähler LORC(PA)
Ende:
Leseentscheidungsanordnung 20
Start:
Liegt AU-4 mit VC-4 vor?
ja: Bereichskennung B = 0?
ja: Pointerkennzeichnung H1 = 1?
ja: Ausgangsdaten: = H-Byte
nein: Pointerkennzeichnung H2 = 1?
ja: Ausgangsdaten: = H2-Byte
nein: a) Ist AUDAT = 1 und liegt keine positive Stopfaktion oder
b) liegt eine negative Stopfaktion vor?
ja: Erzeugung des Lesebefehls
nein: Pointerkennzeichnung H1 = 1?
ja: Ausgangsdaten: = Festwerte
nein: Pointerkennzeichnung H2 = 1
? ja: Ausgangsdaten: = Festwerte
Liegt Lesebefehl vor?
ja: J1D = 1?
ja: Bereichskennung B = 0?
ja: Lesezähler VC4RC: = VC4RC+1 MOD 64
nein: Bereichskennung B = 1?
ja: Lesezähler VC4RC: = VC4RC+2 MOD 64
nein: Lesezähler VC4RC: = VC4RC+1 MOD 64 Ausgangsdaten = Pufferspeicherdaten
nein: Liegt AU-3 mit VC-3 eines Bereiches vor?
ja: Pointerkennzeichnung H1 = 1?
ja: Ausgangsdaten: = H1-Byte
nein: Pointerkennzeichnung H2 = 1?
ja: Ausgangsdaten: = H2-Byte
nein: Sprung zur Hilfsroutine
nein: Liegt TU-3 vor?
ja: a) Ist AUDAT = 1 und
b) Ist TU3D(B) = 1 und liegt keine positi­ ve Stopfaktion oder
c) Liegt eine negative Stopfaktion vor?
ja: Erzeugung des Lesebefehls
Lesezähler
VC3RC(B): = VC3RC(B)+1 MOD 32
Ausgangsdaten: = Pufferdaten
nein: a) Ist AUDAT = 1 und
b) Ist TUG2D(B) = 1 und
c) Ist V1 = 0 gesetzt und
d) Ist V2 = 0 gesetzt und
e) Ist V3 = 0 gesetzt oder liegt eine negative Stopfaktion und
f) Ist V3P = 0 gesetzt oder liegt keine positive Stopfaktion und
g) ist V4 = 0 gesetzt?
ja: Erzeugung des Lesebefehls
Lesezähler
LORC(PA): = LORC(PA)+1 MOD 12
Ausgangsdaten: = Pufferspeicherdaten
Ende:
Hilfsroutine
Start:
a) Ist AUDAT = 1 und liegt keine positive Stopfaktion vor oder
b) Liegt eine negative Stopfaktion vor?
ja: AU-3-Spaltenzähler AU3S(B): = AU3S(B)+1 MOD 87
AU-3-Spaltenzähler AU3S(B) = 29 oder AU3S(B) = 58?
nein: Erzeugung eines Lesebefehls
Lesezähler VC3RC(B): = VC3RC(B)+1 MOD 32
Ausgangsdaten: = Pufferspeicherdaten
J1D = 1?
ja: AU-3-Spaltenzähler AU3S(B) = 0
nein: Sprung zum Ende der Leseentscheidungsanordnung
Ende:
Anhang D Sende-Pointerschaltung 15
Start:
Abspeicherung der Pointeradresse PA in einem Adreßzwischenspeicher
Pointerkennzeichnung H1 = 1 oder V1 = 1?
ja: Sprung zur H1V1-Routine
nein: Pointerkennzeichnung H2 = 1 oder V2 = 1?
ja: Sprung zur H2V2-Routine
nein: Pointerkennzeichnung H3 = 1 oder V3 = 1?
ja: Sprung zur H3V3-Routine
nein: J1D = 1?
ja: Speicherung des Wertes des Posi­ tionszeigers als Pointerwert Pakt(PA, n) im Pointerspeicher
Ende:
H1V1-Routine
Start:
Soll gestopft werden?
nein: Bildung von H1- oder V1-Byte mit dem Pointerwert
Sprung zum Ende
ja: Speicherung der Stopfinformation im Pointerspeicher
Soll positiv gestopft werden?
ja: Bildung von H1- oder V1-Byte mit dem Pointer­ wert mit einem invertierten I-Bit;
Sprung zum Ende
nein: Bildung von H1- oder V1-Byte mit dem Pointer­ wert mit einem invertierten D-Bit;
Ende:
H2V2-Routine
Start:
Soll gestopft werden?
nein: Bildung von H2- oder V2-Byte aus dem Pointerwert
Sprung zum Ende
ja: Soll positiv gestopft werden?
ja: Bildung von H2- oder V2-Byte aus dem Pointer­ wert mit invertierten I-Bits;
Sprung zum Ende
nein: Bildung von H2- oder V2-Byte aus dem Pointer­ wert mit invertierten D-Bits;
Ende:
H3V3-Routine
Start:
Pointerkennzeichnung H3 = 1?
ja: Soll gestopft werden?
ja: Soll positiv gestopft werden?
ja: Pointerwert Pakt(PA, n-1) = 782?
ja: Pointerwert Pakt(PA, n): = 0
nein: Pointerwert Pakt(PA, n) = Pakt(PA, n-1)+1
nein: Pointerwert Pakt(PA, n-1) = 0?
ja: Pointerwert Pakt(PA, n): = 782
nein: Pointerwert Pakt(PA, n) = Pakt(PA, n-1)-1
nein: Soll gestopft werden?
ja: Soll positiv gestopft werden?
ja: Sprung zur Kennungsroutine 1
nein: Sprung zur Kennungsroutine 2
Speicherung des aktuellen Pointerwertes Pakt(PA, n) in Poin­ terspeicher
Ende:

Claims (20)

1. Schaltungsanordnung zur Steuerung eines Pufferspei­ chers (1, 13), der zur Einschreibung oder Auslesung von Nutzdaten eines Signals der synchronen digitalen Hierachie vorgesehen ist, mit einer Steueranordnung (2, 14), die
  • - zur Zuordnung jeweils eines Modulo-Schreib- oder Lese­ zählers zu jeweils einer Transporteinheit des Signals,
  • - zur Bildung einer Pufferspeicheradresse wenigstens aus dem Zählerstand des dem Datenbyte zugeordneten Modulo- Schreib- oder Lesezählers,
  • - mittels Zählern zur Bestimmung der Position jedes Da­ tenbytes im Signal, zur Zuordnung der Datenbytes zur jeweiligen Transporteinheit und zur Ermittlung der Nutzdatenbytes des Signals und
  • - zur Freigabe des Pufferspeichers (1, 13) bei Nutzdaten­ bytes vorgesehen ist.
2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Steueranordnung (2, 14) durch Auswertung der Zäh­ lerstände der Zähler
  • - zur Kennzeichnung der AU-Nutzdatenbytes und der AU- Pointerbytes,
  • - zur Zuordnung der AU-Nutzdatenbytes zu den einzelnen Transporteinheiten,
  • - zur Kennzeichnung der TU-Pointerbytes und
  • - zur Kennzeichnung der negativen Stopfstelle als Nutz­ datenbyte bei Vorliegen einer negativen Stopfaktion und zur Aufhebung der Kennzeichnung der positiven Stopf­ stelle als Nutzdatenbyte bei Vorliegen einer positiven Stopfaktion vorgesehen ist.
3. Schaltungsanordnung nach Anspruch 2, dadurch gekennzeichnet, daß die Steueranordnung (2, 14) wenigstens einen zur Zäh­ lung der AU-Pointerbytes vorgesehenen Zähler (11, 19) enthält, daß bei Erreichen bestimmter Zählerstände die Steueranord­ nung (2, 14) zur Bildung einer Pointerkennzeichnung für ein AU-Pointerbyte oder eine mögliche Stopfstelle vorgese­ hen ist.
4. Schaltungsanordnung nach Anspruch 3, dadurch gekennzeichnet, daß die Steueranordnung (2, 14) wenigstens eine zur Zäh­ lung der Datenbytes im AU-Nutzdatenbereich vorgesehene Zähleranordnung (6, 17) enthält und daß durch Auswertung der Zählerstände der Zähleranord­ nung (6, 17) die Steueranordnung (2, 14) zur Bestimmung der Position der Datenbytes im AU-Nutzdatenbereich, zur Zuordnung der Datenbytes zu den TU-Transporteinheiten und zur Bildung einer Pointerkennzeichnung für ein TU-Pointer­ byte oder eine mögliche Stopfstelle vorgesehen ist.
5. Schaltungsanordnung nach Anspruch 4, dadurch gekennzeichnet, daß die Zähleranordnung (6, 17)
  • - wenigstens jeweils einen Spaltenzähler zur Bestimmung der Spalte und wenigstens jeweils einen Zeilenzähler zur Bestimmung der Zeile in einer AU-4- oder AU-3-Ver­ waltungseinheit,
  • - einen Positionszähler für wenigstens eine TU-3 zur Kennzeichnung der Nutzdatenbytes in einer TU-3,
  • - einen Zähler zur Kennzeichnung von TUG-2,
  • - wenigstens einen Zähler zur Kennzeichnung von TU-12 in wenigstens einer TUG-2,
  • - wenigstens einen Zähler zur Kennzeichnung von TU-11 in wenigstens einer TU-11 und
  • - jeweils wenigstens einen Positionszähler für jeweils wenigstens eine TU-2, eine TU-12 und eine TU-11 zur Kennzeichnung der Nutzdatenbytes in einer TU-2, einer TU-12 und einer TU-11 enthält.
6. Schaltungsanordnung nach einem der Ansprüche 2 bis 5, dadurch gekennzeichnet, daß die Steueranordnung (2, 14) eine Adressierungsanord­ nung (7, 18) enthält, die
  • - bei Vorliegen eines VC-4 oder eines VC-3 die Bildung der Pufferspeicheradresse aus dem Zählerstand des je­ weiligen zugeordneten Modulo-Schreib- oder Lesezählers,
  • - bei Vorliegen einer TU-2 zur Bildung der Pufferspei­ cheradresse aus dem Zählerstand des jeweiligen zugeord­ neten Modulo-Schreib- oder Lesezählers und aus dem Zählerstand des Zählers zur Kennzeichnung von TUG-2 und
  • - bei Vorliegen einer TU-12 oder TU-11 zur Bildung der Pufferspeicheradresse aus dem Zählerstand des jewei­ ligen zugeordneten Modulo-Schreib- oder Lesezählers und aus dem Zählerstand des Zählers zur Kennzeichnung von TUG-2 und aus dem Zählerstand des Zählers zur Kenn­ zeichnung von TU-12 oder TU-11 vorgesehen ist.
7. Schaltungsanordnung nach Anspruch 6, dadurch gekennzeichnet, daß eine in der Steueranordnung (2, 14) enthaltene Poin­ terschaltung (5, 15) bei Vorliegen einer Pointerkennzeich­ nung für die H1- bzw. V1- und H2- bzw. V2-Pointerbytes jeweils zur Entnahme eines Teils eines Pointerwertes aus den oder zur Einfügung eines Teils eines Pointerwertes in die Pointerbytes vorgesehen ist.
8. Schaltungsanordnung nach Anspruch 7, dadurch gekennzeichnet, daß ein in der Pointerschaltung (5, 15) enthaltener Poin­ terspeicher wenigstens zur Speicherung eines Pointerwertes an einer durch eine von der in der Steueranordnung (2, 14) enthaltenen Adressierungsanordnung (7, 18) zu bildenden Pointeradresse gekennzeichneten Speicherplatz vorgesehen ist.
9. Schaltungsanordnung nach Anspruch 8, dadurch gekennzeichnet, daß die Adressierungsanordnung (7, 18) zur Bildung
  • - von fest vorgegebenen Pointeradressen für die VC-4 und VC-3,
  • - von von dem Zähler zur Kennzeichnung einer TUG-2 ab­ hängigen Pointeradressen für die TU-2 und
  • - von von dem Zähler zur Kennzeichnung einer TUG-2 und von dem jeweiligen Zähler zur Kennzeichnung einer TU-12 oder TU-11 abhängigen Pointeradressen für die TU-12 und TU-11 vorgesehen ist.
10. Schaltungsanordnung zur Steuerung eines Pufferspei­ chers (1), der zur Einschreibung von Nutzdaten eines Si­ gnals der synchronen digitalen Hierarchie vorgesehen ist, nach einem der Ansprüche 2 bis 9, dadurch gekennzeichnet, daß bei Übereinstimmung des neu empfangenen und des zu­ letzt empfangenen Pointerwertes und bei Nichtübereinstim­ mung des bisherigen aktuellen Pointerwertes und des neuen Pointerwertes die Pointerschaltung (5) höchstens zur Set­ zung des neu empfangenen Pointerwertes als aktueller Poin­ terwert vorgesehen ist.
11. Schaltungsanordnung nach Anspruch 10, dadurch gekennzeichnet, daß die Pointerschaltung (5) bei Auftreten einer positiven oder negativen Stopfaktion erst nach Auftreten des H3- oder V3-Pointerbytes einer Transporteinheit zur Inkremen­ tierung oder Dekrementierung der Pointerwerte vorgesehen ist.
12. Schaltungsanordnung zur Steuerung eines Pufferspei­ chers (1), der zur Einschreibung von Nutzdaten eines Si­ gnals der synchronen digitalen Hierarchie vorgesehen ist, nach einem der Ansprüche 6 bis 11, dadurch gekennzeichnet, daß die Initialisierung der Zähler der Zähleranordnung (6) jeweils zu Beginn einer AU-4- oder AU-3-Verwaltungseinheit vorgesehen ist.
13. Schaltungsanordnung nach einem der Ansprüche 10 bis 12, dadurch gekennzeichnet, daß die Steueranordnung (2) ein Sperrsignal bei Nichtvor­ liegen von Nutzdaten erhält und daß das Sperrsignal einen AU-Positionszähler (12) zur Zählung der AU-Nutzdatenbytes sperrt.
14. Schaltungsanordnung nach einem der Ansprüche 10 bis 13, dadurch gekennzeichnet, daß bei Übereinstimmung des jeweiligen aktuellen Pointer­ wertes mit dem Inhalt des entsprechenden Positionszählers die Steueranordnung (2) zur Ausgabe jeweils eines Zeigers für den Anfang einer AU-4, AU-3, TU-3, TU-2, TU-12 oder TU-11 vorgesehen ist.
15. Schaltungsanordnung nach einem der Ansprüche 10 bis 14, dadurch gekennzeichnet, daß die Steueranordnung (2) eine AU-Pointer-Kennung zur Kennzeichnung des Anfangs der AU-Pointer erhält, die einen AU-Pointerzähler (11) zur Zählung der AU-Pointerbytes initialisiert.
16. Schaltungsanordnung zur Steuerung eines Pufferspei­ chers (13), der zur Auslesung von Nutzdaten eines STM-1- Signals der synchronen digitalen Hierarchie vorgesehen ist, nach einem der Ansprüche 9 bis 15, dadurch gekennzeichnet, daß bei Lieferung eines Zeigers für den Anfang einer AU-4, AU-3, TU-3, TU-2, TU-12 oder TU-11 die Pointerschal­ tung (15) zur Bildung des aktuellen Pointerwertes aus dem Zählerinhalt des entsprechenden Positionszählers vorgese­ hen ist.
17. Schaltungsanordnung nach Anspruch 16, dadurch gekennzeichnet, daß die Pointerschaltung (15) bei einer positiven oder negativen Stopfung zur Inkrementierung oder Dekrementie­ rung des aktuellen Pointerwertes vorgesehen ist.
18. Schaltungsanordnung zur Steuerung eines Pufferspei­ chers (13), der zur Auslesung von Nutzdaten eines STM-1- Signals der synchronen digitalen Hierarchie vorgesehen ist, nach einem der Ansprüche 3 bis 17, dadurch gekennzeichnet, daß die Steueranordnung (14) eine Sende-Rahmenzähleranord­ nung (19) mit einem Spaltenzähler zur Bestimmung der Spal­ te und einen Zeilenzähler zur Bestimmung der Zeile in dem STM-1-Rahmen enthält.
19. Schaltungsanordnung nach Anspruch 18, dadurch gekennzeichnet, daß die Initialisierung der Zähler der Zähleranord­ nung (17) jeweils zu Beginn der 9. Spalte und der 4. Zeile im Rahmen des Signals vorgesehen ist.
20. Schaltungsanordnung nach Anspruch 18 oder 19, dadurch gekennzeichnet, daß der Spalten- und Zeilenzähler in der Sende-Rahmenzäh­ leranordnung (19) zur Bestimmung von Pointerkennzeichnun­ gen für die AU-Pointer dient.
DE19924222547 1992-07-09 1992-07-09 Schaltungsanordnung zur Steuerung eines Pufferspeichers Withdrawn DE4222547A1 (de)

Priority Applications (7)

Application Number Priority Date Filing Date Title
DE19924222547 DE4222547A1 (de) 1992-07-09 1992-07-09 Schaltungsanordnung zur Steuerung eines Pufferspeichers
EP93201927A EP0578315A1 (de) 1992-07-09 1993-07-01 Synchrones Übertragungssystem
US08/086,974 US5428612A (en) 1992-07-09 1993-07-02 Synchronous transmission system
IL10624793A IL106247A (en) 1992-07-09 1993-07-06 Synchronous transmission system
CA002099921A CA2099921A1 (en) 1992-07-09 1993-07-06 Synchronous transmission system
AU41825/93A AU4182593A (en) 1992-07-09 1993-07-07 Synchronous transmission system
JP5170159A JPH06204960A (ja) 1992-07-09 1993-07-09 同期伝送装置および同期伝送装置の信号のデータバイトの検出回路装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19924222547 DE4222547A1 (de) 1992-07-09 1992-07-09 Schaltungsanordnung zur Steuerung eines Pufferspeichers

Publications (1)

Publication Number Publication Date
DE4222547A1 true DE4222547A1 (de) 1994-01-13

Family

ID=6462836

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19924222547 Withdrawn DE4222547A1 (de) 1992-07-09 1992-07-09 Schaltungsanordnung zur Steuerung eines Pufferspeichers

Country Status (1)

Country Link
DE (1) DE4222547A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19758031C2 (de) * 1997-12-25 2003-09-11 Samsung Electronics Co Ltd Verfahren und Vorrichtung für das Übertragen von Videodaten in einem Funkkommunikationssystem

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19758031C2 (de) * 1997-12-25 2003-09-11 Samsung Electronics Co Ltd Verfahren und Vorrichtung für das Übertragen von Videodaten in einem Funkkommunikationssystem

Similar Documents

Publication Publication Date Title
EP0503732B1 (de) Übertragungsverfahren und -system für die digitale Synchron-Hierarchie
EP0507385B1 (de) Übertragungssystem für die synchrone digitale Hierarchie
EP0639903A2 (de) Übertragungssystem
DE69936697T2 (de) Verkettung von Containern in einem SDH-Netzwerk
EP0422443B1 (de) Multiplexer und Demultiplexer, insbesondere für Nachrichtenübertragungs-Netze mit einer synchronen Hierarchie der Digitalsignale
AT407319B (de) Verfahren und vorrichtung zum umwandeln virtuell verketteter datenströme in kontingent verkettete
EP0429888B1 (de) Verfahren zur Übertragung eines digitalen Breitbandsignals in einer Untersystemeinheitenkette über ein Netz einer Synchron-Digital-Multiplexhierarchie
EP0578315A1 (de) Synchrones Übertragungssystem
EP0475498B1 (de) Schaltungsanordnung zur Bitratenanpassung zweier digitaler Signale
EP0777351B1 (de) Synchrones digitales Übertragungssystem
DE2825954C2 (de) Digitale Zeitmultiplexanlage
EP1051057A2 (de) Transport von verknüpften Containern in einem synchronen Nachrichtenübertragungsnetz
EP0598455B1 (de) Übertragungssystem der synchronen digitalen Hierarchie
EP0342469B1 (de) Verfahren zum Einfügen eines asynchronen 139 264-kbit/s-Signals in ein 155 520-kbit/s-Signal
EP0428522B1 (de) Verfahren zum ein- und auskoppeln von signalen in bzw. aus teilbereichen der zusatzsignale von transportmodulen einer synchronen digitalsignal-hierarchie
EP1147632B1 (de) VERFAHREN ZUM UMSETZEN VON NxSTM-1 SIGNALEN IN STM-N SIGNALE
DE4222547A1 (de) Schaltungsanordnung zur Steuerung eines Pufferspeichers
DE19943625A1 (de) Verfahren und Vorrichtung zum Umwandeln eines SONET-Signals in ein SDH-Signal
EP0558136B1 (de) Übertragungssystem mit einer Schaltungsanordnung zum Ausgleich von Frequenz- und/oder Phasenschwankungen zwischen einem ankommenden und einem abgehenden Signal
DE4222546A1 (de) Schaltungsanordnung zur Auswertung oder zur Bildung von Pointerbytes
EP0644672B1 (de) Messvorrichtung für ein synchrones Übertragungssystem
EP0491064A1 (de) Verfahren und Anordnung zum Teilen der Frequenz einer Wechselspannung mit einem nicht ganzzahligen Teilungsfaktor
EP0584862B1 (de) Anordnung zur Erzeugung eines Multiplexsignals
DE4218207A1 (de) Verfahren und Anordnung zum Transport vorgegebener Overhead-Bytes in einem Netzknoten der Synchron-Digital-Hierarchie
EP0597349A1 (de) Verfahren und Anordnung zur Rückgewinnung von in Funktionsdatenblöcken übertragenen plesiochronen Signalen

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee