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
German (de)
Other versions
DE3543976A1 (en
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/en
Publication of DE3543976A1 publication Critical patent/DE3543976A1/en
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

Description

Die Erfindung betrifft eine Anordnung zum Erzeugen eines Blockprüfcodes für einen Datenblock gemäß dem Oberbegriff des Anspruchs 1.The invention relates to an arrangement for generating a block check code for a data block according to the preamble of the claim 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. From "Taschenbuch der Informatik" by Steinbuch / Weber, Volume 2, Pages 111 to 115, Springer-Verlag, 1974 are error-detecting and corrective codes, in which data blocks are known their further processing, such as transmission or storage, a verification code is added in each case. This will be in front of the Transfer of the associated data block by a depending on Type of check code more or less complex arithmetic operation won, e.g. B. is the information to be transmitted as a polynomial shown, divided by a generator polynomial and the remainder of the division is transmitted together with the information. After the transfer or read out from memory the data blocks are subjected to the same arithmetic operation again, and the respective block check code thus formed is compared with the received received. In the event of a discrepancy, if the check code allows it, the error corrects or the transmission be repeated. For this type of data backup need when transferred or stored at high data rate the test words are also calculated at high speed become, which is a very powerful and therefore expensive Calculator is required.  

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.From the magazine "Elektronik" 1979, number 25, pages 73 to 81, in particular page 78, an arrangement is known with which a cyclic block check code for a data block successively byte by byte is produced. For this purpose, the data block is in data words from divided into 8 bits each, which the EX Address input of a memory is fed into its 256 memory locations for each possible address supplied to it contains a verification code. The output byte of the memory is with the following data word EXCLUSIVE-OR-linked and that Link result returned to the memory as an address. After linking with the last data word, the memory returns the block test code after addressing with the test result out.

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. The present invention has for its object a further arrangement of those specified in the preamble of claim 1 Way of creating with the cyclic block check codes with simple Means can be generated.  

Diese Aufgabe wird mit den im kennzeichnenden Teil des Anspruchs 1 angegebenen Maßnahmen gelöst.This task is carried out in the characteristic part of the Claim 1 specified measures solved.

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.For the common security codes, the logical combination, the bitwise addition without carry, is an EXCLUSIVE-OR combination of the corresponding bits. The words advantageously have a length of 8 bits each, but a limit case of 1 bit is also possible. Then twice as many memory cells are required as the data block has bits, in the other limit the block consists of a single word. With a block length of n bits, the number of memory cells is then equal to 2 n , that is to say generally unusable. The data word length is advantageously equal to the test word length. This means that with a block length of 256 bits and a test word length of 8 bits, the block is divided into 32 words of 8 bits each.

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.Using the drawing, in which the block diagram of a Embodiment is shown below the invention and further embodiments described in more detail and explained.

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.With DBL is a data block with 16 words W 1 , W 2 . . . W 16 with 8 bits each. The words, controlled by a clock generator TG , are entered in parallel in a transmission register SRG , from which they are read out serially for transmission. In order to ensure continuous transmission, there can be two transmit registers, into which the data words are alternately entered and read out serially. After a start pulse, which is fed to an input ST of the clock generator TG , this gives an takeover pulse to the transmit register SRG and an address register ADR via an output T 1 and a reset pulse to the reset inputs R of a word counter WZ and a buffer register PRG . The first word W 1 is therefore entered in the two registers SRG and ADR and the word counter WZ and the buffer register PRG are set to zero. The content of the address register ADR and the status of the word counter WZ are supplied as addresses to the address input AE of a memory SP , which has 16 memory areas BR 1 , BR 2 . . . BR 16 with 256 cells of 8 bits each. The BR 1 area contains the 256 test words for all possible data words W 1 . Correspondingly, the test words for the data words W 2 are contained in the area BR 2 and so on. The base addresses for the individual areas are supplied by the word counter WZ , the partial addresses for the individual test words are the data words contained in the address register ADR . The memory addresses are given in hexadecimal notation for some selected cells.

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".With the transfer of the first data word W 1 into the address register ADR and the resetting of the counter WZ , a read command is given to the memory SP via a delay stage VZ 1 , from which the content of cell 001 (H) is input to a via a data output DA EXCLUSIVE OR arrangement EXO is output. This consists of eight EXCLUSIVE-OR gates, one input of which is supplied with the test word read from the memory SP . Your other inputs are connected to the eight outputs of the PRG buffer register. Since the buffer register PRG only logs signals after the reset. Contains "0", the EXCLUSIVE OR arrangement EXO outputs the test word emitted by the memory SP unchanged. This test word is transferred into the buffer register PRG with a takeover pulse, which is derived from the read pulse for the writer SP by means of a delay stage VZ 2 . The content of the buffer register PRG is therefore "01101100" at this time.

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.During the transmission of the first data word W 1 , the second data word W 2 is provided at the input of the transmission register SRG . After the transmission, the clock generator TG gives a take-over pulse to the transmission register SRG and the address register ADR and a counting pulse to the word counter WZ and furthermore a read pulse to the memory SP via the delay stage VZ 1 . The test word "10011110" is therefore read out of the memory cell with the address 1FF (H) and EXCLUSIVE-OR-linked with the test word contained in the buffer register PRG . The result is 11110010. This overwrites the word contained in the buffer register PRG . Accordingly, a new memory address and a new test word are formed in the buffer register PRG with each data word. It can be seen that the time required for the transfer of 8 bits is available for a memory access and an EXCLUSIVE-OR link and entry of the link result in the buffer register PRG . The test word can therefore be formed during the transmission even with a high data transmission rate. With the last data word W 16 , the cell with the address FFC (H) is called in the memory area BR 16 and its content is EXCLUSIVE-OR-linked with that of the buffer register PRG . The result thus formed is the test word for the data block DBL and is made available for transmission in the buffer register PRG . After the word W 16 has been transmitted, the clock generator TG outputs a takeover pulse to the shift register SRG via its output T 2 , so that the test word is written into it for transmission. Immediately afterwards, another data block can be transmitted and the test word can be formed at the same time.

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.In the described embodiment, for the purpose of being easier Understanding the individual functions separately Units, such as counters, registers, EXCLUSIVE OR elements, specified. Instead of these units, however, it is useful a microprocessor is used that performs all functions, at least for the most part.

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.There is first a byte for the reception of the data Series-parallel implementation required. The received Data is cached and at the same time, as described above for the sending process, a block Test word formed. This is with the received test word compared. In the event of a difference, the usual security measures, such as error correction, with Help of the test word or repetition of the data transmission, carried out.

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.
1. Arrangement for generating a cyclic block check code for a data block, which is subdivided into data words of a predetermined length, from which the block check code is successively formed by means of check codes and EXCLUSIVE-OR logic elements contained in a memory, characterized by:
  • - The word check codes for all bit combinations of the first data word ( W 1 ) are stored in a first memory area ( BR 1 ), those of the second word in a second memory area ( BR 2 ), and so on.
  • - The first data word ( W 1 ) is supplied as the address to the first memory area ( BR 1 ), the second data word ( W 2 ) to the second memory area ( BR 2 ) etc., the test word of the first data word being matched to that of the second data word in the EXCLUSIVE OR gates are linked and the link result is linked with the word check code read out in the EXCLUSIVE OR gates and the result after the link with the word check code of the last data word ( W 16 ) is the block check code for the data block.
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.2. Arrangement according to claim 1, characterized in that the word counter (WZ ) is present, the status of which forms the base address for the memory areas (BR 1 , BR 2 ... BR 16 ), which is supplemented with the respective data word to the memory address.
DE19853543976 1985-12-12 1985-12-12 Arrangement for generating check words for data blocks Granted DE3543976A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19853543976 DE3543976A1 (en) 1985-12-12 1985-12-12 Arrangement for generating check words for data blocks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19853543976 DE3543976A1 (en) 1985-12-12 1985-12-12 Arrangement for generating check words for data blocks

Publications (2)

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

Family

ID=6288297

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19853543976 Granted DE3543976A1 (en) 1985-12-12 1985-12-12 Arrangement for generating check words for data blocks

Country Status (1)

Country Link
DE (1) DE3543976A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3707143A1 (en) * 1987-03-06 1988-09-15 Blaupunkt Werke Gmbh DEVICE FOR RECEIVING DATA
DE4341798C1 (en) * 1993-12-08 1995-08-10 Telefunken Microelectron Data transmission method

Also Published As

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

Similar Documents

Publication Publication Date Title
DE2030760C2 (en) Parity check circuit for a memory circuit
DE2916710C2 (en)
DE3111447A1 (en) DISPLAY CIRCUIT FOR MEMORY WRITE ERRORS
DE3329022A1 (en) DATA STORAGE DEVICE
DE2357654C2 (en) Associative memory
DE1937249A1 (en) Self-checking fault detection circuit
EP1222545B1 (en) Method and circuit configuration for storing data words in a ram module
DE2047868A1 (en) Circuit for correcting individual errors in the words of a cyclic (n, k) code
DE2053836A1 (en) Method and device for correcting data groups
WO1989003142A1 (en) Measuring process and device for the analysis of disturbances in digital buses
DE3543976C2 (en)
EP0127118B1 (en) Memory control device, in particular for fault tolerant telephone exchange systems
EP0439649A1 (en) Device for generating error patterns with soft decision decoding of block codes
EP0029216B1 (en) Data transmission device with a buffer memory and devices for data protection
DE3433679A1 (en) Method and arrangement for securing important information in memory units with optional access, particularly for control bits in buffer memories acting as cache memories in a data processing system
DE2714314C2 (en) Data processing device with a data memory
EP0840230A2 (en) Apparatus for selecting address words using demultiplex-decoding
DE1424746A1 (en) Data processing system
EP0046963B1 (en) Circuit configuration for the recognition and correction of error bursts
DE2939412A1 (en) CIRCUIT ARRANGEMENT FOR ADDRESSING DATA FOR READING AND WRITING ACCESSES IN A DATA PROCESSING SYSTEM
DE1943859C3 (en) Method and device for checking and / or correcting data words and / or for generating check digits
DE2837709C2 (en) Circuit arrangement for handling partial words in computer systems
DE4030629C2 (en) Arrangement for securing control information coupled to the memory entries of a working memory in a multiprocessor system
DE2742881A1 (en) DV SYSTEM WITH ERROR CORRECTION
DE3036856C2 (en) Data processing system with two processing units

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