DE2447255C - Verfahren und Schaltungsanordnungen zur Fehlerprüfung in digitalen Datenübertragungsanlagen - Google Patents

Verfahren und Schaltungsanordnungen zur Fehlerprüfung in digitalen Datenübertragungsanlagen

Info

Publication number
DE2447255C
DE2447255C DE2447255C DE 2447255 C DE2447255 C DE 2447255C DE 2447255 C DE2447255 C DE 2447255C
Authority
DE
Germany
Prior art keywords
signal
bit
zero
gate
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
Other languages
English (en)
Inventor
Paul Emile Ridgefield Conn.; Brodd Wayne Donald Raleigh; Donnan Robert Anderson Chapel Hill; N.C.;(V.St.A.) Boudreau
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Publication date

Links

Description

G(X)QX11K1(Xi P(X)
1Yl
@ K2(X).
R'(X) als Polynomdarstellung des Blockprüffeldes (BC),
X als Variabler bei der Polynomdarstellung von Bits,
η als Zahl der Bits zwischen den Markierern (F), k als Zahl der Bits des Datenfeldes
(D D),
G(X) als die ic Datenbits des Datenfeldes
(D D) darstellendes Polynom,
K1(X)
und K2(X) als von Null verschiedene Konstanten darstellende Polynome eines Grades kleiner als η — k,
P(X) als Generatorpolynom des Grades n-k.
b) Es erfolgt nacheinander für jedes zu übermittelnde Datenfeld (D D) die übertragung
eines Beginn-Markierers (F), des Datenfeldes
(D D), des Blockprüffeldes (BC) und min-
destens eines End-Markierers (F) über das Ubertragungsmedium.
c) Im Empfänger erfolgt pro empfangenes Datenfeld (D D) die Bildung eines Blockprüfrestes
[A"1" · G(X)®R'(X)®XkKl(X)@E{X)] PiX)
multipliziert mit einer beliebigen Potenz von X, wobei E(X) ein Polynom ist, das einen empfangenen Fehler erkennbar macht.
d) Erkennung eines aufgetretenen Ubertragungsfehlers am gebildeten Blockprüfrest, wenn dieser vom sendeseitig vorgegebenen, von Null verschiedenen Polynom abweicht.
2. Schaltungsanordnung zur Durchfuhrung des Verfahrens nach Anspruch 1, gekennzeichnet durch einen sendeseitigen Codierer zur Bildung des Blockprüffeldes (BC) und durch einen empfangsseitigen Decoder zur Bildung des vorgegebenen Blockprüfrestes sowie durch einen Vergleicher zum Vergleich des gebildeten Blockprüfrestes mit dem sendeseiti)! vorgegebenen, von Null verschiedenen Polynom.
3. Schaltungsanordnung nach Anspruch 2, gekennzeichnet durch sendeseitige Bit-Einfügungskreise (Null-Einfügungskreise 32) zur Vermeidung die vorgegebenen Markierer (F) imitierender Bitfolgen während der Datenfelder (D D) und der Blockprüffelder (BC) und durch entsprechende empfangsseitige Bit-Unterdrückungskreise (Null-Unterdrückungskreise), mii deren Hilfe die sendeseitig eingefügten Bits wieder ausblendbar sind.
4. Schaltungsanordnung zur Durchführung des Verfahrens nach Anspruch 1, gekennzeichnet durch
a) ein sendeseitiges und ein empfangsseitiges Schieberegister in an sich bekannter Verwendung als codierende und decodierende Akkumulatoren zur Bildung der vorgegebenen Prüfpolynome, wobei diese Schieberegister eine gleich große Zahl von Schieberegisterstufen (35 bis 50, 142 bis 157) aufweisen, die jeweils zu Beginn einer Polynombildung sämtlich auf ein (»1«) gelöscht werden,
b) einen dem sendeseitigen Schieberegister-Akk umulator (29) nachgeschalteten Inverter (71) zur antivalenten ODER-Verknüpfung des gebildeten Polynoms mit einer vorgegebenen Binärfolge (1 D vor der Aussendung und
c) ein empfangsseitiges UND-Glied (174), dessen (sechzehn) Eingänge zur Prüfung des gebildeten Polynoms auf E(X) = Null mit den (sechzehn) Ausgängen der einzelnen Schieberegisterstufen (142 bis 157) verbunden sind. wobei am Ausgang des UND-Glieds (174) ein die fehlerfreie übertragung bestätigendes Signal (CRC RICHTIG) abnehmbar ist.
Die Erfindung betrifft Verfahren und Schaltungsanordnungen zur Fehlerprüfung in digitalen Datenübertragungsanlagen entsprechend dem Oberbegriff des Patentanspruchs 1.
Bei Jer übertragung digitaler Daten werden üblicherweise Datenblöcke gebildet unter Anfügung von einem oder mehreren Zeichen zur Blockprüfung. Eine solche Blockprüfung ermöglicht auf der Empfangsseite eine einfache Absicherung gegenüber mit Fehlern übertragenen Einzelzeichen oder Zeichenfolgen. Insbesondere sind solche Nachrichtenabsicherungen interessant bei Kanälen mit Störungen und Rauschen.
Es sind bereits zahlreiche Verfahren entwickelt worden zur Aufdeckung von Fehlern in übertragenen Digitalnachrichten. Ein sehr wirksames Verfahren besteht in der Anwendung sogenannter zyklischer Codes. Solche Codes und Schaltungsanordnungen zur Durchführung der Fehleraufdeckung mit solchen Codes sind in einer Arbeit von W. W. Peterson und D. T. Brown ab Seite 228 der Ausgabe vom Januar 1961 der Proceedings of the IRE beschrieben worden. In dieser Arbeit diskutieren Peterson und Brown die Codierung von k binären Ziffern unter Anhängung von /! — k binären Ziffern zur Prüfung und die übertragung der k Informationsziffern und darauf der /1 - k Prüfziffern. Die einzelnen binären Ziffern können dabei als Koeffizienten eines Polynoms der Variablen X verstanden werden.
Ein zyklischer Code kann als Terme einer Funktion P(X) des Grades η — k definiert werden. Ein Polynom eines Grades kleiner als /1 ist dann und nur dann als Codepolynom für eine übertragung brauchbar, wenn
;s durch die Funktion P(X) teilbar ist. Es werden jabei nur Codes verwendet, bei denen P(X) nicht jurch X teilbar ist.
Zur Codierung eines Nachrichtenpolynoms G[X) dividieren wir X"~kG(X) durch P(X) und addieren janii den sich bei dieser Division ergebenden Rest P(X) zu Xn'KG(X) zur Bildung des Codepolynoms X»-"G(X) = Q(X)P(X) + RiX), wobei Q(X) der Quotient und R(X) der Rest ist. Bei Zugrundelegung der Modulo-2-Arithmetik ergeben sowohl Addition als auch Subtraktion dasselbe:
F(X) = X"~kG(X) + R(X) = Q(X)P(X).
F(X) ist ein Vielfaches von P(X) und somit ein Codepolynom. R(X) ist kleineren Grades als η - k, und X"'kG(X) weist Nullkoeffizienten für alle Ausdrücke kleineren Grades als η - k auf. Somit sind die Jt Koeffizienten höchster Ordnung von F(X) dieselben wie die Koeffizienten von F(X) und die Koeffizienten von R(X), diese bilden die Prüfzeichen.
Beim Aufbau einer solche Codes verwendenden Anlage ist ein Codierer im Sender und ein Decoder im Empfänger vorzusehen. Codierer und Decoder können in Form zweier rückgekoppelter Schieberegister ausgelegt werden, und zwar unter Berücksichtigung des zu verwendenden speziellen Polynoms und unter Vorkehrung von n-k Stufen. Vor Beginn jeder übertragung werden beide Schieberegister auf Null gelöscht.
Im Codierer werden die λ- zu verarbeitenden Ziffern mit X" k multipliziert, dann durch den vorbestimmten Divisor geteilt und die η - k Prüfziffern an die eigentliche Nachricht angehängt. Im Decoder wird der
ίο gesamte Block aus empfangenen Nutz- und Prüfziffern durch den Divisor geteilt. Wenn ein Rest Null im Decoder am Ende der Division übrigbleibt, dann bedeutet dies eine fehlerfreie übertragung.
Bei der übertragung von Informationen variier-
barer Länge sind Vorkehrungen zur Trennung aufeinanderfolgender Informationsblöcke vorzusehen. Verschiedene Formen von Blockteilern sind anwendbar. Sie sollen im folgenden kurz als Markierer oder Markierfolgen bezeichnet werden. Bei solchen Ver-
fahren treten jedoch Probleme auf, wenn Fehler in der übertragung in oder in der Nähe der Markierfolgen auftreten. Es mögen dazu die nachfolgenden Beispiele betrachtet werden, bei denen F eine bestimmte Markierfolge ist. D ein Datenfeld variierbarer Länge und BC die Blockprüfziffer(n).
GESENDET:
EMPFANGEN:
B e i s ρ i ζ
F[D-- D] BC F[D-D]BC
01111110
01111110
Ohne Fehler empfangen Fehlerhaft
empfangen
BC = Nullen
BC = Nullen
FEHLER: Ein Übertragungsfehler bewirkte den Empfang einer beendenden Markierfolge als lauter Nullen.
ERGEBNIS: Acht reine O-Bits am Ende eines Rahmens werden ohne Blockfehleranzeige empfangen.
Beispiel 1-B
GESENDET:
F[D D]BC
01111110 01111110
EMPFANGEN:
F[D D] BC
Ohne Fehler *~~ empfangen 001 Π
01111110
Fehlerhaft
empfangen
BC = Nullen
FEHLER: Wegen eines übertiagungsfehlers innerhalb von zwei Bits wird die beendende Markierfolgc ein
Bit versetzt empfangen.
ERGEBNIS: Ein zusätzliches Bit wurde im Rahmen ohne Blockiehleranzeige empfangen. Das erste Bit des
empfangenen Blockprüffeldes wird als Teil des Informationsfeldes gewerlet.
Zusammenfassung fur die Beispiele 1
Es gibt eine Art von Übertragungsfehlern dieses Typs, bei denen ein oder mehrere zusätzliche Bits als Teil des nformationsfeldes ohne Blockfehleranzeige gewertet werden.
Beispiel 2-A
GESENDET:
EMPFANGEN:
F[D-D] BC
Oil I 1110 [D D] BC FFF
IAC [---] BC 00000000 [D D]BCFFF
Ohne Fehler empfangen
Fehlerhaft [Ohne Fehler empfangen | empfangen
BC = Nullen BC = Nullen BC = Nullen
FEHLER: Auf Grund eines Ubertragungsfehlers wurde der Markierer zwischen zwei aufeinanderfolgenden Rahmen als lauter Nullen empfangen.
ERGEBNIS: Die beiden aufeinanderfolgenden Rahmen η und η + 1 werden als ein Rahmen ohne Blockfehlcranzeige empfangen. Die Rahmen werden mit den folgenden Bits, samtlich als Informationsbits gewertet, aufgenommen: (1) Das Blockprüffeld des Rahmens /i. (2) acht O-Bits und (3) das Datenfeld des Rahmens η + 1.
Beispiel 2-B
GESENDET:
ρ ~ Γ *\
F[D-D]BC 01111110 [OD -— D] BC FF
EMPFANGEN:
F[D D] BC OC)111 1 Π 0[D- D] BC FF
Ohne Fehler empfangen
Fehlerhaft
empfangen
Ohne Fehler empfangen
BC =■■ Nullen BC = Nullen BC = Nullen
FEHLER: Wegen eines 2-Bit-Ubertragungsfehlers wird der Markierer zwischen zwei aufeinanderfolgende! Rahmen um ein Bit versetzt empfangen.
ERGEBNIS: Der erste Rahmen wird mit einem angehängten O-Bit empfangen. Der zweite Rahmen wird ohn vorangehendes 0-Bit empfangen. Beide Rahmen werden ohne die erforderliche zwischenliegend Blockprüfanzeige empfangen.
Zusammenfassung für die Beispiele 2
Es gibt eine Axt von l"iberlragungsfehlerr> dieses Typs, die sich '"üi Empfang von Rahmen mit weniger oder mcl· mpfaHgensn Bits gsgcnübsr den gesendeten Bits ohne Blockfehleranzeige auswirken.
GESENDET: EMPFANGEN:
Beispiel 3-A
K F H
FOIl 11110 \D
FOOOOOOOO [D
Fehlerhaft empfangen D] BCFF
D] BC FF
Ohne Fehler empfangen
BC = Nullen BC = Nullen BC = Nullen
iHLER: Der trennende Anfangsmarkierer wurde auf Grund eines Uberlragungsfehlers als lauter Nullen empfangen.
IGEBNIS: Der Markierer wird nicht als solcher erkannt und als Daten mit lauter Nullen gewertet. Der empfangene Rahmen weist acht zusätzliche O-Bits ohne Blockfehleranzeige auf.
GESENDET:
Beispiel 3-B
FOl 111110 [OD-- D] BCFF
EMPFANGEN:
FOOl11111
Fehlerhaft empfangen 0[D- D] BC FF
I Ohne Fehler j ! empfangen j
BC = Nullen BC = Nullen
EHLER: Wegen eines 2-Bit-Fehlers im Beginn-Markierer erkennt der Empfänger die Markicrfolgc um ein Bit verzögert, wobei das erste Bit des gegebenenfalls nachfolgenden Adreßfeldes als letztes Bit des Markierers gewertet wird.
ERGEBNIS: Das erste Bit des nachfolgenden Rahmens wird nicht als Adreßbit dieses Rahmens gewertet. Der nachfolgend empfangene Rahmen wird mit einem Bit zuwenig empfangen ohne Blockfehleranzeige.
Zusammenfassung für die Beispiele 3
Es gibt eine Art von Übertragungsfehlern dieses yps, die sich als Zufügung oder Unterschlagung von tits in den empfangenen Rahmen auswirken. Dabei eine Blockfehleranzeige.
Aus dem Vorgenannten läßt sich erkennen, daß es dhlreiche Fälle mit Übertragungsfehlern während der in der Nähe der Markierfolgen gibt, die bei Verwendung der Verfahren nach dem genannten Stand ler Technik nicht unter Fehleranzeige erkannt werden.
Die Aufgabe der vorliegenden Erfindung ist die «Jennung eines Verfahrens, das von den vorgenannten Nachteilen frei ist.
Die Lösung dieser Aufgabe ist im Patentanspruch 1 »kennzeichnet. Vorteilhafte Schaltungsanordnungen xir Durchführung sind in den Unteransprüchen »schrieben.
Es wird zur Lösung der Aufgabe entsprechend de vorliegenden Erfindung ein Codierer und ein Decode verwendet unter Multiplikation der Informationsbit: mit ΛΓ" * und darauffolgender Teilung durch ein vor gegebenes Polynom. Vor der Bildung des Blockprüf feldes wird der Codierer jedoch auf eine Nicht-O-Stel lung gesetzt gegenüber der 0-Stellung entsprechen« dem Stande der Technik.
Nach der Division im Codierer werden die siel ergebenden Bits in antivalenter ODER-Bedingunj mit einem von Null abweichenden Wert verknüpl und dabei die Blockprüfbits BC zum Anhängen ai die Informationsbits erzeugt Im Empfänger win nach Empfang des voranlaufenden Markierers de Decoder auf den gleichen von Null abweichende: Wert gestellt, der im Codierer vorgesehen wurde. Ar Ende der Decodierung enthält der Decoder dann de;
609 62*5/32
vorgegebenen von Null abweichenden Wen. womit die fehlerfreie übertragung bestätigt wird. Ergibt sich ein vom vorgegebenen Zusatzwert abweichender Wert, dann liegt ein Ubertragungsfehler vor.
Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt und wird im folgenden näher erläutert. Es zeigt
Fig. 1 das Blockschakbild eines Senderausgangs entsprechend der vorliegenden Erfindung.
Fig. 2 das Blockschaltbild der Folgestcuerungsk reise gemäß Fig. I.
F i g. 3 das Blockschaltbild des CRC-Akkumulators gemäß Fig. 1.
Fig. 4 das Blockschaltbild der Null-Einfügungskreise gemäß Fi g. 1.
Fig. 5 das Blockschaltbild eines Empfängereingangs.
Fi g. 6 das Blockschallbild eines Zählers zur Aufnahme von Ausgangssignalen gemäß l·' i g. 5.
Fig. 7 das Blockschaltbild eines Schieberegisters zur Aufnahme der Ausgangssignale gemäß F i g. 5 und
F i g. 8 das Blockschaltbild des CRC-Akkumulators und der zugehörigen Schaltkreise im Empfänger.
Vor der Beschreibung von Einzelheiten an Hand der Zeichnungen sollen jedoch noch einige Kriterien näher erläutert werden.
Wie bereits genannt wurde, soll mit Blöcken bzw. Rahmen variierbarer Länge gearbeitet werden. Die einzelnen aufeinanderfolgenden Rahmen werden dabei mit einem oder mehreren Markierern F getrennt. Die benutzte Markiererfolge und deren Bitlänge sind Gegenstand der freien Vorabauslegung. Im Beispiel ist ein Markierer mit acht Bits gewählt, wobei selbstverständlich auch andere Längen festgelegt werden könnten. Entsprechend wäre natürlich das Gerät anzupassen. Als Markierfolge soll 01111110 ins Auge gefaßt werden. Andere Folgen wären ebenfalls wiederum möglich.
Die Bits der Rahmen zwischen je zwei Markierfolgen umfassen ein Informationsfeld und ein Blockpriiffeld BC. Es soll ein Blockprüffeld mit 16 Bits verwendet werden. Das Informationsfeld hat. wie bereits genannt, variierbare Länge. Es soll eine Datenbitmenge von Bits D aufweisen. Darunter mögen im einzelnen ein Adreßfeld A. ein Steuerfeld C und das eigentliche Datenfeld D' verstanden werden. Damit laufen Übertragungen der Folge F, A. C, D', BC. F ab. üblicherweise enthalten das Adreßfeld und das Steuerfeld jeweils eine vorgegebene Länge von z. B. je acht Bits. Das Datenfeld D' soll jedoch von Rahmen zu Rahmen variieren können. Das verwendete Fehlerprüfpolynom soll sein: Xlb + X11 + Xs + 1.
In der nachfolgenden Beschreibung sollen die einzelnen vorkommenden Eingangs- und Ausgangssignale an den betrachteten Schaltungspunkten als positiv oder negativ oder als ein oder aus bezeichnet werden. Es wird dabei im wesentlichen nur mit zweipegeligen Signalen gearbeitet. Die Bezeichnungen »ein« und »aus« sind dabei gleichbedeutend mit den Bezeichnungen »positiv« und »negativ«.
Die Endeinrichtungen zur Eingabe zu übertragender Daten oder zur Aufnahme empfangener Daten gehören nicht zur eigentlichen Erfindung. Sie müssen jedoch gegebenenfalls zur Erhöhung des Verständnisses immer wieder angesprochen werden.
In F i g. 1 ist ein Senderausgang dargestellt, der von einer Endeinrichtung Daten zugeführt bekommt.
Fig. 2 zeigt die zugehörigen Folgesteuerungskreise zur Erzeugung der erforderlichen Steuersignale. Gemäß F i g. 2 wird ein Signal START SENDEN von der Endeinrichtung empfangen. Dabei läuft ein positiver Impuls zum UND-Glied 10 ein. Zur Zeit TAKTA wird dieser vom betrachteten UND-Glied über ein ODER-Glied 11 zu einem Verriegelungsglied 12 durchgegeben. Dabei wird das Vcrriegelungsglied eingeschaltet und ein positiver Pegel zur Bilduim der
ίο Signale MARK SENDEN und LÖSCHEN abgegeben.
Das Signal TAKT A gibt dazu die Auslösung. Wie bei anderen Maschinen werden solche Takisignale zur Steuerung verschiedener aufeinanderfolgender Funktionen benutzt. Beim vorliegenden Beispiel sollen für jedes Bit die aufeinanderfolgenden Taktimpulse A bis H verwendet werden. Sie werden aiii herkömmliche Weise durch einen freilaufenden, nicht dargestellten Zählring erzeugt.
Zu Beginn einer übertragung soll ein Markierer /■ gesendet werden. Dies bewirkt der Markierungsgenerator 13 gemäß Fig. 1. Es handelt sich dabei itr wesentlichen um einen 8-Bit-Zähler, der die Ver riegelungsglieder 14. 15. 16 und 17 umfaßt, denen, wit dargestellt. Eingangsimpulse über zwei UND-Gliedei 18 und 19 zugeführt werden. Zu Beginn vor dem An fang der Markierungserzeugung sind alle vier Ver riegelungsglieder gelöscht. Mit dem Sianal MARK SENDEN aus F i g. 2 gibt das UND-Glied 18 zur Zei TAKT B einen Eingangsimpuls zum Verriegelungs glied 14 Das UND-Glied 19 wird durch ein negative; Ausgangssignal vom Verriegelungsglied 17 noch ge sperrt gehalten. Mit dem nächsten"lmpuls TAKT" E geht das Verriegelungsglied 14 wieder aus. Da be gelangt ein positiver Impuls zum Verriegelungsglied 15 um dieses einzuschalten. Weitere Impulse TAKT E lassen in bekannter Weise den Zähler weiterlaufen, bi: das Verriegelungsglied 17 einschaltet. Damit gelang ein positives Signal zum UND-Glied 19. Zur ZeI TAKT F gelangt ein positiver Impuls vom UND Glied 19 zu den Löscheingängen der Verriegelungs glieder 14 bis 17; dieser positive Impuls dient auch all Signal MARK ENDE.
Im eingeschalteten Zustand der Verriegelungsgliedc:
15 und 16 werden dem ODER-Glied 20"positiv« Ausgangssignale zugeführt. Diese Signale werden zu sammengefaßt dem ODER-Glied 21 zugeführt um weiter einem UND-Glied 23 und über einen Inverter Z einem UND-Glied 24. Diese beiden UND-Glieder 21
so und 24 werden zur Einschaltung und Löschung eine: Verriegelungsglicdes 25 verwendet.
Um zu verstehen, wie die Markiererfolge 011111 Π durch das Verriegelungsglied 25 erzeugt wird, ist zi beachten, daß bei gelöschtem Markierungsgenerato
SS 13 vor dem Beginn des Markierers die beiden Ver riegelungsglieder 15 und 16 ausgeschaltet sind um somit ihre Ausgänge über die ODER-Glieder 20 und 2 vom Inverter 22 ein positives Signal zum UND-Glie« 24 gelangen lassen. Damit wird zur Zeit TAKT E eil positiver Impuls über das UND-Glied 24 zun Löscheingang des Verriegelungsgliedes 25 gegeben. Wenn im Markierungsgenerator ein Zählstand erreicht wird, sind die beiden Verriegelungsglieder 1: und 16 und ebenfalls der Ausgang des ODER-Glieds 21
noch aus. Das Verriegelungsglied 25 bleibt somi gelöscht, wobei sein Ausgang negativ verbleibt. Die bewirkt die Anfangs-0 des zu erzeugenden Markieren Wenn im Markierungsgeneratur der Zählstand
erreicht wird und das Verriegelungsglied 15 seinen Ein-Zustand einnimmt, gelangt ein positives Signal über die ODER-Glieder 20 und 21 zum UND-Glied 23. Zur Zeit TAKT E wird ein positiver Impuls über das UND-Glied 23 zum Einschalteingang des Verriegelungsgliedes 25 gegeben. Damit wird dessen Ausgang positiv und erzeugt eine binäre Eins für das zweite Bit des Markierers. Beim Zählsland 3 ist das Vcrricgelungsglied 15 im Markierungsgenerator noch eingeschaltet; damit bleibt auch das Verriegelungsglied 25 eingeschaltet und gibt eine binäre Eins als drittes Bit des Markierers ab.
Dies setzt sich fort bis zum Erreichen des Zählstandes 8 im Markierungsgenerator. Dann gehen die beiden Verriegelungsglieder 15 und 16 auf aus. Damit wird wiederum zur Zeit TAKT E ein Impuls über das UND-Glied 24 zur Löschung des Verriegclungsglieds 25 durchgegeben. Dabei entsteht die binäre Null als letztes Bit des Markierers.
Wie bereits angedeutet, wird mit der Einschaltung des Verriegelungsglieds 17 beim Zählsland 8 das UND-Glied 19 vorbereitet zur Durchgabe eines Impulses TAKT F zur Löschung der Verriegelungsglieder 14 bis 17 und zur Abgabe eines Signals MARK ENDE. Dieses Signal löscht in Fi g. 2 das Verriegelungsglied 12 und bewirkt das Umschalten dessen Ausgangs vom Positiven zum Negativen. Das Signal MARK ENDE gelangt des weiteren über ein UND-Glied 26 in Fig. 2 und bewirkt ein Signal START SENDEN LÖSCHEN für die Endeinrichlung, um dabei auch das von dieser empfangene Signal START SENDEN abzuschalten. Gleichzeitig wird mit dem positiven Ausgangssignal des UND-Glieds 26 ein Verriegelungsglied 27 eingeschaltet, das seinerseits ein Signal DATEN SENDEN zur eingebenden Endeinrichtung abgibt und des weiteren gemäß Fig. 1 das UND-Glied 28 zur Durchgabe von Datenbits von der F.ndeinrichtung vorbereitet.
Die von der Endeinrichtung ankommenden Datenbits passieren das UND-Glied 28 und gelangen zum CRC-Akkumulator 29, dessen Einzelheiten in F i g. 3 dargestellt sind und noch beschrieben werden sollen. Die Daten gelangen des weiteren über ein ODER-Glied 30 zu einem UND-Glied 31. dessen Ausgang über das ODER-Glied 21 parallel zu den bereits genannten Gliedern 22 bis 25 führt. Damit können die zu sendenden Daten dem vorangeschickten Markierer nachgesandt werden.
Die das ODER-Glied 30 passierenden Daten werden des weiteren Null-Einfügungskreisen 32 zugeführt. deren Einzelheiten in Fig. 4 dargestellt sind. Der Zweck dieser Null-Einfügungskreise ist die Absicherung dagegen, daß eine Markierer-Bitfolge im Datenfeld übermittelt werden könnte. Wenn fünf aufeinanderfolgende Einsen über die Datenbiteingabe einlaufen, wird das nächste Bit 0 oder 1 nicht übertragen, bevor eine zusätzliche Null eingefügt worden ist. Damit wird die unerwünschte Vortäuschung eines Markierers während der übertragung von Datenbits unterbunden.
Wenn die angeschlossene Endeinrichtung zur Einleitung eines Markierers das Signal START SENDEN gibt, wird das erste Bit des Datenfeldes dem UND-Glied 28 zugeführt Dieses jst aber noch nicht geöffnet, bevor das Signal DATEN SENDEN nach der Markierungserzeugung ansteht. Erst von dann ab wird das Verriegelungsglied 25 im Takte der Datenbits arbeiten. Wenn das erste Datenbit 2. B. eine Null ist dann ist der Ausgang des UND-Glieds 28 negativ, womit auch der Ausgang des ODER-Glieds 30, des UND-Glieds 31 und des ODER-Glieds 21 negativ ist. Der Ausgang des Inverters 22 ist dagegen positiv, und es läßt das Signal TAKT E über das UND-Glied 24 das Verriegelungsglied 25 weiter im gelöschten Zustand, in dem es sich bereits vom zweiten O-Bit des Markierers her befindet.
Wenn das erste Datenbit dagegen eine Eins ist, dann
ίο sind die Ausgänge des UND-Glieds 28, des ODER-Glieds 30. des UND-Glieds 31 und des ODER-Glieds 21 positiv. Damit wird über das UND-Glied 23 ein Signal TAKT E zum Einschalteingang des Verriegelungsglieds 25 durchgegeben. Somit wird an dessen Ausgang auch ein positives Signal abgegeben.
Bdm gewählten Ausführungsbeispiel bietet die
Endeinrichtung jeweils ein Bit über die Dateneingabe an und wartet dann, bis das nächste Bit abgerufen wird. Der Abruf für das nächste Bit erfolgt über das UND-Glied 33 gemäß Fig. 1. Angenommen, das erste Bit wäre bereits empfangen. Dabei ist noch keine Notwendigkeit für eine Null-Einfügung gegeben; das Ausgangssignal der Null-Einfügungskreise 32 ist noch negativ. Damit ist der Ausgang des Inverters 34 positiv und läßt Daten über das UND-Glied 31 zum Verriegelungsglied 25 gelangen. Das gleiche Signal vom Inverter 34 bereitet ebenfalls das UND-Glied 33 vor. damit dieses einen positiven Impuls zur Zeit TAKT A als ANFORDERUNG NÄCHSTES BIT für die Endeinrichtung geben kann. Daraufhin sendet die Endeinrichtung das nächste Bit zum UND-Glied 28. Dann, wenn die Null-Einfügungskreise 32 erkennen lassen, daß eine Null zur Verhinderung sechs aufeinanderfolgender Einsen im Datenfeld einzufügen ist.
« wird der Ausgang des Inverters 34 negativ und verhindert die Erzeugung des Signals ANFORDERUNG NÄCHSTES BIT sehens des UND-Glieds 33.
Bezüglich der Einzelheiten des CRC-Akkumulators 29 soll nun das Blockschaltbild gemäß F.i g. 3 erläuten werden. Darin ist ein rückgekoppeltes Schieberegister zur Multiplikation mit X"~k und zur Division der Datenbus durch das gewählte Polynom dargestellt Dieses Schieberegister enthält 16 Binärstufen. 35 bis 50. Wie dargestellt, sind drei antivalente ODER-Glieder 51. 52 und 54 zwischen einigen Stufen vorgesehen. Die Datenbiteingabe vom UND-Glied 28 gemäß F i g. I führt über Leitung 53 zum antivalenten ODER-Glied 54, dessen anderer Eingang mit dem Ausgang der Stufe 50 des Schieberegisters verbunden ist. Der Ausgang des antivalenten ODER-Glieds 54 dient als ein Eingang eines UND-Glieds 55. Der andere Eingang dieses UND-Glieds 55 ist mit dem Ausgang eines Inverters 56 verbunden, dem das Signal CRC SENDEN zugeführt wird, dessen Erzeugung noch beschrieben wird Vor der Erzeugung dieses letztgenannten Signals ist der Ausgang des Inverters 56 positiv und läßt durch das UND-Glied 55 das Aus.-gangssignal vom antivalenten ODER-Glied 54 hindurchgehen. Das UND-Glied 55 gibt die Eingangssignale zur Stufe 35 des Schieberegisters und des weiteren für je einen Eingang der antivalenten ODER-Glieder 51 und 52 ab.
über eine Leitung 57 werden sämtlichen Schieberegisterstufen 35 bis 50 Verschiebeimpulse zugeführt über eine Leitung 58 wird den einzelnen Stufen de< weiteren das schon genannte Löschsignal zugeführt Die Verschiebeinipulse werder im Rhythmus <J« Signals TAKT D gebildet. Das Löschsignai wird nacr
Durchführung der Abgabe eines Blockprüfsignals zur Vorbereitung auf den nächstfolgenden Datenblock angelegt.
Was bis zu diesen Punkte von F i g. 3 beschrieben wurde, entspricht dem wohlbekannten Stande der Technik. Die Unterschiede zwischen einzelnen ausgeführten rückgekoppelten Schieberegistern nach dem Stande der Technik sind im einzelnen jeweils durch das vei wendete Fehlerprüfpolynom bestimmt. Die gezeigte Anordnung nach F i g. 3 wird verwendet zur Division der Datenbiteingabe durch das Polynom *16 + A"12 + Xs + 1.
Was hier allerdings abweicht, ist die Tatsache, daß das Schieberegister auf eine vorgegebene von lauter Nullen abweichende Einstellung gelöscht wird. Wie im Beispiel gezeigt, werden sämtliche Schieberegisterstufen mittels des LÖSCHEN-Signals über die Leitung 58 auf den binären Zustand »1« gelöscht. Dies entspricht einer antivalenten ODER-Verknüpfung von 16 »1«-Bits mit den 16 höchsten Bitstellen der einlaufenden Information.
Es könnte selbstverständlich auch auf eine andere von lauter Nullen abweichende Anfangseinstellung gelöscht werden. Die gewählte Einstellung auf lauter Einsen ist eine dabei praktisch gebotene Möglichkeit. Zur Löschung auf lauter Einsen ist in einfacher Weise die Löschungsleitung mit der gleichen Seite aller Stufen zu verbinden; ein Löschsignal ausreichender Dauer stellt das Verbleiben der einzelnen Stufen tatsächlich im gelöschten Zustande sicher. Wenn es erwünscht werden sollte, einige der Stufen jedoch auf Null zu löschen, dann müßte die Löschleitung in diesen Stufen mit der entgegengesetzten Stufe verbunden werden. Dies entspricht dem Stande der Technik und benötigt an dieser Stelle nicht näher erläutert zu werden.
Wenn das erste Datenbit am antivalenten ODER-Glied 54 einläuft, wird es dabei mit der Stellung der Stufe 50 des Schieberegisters verglichen. Die Funktion solcher antivalenten ODER-Glieder ist wohlbekannt. Entsprechend den Regeln der Boolschen Algebra wird seine Funktion bezeichnet mit dem Zeichen © . Ein solches antivalentes ODER-Glied gibt nur dann ein positives Ausgangssignal ab, wenn der eine oder der andere seiner Eingänge, aber nicht beide gleichzeitig, positiv beaufschlagt wird. Wenn somit das erste einlaufende Bit eine binäre Null verkörpert, wird ein positives Ausgangssignal vom antivalten ODER-Glied 54 abgegeben, da der Ausgang der Stufe 50 durch die vorangegangene Löschung auf Eins gestellt wurde. Wenn dagegen das erste Datenbit eine binäre Eins ist, dann ist das Ausgangssignal des antivalenten ODER-Glieds 54 negativ, da beide Eingänge gleichzeitig positiv gespeist werden.
Für die weitere Beschreibung der Funktionen des Schieberegisters soll angenommen werden, daß das erste einlaufende Datenbit eine binäre Eins ist. Da das Ausgangssignal der Stufe 50 ebenfalls Eins ist (durch die vorangegangene Löschung), ist der Ausgang von 54 negativ, d. h. beim betrachteten Beispiel binär Null. Das UND-Glied 55 bleibt somit gesperrt. Damit wird mit dem nächsten Verschiebeimpuls die Stufe 35 auf Null geschaltet. Wenn im Gegensatz hierzu das antivalente ODER-Glied 51 von der Stufe 39 mit EIN gespeist wird und mit AUS über die Rückkopplungsleitung, so wird ein EIN-Eingangssignal der Stufe 40 zugeführt und beläßt diese im gelöschten Zustand binär Eins. Dasselbe spielt sich über das antivalente ODER-Glied 52 ab. Damit ergibt sich nach der Eingabe der ersten binären Eins die folgende Stellung der Stufen 35 bis 50: 011 Π 1! 1Π Π Π11-
Wenn dagegen das erste zugeführte Bit eine binäre Null gewesen wäre, dann wäre ein positives Ausgangssignai vom antivalenten ODER-Glied 54 über das UND-Glied 55 geführt worden. Damit hätte sich ergeben, daß die erste Stufe 35 in ihrer gelöschten Eins-Stellung verblieben wäre. Die antivalenten ODER-Glieder 51 und 52 hätten dagegen anders reagiert und ein negatives Ausgangssignal abgegeben. Die Stufen 40 und 47 wären dann auf binär Null gestellt worden. Mit einer als erstes Bit zugeführten Null hätte sich dabei dieSchieberegisterstellungergeben: 1111101111110111.
Es wurde bereits angedeutet, daß die Verschiebeimpulse dem Schieberegister über die Leitung 57 zugeführt werden. Die Impulse werden dabei wie folgt gewonnen. Dem UND-Glied 59 werden die Ausgangssignale von einem Inverter 60 und von einem ODER Glied 61 zugeführt. Der Inverter 60 wird mit einem Signal NULL-BIT-EINFÜGUNG gespeist, dessen Erzeugung noch erläutert wird. Es kann gesagt werden, daß der Ausgang des Inverters positiv sein muß, wenn keine Null eingefügt werden soll. Wenn eine Null eingefügt werden soll, muß der Ausgang des Inverters negativ sein und das UND-Glied 59 für Verschiebeimpulse sperren. Dem ODER-Glied 61 werden die Signale DATEN SENDEN und CRC SENDEN zugeführt. Somit ist der Ausgang des ODER-Glieds 61 während der Datensendung eingeschaltet.
Aus dem Vorgenannten ergibt sich, daß während der Datensendung Impulse zur Zeit des TAKT D abgegeben werden, vorausgesetzt allerdings, daß keine Nullen einzufügen sind. Wenn Nullen einzufügen wären. würden keine Verschiebeimpulse durchgegeben, wenn das Signal NULL-BIT-EINFUGUNG am Eingang des Inverters 60 positiv ansteht.
So erfolgt die Verarbeitung der eingegebenen binären Einsen und Nullen, wobei sich in den einzelnen Stufen 35 bis 50 des Schieberegisters der Schaltung entsprechende Zustände einstellen. Der Inhalt des Schieberegisters stellt dabei jeweils laufend einen Rest eines Divisionsvorganges dar, wobei Bit für Bit des Datenfeldes dem Schieberegister zugeführt werden.
Wenn die sendende Endeinheit das letzte Bit des Datenfeldes eingegeben hat, gibt sie ein positives Signal DATENENDE zu dem einen Eingang eines UND-Glieds 62 gemäß Fig. 2, wenn das nächstfolgende Signal ANFORDERUNG NÄCHSTES BIT gebildet wird. Das Signal DATENENDE wird zur Zeit TAKT B zum Einschalteingang eines Verriegelungsglieds 63 gegeben und bildet dabei an dessen Ausgang das positive Signal CRC SENDEN. Das Verriegelungsglied 63 wird wieder gelöscht, wenn alle Prüfbits übertragen sind. Dies erfolgt durch das Signal CRC-ENDE. Dieses Signal wird gemäß F i g. 3 erzeugt, wie noch beschrieben wird.
Soweit sind die Vorgänge bis zum Auslesen der Prüfbits aus dem Schieberegister gemäß Fig. 3 erläutert. Dies wird dann die Ausgabefunktion des CRC-Akkumulators 29 gemäß Fig. 1 sein. Das gemäß F i g. 2 gebildete Signal CRC SENDEN wird über das ODER-Glied 61 dem UND-Glied 59 gemäß F i g. 3 zugeführt und gewährt die Verschiebeimpulse über die Leitung 57, ausgenommen jedoch. wenn ein Signal NULL-BIT-EINFUGUNG angibt, daß Nullen einzufügen sind. Das Signal CRC SENDEN wird des weiteren dem Inverter 56 zugeführt.
der seinerseits das UND-Glied 55 während Schicberegisterausgabeoperalionen sperrt. Das Signal CRC SENDEN gelangt auch zum UND-Glied 64 und läßt durch dieses die Verschiebeimpulse vom UND-Glied 59 in eine zweite Richtung gelangen.
Der Ausgang des UND-Glieds 64 ist mit einem fünfstufigen Binärzähler verbunden, der in allgemein bekannter Weise bis 16 zählen kann. Dieser Zähler umfaßt die binären Verriegelungsglieder 65 bis 69. Bei einem Zählstand 16 wird ein positives Ausgangssignal von der letzten Zählerstufe 69 einem UND-Glied 70 zugeführt und ein TAKT F-Signal dem Ausgang des UND-Glieds 70 als Signaf CRC-ENDE und zur Löschung des fünfstufigen Zählers abeeeeben.
Das Signal CRC-ENDE gelangt zum ~ODER-Glied 11 in Fig. 2, dessen Ausgangssignal zur Einschaltung des Verriegelungsglieds 12 und somit zur Erzeugung eines weiteren Signals MARK SENDEN dient. Damit wird die Bildung der den übertragenen Rahmen beendenden Markiererfolge erzeugt.
Wie bereits genannt, sind die über die CRC-Ausgabe gemäß Fig. 3 auslaufenden Prüfbits die Ausgangssignale des CRC-Akkumulators 29 gemäß Fig. 1. Ein wichtiger Teil des Gegenstands der vorliegenden Erfindung umfaßt die antivalente ODER-Verknüpfung einer von Null verschiedenen Zahl mit den Prüfbits, bevor diese an die zum Empfänger zu übertragenden Datenbits angehängt werden. Im erläuterten Beispiel wird dies durch Inversion der Prüfbits durchgeführt. Die Ausgangssignale des CRC-Akkumulators 29 werden einem Inverter 71 zugeführt. Fs könnten auch andere bekannte Techniken für die antivalente ODER-Verknüpfung mit einem von Null verschiedenen Wert zur Erzeugung des Blockprüffekies BC als Anhängsel an das Datenfeld verwendet werden.
Entsprechend Fig. 1 ist der Ausgang des inverters 71 mit einem Eingang eines UND-Glieds 72 verbunden, dessen anderem Eingang das Signal CRC SENDEN zugeführt wird. Wenn also das Signal CRC SENDEN ansteht, dann kann das Ausgangssignal des Inverters 71 über das UND-Glied 72 zum ODER-Glied 30 und weiter zum UND-Glied 31 gelangen. Auf die gleiche Weise wie vorbeschrieben, gelangt das Ausgangssignal vom UND-Glied 31 an das Verriegelungsglied 25 am Senderausgang. Von dort geht es weiter über das nicht dargestellte Modem zwecks Anpassung an die vorgesehene übertragungsleitung.
Einer der Schaltkreise in der Fig. 1 ist noch nicht im einzelnen beschrieben worden. Das sind die NuII-Einfügungskreise 32. Wie bereits angedeutet, ist die Aufgabe dieser Schaltkreise die Sicherstellung, daß keine Markiererfolge innerhalb eines übertragenen Datenfeldes D oder innerhalb eines Blockprüffcldcs BC am Ausgang des Verriegelungsglieds 25 auftiilt. Wenn dies nicht abgesichert wäre, könnte eine unerwünscht auftretende Bitfolge, die mit der Markicrerfolge identisch ist, im Empfänger fälschlicherweise als solche verstanden werden und dabei unbeabsichtigt ein Rahmenende kennzeichnen.
Die Null-Einfügungskrcisc 32 sind im Detail in Fig. 4 dargestellt. Die Aufgabe dieser Schaltkreise ist die Vorkehrung eines Signals Nl Ll-HNl Γ GUNG immer dann, wenn fünf aufeinaiiderlolgeiidi-Einsen im Daten- oder im Prüffeld aultreten OIuk diese Vorkehrung könnte der Empfänger iincrwunsJi: auf eine Markiererfolgc schließen.
Dazu ist ein dreistufiger Binärzähler mit den Binärstufen 76. 77 und 78 vorgesehen. Das Signal LÖSCHEN vom Verriegelungsglied 12 gemäß F i g. 2 wird über ein ODER-Glied 81 den drei Stufen 76 bis 78 zur Löschung zugefühi t. wenn zu einer Markiererfolge aufgerufen wird. Jede in einem Datenfeld oder Blockprüffeld auftretende Eins läßt den Zähler um einen Schritt aufwärts zählen. Jede Null im Datenfeld oder Blockprüffeld läßt dagegen den Zähler löschen, vorausgesetzt allerdings, daß der Zähler noch nicht den Stand 5 erreicht hat, was kennzeichnen würde, daß eine Null einzufügen wäre. Die Datenfeldsignale und die Blockprüffeldsignale vom ODER-Glied 30 gemäß F i g. 1 erscheinen in F i g. 4 auf einer mit DATEN CRC bezeichneten Eingangsleitung. Diese Signale gelangen direkt zu einem UND-Glied 73 und zu einem Inverter 74 zur Ansteuerung eines UND-Glieds 75. Jedes dieser auf der Leitung DATEN CRC auftretende Eins-Signal bewirkt einen positiven Impuls am Ausgang des UND-Glieds 73 /ur Zeit TAKT G. Dieser Ausgangsimpuls des UND-Glieds 73 wird /ur Auf/ählung des Zählers jeweils um eins verwendet Wenn ein eine binäre Null darstellende Signal auf der Leitung DATEN CRC erscheint, wird ein positives Signal vom Inverter 74 /um UND-Glied 75 abgegeben. Solange der Zähler noch nicht den Stand 5 erreicht hat. wird ein positives Signal vom UND-Glied 75 über ein ODER-Glied 81 weitergegeben /ur Löschung aller Stufen des Zählers auf AUS. Auf diese Weise zählt der Zähler mit sämtlichen /ugeführten Einsen um eins auf und wird sofort gelöscht, wenn eine Null ankommt, ausgenommen jedoch, wenn der Stand 5 vorher erreicht ist
Gemäß Fig. 1 wird das Signal NULL-FINHj-GUNG von den Null-Emfügungskreisen 32 dem Inverter 34 zugeführt, dessen Ausgang mit Eingängen der UND-Glieder 31 und 33 verbunden ist. Wenn also ein positives Signal NULL-ElNFnGUNG erzeugt wird, welches kennzeichnet, daß fünf Eins-Bits naeheinander aufgetreten sind, dann werden die UND-Glieder 31 und 33 durch den Inverter 34 gesperrt, über das UND-Glied 33 kann somit nun kein Signal ANFORDERUNG NÄCHSTES BIT abgegeben werden. Während das sechste Bit noch dem UND-Glied 31 zugeführt wird, ist dieses bereits gesperrt. Somit wird eine Null vermittels des Verriegelungsglieds 25 abgegeben. Wenn der Ausgang des UND-Glieds 31 negativ wird, wird ebenfalls der Ausgang des ODER-Glieds 21 negativ und läßt den Ausgang des Inverters 22 positiv werden. Dann wird über das UND-Glied 24 ein positiver Impuls /ur Zeit TAKT E dem Löscheingang des Verriegclungsglicds, 25 zugeführt; auf diese Weise wird eine binäre Null am Ausgang des Verriegelungsglieds 25 erzwungen.
Gemäß F 1 g 4 wird im Anschluß an die Erzeugung des Signals NULL-EINFtIGUNG der Zähler mit den Vcrncgclungsgliedern 76 bis 78 mit dem nächsten Signal TAKT I gelöscht Damit geht auch das Signal M1LL-HNFrGUN(I seihst wieder aus Dei Inverter 34 in Fi g. 1 bekommt wieder einen positiver Ausgang und läßt das sechste Hit. das beieiis ansteht über das UND-Glied 31 weiterlaufen.
Solange vnrhei das Signal N!'l I -FINIT'iil \( noch eingeschaltet Hai gelangte c- auch /tun Imertei iSO iieni-il.' Li 1:. "■· Dänin wurde1 der \usgang diese1 lnvoiters neg.iti\ und spei 1'e das I Nl Milled 54 daniil keine Yei ^ehicivsigiuile /um Schiebercgiste ^elance'i kniinieii. Dc-. weiteren wurde das INI)
0 iange so lang
das
Glied 64 gesperrt und die Aufzählung im CRC-Zähler unterbunden, d
Immer dann also, wenn fünf
Einsen im Datenfeld oder im Β1ο wird eine Null eingefügt und das zurückgehalten, bis die Null einSe£f
Wenn nach Durchgabe eines ^^ zugehörige Blockprüffeld BC übermi <* «O Schluß-Markierer OllllHO. Die vollstand ge tragung eines Rahmens ist dam* abgeben·
Es wurde erläutert, wie em BIockP™"eiaJ"erseits des Polynoms R'(X) erzeugt wurde, welches se.nerse.ts dem Divisionsrest bei der Division
durch P(X) entspricht, wobei dieser Divisionsrest jn antivalenler ODER-Verknüpfung mit K/*>™ bunden wird. Dies entspricht der folgenden
P[X)
K1(XhI
© K2(X)
Darin sind
rung eines Zählers, der auf Markierer prüft. D,eser Zähler besteht aus drei Stufen 105, 106 und I07. nip Ausgänge dieser drei Stufen sind mit zwei UND!-Gliedern ä08 und 109 verbunden deren erstes „„ erkennung von sechs aufeinanderfolgenden Eins-
£ iind'deren zweites zur Erkennung von fünf aufeinanderfolgenden Eins-Bits dient.
Der Ausgang des Verriegelungsglieds 104 .st mit «n«n UND-Glied Π0 und des weiteren über einen ZZev 111 mit zwei UND-Gliedern 112 und U5
ve bunden. Ein Verriegelungsglied 113 wird durch Z N-iden UND-Glieder 114 und 115 gesteuert, d ren rstes mit dem Ausgang des UND-Glieds ,08 und deren zweites mit dem Ausgang des Inverters U1
'5 ^Der^Stufen 105 bis 107 umfassende Zähler zählt am Ausoang des Verriegelungsglieds 104 aufeinanderfolge Einsen über den BIT-EINGANG ab, wird Joch jeweils über eine ankommende binäre Null „ sofort gelöscht Bei der Feststellung eines Markierers Oi Π i IiO versetzt die erste Null aas verr.egeiungsglied 104 in seine gelöschte Stellung, womit ein negatives Auseacgssignal vom Verriegelungsglied 104 abgegeben wird Dieses negative Ausgangssignal wird im Inverter 111 umgekehrt und den UND-Gliedern 115 und 112 eSt. Zur Zeit TAKT 8 läßt das UND-Glied H2 dann einen positiven Impuls über das ODER-Glied 116 ^Löschung des Zählers gelange,, Zur Zeit TAKT 9 schaltet das UND-Glied 115 das Verriegelungsglied 113 ein und bewirkt ein Ausgangssignal zum UND-Glied HO Die aufeinanderfolgenden Eins-Bits des Markierers lassen mit Ausgangssignalen vom UND-Glied 110 den Zähler aufwärts zahlen. Beim Zähl-
uaiMu.w,u j , . 6 gibt das UND-Glied 108 ein positives Aus-
K1(A-) , . ,. . „ Banessianal über das UND-Glied 114 zur Löschung
UHdK2(X) Polynome eines Grades k einer 35 gang » lungSgiieds 113, das seinerseits das UND-
als π - k, welche von Null yer- g'^jio blockiert, und über das ODER-Glied 116
zur Löschung des Zählers. Das Ausgangssignal des UND-Glieds 108 wird des weiteren zu einem UND-Glied 117 geführt, dem andererseits das Ausgangssignal eines Inverters 118 zugeführt wird. Wenn das nächstfolgende Bit eine Null ist, gibt das UND-Glied 117 zur Zeit TAKT 2 ein Ausgangssignal ab zur Emschaltung eines Verriegelungsglieds 119, welches seisch»; Ausgangssignal MARK ER-
b P ib\ Das Verriegelungsglied 119 wird ^ takt ]Q wieder ge]öschl
rau - bPSchriebene Zähler arbeitet ähnlich, Der een - zusätz]ich eingefügte Nullen
wenn»de drücken sind Sobald ein Zählstands
R'(X) das Blockprüfpolynom,
X die Variable bei der Polynomdar-
stellune von Bits,
ο die Bifzahl zwischen zwei Markierern,
k die Bitzahl des Datenfeldes, G(X) das die k Datenbits im Datenleid darstellende Polynom,
schiedene Konstanten darstellen,
und
P(X) das Generatorpolynom des ura-
des η - k.
Nun wird beginnend mit F i g. 5 ein passender Empfänger erläutert.
Die Leitung mit der Bezeichnung BIT-EINGA NG ist die von einem nicht dargestellten Modem kommende Eingabeleitung, über sie werden die über die übertragungsleitung empfangenen Daten zugeführt. Die Leitung BIT-EINGANG ist mit einem Taktring 100 verbunden, der mit dem Signalwechseln in .·----- -
der einlaufenden Bitfolge synchronisiert wird. Aus- 50 wieder „o„„ci<.ii„nni.n Hips« Talftrinos eeben von 1 bis 10 erreicm
-
des gng des
uei eimauiciiucn uuiuigi. jj.n,!!·«.....-.. ..
gangsleitungen dieses Taktrings geben von 1 bis 10
bezeichnete TAKT-SIGNALE ab. Je 10 Impulse fol
gen aufeinander im zeitlichen Abstand pro gegebenes
Bit. Da es zweckmäßig ist, die einlaufenden Datenbits ._„_..
in der Nähe der Bitmitte abzutasten, ist der Takt- 55 UND-Glied
ring 100 so ausgelegt, daß der TAKT 1 jeweils in der zur Zeit TAKT Mitte eines Bits liegt.
Die Leitung BIT-EINGANG führt des weiteren zu einem UND-Glied 101 und über einen Inverter 103 /11 einem UND-Glied 102. Diese beiden UND-Glieder werden zur Zeit TAKT 1 geöffnet und ihre Ausgangs-..: —1~ feuern ein Verriet>eluni»siilied 104. Eine an-
60 nS des OC11UCI3 iUJUitiivn w..t~·-t"~ 1."M1
unterdrücken sind. Sobald ein Zählstand 1 gibt das UND-Glied 109 ein positives ' ' —m UND-Glied 120. Wenn das eine Eins ist, ist das Ausgangs- !3 118 negativ und blockiert das Somit gibt das UND-Glied 12« zu, ^1 *™. 2 ein Ausgangssignal nur dann weiter, wenn das folgende Bit ein Null-Bit ist. Das Ausgangssignal des UND-Glieds 120 schaltet eir Verriegelungsglied 121 ein, das seinerseits ein positives Signal UNTERDRÜCKUNG NULL abgibt. Zui
Signal uiNicRURu^iMJjivj ,,w—_ ^1,.^.. ^„, Zeit TAKT 8 wird das Verriegelungsglied 121 wiedei
..... t I · UlAn Ki.ii-L· J Λΐ-r» rf/si γ*λ wit fr
glied ein und eine ankommende binäre Null schaltet o.,
es aus. 65 Nullen zu unterdrücken sind.
Die Ausgangsleitung des Verriegelungsglieds 104 Wenn also ein Markierer empfangen wird, wir«
ist bezeichnet mit EM PFANGENES BIT. Das darüber das Signal MARK ERKANNT abgegeben,
laufende Ausgangssignal wird verwendet zur Steue- "
fünf aufeinanderfolgende Einsen empfangen werdei
und das sechste Bit eine Null ist, wird ein Signal UNTERDRÜCKUNG NULL erzeugt. Die Verwendung dieser Signale wird noch beschrieben.
Die Schaltungsanordnung gemäß F i g. 6 zählt die acht Bits im Anschluß an die Erkennung eines Markierers. Es muß festgestellt werden, wenn ein zweiter Markierer empfangen wird. Das Signal MARK ERKANNT wird über ein ODER-Glied 129 den Löscheingängen eines binären Zählers mit den Stufen 125 bis 128 zugeführt. Das Signal MARK ERKANNT wird d«J weiteren einem UND-Glied 122 zugeführt, welches zur Zeit TAKT 6 ein Verriegelungsglied 123 einschaltet, das seinerseits ein UND-Glied 124 vorbereitet. Daraufhin kann ein zugeführter Verschiebeimpuls zur ersten Stufe 125 des Zählers gelangen.
Dabei schaltet jeder einlaufende Verschiebeimpuls während des Empfangs nicht zu unterdrückender Null-Bits den Zähler um eins weiter. Im Zusammenhang mit F i g. 5 wurde erläutert, daß ein Signal UNTERDRÜCKUNG NULL nicht während "des Empfangs eines Markierers erzeugt wird. Bei einer Abzählung von acht Bits wird der Ausgang der Stufe 128 positiv und bereitet das UND-Glied 130 vor, so daß über dieses der Zähler und auch das Verriegelungsglied 123 gelöscht werden können. Wenn eine zweite Markierer-Folge einläuft, löscht das Signal MARK ERKANNT den Zähler bereits vor dem Erreichen des Zählstandes 8. Somit erscheint ein positives Signal 8 BITS am Ausgang der Stufe 128 nur dann, wenn 8 Bits nach einem eisten Markierer abgezählt werden und es sich dabei nicht um einen zweiten Markierer handelt. Alle aufeinanderfolgend einlaufenden Markiererfolgen werden auf gleiche Weise behandelt.
Wenn das MARK ERKANNT erzeugt wird, wird dieses gemäß F i g. 7 zur Zeit TAKT 9 über ein UND-Glied 131 zur Löschung der Stufen 132 bis 139 eines Schieberegisters verwendet. Das nächste Signal EMPFANGENES BIT vom Verriegelungsglied 104 in Fig. 5 wird der ersten Stufe 132 des Schieberegisters zugeführt. Dieses Schieberegister schaltet bei jedem Bit um eine Stufe weiter, außer beim Empfang von zugefügten Null-Bits. Dazu wird das Signal UNTERDRÜCKUNG NULL über einen Inverter 140 einem UND-Glied 141 zugeführt. Wenn somit keine Nullunterdrückung ansteht, kann das UND-Glied 141 zur Zeit TAKT 3 Impulse VERSCHIEBEN abgeben. Diese Impulse werden auch dem UND-Glied 124 in Fig. 6, wie bereits erwähnt, zugeführt.
Die Ausgabe aus dem Schieberegister erfolgt über die Stufe 139. Dabei werden nur solche Bits abgegeben, die auf einen Markierer folgen, und zwar um 8 Bits verzögert. Während dieser Verzögerungszeit kann ein Markierer erkannt werden, der dem letzten Bit eines Blockprüffeldes nachfolgt.
F i g. 8 zeigt den empfangsseitigen Decodierer in Form eines 16stufigen rückgekoppelten Schieberegisters; dabei sind Vorkehrungen für das gleiche Fehlerpolynom wie auf der Sendeseite getroffen. Das empfangsseitige Schieberegister arbeitet auch auf ähnliche Weise wie das sendeseitige im Codierer und enthält die Stufen 142 bis 157 mil antivalenten ODER-Gliedern 158, 159 und 160.
Wenn das Signal MARK ERKANNT zur Zeit TAKT9 über das UND-Glied 161 durchgegeben wird, werden alle Stufen des Schieberegisters auf die vorgesehene von Null abweichende Stellung gebracht.
Wie auf der Sendeseite vorgesehen, werden auch hier sämtliche Stufen auf Eins gestelit. Dabei muß selbstverständlich dieselbe Kombination wie im Schieberegister des Codierers auf der Sendeseite verwendet werden.
Das Schieberegister-Ausgangssignal vor. Fig. 7 dient für den Decoder als Eingangssignal und wird diesem über das antivalente ODER-Glied 160 zugeführt. Der Inhalt des Deccder-Schieberegisters ist jeweils um eine Stufe zu verschieben, wenn ein Bit. ausgenommen jedoch zu unterdrückende Null-Bits, empfangen wird. Diese Verschiebungen werden mittels des UND-Glieds 162 bewerkstelligt, dem das Signal EMPFANG, das noch beschrieben werden soll, zugeführt wird. Das Signal UNTERDRÜCKUNG NULL wird dem UND-Glied 162 über einen Inverter 163 zugeführt. Zur Zeit TAKT 5, wenn sämtliche Eingänge des UND-Glieds 162 positiv sind, wird ein Signal VERSCHIEBEN CRC erzeugt und den Stufen 142 bis 157 zugeführt. Wenn natürlich das Signal UNTERDRÜCKUNG NULL positiv ist und anzeigt, daß ein Null-Bit unterdrückt werden muß. wird das UND-Glied 162 vermittels des Inverters 163 gesperrt.
Nun soll an Hand des oberen Teils der 1 g. S beschrieben werden, wie das Signal EMPIANCj erzeugt wird. Das UND-Glied 164 empfangt einerseits das Signal 8 BITS von F i u. 6. Zur Zeit TAKT 4 gibt dann das UND-Glied Γ64 einen Impuls weiter zur Einschaltung des Verriegelungsglieds 165. Dieses Verriegelungsglied wurde vermittels des UND-Glieds 166 zur Zeit TAKT 4 gelöscht, wenn das Signal MARK ERKANNT anstand. Das Ausgangssignal des Verriegelungsglieds 165 ist das Signal EMPFANG, das zum UND-Glied 162 weitergeführt wird.
Wenn ein Markierer empfangen worden ist und feststeht, daß die nächsten 8 Bits nicht auch ein Markierer sind, muß angenommen werden, daß die nächsten einlaufenden Bits zu empfangende Datenbits sind. Somit wird das Signal EMPFANG auch zu einem UND-Glied 167 geführt. Das Signal UNTERDRÜCKUNG NULL gelangt über einen Inverter 168 zum UND-Glied 167. Da zu Beginn des Datenfeldes jetzt gewiß noch keine Notwendigkeit zur Unterdrückung eines Null-Bits besieht, kann das UND-Glied 167 zur Zeit TAKT 2 ein positives Signal erzeugen, das als BEDIENUNGSANFORDERUNG der angeschlossenen Maschine bzw. dem verwendeten nicht dargestellten Gerät als Kennzeichen zugeführt wird, daß Daten zu empfangen sind.
Um das erste Datenbit des Datenfeldes der angeschlossenen Maschine bzw. dem verwendeten Gerät zuzuführen, wird das Signal SCHIEBEREGISTER AUSGANG dem UND-Glied 169 und über einen Inverter 170 dem UND-Glied 171 zugeführt. Das Ausgangssignal des UND-Glieds 171 löscht das Verriegelungsglied 172 zur Zeit TAKT 2, wenn das gegenwärtige Datenbit eine Null ist, und das UND-Glied 169 schaltet das Vcrricgelungsglied 172 ein. wenn das gegenwärtige Datenbit eine Eins ist. Von diesem Veiricgelungsglied 172 werden somit Ausgangs-Bits /ur weiteren Verarbeitunu abgegeben.
Das Signal BEDIENUNGSANFORDERUNG dient dabei als Kennzeichnung, daß Ausgangs-Bits als zu verarbeitende Daten anstehen.
Wenn der Markierer am Ende des Blockprüffeldcs erkannt wird, dient das zum UND-Glied 166 geführte
Signal MARK ERKANNT zur Löschung des Verriegelungsglieds 165 zur Zeit TAKT 4: dabei wird dessen Ausgang negativ. Bevor dieser negative Pegel eingenommen wird, gibt kurz vorher zur Zeit TAKT 2 das" UND-Glied 173 ein Ausgangssignal RAHMEN EMPFANGEN ab. und zwar als Kennzeichnung für die angeschlossene Maschine bzw. das verwendete Gerat, daß der Rühmen beendet ist.
Nachdem der End-Markiercr empfangen worden ist. ist es wünschenswert zu wissen, ob eine ordnungsgemäße Übertragung stattgefunden hat. Ist dies der Fall, dann müßten die Stufen 142 bis 157 wieder eine vorgegebene Zahlenwertstellung beinhalten. Dieser Zahlcnwcrt ist wieder von dem von Null abweichenden Zahlenwert abhängig, der in antivalenter ODER-Verknüpfung dem CRC-Akkumulator 29 im Sender (Fig. 1) zugeführt wurde. Im vorliegenden Falle, bei dem das Ausgangssignal des Akkumulators 29 invertiert wird. müßte das Schieberegister I I 110(K)OlOlIl(XX) beinhalten, wobei die einzelnen Bits von links nach rechts die Schaltzuständc der Stufen 142 bis 157 wiedergeben.
Um die Richtigkeil einer übertragung festzustellen. sind die Ausgänge der Stufen 142 bis 157 mit den Eingängen eines großen UND-Glieds 174 verbunden. Wenn der vorgegebene Zahlen wert im Schieberegister steht, werden alle Eingänge des UND-Glieds 174 positiv beaufschlagt. Dies bewirkt die Abizabc eines Signals CRC RICHTIG. Dieses Signal wird über einen Inverter 175 einem UND-Glied 176 zugeführt. Dieses UND-Glied bekommt des weiteren das Signal FMPf7ANG und das Signal MARK ERKANNT zugeführt. Wenn dann das Signal CRC RICHTIG nicht anstehen sollte, wird das Ausgangssignal des Inverters 175 positiv, und zur Zeit TAKT 2 gibt der Ausgang des UND-Glieds 176 ein Signal CRC-FEHLER ab. Andererseits wird, wenn ein Signal CRC RICHTIG ansteht, kein CRC-FEHLER-Signal abgegeben.
Im Empfänger wird somit nach Erkennung eines Markierers der rückgekoppelte Schieberegister-Akkumulator auf den von Null verschiedenen Zahlenwert gelöscht. Im beschriebenen Beispiel werden dabei sämtliche Registerstufen auf Eins gestellt. Nach dem Empfang eines Datenfeldes und des nachfolgenden Blockprüffeldes wird das Schieberegister den vorgegebenen Zahlenwert beinhalten, wenn die Übertragung fehlerfrei war. Der Zeitpunkt zur Überprüfung des Standes des Schieberegisters fällt mit dem Empfang des End-Markierers zusammen; damit wird auch das Rahmenende angezeigt. Dabei werden die dem rückgekoppelten Schieberegister zugeführten Bits um 8 Bitzeiten auf Grund der Wirkung des 8-Bit-Schieberegisters gemäß Fig. 7 verzögert zugeführt. Im Empfänger werden das empfangene Datenfeld, das Blockprüffeld und gegebenenfalls eine Fehlerfolge decodiert und dabei der folgende Rest gebildet:
.V" ' I .V" * (;(Ä)®R(A'I© A1K1(AKf/I Vl] PIA)
Darin ist E(X) ein den empfangenen Fehler darstellendes Polynom. Wenn E(A') Null ist und damit angibt, daß kein nbertragungsfenler vorliegt, dann ist der vorstehend angegebene Rest gleich K,(Al: dies ist ein Polynom, welches den im Decoder-Schieberegister verbleibenden ynreegehsnen Zahlen-a crt darstellt, wenn die Prüfung auf Korrektheit der Übertragung durchgeführt wird.
Das anfangs angegebene Beispiel I-A betraf einen !•"all. bei dem der gesamte einen Rahmen abschlies ßendc End-Markierer als Nullen empfangen wurde. Der nächstfolgende Markierer wurde wieder ordnungsgemäß empfangen. Dabei würde das rückgekoppelte Schieberegister im Empfänger acht zusätzliche Null-Bits empfangen, bevor wirklich ein Markiercr erkannt wird. Diese acht zusätzlichen Nullen würden das Schieberegister von 111 KX)OOK)I 11000 vor dem Empfang der acht zusätzlichen Null-Bits auf (X)I1I(X)!OO11OO11 mit den empfangenen acht zusätzlichen Null-Bits abändern, wie dies nachstehend gezeigt ist. Der Fehler würde also erkannt.
Stellung des Schieberegisters vor dem Empfang der zusätzlichen
8 Null-Bits MIKXXXIIOIIIOOO
Erstes zusätzliches
Null-Bit 0111100001011 100
Zweites zusätzliches
Null-Bit (K)I I IHXKXlIOI I H)
Drittes zusätzliches
Null-Bit (K)O1I1HX)OO!OIII
Viertes zusätzliches
Null-Bit H)OOlOI H)OOOOOH
Fünftes zusätzliches
Null-Bit IHKXXXlllOOOIOOl
Sechstes zusätzliches
Null-Bit I IHX)I(K)I 1001 100
Siebentes zusätzliches
Null-Bit 0IiHX)IOOlIOOiK)
Achtes zusätzliches
Null-Bit 001 HOOH)Ol 1001 I
Entsprechend dem Beispiel I-B wurde ein zusätzliches Null-Bit vor einem falsch empfangenen Markierer aufgenommen. Dabei würde das Schieberegister nach dem Empfang des besagten zusätzlichen Null-Bits den Stand 0111100001011100 beinhalten und damit den Fehler erkennen lassen.
Entsprechend Beispiel 2-A stünde das rückgekoppelte Schieberegister nach dem Empfang von acht zusätzlichen Null-Bits auf 0011 HK)IOOl 10011. Während das Schieberegister vor Beginn des Empfangs des nächsten Rahmens auf lauter Einsen stehen sollic.
ist die Schieberegisterstellung nach Empfang des nächsten Rahmens nicht 1111000010111000." d. h falsch. Damit wird ein Fehler angezeigt.
Entsprechend Beispiel 2-B steht das Schieberegister nach dem Empfang des ersten zusätzlichen Null-Bits auf 0111100001011100. Wenn der um ein Bit verschobene Markierer erkannt wird und die Prüfung durchgeführt wird, dann wird der Blockprüffehler angezeigt Das Beispiel 3-A zeigt einen Fall, der dem des Beispiels 2-A ähnlich ist. Die den vorangehenden Rahmen empfangende Station nimmt den zweiten Rahmen auf. der gar nicht an sie gerichtet war; ein Fehler wird jedoch am Ende des zweiten Rahmens angezeigt. Bei ungestörtem Betrieb kann der Sender annehmen, daß der letzte an eine bestimmte Station gerichtete Rahmen ordnungsgemäß empfangen wurde. Eine Vorkehrung, die das überprüft, ist nicht Teil der vorliegenden Lrfindunt.. Es soil lediglich darauf hincei werden, daß der Sender, wenn er annehmen
kernen Hcde. rd-
en (K)
23
muß. daß eine übertragung nicht ordnungsgemäß empfangen wurde, er als nächsten Rahmen den wiederholt, der dem letzten ordnungsgemäß empfangenen folgte. Dabei ist es auch wiederum vorteilhaft, eine Fehleranzeige zu erhalten, die die Aufnahme von zusätzlichen und überflüssigen Bits ausschließt.
Im Beispiel 3-B ergab ein Zwei-Bit-Fehler in einem Beginn-Markierer ein fehlendes Null-Bit im empfangenen Rahmen. Dabei wird auch am l-iide des Rah mcns ein Blockprüflehler angezeigt.
In der vorgenannten Beschreibung wurde erläutert daß allerlei Fehlermöglichkeiten in der Nähe ode während der übertragung der Markierer bei Vcrfahrci nach dem Stande der Technik unerkannt bleibci könnten, die nach dem vorgeschlagenen Vcrfahrci jedoch mit Sicherheit aufgedeckt werden.
Hierzu 5 Blatt Zeichnungen

Claims (1)

Patentansprüche:
1. Verfahren zur Fehlerprüfung in digitalen Datenübertragungsanlagen, in denen zwischen einem Sender und einem Empfänger über ein fehleranfälliges Ubertragungsmedium Datenfelder variierbarer Länge unter Vorkehrung feldtrennender Markierer vorgegebener Bitfolge übermittelt werden, gekennzeichnet durch die folgenden Merkmale:
a) Im Sender wird für jedes zu übermittelnde
Datenfeld (D D) als Blockprüffeld (BC) je ein
Polynom R'(X) der nachstehenden Gleichung gebildet:

Family

ID=

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19808486B4 (de) * 1997-03-11 2011-01-13 Motorola, Inc., Schaumburg Verfahren und Vorrichtung für die Datenübertragung

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19808486B4 (de) * 1997-03-11 2011-01-13 Motorola, Inc., Schaumburg Verfahren und Vorrichtung für die Datenübertragung

Similar Documents

Publication Publication Date Title
DE2447255B2 (de) Verfahren und Schaltungsanordnungen zur Fehlerprüfung In digitalen Datenübertragungsanlagen
DE19736434C2 (de) Verfahren und Vorrichtungen zur Erkennung der Position von in einem seriellen Datenempfangsstrom liegenden Datenpaketen
DE2919976C3 (de) Verfahren zum Ausführen einer Zurückschleif-Prüfung in einem Datenübertragungssystem
DE2342009C2 (de) Prüfsystem
DE2727533C3 (de) Datenübertragungssystem
DE2602807C2 (de)
DE1223414B (de) Schaltungsanordnung fuer Codeuebersetzer in Empfangseinrichtungen fuer Nachrichten in fehlerkorrigierendem Code
DE2364874A1 (de) Kodieranordnung fuer ein differentialphasenmodulationssystem
DE2736967C3 (de) Fernwirkanordnung
DE2460263A1 (de) Schaltungsanordnung zum korrigieren des schlupffehlers in datenuebertragungssystemen unter verwendung von zyklischen codes
DE2015498C3 (de) Verfahren zum Synchronisieren von Digitalsignalen und eine Anordnung zur Durchfuhrung des Verfahrens
DE2047868A1 (de) Schaltung zur Korrektur von Einzel fehlern in den Wortern eines zyklischen (n, k) Codes
DE1948533C3 (de) Einrichtung zur Übertragung einer synchronen, binären Impulsfolge
DE1252727B (de) Verfahren zum störungsfreien Empfang übertragener Daten
DE1290565B (de) Verfahren zur empfaengerseitigen Korrektur dualkodierter Nachrichten
DE2447255C (de) Verfahren und Schaltungsanordnungen zur Fehlerprüfung in digitalen Datenübertragungsanlagen
DE1168677B (de) System zur Fehlerermittlung und Fehlerkorrektur
DE2838228B2 (de) Verfahren zum Synchronisieren einer Datenbitfolge
DE2507114C2 (de) Datenübertragungssystem mit Fehlerschutz
DE2063275C3 (de) Verfahren und Vorrichtung zur Fehlererkennung beim Decodieren einer ursprünglich als Signalfolge mit m Pegelstufen vorliegenden Nachricht
DE2827615B2 (de) Verfahren und Schaltungsanordnung zum Synchronisieren zwei oder mehrerer räumlich voneinander entfernter digital arbeitender nachrichtentechnischer Einrichtungen
DE2758952B1 (de) Schaltungsanordnung zum Codieren oder Decodieren von Binaerinformationen
DE2365957B2 (de) Übertragungsverfahren für umkodierte Nachrichten
DE2163105A1 (de) Verfahren und schaltungsanordnung zum dekodieren und korrigieren eines sogenannten convolutional-code
DE1186098B (de) Verfahren und Schaltungsanordnung zur Fehlererkennung fuer in Seriendarstellung uebertragene Impulse