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
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
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.
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)
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 |
-
1985
- 1985-12-12 DE DE19853543976 patent/DE3543976A1/de active Granted
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 |