DE4130907A1 - Schaltungsanordnung zur erzeugung zyklischer codes - Google Patents

Schaltungsanordnung zur erzeugung zyklischer codes

Info

Publication number
DE4130907A1
DE4130907A1 DE19914130907 DE4130907A DE4130907A1 DE 4130907 A1 DE4130907 A1 DE 4130907A1 DE 19914130907 DE19914130907 DE 19914130907 DE 4130907 A DE4130907 A DE 4130907A DE 4130907 A1 DE4130907 A1 DE 4130907A1
Authority
DE
Germany
Prior art keywords
shift registers
gates
shift register
bits
exor
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
DE19914130907
Other languages
English (en)
Inventor
Klaus Nagel
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE19914130907 priority Critical patent/DE4130907A1/de
Publication of DE4130907A1 publication Critical patent/DE4130907A1/de
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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Description

Zur Sicherung von Daten gegen Übertragungsfehler werden vorwiegend zyklische Codes (CRC, Cyclic Redundancy Check Codes) benutzt. Diese Codes können mit einfachen elektrischen Schaltungen erzeugt werden, deren Verhalten gut erforscht ist.
In der üblichen Ausführung, bei der die zu sichernden Datenwör­ ter parallel in ein Schieberegister eingespeist werden, blei­ ben gewisse Zwei-Bit-Fehler unentdeckt weil die Auswirkung eines Ein-Bit-Fehlers in einem Datenwort durch einen weiteren Ein-Bit-Fehler in einem der folgenden Datenwörter aufgehoben werden kann. Bei bekannten Realisierungen von Fehlerkorrektur­ schaltungen wurde dieser Nachteil dadurch zu überwinden ver­ sucht, daß man Fehlercodes mit großer Länge verwendete, wo­ durch die Wahrscheinlichkeit für nicht zu entdeckende Zwei- Bit-Fehler sehr klein gemacht werden konnte. Die trotzdem nicht zu entdeckenden Fehler wurden toleriert. Die hierbei verwendeten Fehlercodes großer Länge beeinflussen die effek­ tive Datenübertragungsrate negativ.
Der Erfindung liegt die Aufgabe zugrunde, eine Schaltungsan­ ordnung zur Erzeugung zyklischer Codes anzugeben, welche eine vollständige Entdeckung von Zwei-Bit-Fehlern ermöglicht. Diese Aufgabe wird durch eine Schaltungsanordnung zur Erzeugung zyk­ lischer Codes mit Merkmalen nach Anspruch 1 gelöst.
Bei dieser Schaltungsanordnung werden mehrere Schieberegister verwendet, welche jeweils durch eine lineare Verkettung von speichernden Elementen und EXOR-Gattern aufgebaut sind. Dabei ist jedem speichernden Element ein EXOR-Gatter vorgeschaltet. Der Ausgang eines jeden Schieberegisters ist mit einem Eingang des EXOR-Gatters am Eingang desselben Schieberegisters verbun­ den. Die Ausgänge der Schieberegister sind in unterschiedli­ cher, für das jeweilige Schieberegister charakteristischer Weise mit Eingängen ausgewählter EXOR-Gatter im Innern des jeweiligen Schieberegisters verbunden. Allen Schieberegistern der Schaltungsanordnung wird simultan das gleiche Datenwort transversal in unterschiedlicher, für das jeweilige Schiebe­ register charakteristischer Weise zugeführt, in dem den EXOR-Gattern eines jeden Schieberegisters eine für dieses Schieberegister charakteristische Permutation der Bits dieses Datenworts zugeführt wird. Hierdurch berechnen alle Schiebe­ register unterschiedliche Fehlersyndrome.
Es ist besonders vorteilhaft in Verbindung mit acht Bit brei­ ten Datenworten eine Schaltungsanordnung aus zwei Schiebere­ gistern zu acht Bit Länge zu verwenden, von denen ein Schiebe­ register ein Fehlersyndrom berechnet, welches durch ein Poly­ nom erzeugt wird, das den Faktor X + 1 enthält. Hierdurch wird die zuverlässige Erkennung von Fehlern mit einer ungeraden Zahl von fehlerhaften Bits gewährleistet.
Fig. 1 zeigt ein bevorzugtes Ausführungsbeispiel der Schal­ tungsanordnung mit zwei Schieberegistern sowie acht Bits.
Im folgenden wird die Erfindung anhand eines bevorzugten Aus­ führungsbeispiels näher beschrieben.
Ein Ein-Bit-Fehler kann solange durch einen weiteren Ein-Bit- Fehler aufgehoben werden, bis er das Ende eines Schieberegi­ sters erreicht und später wieder, wenn nach vollen Perioden des Codes ein einzelnes Bit das Schieberegister durchläuft. Bei dieser Schaltungsanordnung werden mehrere, zum Beispiel zwei Schieberegister benutzt, in welche die Bits eines Daten­ wortes unterschiedlicher Reihenfolge eingespeist werden. Ein Ein-Bit-Fehler kann nur dann durch einen weiteren Ein-Bit-Feh­ ler aufgehoben werden, wenn in allen verwendeten Schieberegi­ stern gleichzeitig genau Ein-Fehler-Bit gesetzt ist, und wenn sich diese Bits zum gleichen Zeitpunkt an solchen Stellen be­ finden, an denen sie durch ein einziges Datenbit gelöscht wer­ den können. Die Reihenfolgen, in der Datenbits eingespeist werden, werden so gewählt, daß von Beginn an für möglichst viele Schritte ein einzelnes Datenbit nicht das Fehlersyndrom in allen Schieberegistern löschen kann.
Vorzugsweise werden zwei acht Bit Schieberegister benutzt, in welche die Datenbits der Datenworte in umgekehrter Reihenfolge transversal eingespeist werden, wodurch Datenpakete mit einer Länge von bis zu 509 Bytes vollständig gegen Zwei-Bit-Fehler gesichert werden können.
In einer bevorzugten Ausführungsform der Erfindung werden zwei acht Bit lange Schieberegister die jeweils durch eine lineare Verkettung von acht speichernden Elementen S und acht EXOR- Gattern (EXOR) aufgebaut sind, verwendet. Wie in Fig. 1 sicht­ bar, sind die Ausgänge der beiden Schieberegister auf ihre Eingänge zurückgekoppelt in dem der Ausgang eines jeden Schie­ beregisters mit einem Eingang des EXOR-Gatters am Eingang des­ selben Schieberegisters verbunden ist. Fig. 1 zeigt eben­ falls, daß die Ausgänge der beiden Schieberegister in unter­ schiedlicher, für das jeweilige Schieberegister charakteri­ stischer Weise mit Eingängen ausgewählter EXOR-Gatter im Innern des jeweiligen Schieberegisters verbunden sind. Hier­ durch berechnet jedes der beiden Schieberegister ein unter­ schiedliches Fehlersyndrom, welches im Fall der in Fig. 1 dargestellten Schaltungsanordnung durch die Polynome
Q₁=x⁸+x⁶+x³+x²+1
Q₂=x⁸+x⁷+x²+1=(x+1)*(x⁷+x+1)
erzeugt werden. Den beiden Schieberegistern wird simultan das gleiche Datenwort transversal, aber in unterschiedlicher, für das jeweilige Schieberegister charakteristischer Weise zuge­ führt. Dies geschieht, indem den EXOR-Gattern eines jeden Schieberegisters eine für dieses Schieberegister charakteri­ stische Permutation der acht Bits dieses Datenwortes zugeführt wird.
Die in Fig. 1 gezeigte Schaltungsanordnung ist nur ein bevor­ zugtes Ausführungsbeispiel für eine allgemeinere Klasse von Schaltungsanordnungen, welche aus einer größeren Anzahl M von Schieberegistern besteht. Diese Schieberegister unterscheiden sich jeweils in der Art und Weise der Rückkopplung ihrer Aus­ gänge auf unterschiedlich ausgewählte EXOR-Gatter im Innern dieser Schieberegister. Desweiteren unterscheiden sich diese Schieberegister durch die unterschiedliche Zuführung der Daten­ bits auf die EXOR-Gatter im Innern dieser Schieberegister. Je dem Schieberegister wird dabei eine andere Permutation der Datenbits zugeführt.
Die Schaltungsanordnung hat den Vorteil, daß mit ihr zwei-Bit- Fehler sowie Fehler mit einer ungeraden Zahl von fehlerhaften Bits vollständig erkannt werden.

Claims (2)

1. Schaltungsanordnung zur Erzeugung zyklischer Codes, be­ stehend aus M Schieberegistern (CRC1, CRC2, . . .) zu je N Bit, welche jeweils durch eine lineare Verkettung von N speichern­ den Elementen (S) und N EXOR-Gattern (EXOR) aufgebaut sind, wobei
  • a) jedem speichernden Element ein EXOR-Gatter vorgeschaltet ist,
  • b) der Ausgang eines jeden Schieberegisters mit einem Eingang des EXOR-Gatters am Eingang desselben Schieberegisters ver­ bunden ist,
  • c) die Ausgänge der Schieberegister in unterschiedlicher, für das jeweilige Schieberegister charakteristischer Weise mit Eingängen ausgewählter EXOR-Gatter im Innern des jeweiligen Schieberegisters verbunden sind,
  • d) allen Schieberegistern simultan das gleiche Datenwort aus N Bit (D0, D1, . . .) transversal in unterschiedlicher, für das jeweilige Schieberegister charakteristischer Weise zu­ geführt werden, indem den N EXOR-Gattern eines jeden Schie­ beregisters eine für dieses Schieberegister charakteristi­ sche Permutation der N Bits dieses Datenwortes zugeführt wird, wodurch alle Schieberegister unterschiedliche Feh­ lersyndrome berechnen.
2. Schaltungsanordnung nach Anspruch 1 mit zwei Schieberegi­ stern zu je acht Bit, welche die durch die binären Polynome
Q₁=x⁸+x⁶+x³+x²+1
Q₂=x⁸+x⁷+x²+1=(x+1)*(x⁷+x+1)
begebenen Fehlersyndrome berechnen.
DE19914130907 1991-09-17 1991-09-17 Schaltungsanordnung zur erzeugung zyklischer codes Ceased DE4130907A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19914130907 DE4130907A1 (de) 1991-09-17 1991-09-17 Schaltungsanordnung zur erzeugung zyklischer codes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19914130907 DE4130907A1 (de) 1991-09-17 1991-09-17 Schaltungsanordnung zur erzeugung zyklischer codes

Publications (1)

Publication Number Publication Date
DE4130907A1 true DE4130907A1 (de) 1993-03-25

Family

ID=6440803

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19914130907 Ceased DE4130907A1 (de) 1991-09-17 1991-09-17 Schaltungsanordnung zur erzeugung zyklischer codes

Country Status (1)

Country Link
DE (1) DE4130907A1 (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19630343A1 (de) * 1996-07-26 1998-02-05 Ericsson Telefon Ab L M Verfahren, Vorrichtung und Paket-Übertragungssystem unter Verwendung einer Fehlerkorrektur von Datenpaketen
EP1422858A1 (de) * 2002-11-19 2004-05-26 Siemens Aktiengesellschaft Verfahren zur Bestimmung einer Restfehlerwahrscheinlichkeit bei der Übertragung von Daten
DE102007028767A1 (de) 2007-06-22 2008-12-24 Continental Teves Ag & Co. Ohg Buskommunikationsschaltung zur sicheren seriellen Übertragung von Daten sowie deren Verwendung
DE102007028766A1 (de) 2007-06-22 2008-12-24 Continental Teves Ag & Co. Ohg Prüfverfahren und elektronische Schaltung zur sicheren seriellen Übertragung von Daten

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19630343A1 (de) * 1996-07-26 1998-02-05 Ericsson Telefon Ab L M Verfahren, Vorrichtung und Paket-Übertragungssystem unter Verwendung einer Fehlerkorrektur von Datenpaketen
DE19630343B4 (de) * 1996-07-26 2004-08-26 Telefonaktiebolaget L M Ericsson (Publ) Verfahren und Paket-Übertragungssystem unter Verwendung einer Fehlerkorrektur von Datenpaketen
EP1422858A1 (de) * 2002-11-19 2004-05-26 Siemens Aktiengesellschaft Verfahren zur Bestimmung einer Restfehlerwahrscheinlichkeit bei der Übertragung von Daten
DE102007028767A1 (de) 2007-06-22 2008-12-24 Continental Teves Ag & Co. Ohg Buskommunikationsschaltung zur sicheren seriellen Übertragung von Daten sowie deren Verwendung
DE102007028766A1 (de) 2007-06-22 2008-12-24 Continental Teves Ag & Co. Ohg Prüfverfahren und elektronische Schaltung zur sicheren seriellen Übertragung von Daten
WO2009000597A1 (de) * 2007-06-22 2008-12-31 Continental Teves Ag & Co. Ohg Prüfverfahren und elektronische schaltung zur sicheren seriellen übertragung von daten
US8352809B2 (en) 2007-06-22 2013-01-08 Continental Teves Ag & Co. Ohg Checking method and electronic circuit for the secure serial transmission of data

Similar Documents

Publication Publication Date Title
DE69019777T2 (de) Datenstrom-Rahmensynchronisation.
DE10133595B4 (de) Pufferschaltung, Speicherzugriffsverfahren und Reed-Solomon-Decoder
DE102015201384B4 (de) Vorrichtung und Verfahren zum Verbessern der Datenspeicherung durch Dateninvertierung
DE3852423T2 (de) Kodierverfahren und Kodierer mit Reed-Solomon Fehlerkorrekturcode.
DE69929652T2 (de) Datenfehlerkorrektursystem
DE10238841B4 (de) Parallelverarbeitung der Decodierung und der zyklischen Redundanzüberprüfung beim Empfang von Mobilfunksignalen
DE3882223T2 (de) Ausgebreitete Fehlerkorrekturvorrichtung mit Einzel-Paket-Fehlerkorrektur und Doppel-Paket-Fehlerdetektionscoden.
DE2159108A1 (de) Anordnung zur Erzeugung zyklischer Redundanzprüfzeichen
DE2914515A1 (de) Verfahren und vorrichtung fuer ein wirksames fehlerentdeckungs- und korrektursystem
DE2657826A1 (de) Einrichtung zur fehlererkennung und fehlerkorrektur im speichersystem einer dv-anlage
DE2320422A1 (de) Verfahren zur fehlererkennung
DE102011085602A1 (de) Vorrichtung und Verfahren zum Korrigieren zumindest eines Bitfehlers in einer codierten Bitsequenz
DE4105860C2 (de) Schaltungsanordnung zum Erkennen und Korrigieren von Fehlern in Datenworten
EP0545498A2 (de) Verfahren und Schaltungsanordnung zum Decodieren von RS-codierten Datensignalen
EP0003480B1 (de) Schaltungsanordnung zum Umwandeln von Binärinformationen mittels Kontrollbits
DE4130907A1 (de) Schaltungsanordnung zur erzeugung zyklischer codes
DE1937248A1 (de) Selbstpruefende Fehlererkennungsschaltung
DE1290565B (de) Verfahren zur empfaengerseitigen Korrektur dualkodierter Nachrichten
DE102013201422B3 (de) Verfahren zum Wiederherstellen verlorengegangener und/ oder beschädigter Daten
DE102014208996B3 (de) Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten
DE2163105A1 (de) Verfahren und schaltungsanordnung zum dekodieren und korrigieren eines sogenannten convolutional-code
DE69004801T2 (de) Verfahren und vorrichtung zur dekodierung eines verkürzten zyklischen binärcodes mit fehlerkorrektur.
DE102022111624B4 (de) Fehlerkorrektur mit schneller Syndromberechnung
EP0748055B1 (de) Verfahren zur Decodierung von mit einem RDS-Empfänger empfangenen Datenblöcken
DE2906578C2 (de)

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection