DE3543976C2 - - Google Patents

Info

Publication number
DE3543976C2
DE3543976C2 DE19853543976 DE3543976A DE3543976C2 DE 3543976 C2 DE3543976 C2 DE 3543976C2 DE 19853543976 DE19853543976 DE 19853543976 DE 3543976 A DE3543976 A DE 3543976A DE 3543976 C2 DE3543976 C2 DE 3543976C2
Authority
DE
Germany
Prior art keywords
word
data
memory
block
check code
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
DE19853543976
Other languages
English (en)
Other versions
DE3543976A1 (de
Inventor
Hartmut Dipl.-Ing. 7500 Karlsruhe De Flaemig
Detlev Dipl.-Ing. 6742 Herxheim De Knauer
Werner Dipl.-Ing. 7507 Pfinztal De Pfatteicher
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 DE19853543976 priority Critical patent/DE3543976A1/de
Publication of DE3543976A1 publication Critical patent/DE3543976A1/de
Application granted granted Critical
Publication of DE3543976C2 publication Critical patent/DE3543976C2/de
Granted 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

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

Die Erfindung betrifft eine Anordnung zum Erzeugen eines Blockprüfcodes für einen Datenblock gemäß dem Oberbegriff des Anspruchs 1.
Aus "Taschenbuch der Informatik" von Steinbuch/Weber, Band 2, Seiten 111 bis 115, Springer-Verlag, 1974 sind fehlererkennende und korrigierende Codes bekannt, bei denen Datenblöcken vor deren Weiterverarbeitung, wie Übertragung oder Speicherung, jeweils ein Prüfcode hinzugefügt wird. Dieser wird vor der Übertragung des zugehörigen Datenblockes durch eine je nach Art des Prüfcodes mehr oder weniger aufwendige Rechenoperation gewonnen, z. B. wird die zu übertragende Information als Polynom dargestellt, dieses durch ein Erzeugerpolynom dividiert und der Divisionsrest zusammen mit der Information übertragen. Nach der Übertragung oder dem Auslesen aus dem Speicher werden die Datenblöcke nochmals derselben Rechenoperation unterworfen, und das dabei gebildete jeweilige Blockprüfcode wird mit dem empfangenen verglichen. Im Falle einer Abweichung kann, falls der Prüfcode dies zuläßt, der Fehler korrigiert oder die Übertragung wiederholt werden. Für diese Art der Datensicherung müssen, wenn mit hoher Datenrate übertragen oder gespeichert wird, die Prüfwörter ebenfalls mit hoher Geschwindigkeit berechnet werden, wozu ein sehr leistungsfähiger und damit aufwendiger Rechner erforderlich ist.
Aus der Zeitschrift "Elektronik" 1979, Heft 25, Seiten 73 bis 81, insbesondere Seite 78, ist eine Anordnung bekannt, mit der ein zyklischer Blockprüfcode für einen Datenblock sukzessive byteweise erzeugt wird. Hierzu ist der Datenblock in Datenwörter von je 8 Bit unterteilt, die über eine EXKLUSIV-ODER-Verknüpfung dem Adresseneingang eines Speichers zugeführt wird, der in seinen 256 Speicherplätzen für jede mögliche ihm zugeführte Adresse einen Prüfcode enthält. Das Ausgangsbyte des Speichers wird mit dem jeweils folgenden Datenwort EXKLUSIV-ODER-verknüpft und das Verknüpfungsergebnis wieder als Adresse dem Speicher zugeführt. Nach Verknüpfung mit dem letzten Datenwort gibt der Speicher nach Adressierung mit dem Prüfergebnis den Blockprüfcode aus.
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, eine weitere Anordnung der im Oberbegriff des Anspruchs 1 angegebenen Art zu schaffen, mit der zyklische Blockprüfcodes mit einfachen Mitteln erzeugt werden können.
Diese Aufgabe wird mit den im kennzeichnenden Teil des Anspruchs 1 angegebenen Maßnahmen gelöst.
Für die gebräuchlichen Sicherungscodes ist die logische Verknüpfung, die bitweise Addition ohne Übertrag, also eine EXKLUSIV-ODER-Verknüpfung der einander entsprechenden Bits. Vorteilhaft haben die Wörter eine Länge von je 8 Bit, jedoch ist auch der eine Grenzfall von 1 Bit möglich. Es sind dann doppelt so viele Speicherzellen erforderlich, wie der Datenblock Bit hat, im anderen Grenzfall besteht der Block aus einem einzigen Wort. Bei einer Blocklänge von n Bit ist die Anzahl der Speicherzellen dann gleich 2 n , also im allgemeinen unbrauchbar groß. Vorteilhaft ist die Datenwortlänge gleich der Prüfwortlänge. Dies bedeutet, daß bei einer Blocklänge von 256 Bit und einer Prüfwortlänge von 8 Bit der Block in 32 Wörter von je 8 Bit unterteilt wird.
Anhand der Zeichnung, in der das Prinzipschaltbild eines Ausführungsbeispiels dargestellt ist, werden im folgenden die Erfindung und weitere Ausgestaltungen näher beschrieben und erläutert.
Mit DBL ist ein Datenblock mit 16 Wörtern W 1, W 2 . . . W 16 zu je 8 Bit bezeichnet. Die Wörter werden, von einem Taktgeber TG gesteuert, parallel in ein Senderegister SRG eingetragen, aus dem sie seriell zur Übertragung ausgelesen werden. Um eine kontinuierliche Übertragung sicherzustellen, können zwei Senderegister vorhanden sein, in die wechselweise die Datenwörter eingetragen und seriell ausgelesen werden. Nach einem Startimpuls, der einem Eingang ST des Taktgebers TG zugeführt wird, gibt dieser über einen Ausgang T 1 einen Übernahmeimpuls auf das Senderegister SRG und ein Adressenregister ADR sowie einen Rücksetzimpuls auf die Rücksetzeingänge R eines Wortzählers WZ und eines Pufferregisters PRG. Das erste Wort W 1 wird daher in die beiden Register SRG und ADR eingetragen und der Wortzähler WZ sowie das Pufferregister PRG auf Null gestellt. Der Inhalt des Adressenregisters ADR und der Stand des Wortzählers WZ werden als Adresse dem Adresseneingang AE eines Speichers SP zugeführt, der 16 Speicherbereiche BR 1, BR 2 . . . BR 16 mit je 256 Zellen zu 8 Bit aufweist. Im Bereich BR 1 sind die 256 Prüfwörter für alle möglichen Datenwörter W 1 enthalten. Entsprechend sind die Prüfwörter für die Datenwörter W 2 im Bereich BR 2 enthalten und so fort. Die Basisadressen für die einzelnen Bereiche werden vom Wortzähler WZ geliefert, die Teiladressen für die einzelnen Prüfwörter sind die im Adressenregister ADR enthaltenen Datenwörter. Die Speicheradressen sind in hexadezimaler Schreibweise für einige ausgewählte Zellen angegeben.
Mit der Übernahme des ersten Datenwortes W 1 in das Adressenregister ADR und dem Rückstellen des Zählers WZ wird über eine Verzögerungsstufe VZ 1 ein Lesebefehl an den Speicher SP gegeben, von dem über einen Datenausgang DA der Inhalt der Zelle 001(H) auf den Eingang einer EXKLUSIV- ODER-Anordnung EXO ausgegeben wird. Diese besteht aus acht EXKLUSIV-ODER-Gliedern, deren einen Eingängen das jeweils aus dem Speicher SP ausgelesene Prüfwort zugeführt ist. Ihre anderen Eingänge sind an die acht Ausgänge des Pufferregisters PRG angeschlossen. Da das Pufferregister PRG nach dem Rücksetzen nur Signale log. "0" enthält, gibt die EXKLUSIV- ODER-Anordnung EXO das vom Speicher SP abgegebene Prüfwort unverändert aus. Dieses Prüfwort wird mit einem Übernahmeimpuls, der mittels einer Verzögerungsstufe VZ 2 aus dem Leseimpuls für den Schreiber SP abgeleitet ist, in das Pufferregister PRG übernommen. Der Inhalt des Pufferregisters PRG ist daher zu diesem Zeitpunkt "01101100".
Während der Übertragung des ersten Datenwortes W 1 wird am Eingang des Senderegisters SRG das zweite Datenwort W 2 bereitgestellt. Nach der Übertragung gibt der Taktgeber TG einen Übernahmeimpuls auf das Senderegister SRG und das Adreßregister ADR sowie einen Zählimpuls auf den Wortzähler WZ und ferner über die Verzögerungsstufe VZ 1 einen Leseimpuls auf den Speicher SP. Es wird daher das Prüfwort "10011110" aus der Speicherzelle mit der Adresse 1FF(H) ausgelesen und mit dem im Pufferregister PRG enthaltenen Prüfwort EXKLUSIV-ODER-verknüpft. Das Ergebnis ist 11110010. Mit diesem wird das im Pufferregister PRG enthaltene Wort überschrieben. Entsprechend wird mit jedem Datenwort eine neue Speicheradresse und ein neues Prüfwort im Pufferregister PRG gebildet. Es ist ersichtlich, daß für einen Speicherzugriff und eine EXKLUSIV-ODER-Verknüpfung und Eintrag des Verknüpfungsergebnisses in das Pufferregister PRG die Zeit zur Verfügung steht, die für die Übertragung von 8 Bit erforderlich ist. Es kann daher auch bei einer hohen Datenübertragungsrate das Prüfwort während der Übertragung gebildet werden. Mit dem letzten Datenwort W 16 wird im Speicherbereich BR 16 die Zelle mit der Adresse FFC(H) aufgerufen und deren Inhalt mit dem des Pufferregisters PRG EXKLUSIV-ODER-verknüpft. Das so gebildete Ergebnis ist das Prüfwort für den Datenblock DBL und wird im Pufferregister PRG für die Übertragung bereitgestellt. Nach der Übertragung des Wortes W 16 gibt der Taktgeber TG über seinen Ausgang T 2 einen Übernahmeimpuls auf das Schieberegister SRG, so daß in dieses das Prüfwort zur Übertragung eingeschrieben wird. Unmittelbar anschließend kann ein weiterer Datenblock übertragen und gleichzeitig das Prüfwort gebildet werden.
Im beschriebenen Ausführungsbeispiel werden zwecks leichterem Verständnis für die einzelnen Funktionen gesonderte Baueinheiten, wie Zähler, Register, EXKLUSIV-ODER-Glied, angegeben. Zweckmäßig wird jedoch anstelle dieser Einheiten ein Mikroprozessor eingesetzt, der alle Funktionen, zumindest zum größten Teil, übernimmt.
Für den Empfang der Daten ist zunächst eine byteweise Serien-Parallel-Umsetzung erforderlich. Die empfangenen Daten werden zwischengespeichert und gleichzeitig wird, wie oben für den Sendevorgang beschrieben, ein Block- Prüfwort gebildet. Dieses wird mit dem empfangenen Prüfwort verglichen. Im Falle einer Differenz werden die üblichen Sicherungsmaßnahmen, wie Fehlerkorrektur, mit Hilfe des Prüfwortes oder Wiederholung der Datenübertragung, durchgeführt.

Claims (2)

1. Anordnung zum Erzeugen eines zyklischen Blockprüfcodes für einen Datenblock, der in Datenwörter vorgegebener Länge unterteilt ist, aus denen mittels in einem Speicher enthaltenen Prüfcodes und EXKLUSIV-ODER-Verknüpfungsgliedern sukzessive der Blockprüfcode gebildet wird, gekennzeichnet durch:
  • - die Wortprüfcodes für sämtliche Bitkombinationen des ersten Datenwortes (W 1) sind in einem ersten Speicherbereich (BR 1), die des zweiten Wortes in einem zweiten Speicherbereich (BR 2) usf. hinterlegt;
  • - das erste Datenwort (W 1) wird als Adresse dem ersten Speicherbereich (BR 1), das zweite Datenwort (W 2) dem zweiten Speicherbereich (BR 2) usf. zugeführt, wobei das Prüfwort des ersten Datenwortes mit dem des zweiten Datenwortes in den EXKLUSIV-ODER-Gliedern verknüpft wird und das Verknüpfungsergebnis mit dem jeweils nachfolgend ausgelesenen Wortprüfcode in den EXKLUSIV-ODER-Gliedern verknüpft wird und das Ergebnis nach der Verknüpfung mit dem Wortprüfcode des letzten Datenwortes (W 16) der Blockprüfcode für den Datenblock ist.
2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Wortzähler (WZ) vorhanden ist, dessen Stand die Basisadresse für die Speicherbereiche (BR 1, BR 2 . . . BR 16) bildet, die mit dem jeweiligen Datenwort zur Speicheradresse ergänzt wird.
DE19853543976 1985-12-12 1985-12-12 Anordnung zum erzeugen von pruefwoertern fuer datenbloecke Granted DE3543976A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19853543976 DE3543976A1 (de) 1985-12-12 1985-12-12 Anordnung zum erzeugen von pruefwoertern fuer datenbloecke

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19853543976 DE3543976A1 (de) 1985-12-12 1985-12-12 Anordnung zum erzeugen von pruefwoertern fuer datenbloecke

Publications (2)

Publication Number Publication Date
DE3543976A1 DE3543976A1 (de) 1987-06-19
DE3543976C2 true DE3543976C2 (de) 1988-12-22

Family

ID=6288297

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19853543976 Granted DE3543976A1 (de) 1985-12-12 1985-12-12 Anordnung zum erzeugen von pruefwoertern fuer datenbloecke

Country Status (1)

Country Link
DE (1) DE3543976A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3707143A1 (de) * 1987-03-06 1988-09-15 Blaupunkt Werke Gmbh Geraet zum empfang von daten
DE4341798C1 (de) * 1993-12-08 1995-08-10 Telefunken Microelectron Verfahren zur Datenübertragung

Also Published As

Publication number Publication date
DE3543976A1 (de) 1987-06-19

Similar Documents

Publication Publication Date Title
DE2030760C2 (de) Paritätsprüfschaltung für eine Speicherschaltung
DE2916710C2 (de)
DE69319181T2 (de) Entschachtelungsschaltung zum Regenerieren von digitalen Daten
DE3111447A1 (de) Anzeigeschaltung fuer speicherschreibfehler
DE3329022A1 (de) Datenspeichereinrichtung
DE2357654C2 (de) Assoziativspeicher
EP1222545B1 (de) Verfahren und schaltungsanordnung zum speichern von datenworten in einem ram modul
DE1937249A1 (de) Selbstpruefende Fehlererkennungsschaltung
DE2047868A1 (de) Schaltung zur Korrektur von Einzel fehlern in den Wortern eines zyklischen (n, k) Codes
DE2053836A1 (de) Verfahren und Vorrichtung zur Korrek Datengruppen
WO1989003142A1 (en) Measuring process and device for the analysis of disturbances in digital buses
DE3543976C2 (de)
EP0127118B1 (de) Speichersteueranordnung, insbesondere für fehlertolerantes Fernsprech-Vermittlungssystem
DE69619373T2 (de) Verfahren und gerät um fehlercodes wirksam zu speichern
EP0439649A1 (de) Einrichtung zur Fehlermustergenerierung bei Soft-Decision-Decodierung von Blockcodes
EP0029216B1 (de) Datenübertragungseinrichtung mit Pufferspeicher und Einrichtungen zur Sicherung der Daten
DE3433679A1 (de) Verfahren und anordnung zur sicherung von wichtigen informationen in speichereinheiten mit wahlweisem zugriff, insbesondere von steuerbits in als cache-speicher arbeitenden pufferspeichern einer datenverarbeitungsanlage
DE2714314C2 (de) Datenverarbeitende Vorrichtung mit einem Datenspeicher
DE3009317A1 (de) Hybrid-assoziativspeicher
EP0840230A2 (de) Vorrichtung zur Selektion von Adressenwörtern mittels Demultiplex-Decodierung
DE1424746A1 (de) Datenverarbeitungsanlage
EP0046963B1 (de) Schaltungsanordnung zur Erkennung und Korrektur von Fehlerbündeln
DE4244275C1 (de) Nachprüfung der Datenintegrität bei gepufferter Datenübertragung
DE2939412A1 (de) Schaltungsanordung zum adressieren von daten fuer lese- und schreibzugriffe in einer datenverarbeitungsanlage
DE1943859C3 (de) Verfahren und Vorrichtung zur Prüfung und/oder Korrektur von Datenwörtern und/ oder zur Erzeugung von Prüfziffern

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee