DE19518648A1 - Error correction procedure for asynchronous transmission mode cells - Google Patents

Error correction procedure for asynchronous transmission mode cells

Info

Publication number
DE19518648A1
DE19518648A1 DE1995118648 DE19518648A DE19518648A1 DE 19518648 A1 DE19518648 A1 DE 19518648A1 DE 1995118648 DE1995118648 DE 1995118648 DE 19518648 A DE19518648 A DE 19518648A DE 19518648 A1 DE19518648 A1 DE 19518648A1
Authority
DE
Germany
Prior art keywords
checksum
flip
output
shift register
data
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.)
Ceased
Application number
DE1995118648
Other languages
German (de)
Inventor
Wulf-Christian Di Streckenbach
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.)
Deutsche Thomson Brandt GmbH
Original Assignee
Deutsche Thomson Brandt GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Deutsche Thomson Brandt GmbH filed Critical Deutsche Thomson Brandt GmbH
Priority to DE1995118648 priority Critical patent/DE19518648A1/en
Publication of DE19518648A1 publication Critical patent/DE19518648A1/en
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes

Landscapes

  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Error Detection And Correction (AREA)

Abstract

The error correction procedure uses data blocks made up of information data followed by a check sum field. Each data block has 4 bytes, each having 8 bits of information data, followed by a check sum field of 1 byte with 8 bits. The check sum is repeatedly fed with constant input data having logic value zero, until the check sum hexadecimal 97 appears, and the incorrect bit in the data block 40 cycles before this check sum occurs is localised and inverted.

Description

Die Erfindung betrifft ein Verfahren zur Fehlerkorrektur eines aus Informationsdaten und einem anschließenden Prüfsummenfeld bestehenden empfangenen Datenblocks nach dem Oberbegriff des Anspruchs 1 und eine Vorrichtung zur Durchführung des in Anspruch 1 beschriebenen Verfahrens nach dem Oberbegriff des Anspruchs 3.The invention relates to a method for correcting an error from information data and a subsequent checksum field existing received data blocks according to the generic term of Claim 1 and a device for performing the in Claim 1 described method according to the preamble of Claim 3.

In zukünftigen Breitband-ISDN-Netzwerken werden die Nutzdaten in sogenannten ATM (Asynchron Transmission Mode)-Zellen verpackt. Eine solche ATM Zelle besteht aus 53 Bytes, wobei die ersten fünf Bytes den Zellen-Header darstellen. Die ersten vier Bytes beinhalten Informationen über welchen Pfad bzw. Kanal die Daten gesendet werden. Jede Sendestation muß vor dem Versenden einer ATM-Zelle eine Prüfsumme über den gesamten Header errechnen und diese im fünften Byte des Headers ablegen. Auf der Empfangsseite erfolgt die Überprüfung des Zellen-Headers durch Berechnung der Prüfsumme aus den ersten vier Informationsbytes und Vergleich mit dem Prüfsummenfeld.In future broadband ISDN networks, the user data will be in so-called ATM (Asynchronous Transmission Mode) cells packed. Such an ATM cell consists of 53 bytes, the first five bytes represent the cell header. The first four bytes contain information about the path or channel of the data be sent. Each sending station must have one before sending one ATM cell calculate a checksum over the entire header and store them in the fifth byte of the header. On the reception side the cell header is checked by calculating the Checksum from the first four bytes of information and comparison with the checksum field.

Bei falscher Prüfsumme wird entweder der Zellen-Header als ungültig verworfen oder es wird versucht, den Zellen-Header zu korrigieren.If the checksum is incorrect, either the cell header is shown as discarded invalid or an attempt is made to open the cell header correct.

Das vorliegende Verfahren befaßt sich mit der Fehlerkorrektur, wobei vorausgesetzt wird, daß lediglich ein Bit fehlerhaft ist. Aus der Literatur sind Verfahren zur Fehlerkorrektur bekannt, welche mit aufwendigen Fehlertabellen oder aufwendiger kombinatorischer Logik arbeiten.The present method deals with error correction, assuming that only one bit is defective. Methods for error correction are known from the literature, which with complex error tables or more complex combinatorial logic.

Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren und eine Vorrichtung zur Durchführung des Verfahrens zu schaffen, die mit geringem Schaltungsaufwand eine Fehlerkorrektur für ein falsches Bit innerhalb eines Datenblockes ermöglicht. The invention is based, a method and a task To create device for performing the method with low circuit effort an error correction for a wrong one Bit within a data block.  

Diese Aufgabe wird bei einem Verfahren nach dem Oberbegriff des Anspruchs 1 durch die im Kennzeichen des Anspruchs 1 angegebenen Merkmale und bei einer Vorrichtung zur Durchführung des Verfahrens nach dem Oberbegriff des Anspruchs 3 durch die im Kennzeichen des Anspruchs 3 angegebenen Merkmale gelöst.This task is carried out in a method according to the preamble of Claim 1 by the specified in the characterizing part of claim 1 Features and in a device for performing the Method according to the preamble of claim 3 by the in Characteristic of claim 3 specified features solved.

Durch Modellberechnungen der Prüfsummen mit einzelnen fehlerhaften Bit innerhalb jeweils eines Datenblockes wurde der systematische Einfluß auf die Prüfsumme ermittelt. Dabei wurde festgestellt, daß nach einem fehlerhaften Bit nach einer Anzahl Takte, die der Datenblocklänge entspricht, stets eine bestimmte Prüfsumme ermittelt wird, wenn im Anschluß an den Datenblock Eingangsdaten folgen, deren Wert auflogisch Null gesetzt wurde. Bei Auftreten der bestimmten Prüfsumme steht somit fest, daß das fehlerhafte Bit um dieselbe Anzahl, also die der Datenblocklänge entsprechende Anzahl Takte vorher eingetroffen ist. Das auf diese Weise lokalisierte fehlerhafte Bit kann durch Inversion korrigiert werden.Through model calculations of the checksums with individual incorrect bit within one data block systematic influence on the checksum determined. It was found that after a bad bit after a number Cycles that correspond to the data block length are always a specific one Checksum is determined when following the data block Input data follow, whose value has been set to logic zero. When the certain checksum occurs, it is clear that the defective bits by the same number, i.e. that of the data block length corresponding number of cycles has arrived. That on this way localized bad bits can be caused by inversion Getting corrected.

Bei einer Vorrichtung zur Durchführung des Verfahrens werden die Eingangsdaten in einem ersten Schieberegister zwischengespeichert, deren Anzahl an Speicherzellen der Anzahl an Bit des Datenblockes entspricht. Durch ein zweites FLIP-FLOP- Schieberegister wird die Prüfsumme des Datenblockes aufgrund des Generatorpolynoms ermittelt. Diesem FLIP-FLOP-Schieberegister werden nach den Eingangsdaten des Datenblockes weitere Eingangsdaten zugeführt, die aufeinen konstanten logischen Wert gesetzt sind. Die Registerinhalte des FLIP-FLOP-Schieberegister werden dann nur von den Daten des Datenblockes bestimmt. Ein fehlerhaftes Bit im Datenblock führt dann nach einer Anzahl Takten später, die der Anzahl der Bit eines Datenblockes entspricht, zu der in Vorversuchen bestimmten oder berechneten Prüfsumme. Bei Auftreten dieser Prüfsumme steht fest, daß das fehlerhafte Bit um dieselbe Anzahl Takte früher eingetroffen ist. Da das fehlerhafte Bit dann am Ausgang des ersten Schieberegisters ansteht, kann es zur Korrektur invertiert werden.In an apparatus for performing the method, the Input data in a first shift register cached, the number of memory cells of the number corresponds to the bit of the data block. With a second FLIP-FLOP Shift register is the checksum of the data block due to the Generator polynomial determined. This FLIP-FLOP shift register are added after the input data of the data block Input data fed to a constant logical value are set. The register contents of the FLIP-FLOP shift register are then only determined by the data of the data block. On incorrect bit in the data block then leads after a number Clock later, the number of bits of a data block corresponds to that determined or calculated in preliminary tests Checksum. When this checksum occurs, it is clear that the incorrect bits arrived earlier by the same number of clock cycles is. Since the faulty bit then at the output of the first Shift register is present, it can be inverted for correction will.

Nachfolgend werden Verfahren und Vorrichtung anhand von Tabellen des Registerinhalts des zweiten FLIP-FLOP-Schieberegisters, sowie Zeitdiagrammen und einer in der Zeichnung dargestellten Schaltung erläutert. In der Zeichnung zeigen:The following are the method and the device based on tables the register content of the second FLIP-FLOP shift register, as well as time diagrams and one shown in the drawing Circuit explained. The drawing shows:

Fig. 1 ein Schieberegister zur Ermittlung einer Prüfsumme, Fig. 1 is a shift register for determining a checksum,

Fig. 2 eine Tabelle mit den Ausgangsdaten des Schieberegisters gemäß Fig. 1 in Abhängigkeit von den Eingangsdaten eines ersten Datenblocks nach dem 40. Takt, Fig. 2 shows a table with the output data of the shift register of FIG. 1 in response to the input data of a first data block after the 40th clock,

Fig. 3, 4, 5 eine Tabelle ähnlich Fig. 2, jedoch nach dem 41, 42 bzw. 79. Takt, Fig. 3, 4, 5, a table similar to Fig. 2, but after the 41, 42 and 79. clock,

Fig. 6 ein Zeitdiagramm der Eingangs und Korrekturdaten und Fig. 6 is a timing diagram of the input and correction data and

Fig. 7 ein Blockschaltbild zur Fehlerkorrektur. Fig. 7 is a block diagram for error correction.

