DE4222547A1 - Schaltungsanordnung zur Steuerung eines Pufferspeichers - Google Patents
Schaltungsanordnung zur Steuerung eines PufferspeichersInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/16—Time-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/1605—Fixed allocated frame structures
- H04J3/1611—Synchronous 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.
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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
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
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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.
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)
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 |
-
1992
- 1992-07-09 DE DE19924222547 patent/DE4222547A1/de not_active Withdrawn
Cited By (1)
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 | |
DE69327479T2 (de) | Verfahren zum zerlegen und zusammensetzen von rahmenstrukturen mit zeigern | |
EP0639903A2 (de) | Übertragungssystem | |
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 | |
DE3934248A1 (de) | Multiplexer und demultiplexer, insbesondere fuer nachrichtenuebertragungs-netze mit einer synchronen hierarchie der digitalsignale | |
EP0578315A1 (de) | Synchrones Übertragungssystem | |
DE69217533T2 (de) | Anordnung zur Auswertung von Sonetanzeigern | |
EP0475498A2 (de) | Schaltungsanordnung zur Bitratenanpassung zweier digitaler Signale | |
EP0777351B1 (de) | Synchrones digitales Übertragungssystem | |
DE69322784T2 (de) | Verfahren zur durchführung einer vermittlung im zeit- oder raumbereich | |
DE2825954C2 (de) | Digitale Zeitmultiplexanlage | |
EP1051057A2 (de) | Transport von verknüpften Containern in einem synchronen Nachrichtenübertragungsnetz | |
EP0598455B1 (de) | Übertragungssystem der synchronen digitalen Hierarchie | |
DE69327412T2 (de) | Verfahren und einrichtung zur elastischen pufferung in einem synchronen digitalen fernmeldesystem | |
EP0342469B1 (de) | Verfahren zum Einfügen eines asynchronen 139 264-kbit/s-Signals in ein 155 520-kbit/s-Signal | |
DE69320478T2 (de) | Verfahren und einrichtung zur überwachung der füllrate eines elastischen pufferspeichers in einem synchronen digitalen fernmeldesystem | |
EP0428522B1 (de) | Verfahren zum ein- und auskoppeln von signalen in bzw. aus teilbereichen der zusatzsignale von transportmodulen einer synchronen digitalsignal-hierarchie | |
DE69223557T2 (de) | Vorrichtung und Verfahren zur Erneuerung von AU-4 und TU-3 Zeigern der digitalen synchronen Hierarchien | |
EP1147632B1 (de) | VERFAHREN ZUM UMSETZEN VON NxSTM-1 SIGNALEN IN STM-N SIGNALE | |
DE4222547A1 (de) | Schaltungsanordnung zur Steuerung eines Pufferspeichers | |
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 | |
DE69420719T2 (de) | Verfahren und vorrichtung zum bestimmen einer stopfentscheidung in einem knoten eines synchronen digitalen nachrichtenübertragungssystems (sdh) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8139 | Disposal/non-payment of the annual fee |