DE19518648A1 - Error correction procedure for asynchronous transmission mode cells - Google Patents
Error correction procedure for asynchronous transmission mode cellsInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic 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
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)
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) |
-
1995
- 1995-05-20 DE DE1995118648 patent/DE19518648A1/en not_active Ceased
Non-Patent Citations (3)
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 |