Der Header jeder ATM-Zelle wird durch vier Informationsbytes entsprechend 32 Informationsbit und durch das berechnete Byte entsprechend acht Bit des Prüfsummenfeldes, insgesamt also durch fünf Byte gebildet. Die Berechnung der Prüfsumme erfolgt nach dem CRC (Cyclic Redundancy Check)-Kodierungsverfahren. Aus den ersten 32 Bit des Headers wird ein Polynom mit dem Grad 31 gebildet und mit x⁸ multipliziert. Das so gebildete Code-Polynom mit dem Grad 39 wird nun durch das Generator-Polynom g(x) = x⁸ + x² + x + 1 modulo 2 dividiert. Der Rest dieser Division stellt die Header Prüfsumme dar. Da das Header Prüfsummenfeld nicht nur der Fehlererkennung dient, sondern auch zur Detektierung und Synchronisation auf den Zellenanfang genutzt wird, wird zusätzlich zur Erhöhung der Zuverlässigkeit der Zellensynchronisation zur berechneten Prüfsumme die Bitfolge 01010101 (HEX 55) addiert, und als fünftes und letztes Byte des Headers übertragen.The header of each ATM cell is represented by four bytes of information corresponding to 32 information bits and by the calculated byte corresponding to eight bits of the checksum field, so in total five bytes formed. The checksum is calculated according to the CRC (Cyclic Redundancy Check) coding method. From the The first 32 bits of the header becomes a degree 31 polynomial formed and multiplied by x⁸. The code polynomial thus formed with the degree 39 is now by the generator polynomial g (x) = x⁸ + x² + x + 1 modulo 2 divided. The rest of this division represents the header checksum. Because the header checksum field is not just is used for error detection, but also for detection and Synchronization to the beginning of the cell is used in addition to increasing the reliability of the Cell synchronization to the calculated checksum the bit sequence 01010101 (HEX 55) added, and as the fifth and last byte of the Transfer Headers.

Die Berechnung der Prüfsumme erfolgt mit einer einfachen FLIP- FLOP-Schieberegister-Anordnung nach Fig. 1. Dabei werden die Bit Din des Datenstroms nach Exklusiv-Oder-Verknüfung mit dem Ausgang Q7 des achten FLIP-FLOPS dem Eingang D0 der ersten FLIP- FLOPS direkt und den Eingängen D₁ und D₂ des zweiten und dritten FLIP-FLOPS nach Exklusiv-Oder-Verknüfung mit jeweils dem Ausgang Q0 des ersten und dem Ausgang Q1 des zweiten FLIP-FLOPS zugeführt. Die Detektierung und Korrektur eines Fehlers erfordert, daß der Datenstrom des gesamten Zellen-Headers, also Informationsdaten und Prüfsummenfeld, das FLIP-FLOP- Schieberegister durchlaufen muß. Im Falle eines fehlerfreien Headers muß mit der Übernahme des letzten, 40. Header-Bit aufgrund der systematischen Kodierung der Inhalt des Schieberegisters den Wert Null annehmen. Im Falle eines fehlerbehafteten Headers wird der Inhalt des Schieberegisters ungleich Null.The calculation of the checksum takes place with a simple FLIP-FLOP shift register arrangement according to FIG. 1. The bits Din of the data stream after exclusive-OR combination with the output Q7 of the eighth FLIP-FLOPS become the input D0 of the first FLIP-FLOPS directly and the inputs D₁ and D₂ of the second and third FLIP-FLOPS after exclusive-OR operation, each with the output Q0 of the first and the output Q1 of the second FLIP-FLOPS supplied. The detection and correction of an error requires that the data stream of the entire cell header, ie information data and checksum field, has to pass through the FLIP-FLOP shift register. In the case of an error-free header, the content of the shift register must assume the value zero when the last, 40th header bit is accepted due to the systematic coding. In the case of an erroneous header, the content of the shift register becomes non-zero.

Wie aus Fig. 1 zu ersehen ist, ergibt sich aufgrund des Generatorpolynoms folgende Bildungsvorschrift für die 8 Bit Prüfsumme:As can be seen from FIG. 1, the following formation rule for the 8-bit checksum results from the generator polynomial:

Q0n = Q7n-1 EXOR Dinn
Q1n = Q7n-1 EXOR Dinn EXOR Q0n-1
Q2n = Q7n-1 EXOR Dinn EXOR Q1n-1
Q3n = Q2n-1
Q4n = Q3n-1
Q5n = Q4n-1
Q6n = Q5n-1
Q7n = Q6n-1.
Q0 n = Q7 n-1 EXOR Din n
Q1 n = Q7 n-1 EXOR Din n EXOR Q0 n-1
Q2 n = Q7 n-1 EXOR Din n EXOR Q1 n-1
Q3 n = Q2 n-1
Q4 n = Q3 n-1
Q5 n = Q4 n-1
Q6 n = Q5 n-1
Q7 n = Q6 n-1 .

Führt man diese Vorschrift über 40 Takte durch, so erkennt man, welche empfangenen Datenbits Dinn den Inhalt der einzelnen Schieberegister Bit festlegen. Dieser Zusammenhang ist für den Zustand nach dem 40. Takt in Fig. 2 dargestellt. Die Exklusiv- Oder-Verknüpfung ist in der Tabelle durch das Zeichen "⊕" symbolisiert.If you carry out this rule over 40 clock cycles, you can see which received data bits Din n determine the content of the individual shift register bits. This relationship is shown for the state after the 40th cycle in FIG. 2. The exclusive-OR link is symbolized in the table by the character "⊕".

Nimmt man an, daß z. B. das erste Datenbit D₁ auf der Übertragungsstrecke in seinem Wert verfälscht wurde, so ergibt sich nach der Bewertung des gesamten Headers mittels des FLIP- FLOP-Schieberegisters nicht der Wert Null, sondern der Wert hexadezimal 97 oder binär 10010111. In Fig. 2 ist das als fehlerhaft angenommene Datenbit in Fettschrift dargestellt. Der Einfluß auf den Inhalt der einzelnen Schieberegister Bit wird dadurch leichter erkennbar. Assuming that e.g. B. the value of the first data bit D 1 on the transmission link was falsified, the result of the evaluation of the entire header using the FLIP-FLOP shift register is not the value zero, but the value hexadecimal 97 or binary 10010111. In FIG. 2 the data bit assumed to be incorrect is shown in bold. This makes the influence on the content of the individual shift register bits easier to recognize.

Geht man weiterhin davon aus, daß im Anschluß an die Header- Daten D₁ bis D₄₀ die Eingangsdaten D₄₁ bis D₈₀ zwangsweise auf den logischen Wert Null gesetzt sind, so werden die Registerinhalte des FLIP-FLOP-Schieberegisters nur von den Header-Daten D₁ bis D₄₀ beeinflußt. Betrachtet man weiter die Registerinhalte des FLIP-FLOP-Schieberegisters nach dem 41., 42. und 79. Takt, wie aus den Fig. 3, 4 und 5 mit dem ebenfalls in Fettschrift hervorgehobenen, als fehlerhaft angenommenen Datenbit D₂, D₃ bzw. D₄₀ ersichtlich, so ist der Zusammenhang zwischen einem fehlerhaften Bit und den Registerinhalten erkennbar. Ein einziges verfälschtes Bit im Header ergibt 40 Takte später stets einen Registerinhalt von hexadezimal 97. Damit läßt sich die Detektierung und Bestimmung des Fehlerortes immer eindeutig realisieren. Fehlerhaft ist das Bit, das bei Auftreten des Registerinhalts hexadezimal 97 40 Takte früher eingetroffen ist.If one continues to assume that following the header data D₁ to D₄₀ the input data D₄₁ to D₈₀ are forcibly set to the logical value zero, the register contents of the FLIP-FLOP shift register are only from the header data D₁ to D₄₀ influenced. If we further consider the register contents of the FLIP-FLOP shift register after the 41st, 42nd and 79th clock, as shown in FIGS. 3, 4 and 5 with the bold font also highlighted as incorrectly accepted data bit D₂, D₃ or D₄₀ the relationship between an incorrect bit and the register contents can be seen. A single corrupted bit in the header always results in a register content of hexadecimal 97 40 cycles later. This means that the detection and determination of the fault location can always be clearly realized. The bit that arrived hexadecimal 97 40 cycles earlier when the register contents appeared is incorrect.

Fig. 6 zeigt ein Zeitdiagramm der Eingangs- und Korrekturdaten für einen fehlerfreien Header und zwei fehlerbehaftete Header. Die erste Zeile veranschaulicht einen Datenstrom aus Datenbit D₁ bis D₈₀. Ein Header wird aus 40 Bit, den Daten D₁ bis D₄₀, gebildet. Die zweite Zeile zeigt fehlerfreie Eingangsdaten Din und die dritte Zeile das da zugehörige Ausgangssignal des FLIP- FLOP-Schieberegisters Qm shr. Die vierte Zeile zeigt Eingangsdaten Din mit einem Fehler in Datenbit D₃. Die fünfte Zeile zeigt das dazugehörige Ausgangssignal des FLIP-FLOP- Schieberegisters Qm shr, das 40 Takte später die Prüfsumme hexadezimal 97 liefert. Die sechste Zeile zeigt ein daraus gewonnenes Korrektursignal, das im Zeitpunkt des Auftretens der Prüfsumme hexadezimal 97 erzeugt wird. Die siebente, achte und neunte Zeile entsprechen den Darstellungen in der vierten, fünften und sechsten Zeile mit dem Unterschied, daß der Fehler im Datenbit D₃₈ auftritt. Fig. 6 shows a timing diagram of the input and correction data for a healthy header and two bad headers. The first line illustrates a data stream from data bits D₁ to D₈₀. A header is made up of 40 bits, the data D₁ to D₄₀. The second line shows error-free input data Din and the third line the associated output signal of the FLIP-FLOP shift register Q m shr . The fourth line shows input data Din with an error in data bit D₃. The fifth line shows the associated output signal of the FLIP-FLOP shift register Q m shr , which delivers the checksum hexadecimal 97 40 clocks later. The sixth line shows a correction signal obtained therefrom, which is generated in hexadecimal 97 when the checksum occurs. The seventh, eighth and ninth lines correspond to the representations in the fourth, fifth and sixth lines with the difference that the error occurs in the data bit D₃₈.

Fig. 7 zeigt ein Blockschaltbild für eine Fehlerkorrektur. Die Schaltung umfaßt ein erstes Schieberegister 1 mit vierzig Speicherzellen, in das der empfangene Datenstrom seriell eingeschrieben wird. Ein zweites, mit acht FLIP-FLOPS aufgebautes Schieberegister 2 dient zur Berechnung der Prüfsumme. In das zweite Schieberegister 2 wird ebenfalls der empfangene Datenstrom eingeschrieben. Dabei werden die Daten Din exklusiv-oder-verknüpft mit dem Ausgang Q7 des achten FLIP-FLOPS dem Eingang D0 des ersten FLIP-FLOPS direkt sowie dem Eingang D1 des zweiten FLIP-FLOPS exklusiv-oder-verknüpft mit dem Ausgang Q0 des ersten FLIP-FLOPS und dem Eingang D2 des dritten FLIP- FLOPS exklusiv-oder-verknüpft mit dem Ausgang Q1 des zweiten FLIP-FLOPS zugeführt (vorgegeben durch das Generatorpolynom). Fig. 7 shows a block diagram for an error correction. The circuit comprises a first shift register 1 with forty memory cells, into which the received data stream is written in series. A second shift register 2 , built with eight FLIP-FLOPS, is used to calculate the checksum. The received data stream is also written into the second shift register 2 . The data Din is exclusively-or-linked with the output Q7 of the eighth FLIP-FLOPS directly to the input D0 of the first FLIP-FLOPS and the input D1 of the second FLIP-FLOPS exclusively-or-linked with the output Q0 of the first FLIP-FLOPS. FLOPS and the input D2 of the third FLIP-FLOPS exclusively-or-linked to the output Q1 of the second FLIP-FLOPS (specified by the generator polynomial).

Sobald die Informationsbits des Headers eingelaufen sind, ergibt sich die im Prüfsummenfeld enthaltene Prüfsumme. Nachdem auch die im Prüfsummenfeld enthaltenen Bits eingelaufen sind, nimmt der Registerinhalt des FLIP-FLOP-Schieberegisters 2 den Wert Null an. Dies gilt allerdings unter der Voraussetzung, daß der Header fehlerfrei ist. Bei fehlerbehaftetem Header nimmt die Prüfsumme dagegen einen Wert ungleich Null an.As soon as the information bits of the header have arrived, the checksum contained in the checksum field results. After the bits contained in the checksum field have also entered, the register content of the FLIP-FLOP shift register 2 assumes the value zero. However, this applies provided that the header is error-free. If the header is faulty, the checksum, on the other hand, assumes a non-zero value.

Die Schaltung umfaßt ferner einen acht Bit-Vergleicher 3, dessen erste Eingänge auf den Wert hexadezimal 97 oder binär 10010111 gesetzt sind. Die zweiten Eingänge des acht Bit-Vergleichers 3 sind mit den Ausgängen Q0 . . . Q7 des zweiten FLIP-FLOP- Schieberegister 2 verbunden. Ein Vergleichsausgang des Vergleichers 3 ist mit einer Steuerschaltung 4 verbunden. Ein Ausgang der Steuerschaltung 4 ist mit einer Anpaßschaltung 5 verbunden, die nach Übernahme des letzten der 40 Header Bits in das Schieberegister 2, den Ausgangsdaten der Steuerschaltung 5 den logischen Wert Null zuordnet.The circuit further comprises an eight bit comparator 3 , the first inputs of which are set to the value hexadecimal 97 or binary 10010111. The second inputs of the eight bit comparator 3 are with the outputs Q0. . . Q7 of the second FLIP-FLOP shift register 2 connected. A comparison output of the comparator 3 is connected to a control circuit 4 . An output of the control circuit 4 is connected to a matching circuit 5, which assigns the logical value zero after acceptance of the last of the 40 header bits in the shift register 2, the output data of the control circuit. 5

Weitere, bei Gleichheit der an den Eingängen des Vergleichers 3 anstehenden Daten aktivierbare Ausgänge sind mit Rücksetzeingängen R der FLIP-FLOPS des FLIP-FLOP-Schieberegister 2 und mit einem ersten Eingang eines Exklusiv-Oder- Verknüpfungsgliedes 6 verbunden. Ein zweiter Eingang des Exklusiv-Oder-Verknüpfungsgliedes 6 ist mit dem Ausgang der letzten Speicherzelle des ersten Schieberegisters 1 verbunden. Der Ausgang des Exklusiv-Oder-Verknüpfungsgliedes 6 liefert einen fehlerkorrigierten Ausgangsdatenstrom, falls nur ein einziger Bitfehler im Header auf der Übertragungsstrecke erfolgte.Further outputs which can be activated if the data at the inputs of the comparator 3 are identical are connected to reset inputs R of the FLIP-FLOPS of the FLIP-FLOP shift register 2 and to a first input of an exclusive-OR logic element 6 . A second input of the exclusive-OR gate 6 is connected to the output of the last memory cell of the first shift register 1 . The output of the exclusive-OR logic element 6 supplies an error-corrected output data stream if there was only a single bit error in the header on the transmission link.

Der eingehende Datenstrom Din wird seriell in das erste Schieberegister 1 und unter der Bildungsvorschrift für die Prüfsumme ebenfalls in das zweite FLIP-FLOP-Schieberegister 2 eingeschrieben. Sobald die 40 Bit des Zellen-Headers eingetroffen sind, werden die weiteren, dem zweiten FLIP-FLOP- Schieberegister 2 zugeführten Eingangsdaten mittels der Anpaßschaltung 5 auf logisch Null gesetzt, während das erste Schieberegister 1 die unveränderten Eingangsdaten Din erhält und die jeweils 40 Takte früher eingetroffenen Daten am Ausgang ausliest.The incoming data stream Din is written serially into the first shift register 1 and under the formation rule for the checksum also into the second FLIP-FLOP shift register 2 . As soon as the 40 bits of the cell header have arrived, the further input data fed to the second FLIP-FLOP shift register 2 are set to logic zero by means of the adaptation circuit 5 , while the first shift register 1 receives the unchanged input data Din and the 40 clocks earlier reads incoming data at the output.

Ist der Header fehlerfrei, erscheinen die Daten unverändert am Ausgang des Exklusiv-Oder-Verknüpfungsgliedes 6. Enthält der Header dagegen ein einziges fehlerhaftes Bit, so ermittelt das zweite FLIP-FLOP-Schieberegister 2 40 Takte nach Eintreffen des fehlerhaften Bit die Prüfsumme hexadezimal 97. Das fehlerhafte Bit hat dann bereits das erste Schieberegister 1 durchlaufen und steht an dessen Ausgang an. Bei der Prüfsumme hexadezimal 97 ändert sich der Logikpegel am Ausgang des Vergleichers 3. Die Steuerschaltung 4 veranlaßt darauf über ihre Ausgänge ein Rücksetzen der FLIP-FLOPS des zweiten Schieberegisters 2 und ein Korrektursignal am ersten Eingang des Exklusiv-Oder- Verknüpfungsgliedes 6. Dadurch erscheint das am zweiten Eingang des Exklusiv-Oder-Verknüpfungsgliedes 6 anstehende fehlerhafte Bit an dessen Ausgang invertiert und damit korrigiert.If the header is error-free, the data appear unchanged at the output of the exclusive-OR logic element 6 . If, on the other hand, the header contains a single defective bit, the second FLIP-FLOP shift register 2 determines the checksum hexadecimal 97 40 cycles after the arrival of the defective bit. The defective bit has then already passed through the first shift register 1 and is pending at its output. With the checksum hexadecimal 97, the logic level at the output of comparator 3 changes . The control circuit 4 then causes its outputs to reset the FLIP-FLOPS of the second shift register 2 and a correction signal at the first input of the exclusive-OR logic element 6 . As a result, the faulty bit present at the second input of the exclusive-OR logic element 6 appears inverted at its output and thus corrected.

Claims (4)

1. Verfahren zur Fehlerkorrektur eines fehlerhaften Bits in einem aus Informationsdaten und einem anschließenden Prüfsummenfeld bestehenden empfangenen Datenblock, wobei die Prüfsumme senderseitig nach einer Bildungsvorschrift aus den Informationsdaten des Datenblocks gebildet ist, indem aus n aufeinanderfolgenden Bits der Informationsdaten ein Polynom mit dem Grad n-1 gebildet, das Polynom mit xm multipliziert wird, das erhaltene Produkt mit dem Grad n-1+m durch ein Generatorpolynom g(x) = amxm + am-1 * xm-1 + am-2 * xm-2 + . . . + a₁ * x + a₀ modulo 2 dividiert wird, und der Rest der Division bezüglich einer Konstanten als Prüfsumme mit m Bit in das Prüfsummenfeld gesetzt wird und empfängerseitig eine Prüfsumme nach derselben Bildungsvorschrift ermittelt wird und bei Übereinstimmung der errechneten mit der empfangenen Prüfsumme der Datenblock als gültig erkannt und unverändert belassen wird, während bei Abweichung der errechneten von der empfangenen Prüfsumme der Datenblock als falsch erkannt und korrigiert wird, dadurch gekennzeichnet, daß die Prüfsumme im Anschluß an den empfangenen Datenblock mit Eingangsdaten konstanten Wertes solange wiederholt ermittelt wird (maximal Länge des Datenblocks), bis eine in Vorversuchen oder Berechnungen ermittelte Prüfsumme auftritt, um das fehlerhafte Bit im Datenblock n + m Takte vor Auftreten dieser Prüfsumme zu lokalisieren und zu invertieren.1. A method for error correction of a defective bit in a received data block consisting of information data and a subsequent checksum field, the checksum being formed on the transmitter side according to a formation rule from the information data of the data block, by forming a polynomial with degree n-1 from n successive bits of the information data formed, the polynomial is multiplied by x m , the product obtained with the degree n-1 + m by a generator polynomial g (x) = a m x m + a m-1 * x m-1 + a m-2 * x m-2 +. . . + a₁ * x + a₀ modulo 2 is divided, and the rest of the division with respect to a constant is placed as a checksum with m bits in the checksum field and on the receiver side a checksum is determined according to the same formation rule and, if the calculated checksum matches the received checksum, the data block as validly recognized and left unchanged, while if the calculated checksum differs from the received checksum, the data block is recognized as incorrect and corrected, characterized in that the checksum is determined repeatedly after the received data block with input data of constant value (maximum length of the data block ) until a checksum determined in preliminary tests or calculations occurs in order to localize and invert the faulty bit in the data block n + m clocks before this checksum occurs. 2. Verfahren nach Anspruch 1, wobei der Datenblock aus vier Byte mit je acht Bit Informationsdaten und einem nachfolgenden Prüfsummenfeld aus einem Byte mit acht Bit besteht, das Generatorpolynom g(x) = x⁸ + x² + x + 1 modulo 2 ist und die Konstante die Bitfolge 01010101 umfaßt, dadurch gekennzeichnet, daß die Prüfsumme im Anschluß an den Datenblock mit Eingangsdaten des logischen Wertes Null solange wiederholt ermittelt wird, bis die Prüfsumme hexadezimal 97 auftritt und das fehlerhafte Bit im Datenblocks 40 Takte vor Auftreten dieser Prüfsumme lokalisiert und invertiert wird.2. The method of claim 1, wherein the data block consists of four Byte with eight bits of information data and one following checksum field from one byte with eight bits exists, the generator polynomial g (x) = x⁸ + x² + x + 1 modulo 2 and the constant comprises the bit sequence 01010101, characterized in that the checksum following the Data block with input data of logical value zero is repeatedly determined until the checksum hexadecimal 97 occurs and the incorrect bit in  Data blocks 40 cycles before this checksum occurs is localized and inverted. 3. Vorrichtung zur Durchführung des Verfahrens nach Anspruch 1, bestehend aus einem ersten Schieberegister (1) mit n + m Speicherzellen, in das der empfangene Datenstrom seriell eingeschrieben wird, einem zweiten FLIP-FLOP-Schieberegister (2) mit m Speicherzellen zur Berechnung der Prüfsumme, in das der empfangene Datenstrom unter logischer Verknüpfung mit dem Generatorpolynom eingeschrieben wird und einem m-Bit Vergleicher (3), dessen erste Eingänge mit den Ausgängen des zweiten FLIP-FLOP-Schieberegister (2) verbunden sind, dadurch gekennzeichnet, daß zweite Eingänge des Vergleichers (3) auf einen in Vorversuchen ermittelten oder berechneten Wert gesetzt sind, daß ein Vergleichsausgang des Vergleichers (3) mit einer Steuerschaltung (4) verbunden ist, daß ein Ausgang der Steuerschaltung (4) mit einer Anpaßschaltung (5) verbunden ist, die dem zweiten FLIP-FLOP- Schieberegister (2) Eingangsdaten eines konstanten Wertes liefert, und daß ein bei Auftreten der in Vorversuchen ermittelten oder berechneten Prüfsumme aktivierter Ausgang der Steuerschaltung (3) mit Rücksetzeingängen R der FLIP- FLOPS des FLIP-FLOP-Schieberegister (2) und einem ersten Eingang eines logischen Verknüpfungsglied (6) verbunden ist, dessen zweiter Eingang mit dem Ausgang des ersten Schieberegisters (1) verbunden ist und dessen Ausgang einen datenblockfehlerkorrigierten Ausgangsdatenstrom liefert.3. Device for performing the method according to claim 1, consisting of a first shift register ( 1 ) with n + m memory cells, into which the received data stream is written serially, a second FLIP-FLOP shift register ( 2 ) with m memory cells for calculating the Checksum into which the received data stream is written with a logical link to the generator polynomial and an m-bit comparator ( 3 ), the first inputs of which are connected to the outputs of the second FLIP-FLOP shift register ( 2 ), characterized in that second inputs the comparator ( 3 ) is set to a value determined or calculated in preliminary tests, that a comparison output of the comparator ( 3 ) is connected to a control circuit ( 4 ), that an output of the control circuit ( 4 ) is connected to a matching circuit ( 5 ), which supplies the second FLIP-FLOP shift register ( 2 ) with input data of a constant value, and that when the Activated output of the control circuit ( 3 ) determined or calculated in preliminary tests with reset inputs R of the FLIP-FLOPS of the FLIP-FLOP shift register ( 2 ) and a first input of a logic logic element ( 6 ), the second input of which is connected to the output of the first Shift register ( 1 ) is connected and the output of which supplies a data block error-corrected output data stream. 4. Vorrichtung nach Anspruch 3 oder zur Durchführung des Verfahrens nach Anspruch 2, bestehend aus einem ersten Schieberegister (1) mit vierzig Speicherzellen, in das der empfangene Datenstrom seriell eingeschrieben wird, einem zweiten FLIP-FLOP-Schieberegister (2) mit acht Speicherzellen zur Berechnung der Prüfsumme, in das der empfangene Datenstrom exklusiv-oder-verknüpft mit dem Ausgang (Q7) des achten FLIP-FLOPS dem Eingang (D0) des ersten FLIP-FLOPS direkt sowie dem Eingang (D1) des zweiten FLIP-FLOPS exklusiv-oder-verknüpft mit dem Ausgang (Q0) des ersten FLIP-FLOPS und dem Eingang (D2) des dritten FLIP- FLOPS exklusiv-oder-verknüpft mit dem Ausgang (Q1) des zweiten FLIP-FLOPS zugeführt wird, und bestehend aus einem acht Bit-Vergleicher (3), dessen erste Eingänge mit den Ausgängen (Q0 . . . Q7) des zweiten FLIP-FLOP-Schieberegister (2) verbunden ist, dadurch gekennzeichnet, daß zweite Eingänge des acht Bit-Vergleichers (3) auf den hexadezimalen Wert 97 gesetzt sind, daß ein bei der Prüfsumme hexadezimal 97 aktivierter Ausgang der Steuerschaltung (4) mit einem ersten Eingang eines Exklusiv-Oder-Verknüpfungsgliedes (6) verbunden ist, dessen zweiter Eingang mit dem Ausgang des ersten Schieberegisters (1) verbunden ist und dessen Ausgang einen datenblockfehlerkorrigierten Ausgangsdatenstrom liefert.4. Apparatus according to claim 3 or for performing the method according to claim 2, consisting of a first shift register ( 1 ) with forty memory cells, into which the received data stream is written serially, a second FLIP-FLOP shift register ( 2 ) with eight memory cells Calculation of the checksum into which the received data stream is exclusively -or-linked with the output (Q7) of the eighth FLIP-FLOPS, the input (D0) of the first FLIP-FLOPS directly and the input (D1) of the second FLIP-FLOPS exclusively -or linked exclusively with the output (Q0) of the first FLIP-FLOPS and the input (D2) of the third FLIP-FLOPS -or-linked to the output (Q1) of the second FLIP-FLOPS, and consisting of an eight bit- Comparator ( 3 ), the first inputs of which are connected to the outputs (Q0... Q7) of the second FLIP-FLOP shift register ( 2 ), characterized in that second inputs of the eight-bit comparator ( 3 ) have the hexadecimal value 97 set are that an activated at the checksum 97 hexadecimal output of the control circuit ( 4 ) is connected to a first input of an exclusive-OR logic element ( 6 ), the second input of which is connected to the output of the first shift register ( 1 ) and the output of which is one block error corrected output data stream.
DE1995118648 1995-05-20 1995-05-20 Error correction procedure for asynchronous transmission mode cells Ceased DE19518648A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE1995118648 DE19518648A1 (en) 1995-05-20 1995-05-20 Error correction procedure for asynchronous transmission mode cells

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE1995118648 DE19518648A1 (en) 1995-05-20 1995-05-20 Error correction procedure for asynchronous transmission mode cells

Publications (1)

Publication Number Publication Date
DE19518648A1 true DE19518648A1 (en) 1996-11-21

Family

ID=7762496

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1995118648 Ceased DE19518648A1 (en) 1995-05-20 1995-05-20 Error correction procedure for asynchronous transmission mode cells

Country Status (1)

Country Link
DE (1) DE19518648A1 (en)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Hardware Assist For A Multipolynomial-Based Cyclic Redundancy Check For A Multichannel Environment. In: IBM Technical Disclosure Bulletin, Vol.31, No.4, Sept. 1988, S.462-466 *
LIN,Shu, COSTELLO,Daniel J.: Error Control Coding, Prentice-Hall, Inc. Englewood Cliffs, 1983, S.103-110 *
MANIATOPOULOS,A., et.al.: Single-bit error- correction circuit for ATM interfaces. In: Electronics Letters, 13th April 1995, Vol.31, No.8, S.617,618 *

Similar Documents

Publication Publication Date Title
DE3785211T2 (en) Means of data integrity assurance.
DE69320321T2 (en) Method and device for checking CRC codes, combining CRC partial codes
DE69324050T2 (en) Modification of a CRC test field when forwarding data packets
DE19736434C3 (en) Methods and devices for recognizing the position of data packets lying in a serial data reception stream
DE69129558T2 (en) Synchronization arrangement for cells transferred after an asynchronous transfer mode
DE69232384T2 (en) CRC operating method and HEC (head error checking) synchronization unit for an ATM switching method
EP2160857B1 (en) Checking method and electronic circuit for the secure serial transmission of data
DE3787900T2 (en) Method and device for generating test bytes for error detection for a data block.
DE69329098T2 (en) DEVICE AND METHOD FOR CHECKING MESSAGES IN PACKAGE FORM WITH A HEADING COMPOSITION OF TRAFFIC INFORMATION AND CRC TEST SEQUENCE
DE2727533B2 (en) Data transmission system
DE602005003728T2 (en) Correction of scrambling-related error propagation with subsequent forward error correction
DE2460263A1 (en) CIRCUIT ARRANGEMENT FOR CORRECTING THE SLIP ERROR IN DATA TRANSFER SYSTEMS USING CYCLICAL CODES
DE69217931T2 (en) Error detection and correction device
DE69333635T2 (en) 5B6B coding for distributed channel transmission
DE60308197T2 (en) CYCLICALLY REDUNDANT TEST WITH EFFICIENT RE-CALCULATION OF THE ERROR IDENTIFICATION CODE
DE10318068A1 (en) Method and device for the packet-oriented transmission of security-relevant data
DE60032711T2 (en) Performance monitoring for an optical transmission system
EP0541161A2 (en) Transmission system for correcting individual or bundle errors of a cyclic coded digital signal
DE19518648A1 (en) Error correction procedure for asynchronous transmission mode cells
DE69917950T2 (en) Parallel synchronous head correction device for ATM
EP1596517B1 (en) Method of transmission of redundantly provided data over a single channel
DE60301420T2 (en) Distributed 4-bit diagonal nested parity checker (DIP4)
EP1609266B1 (en) Method and measuring device for determining an error rate without incremental redundancy
DE19519946A1 (en) Method for synchronizing a received data block consisting of information data and a subsequent checksum field, and device for carrying out the method
DE3735377A1 (en) Method for synchronizing a time-division multiplex system for a transmission of packets of uniform length

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
8120 Willingness to grant licenses paragraph 23
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: H03M 1309

8131 Rejection