EP2160857B1 - Checking method and electronic circuit for the secure serial transmission of data - Google Patents

Checking method and electronic circuit for the secure serial transmission of data Download PDF

Info

Publication number
EP2160857B1
EP2160857B1 EP20080750293 EP08750293A EP2160857B1 EP 2160857 B1 EP2160857 B1 EP 2160857B1 EP 20080750293 EP20080750293 EP 20080750293 EP 08750293 A EP08750293 A EP 08750293A EP 2160857 B1 EP2160857 B1 EP 2160857B1
Authority
EP
European Patent Office
Prior art keywords
data
check
receiver
error
transmitter
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.)
Active
Application number
EP20080750293
Other languages
German (de)
French (fr)
Other versions
EP2160857A1 (en
Inventor
Adrian Traskov
Lukusa Didier Kabulepa
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.)
Continental Teves AG and Co oHG
Original Assignee
Continental Teves AG and Co oHG
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
Priority to DE102007028766A priority Critical patent/DE102007028766A1/en
Application filed by Continental Teves AG and Co oHG filed Critical Continental Teves AG and Co oHG
Priority to PCT/EP2008/055934 priority patent/WO2009000597A1/en
Publication of EP2160857A1 publication Critical patent/EP2160857A1/en
Application granted granted Critical
Publication of EP2160857B1 publication Critical patent/EP2160857B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/24Testing correct operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0094Bus

Abstract

Checking method in which serial data which have been protected using check data are transmitted from a transmitter 303 to a receiver 304 via a serial data bus 106, and the data are then at least partially pre-processed in the receiver and are compared with the transmitted check data in order to detect transmission errors, wherein the same check data formation method is used as a basis when generating the check data in the transmitter and when pre-processing the data in the receiver, wherein the check data are formed/pre-processed using error detection hardware means, wherein, in addition to the error detection hardware means, error detection software means 102 are furthermore also provided, in particular, in the region of the receiver, which error detection software means are additionally used to check the received data, and wherein an error in the transmitted data and/or check data is also caused by an error stimulation means at the transmitter end. A transmitting and receiving circuit for carrying out the above method and the use thereof are also described.

Description

  • Die Erfindung betrifft ein Prüfverfahren gemäß Oberbegriff von Anspruch 1, eine elektronische Sende- oder Empfangsschaltung oder einen Transceiver, welcher einen Sender und einen Empfänger umfasst, gemäß Oberbegriff von Anspruch 7 sowie deren Verwendung.The invention relates to a test method according to the preamble of claim 1, an electronic transmitting or receiving circuit or a transceiver comprising a transmitter and a receiver, according to the preamble of claim 7 and their use.
  • Serielle Bussysteme, wie "Controller Area Network" (CAN), Flexray(R) oder "Serial Peripheral Interface" (SPI) werden bereits in der Kraftfahrzeugelektronik zur Vernetzung von elektronischen Steuergeräten oder Mikrocontrollern eingesetzt. Diesen seriellen Bussystemen ist gemein, dass die zu übertragenden Daten in Datentelegramme (Frames) aufgeteilt werden. Jedem Datentelegramm wird eine nach Maßgabe eines Generatorpolynoms errechnete CRC-Prüfsumme angefügt (CRC: Cyclic Redundancy Check). Die CRC-Prüfung von Daten ist unter anderem aus der DE 41 30 907 A1 , der EP 1 763 168 A1 , der DE 33 35 397 A1 oder der WO 2006/058050 A2 an sich bekannt.Serial bus systems such as "Controller Area Network" (CAN), Flexray (R) or "Serial Peripheral Interface" (SPI) are already used in automotive electronics for networking electronic control units or microcontrollers. These serial bus systems have in common that the data to be transmitted in data telegrams (frames) are divided. Each data telegram is appended with a CRC checksum calculated in accordance with a generator polynomial (CRC: C yclic R edundancy C heck). The CRC check of data is among others from the DE 41 30 907 A1 , of the EP 1 763 168 A1 , of the DE 33 35 397 A1 or the WO 2006/058050 A2 known in itself.
  • Aus der WO 2006/058050 A2 geht ein CRC-Fehlererkennungssystem hervor, bei dem eine Manipulation von CRC-Daten (CRCcorrupter) vorgenommen wird. Die Manipulation wird durchgeführt, um eine bestimmte Synchronisationsbedingung zu erzeugen oder dem Empfänger besondere Statusinformationen zu übermitteln. Dies hat den Nachteil, dass die CRC-Prüfung zumindest bei der Übertragung einiger Datenpakete nicht aktiv ist. Die Sicherheit der Übertragung wird daher verringert. Ein weiterer Nachteil ist, dass ein tatsächlicher Fehler in den CRC-Daten prinzipiell ein ungewolltes Synchronisationsereignis auslösen kann.From the WO 2006/058050 A2 shows a CRC error detection system in which a manipulation of CRC data (CRCcorrupter) is made. The manipulation is performed to create a particular synchronization condition or to provide the receiver with particular status information. This has the disadvantage that the CRC check is not active at least during the transmission of some data packets. The security of the transmission is therefore reduced. Another disadvantage is that an actual error in the CRC data can in principle trigger an unwanted synchronization event.
  • Bekanntlich sind die Mittel zur Erzeugung der CRC-Prüfdaten im allgemeinen als Hardwaremittel implementiert. Die Absicherung der Daten mittels herkömmlicher CRC-Prüfdaten führt nach sich, dass keine hundertprozentige Datenabsicherung erzielt wird. Der verbleibende Restfehler lässt sich für eine vorgegebene Länge von Datentelegrammen entweder analytisch oder durch Simulationen berechnen bzw. abschätzen.As is known, the means for generating the CRC check data are generally implemented as hardware means. Securing the data using traditional CRC check data means that no one hundred percent data backup is achieved. The remaining residual error can be calculated or estimated either analytically or by simulations for a given length of data telegrams.
  • In der weiter oben bereits erwähnten EP 1 763 168 A1 wird zur Verringerung des Restfehlers vorgeschlagen, einen zweiten CRC-Sicherungsanhang zu bilden.In the already mentioned above EP 1 763 168 A1 In order to reduce the residual error, it is proposed to form a second CRC fuse attachment.
  • Die Aufgabe der vorliegenden Erfindung besteht ebenfalls darin, den Restfehler bei mit CRC-Prüfdaten abgesicherten seriellen Datenübertragungen gegenüber dem Stand der Technik zu verringern.The object of the present invention is also to reduce the residual error in CRC test data secured serial data transmission over the prior art.
  • Diese Aufgabe wird erfindungsgemäß gelöst durch das Verfahren gemäß Anspruch 1.This object is achieved by the method according to claim 1.
  • Bei dem Prüfverfahren gemäß der Erfindung werden mittels Prüfdaten abgesicherte serielle Daten über einen seriellen Datenbus von einem Sender (303) zu einem Empfänger (304) übertragen. Im Empfänger werden die Daten zumindest zum Teil aufbereitet und mit den übertragenen Prüfdaten zur Erkennung von Übertragungsfehlern verglichen. Dabei werden bei der Aufbereitung der Daten im Empfänger beziehungsweise bei der Erzeugung der Prüfdaten, welche vorzugsweise CRC-Prüfdaten sind, im Sender die gleiche Prüfdatenbildungsmethode zu Grunde gelegt. Die Prüfdatenbildung/-aufbereitung erfolgt mittels Fehlererkennungshardwaremitteln.In the test method according to the invention, serial data secured by test data is transmitted via a serial data bus from a transmitter (303) to a receiver (304). In the receiver, the data is at least partially processed and compared with the transmitted test data for the detection of transmission errors. In the processing of the data in the receiver or during the generation of the test data, which are preferably CRC test data, the transmitter uses the same test data formation method. The Prüfdatenbildung / -aufbereitung done by means of error detection hardware.
  • Nach dem Verfahren der Erfindung wird ein Fehler in den übertragenen Daten und/oder Prüfdaten durch ein senderseitiges Fehlerstimulationsmittel hervorgerufen. Hierdurch kann die Datenübertragungssicherheit eines seriellen Bussystems verbessert werden, welches zum Beispiel ein herkömmliches, allgemein verwendetes CRC-Generatorpolynom nutzt. Eine Erhöhung der Datenübertragungssicherheit wäre zwar durch den Einsatz eines komplexeren CRC-Polynoms ebenfalls möglich, allerdings würde dies zu einer nicht erwünschten Veränderung des üblichen Polynoms führen.According to the method of the invention, an error in the transmitted data and / or test data by a transmitter Error stimulation caused. This can improve the data transmission security of a serial bus system using, for example, a conventional, commonly used CRC generator polynomial. An increase in data transmission security would also be possible by using a more complex CRC polynomial, but this would lead to an undesirable change in the usual polynomial.
  • Vorzugsweise sind im Bereich des Empfängers neben den Fehlererkennungshardwaremitteln außerdem Fehlererkennungssoftwaremittel vorgesehen, mit denen die empfangenen Daten zusätzlich überprüft werden. Mit diesem Verfahrensschritt kann der weiter oben erwähnten Restfehler verringert und damit das Sicherheitsmaß der seriellen Verbindung erhöht werden. Das Softwaremittel ist beispielsweise ein Softwareprogramm, das ein Fehlererkennungsverfahren durchführt, mit dem sich die Fehlerrate senken und somit das Sicherheitsmaß der Übertragung zumindest theoretisch weiter erhöhen lässt.In addition to the error detection hardware, error detection software is also provided in the area of the receiver with which the received data is additionally checked. With this method step, the residual error mentioned above can be reduced and thus the safety dimension of the serial connection can be increased. The software means is, for example, a software program which performs an error detection method with which the error rate can be lowered and thus at least theoretically increase the security measure of the transmission.
  • Ein quantitativer Nachweis oder eine Überprüfung der tatsächlichen Fehlererkennungsrate der zusätzlichen Software-Funktion ist allerdings in der Praxis nur schwer möglich. Wenn im Bereich des Empfängers eine aus Software- und Hardwaremitteln bestehende Fehlerprüfung vorhanden ist, kann ein unabhängiger Test der Zuverlässigkeit und Qualität dieser Mittel während der seriellen Übertragung durch eingespeiste Fehler besonders einfach erfolgen, in dem die Fehler in die zu übertragenden Daten und/oder Prüfdaten gezielt implantiert werden. Die gezielte Implantation (Stimulation) eines Fehlers kann durch ein Fehlerstimulationsmittel im Sender erfolgen. Das Fehlerstimulationsmittel ist bevorzugt als ein Hardwareelement ausgeführt.However, a quantitative proof or a check of the actual error detection rate of the additional software function is hardly possible in practice. If an error check consisting of software and hardware means exists in the area of the receiver, an independent test of the reliability and quality of these means during the serial transmission by fed-in errors can be carried out particularly easily, in which the errors in the data to be transmitted and / or test data be specifically implanted. The targeted implantation (stimulation) of an error can be done by an error stimulation means in the transmitter. The error stimulation means is preferably designed as a hardware element.
  • Gemäß dem Verfahren nach der Erfindung kann ein zu sendender Datenstrom gezielt mit solchen Fehlern versehen werden, welche durch die zur Erkennung von Fehlern vorgesehene Hardware (zum Beispiel CRC-Erkennungshardware) auf der Empfängerseite nicht erkennbar sind. Auf diese Weise ist es unter anderem möglich, die Fehlererkennungsrate einer zusätzlichen Fehlererkennungssoftware quantitativ zu bestimmen. Durch die gezielte Stimulation solcher nicht erkennbaren Fehler lässt sich außerdem die korrekte Funktion der empfängerseitigen Fehlererkennungshardware überprüfen.According to the method according to the invention, a data stream to be transmitted can be specifically provided with such errors which are not recognizable by the hardware for detecting errors (for example CRC recognition hardware) on the receiver side. In this way it is possible, inter alia, to quantify the error detection rate of an additional error detection software. The targeted stimulation of such unrecognizable errors also allows the correct functioning of the receiver-side error detection hardware to be checked.
  • Gemäß einer weiteren bevorzugten Ausführungsform werden bei dem Verfahren nach der Erfindung außerdem spezielle Fehler stimuliert, welche durch die Erkennungshardware im Empfänger - eine fehlerfreie Übertragung vorausgesetzt - mit Sicherheit einen Fehler hervorrufen. Hierdurch lassen sich auf zuverlässige Weise Fehler in der empfängerseitigen Fehlertesthardware erkennen.According to a further preferred embodiment, the method according to the invention also stimulates special errors which, with the detection hardware in the receiver, provided with error-free transmission, certainly cause an error. This reliably detects errors in the receiver-side fault test hardware.
  • Die Erfindung betrifft außerdem eine elektronische Sendeschaltung oder eine Empfangsschaltung gemäß Anspruch 7. Außerdem betrifft die Erfindung einen Transceiver (Busknoten), welcher sowohl eine entsprechende Sende- als auch Empfangsschaltung umfasst. Die Erfindung betrifft bevorzugt daher auch ein serielles Datenübertragungssystem, welches die obigen Schaltungselemente enthält, wobei diese insbesondere so ausgestaltet sind, das sich das erfindungsgemäße Verfahren mit diesem System ausführen lässt.The invention also relates to an electronic transmission circuit or a receiving circuit according to claim 7. Furthermore, the invention relates to a transceiver (bus node), which comprises both a corresponding transmitting and receiving circuit. The invention therefore preferably also relates to a serial data transmission system which contains the above circuit elements, wherein these are in particular designed such that the method according to the invention can be carried out with this system.
  • Die Erfindung bezieht sich schließlich auch auf die Verwendung der erfindungsgemäßen Schaltung in Kraftfahrzeugsteuergeräten, insbesondere in elektronischen Kraftfahrzeugbremssystemen oder elektronischen Kraftfahrzeugssicherheitssystemen.Finally, the invention also relates to the use of the circuit according to the invention in motor vehicle control devices, in particular in electronic motor vehicle brake systems or electronic vehicle security systems.
  • Weitere bevorzugte Ausführungsformen ergeben sich aus den Unteransprüchen und der nachfolgenden Beschreibung von Ausführungsbeispielen an Hand der Figuren.Further preferred embodiments will become apparent from the subclaims and the following description of exemplary embodiments with reference to the figures.
  • Es zeigen
  • Fig. 1
    eine schematische Darstellung zweier kommunizierender Knoten eines standardisierten Bussystems,
    Fig. 2
    eine weitere schematische Darstellung einer Sende- und Empfangsschaltung (Busknoten) mit einer Darstellung der zur CRC-Berechnung und Überprüfung notwendigen Komponenten,
    Fig. 3
    ein Beispiel für einen gegenüber Fig. 2 erweiterten Busknoten mit erhöhter Sicherheit,
    Fig. 4
    eine zeitliche Abfolge zur Erläuterung des Wechsels zwischen Testbetrieb und Normalbetrieb für ein ereignisgesteuertes Protokoll wie CAN,
    Fig. 5
    ein spezielles Ablaufdiagram der einzelnen Schritte innerhalb der zur Validierung vorgesehenen Zeitschlitze in einem Verfahren gemäß Fig. 4 bei Normalbetrieb (online),
    Fig. 6
    ein Ablaufdiagram einer (intensiven) Untersuchung der Eignung eines Software-Fehlererkennungsverfahrens als sicherheitstechnische Ergänzung der Hardware-CRC-Überprüfung im Testbetrieb (offline),
    Fig. 7
    eine Darstellung des Inhaltes eines redundanten Sendepuffers zur Nachbildung von Fehlern mit einer Hammingdistanz von 6 bei einer Datenübertragung über CAN (Controller Area Network) und
    Fig. 8
    eine zeitliche Abfolge zur Erläuterung des Wechsels zwischen Testbetrieb und Normalbetrieb für ein zeitgesteuertes Protokoll, wie Flexray, im statischen Segment.
    Show it
    Fig. 1
    a schematic representation of two communicating nodes of a standardized bus system,
    Fig. 2
    a further schematic representation of a transmitting and receiving circuit (bus node) with a representation of the components necessary for CRC calculation and verification,
    Fig. 3
    an example of one opposite Fig. 2 extended bus nodes with increased security,
    Fig. 4
    a time sequence for explaining the change between test mode and normal mode for an event-driven protocol such as CAN,
    Fig. 5
    a special flow chart of the individual steps within the time slots provided for validation in a method according to Fig. 4 during normal operation (online),
    Fig. 6
    a flow diagram of an (intensive) investigation of the suitability of a software error detection method as a safety-related supplement to the hardware CRC check in test mode (offline),
    Fig. 7
    a representation of the contents of a redundant send buffer to emulate errors with a Hamming distance of 6 for data transmission via CAN (Controller Area Network) and
    Fig. 8
    a time sequence for explaining the change between test mode and normal operation for a time-controlled protocol, such as Flexray, in the static segment.
  • Fig. 1 zeigt ein schematisches Blockschaltbild von Protokollschichten zweier Busknoten 100, die über ein standardisiertes serielles Bussystem 106 kommunizieren. Ein Busknoten bestehend aus Sender und Empfänger (Transceiver) umfasst in der Regel für die Kommunikation einen Mikrokontroller und einem Kommunikationskontroller. Hierbei kann der Kommunikationskontroller in dem Mikrokontroller integriert sein. Einem Knoten 100 lassen sich drei Protokollschichten zuordnen:
    • Anwendungsschicht 101,
    • Sicherungsschicht 103 und
    • physikalische Schicht 105 zur Übertragung der Bits.
    Fig. 1 12 shows a schematic block diagram of protocol layers of two bus nodes 100 that communicate via a standardized serial bus system 106. A bus node consisting of transmitter and receiver (transceiver) usually comprises a microcontroller and a communication controller for the communication. In this case, the communication controller can be integrated in the microcontroller. A node 100 can be assigned three protocol layers:
    • Application layer 101,
    • Link layer 103 and
    • physical layer 105 for transmission of the bits.
  • Die Applikationsschicht 101 wird als eine Software realisiert, während Sicherungsschicht 103 und Bitübertragungsschicht 105 in Hardware abgebildet werden. Die CRC-Berechnung und Überprüfung erfolgen in der Sicherungsschicht 103 und werden in dem CRC-Hardware-Modul 104 abgewickelt. Mit einem geeignet ausgewählten CRC-Polynom kann das CRC Hardware-Modul 104 Fehler, die während einer Datenübertragung auf dem Bus 106 auftreten, mit einem hohen Abdeckungsgrad erkennen. Um ein hohes Sicherheitsniveau bei der Übertragung zu erreichen, wird neben der Hardware-CRC-Prüfung noch das Software-Fehlererkennungsverfahren 102 in der Applikationsschicht 101 implementiert.The application layer 101 is realized as a software, while the link layer 103 and the physical layer 105 are mapped in hardware. The CRC calculation and verification occur in the link layer 103 and are handled in the CRC hardware module 104. With a suitably selected CRC polynomial, the CRC hardware module 104 can detect errors that occur during data transfer on the bus 106 with a high degree of coverage. In order to achieve a high level of security in the transmission, in addition to the hardware CRC check, the software error detection method 102 is also implemented in the application layer 101.
  • Fig. 2 zeigt schematisch Funktionsblöcke eines an sich bekannten Bussystems mit Sender und Empfänger, welche zur CRC-Berechnung- und Überprüfung benötigt werden. Auf der Senderseite 303 (siehe Ausgangsleitung Tx) werden zunächst die zu einem Datentelegramm gehörenden Datenbytes in Sendepuffer 200 geschrieben. Nach einer parallel-seriell Umwandlung in Block 201 werden die zu übertragenden Bits seriell durch die Sendeleitung TX 208 an die Bitübertragungsschicht 105 (Fig. 1) weitergegeben (Zweig A). Während der Übertragung wird für die übertragenen Daten die CRC-Prüfsumme in dem parallelen Zweig B berechnet. Hierzu erfolgt eine Bildung des CRC-Polynoms mittels Schieberegistern und einer Rückkopplung unter Verwendung der CRC-Polynomkoeffizienten 204. Nachdem das letzte Datenbit von einem Datentelegramms in der Bitübertragungsschicht 105 (Fig. 1) angekommen ist, werden die Multiplexer 205 und 206 so umgeschaltet, dass die Bits der CRC-Prüfsumme auch seriell an die Bitübertragungsschicht 105 weitergegeben werden. Fig. 2 schematically shows functional blocks of a known bus system with transmitter and receiver, which are needed for CRC calculation and verification. On the transmitter side 303 (see output line Tx), the data bytes belonging to a data telegram are first written in transmit buffer 200. After a parallel-to-serial conversion in block 201, the bits to be transmitted are serially transmitted to the physical layer 105 (see FIG. Fig. 1 ) (Branch A). During transmission, the CRC checksum in the parallel branch B is calculated for the transmitted data. For this purpose, the CRC polynomial is formed by means of shift registers and a feedback using the CRC polynomial coefficients 204. After the last data bit of a data telegram in the physical layer 105 (FIG. Fig. 1 ), the multiplexers 205 and 206 are switched so that the bits of the CRC checksum are also forwarded serially to the physical layer 105.
  • Auf der Empfängerseite 304 (siehe Eingangsleitung Rx) wird die empfangene serielle Bitfolge einer Seriell-Parallel-Umwandlung unterzogen und in die Sicherungsschicht 103 eingespeist. Für die empfangenen Datenbits wird eine CRC-Prüfsumme errechnet. Der Vergleicher 219 stellt fest, ob die errechnete und die empfangene CRC-Prüfsumme übereinstimmen. Bei Nichtübereinstimmen liegt ein Übertragungsfehler vor. Die Steuerung des Funktionsablaufs im Sender und Empfänger erfolgt durch einem endlichen, insbesondere gemeinsamen, Zustandsautomaten 231. Dieser wirkt mit Puffersteuerung 230 in geeigneter Weise zusammen.On the receiver side 304 (see input line Rx), the received serial bit sequence is serial-to-parallel converted and fed to the link layer 103. For the received data bits, a CRC checksum is calculated. Comparator 219 determines if the calculated and received CRC checksums match. If not, there is a transmission error. The control of the functional sequence in the transmitter and receiver is carried out by a finite, in particular common, state machine 231. This cooperates with buffer controller 230 in a suitable manner.
  • Auf der Senderseite 303 des in Fig. 3 dargestellten Busknotens ist zusätzlich ein redundanter (Doppel-) Pfad II. implementiert. Dieser redundante Pfad II. besteht aus einem Sendepuffer für einen CRC-Test 240, einem Parallel-Seriell-Umwandler 201' und einem eigenen CRC-Hardware-Modul 270. Im Signalpfad, der Multiplexer 243 folgt, können die zu sendenden Bits entweder direkt oder über Inverter 244 in negierter Form in die CRC-Berechnung eingehen. Die Ausgangsleitung 248 des redundanten CRC-Berechnungspfades B' wird mit der Sendeleitung 208 der herkömmlichen CRC-Hardware-Implementierung an den Eingängen eines XOR-Gatters 250 angeschlossen. Ausgang 258 des XOR-Gatters bildet dann eine zusätzliche Sendeleitung. An Hand des Multiplexers 271 kann die Steuereinheit des laufenden Protokolls festlegen, welche Ausgangsleitung (208, 248 oder 258) an die Sendeleitung Tx weitergeschaltet wird. Ausgangsleitung 258 spiegelt die theoretische Eigenschaft von CRC-Prüfalgorithmen wieder, wonach eine XOR-Verknüpfung von zwei gültigen CRC-Kodes auch wiederum einen gültigen CRC-Kode darstellen muss. Durch diese Ausgangsleitung kann ein Datentelegramm gezielt so verfälscht werden, dass die Hardware-CRC-Überprüfung auf der Empfängerseite 304 den implantierten Fehler nicht erkennen kann.On the transmitter side 303 of in Fig. 3 Bus node shown in addition a redundant (double) path II is implemented. This redundant path II. Consists of a Transmit buffer for a CRC test 240, a parallel-to-serial converter 201 ', and a dedicated CRC hardware module 270. In the signal path followed by multiplexer 243, the bits to be transmitted may be injected into the .mu.s either directly or via inverter 244 in negated form Enter CRC calculation. The output line 248 of the redundant CRC calculation path B 'is connected to the transmission line 208 of the conventional CRC hardware implementation at the inputs of an XOR gate 250. Output 258 of the XOR gate then forms an additional transmit line. On the basis of the multiplexer 271, the control unit of the current protocol can determine which output line (208, 248 or 258) is forwarded to the transmission line Tx. Output line 258 reflects the theoretical property of CRC check algorithms, according to which an XOR of two valid CRC codes must again represent a valid CRC code. By means of this output line, a data telegram can be deliberately falsified such that the hardware CRC check on the receiver side 304 can not detect the implanted error.
  • Eine Fehlererkennung mittels der CRC-Prüfung im Empfänger 304 ist bei einer mit Übertragungsfehlern behafteten Bitfolge dann nicht möglich, wenn die Bitfolge ein gültiges Kodewort des ausgewählten Generatorpolynoms ist. Die in Fig. 3 dargestellten Funktionsblöcke ermöglichen eine Überprüfung des in Software implementierten Fehlererkennungsverfahren 102. Genauer gesagt kann festgestellt werden, ob und wie groß Lücken für eventuelle Fehler sind, die von der CRC-Hardware nicht erfasst werden können. Die Nachbildung eines "künstlichen" Fehlers wird anhand der XOR-Verknüpfung 250 von einem gespeicherten CRC-Kodewort mit der zu sendenden Bitfolge implementiert. Diese Operation beruht auf der Eigenschaft, dass die CRC-Berechnung einer XOR-Verknüpfung von zwei Kodeworten auch ein Kodewort des betrachteten CRC-Polynoms liefert. Dieses Stimulationsmittel ist im wesentlichen in Hardware implementiert, wobei vorzugsweise zusätzlich eine Softwareschnittstelle vorgesehen ist, mit der die zu verfälschenden Bitstellen angegeben werden können.Error detection by means of the CRC check in the receiver 304 is not possible in the case of a bit sequence subject to transmission errors if the bit sequence is a valid code word of the selected generator polynomial. In the Fig. 3 More specifically, it can be determined if and how large are gaps for any errors that can not be detected by the CRC hardware. The replica of an "artificial" error is implemented using the XOR link 250 from a stored CRC codeword with the bit string to be transmitted. This operation relies on the property that the CRC calculation of an XOR of two codewords is also a codeword of the considered CRC polynomial supplies. This stimulation means is essentially implemented in hardware, wherein preferably additionally a software interface is provided, with which the bit positions to be falsified can be specified.
  • Es besteht nun das Ziel, auch die implantierten Fehler, die von der CRC-Überprüfung unentdeckt bleiben, mit dem Fehlererkennungsverfahren 102, das als Software ausgeführt ist, sicher zu erkennen. Ist dies nicht der Fall, ergeben sich Sicherheitslücken, welche schwer quantifizierbar sind. Eine weitere Verbesserung der Sicherheit ergibt sich durch eine Überprüfung der CRC-Hardware, insbesondere des Vergleichers 219, im Empfänger selbst. Falls Vergleicher 219 die Validierung der CRC-Überprüfung nicht oder fehlerhaft durchführt, werden die fehlerhaften Daten unter Umständen unbemerkt weiterübertragen. Die Funktionsgruppen der Schaltung gemäß Fig. 3 ermöglichen zu diesem Zweck außerdem, im Sender 303 gezielt die Prüfsumme eines Datentelegramms zu verfälschen. Dementsprechend wird erwartet, dass der Empfangsknoten die Erkennung eines CRC-Fehlers in einem anderen Datentelegramm bestätigt. Diese Bestätigung weist dann auf die Verfügbarkeit der CRC-Überprüfung im Empfangsknoten hin. Zwei Möglichkeiten zur Verfälschung der CRC-Prüfsumme sind in Fig. 3 dargestellt. Eine erste Möglichkeit besteht darin, negierte Bits mittels des Multiplexers 243 und des Inverters 244 in die CRC-Hardware einzuspeisen. Diese Möglichkeit kann verwendet werden, falls ein nur aus Bits mit dem logischen Wert "1" bestehender Bitvektor bei einer vorgegebenen Länge keinen gültigen Kode des ausgewählten CRC-Polynoms darstellt. Für die zweite Möglichkeit wird die Prüfsumme vor der Übertragung negiert. Dies kann mit Multiplexer 245 und Inverter 249 erfolgen.The aim now is also to reliably detect the implanted errors that remain undetected by the CRC check with the error detection method 102, which is implemented as software. If this is not the case, there are security gaps that are difficult to quantify. A further improvement in security results from a check of the CRC hardware, in particular the comparator 219, in the receiver itself. If comparator 219 does not perform the validation of the CRC check or performs it incorrectly, the erroneous data may under certain circumstances be passed on unnoticed. The functional groups of the circuit according to Fig. 3 For this purpose, it is also possible to purposefully falsify the checksum of a data telegram in the transmitter 303. Accordingly, it is expected that the receiving node confirms the detection of a CRC error in another data message. This confirmation then indicates the availability of the CRC check in the receiving node. Two ways of corrupting the CRC checksum are in Fig. 3 shown. A first possibility is to feed negated bits into the CRC hardware by means of the multiplexer 243 and the inverter 244. This possibility can be used if a bit vector consisting only of bits of logical value "1" for a given length does not represent a valid code of the selected CRC polynomial. For the second possibility, the checksum is negated before transmission. This can be done with multiplexer 245 and inverter 249.
  • In Fig. 4 sind Zeitschlitze für die Realisierung von CRC-Tests während einer seriellen Übertragung, also "online", dargestellt. Der Datenstrom 300 wird zeitlich in gleich lange Einheiten der zeitlichen Länge TNB aufgeteilt (Zeitschlitze für Normalbetrieb 302 und Testbetrieb 302). Es ist zweckmäßig, die Zeitschlitze 302 für den Normalbetrieb länger vorzusehen, als die Zeitschlitze 301, damit die Übertragungsrate des seriellen Bussystems nicht übermäßig durch die sich regelmäßig wiederholenden Tests beeinträchtigt wird.In Fig. 4 are time slots for the realization of CRC tests during a serial transmission, ie online. The data stream 300 is temporally divided into units of the time length T NB of equal length (time slots for normal operation 302 and test operation 302). It is convenient to provide the timeslots 302 for normal operation longer than the timeslots 301, so that the transmission rate of the serial bus system is not unduly affected by the periodic tests.
  • Fig. 5 dient zur näheren Erläuterung des Testzyklusses 301 innerhalb des Datenstroms 300 in Fig. 4. Zunächst sendet der Sender 303 einen speziellen Startkode 306 zum Empfänger 304, welcher den Beginn des "online"-Tests signalisiert. Innerhalb eines Bussystems mit mehreren Busknoten muss für den Test genau ein Sender und ein Empfänger ausgewählt sein. Mit einer Quittungsbotschaft 307 kann der für den Test ausgewählte Empfänger 304 seine Bereitschaft zum Test bestätigen. Nach der Quittungsbotschaft sendet der prüfende Knoten 303 vier Datentelegramme hintereinander:
    • Zwei Botschaften 308 und 310, die jeweils eine fehlerhafte Prüfsumme aufweisen;
    • eine Botschaft 309, die einen für die CRC-Überprüfung unerkennbaren Fehler beinhaltet und
    • eine Botschaft 311, die fehlerfrei ist.
    Fig. 5 serves to explain in more detail the test cycle 301 within the data stream 300 in FIG Fig. 4 , First, the transmitter 303 sends a special start code 306 to the receiver 304, which signals the beginning of the "online" test. Within a bus system with multiple bus nodes, exactly one transmitter and one receiver must be selected for the test. With an acknowledgment message 307, the receiver 304 selected for the test can confirm its readiness for the test. After the acknowledgment message, the checking node 303 sends four data telegrams in succession:
    • Two messages 308 and 310, each having an incorrect checksum;
    • a message 309 containing an error unrecognizable for the CRC check; and
    • a message 311 that is error free.
  • Die Reihenfolge der Botschaften 308, 309 und 310 kann beliebig gewählt werden. Die vierte Botschaft 311 beinhaltet ein Bitmuster, welches eine Antwort 312 vom am Test beteiligten Empfänger anfordert. Als Antwort auf die Folge von Testbotschaften liefert der getestete Empfangsknoten 304 ein Bitmuster 312, das eine Information über die Reihenfolge der Botschaften 308, 309 und 310 enthält. Anschließend sendet der während des Tests sendende Knoten 303 eine Sonderbotschaft 313, um den Testvorgang damit den Testzeitschlitz 301 zu beenden. Falls die Antwort auf eine Anfrage länger als eine festgelegte Zeitspanne dauert, beendet der für den Test vorgesehene Empfänger 304 den Testvorgang. Ein neuer Testvorgang erfolgt erst wieder im folgenden Testzeitschlitz 301' (Fig. 4). Der prüfende Knoten 303 besitzt eine Einrichtung zum Speichern alle Fehler, die in CRC-Testzeitschlitzen festgestellten wurden. Diese können dann später bei Wartungsarbeiten ausgelesen werden. Bevorzugt wird, falls eine fehlende Verfügbarkeit der CRC-Überprüfung in mindestens zwei hintereinanderfolgenden Zeitschlitzen festgestellt wird, der Fehler in die auf dem prüfenden Konten laufende Software beispielsweise interruptgesteuert eingetragen. Dies ermöglicht eine geeignete Reaktion durch die Software des Busknotens, um eine ausreichende Datensicherheit aufrechtzuerhalten.The order of the messages 308, 309 and 310 can be chosen arbitrarily. The fourth message 311 includes a bit pattern which requests a response 312 from the recipient involved in the test. In response to the sequence of test messages, the receiving node 304 being tested provides a bit pattern 312 containing information about the order of the messages Contains messages 308, 309 and 310. Subsequently, the node 303 transmitting during the test sends a special message 313 to end the test procedure with the test time slot 301. If the response to a request lasts for more than a predetermined amount of time, the test receiver 304 terminates the testing process. A new test procedure takes place again in the following test time slot 301 '( Fig. 4 ). The testing node 303 has means for storing all errors found in CRC test time slots. These can then be read out later during maintenance work. Preferably, if a lack of availability of the CRC check is detected in at least two consecutive time slots, the error is entered into the software running on the checking accounts, for example, interrupt-driven. This allows a suitable response by the software of the bus node to maintain sufficient data security.
  • Neben der vorstehend beschriebenen Einkapselung der CRC-Überprüfung kann die Wahrscheinlichkeit einer aufgrund von Übertragungsfehlern misslungenen Verfälschung einer CRC-Summe vorteilhaft dadurch besonders gering gehalten werden, indem zwei verschiedenen Botschaften mit falschen CRC-Summen innerhalb des CRC-Überprüfungszeitfensters gesendet werden. Hierbei wird insbesondere die zweite Botschaft als bitinvertierte Information der ersten Botschaft gebildet, während die CRC-Summen der beiden Botschaften vertauscht werden. Diese Ausgestaltung lässt sich vorteilhaft mit minimalem Aufwand in herkömmliche Implementierungen von Kommunikationskontrollern für serielle Bussysteme einbauen.In addition to the above-described encapsulation of the CRC check, the likelihood of a corruption error due to transmission errors can advantageously be kept particularly low by sending two different messages with incorrect CRC sums within the CRC check time window. Here, in particular, the second message is formed as bit-inverted information of the first message, while the CRC sums of the two messages are reversed. This embodiment can advantageously be installed with minimal effort in conventional implementations of communication controllers for serial bus systems.
  • Nachfolgend wird an Hand von Fig. 6 ein Beispiel für ein "offline"-Verfahren dargestellt. Während des "offline"-Betriebs werden lediglich Tests durchgeführt. Während des Tests werden lediglich Testdaten übertragen. Der "Offline"-Betrieb dient zur Überprüfung der tatsächlichen Fehlererkennungsrate der Fehlererkennungssoftware 102 (Fig. 3). Zunächst sendet Sender 303 einen speziellen Startkode (Zeitschlitz 401), welcher den Beginn der "offline"-Überprüfung signalisiert. Im Zeitbereich 402 werden ausschließlich stimulierte Datenfehler über die serielle Verbindung übertragen. Der Test wird durch einen speziellen Endekode (Zeitschlitz 403) beendet. Durch die "offline"-Überprüfung können in kurzer Zeit sehr viel mehr Bitpakete geprüft werden, als während einer Überprüfung während einer laufenden seriellen Datenübertragung ("online"). Auch hier kann durch die spezielle Art der stimulierten Fehler einer Überprüfung der Fehlererkennungsqualität unabhängig von der Hardware-Erkennung des Empfängers durchgeführt werden.The following will be on hand of Fig. 6 an example of an "offline" method shown. During "offline" operation only tests are carried out. During the test, only test data is transmitted. The "offline" operation serves to check the actual error detection rate of the error detection software 102 (FIG. Fig. 3 ). First, transmitter 303 sends a special start code (time slot 401) which signals the beginning of the "offline" check. In time domain 402, only stimulated data errors are transmitted over the serial link. The test is terminated by a special end code (time slot 403). Due to the "offline" check a lot more bit packets can be checked in a short time than during a check during a serial data transmission ("online"). Again, can be performed by the special nature of the stimulated error checking the error detection quality regardless of the hardware detection of the receiver.
  • Nach einer bevorzugten Ausführungsform des Verfahrens wird die oben beschriebene "offline"-Überprüfung zunächst durch Stimulation von Fehlern mit kleinen oder kleinsten Hammingdistanzen begonnen. Hierzu umfasst der Sender bevorzugt ein Mittel zur Einstellung der Hammingdistanz von stimulierten Fehlern (z.B. durch ein für den CRC-Test ausgelegtes Softwareprogramm im testenden Sender). Im Empfänger wird dann überprüft, ob der stimulierte Fehler durch die Erkennungssoftware detektiert wurde. Wurde ein Fehler nicht detektiert, handelt es sich um eine Überprüfungslücke der Fehlererkennungssoftware des Empfängers. Eine besonders zweckmäßige Suche nach Überprüfungslücken lässt sich durchführen, in dem zunächst Fehler mit kleiner Hammingdistanz erzeugt werden und dann die Hammingdistanz progressiv erhöht wird. Auf Grund der sehr großen Zahl von möglichen Fehlern kann so eine aussagekräftige statistische Analyse der Häufigkeit von Überprüfungslücken erfolgen. An Hand der weiter oben beschriebenen Nachbildung von seltenen CRC-Fehlern können Software-Fehlererkennungsmechanismen vorteilhaft so ausgelegt werden, dass jede beliebige Anzahl von falschen Bitstellen unter einem bestimmten Schwellenwert detektiert wird. Der Schwellenwert kann je nach der angestrebten Sicherheitsstufe beliebig festgelegt werden.According to a preferred embodiment of the method, the "offline" check described above is first started by stimulating errors with small or smallest Hamming distances. For this purpose, the transmitter preferably comprises a means for adjusting the Hamming distance of stimulated errors (eg by a software program designed for the CRC test in the testing transmitter). The receiver then checks whether the stimulated error has been detected by the recognition software. If an error has not been detected, it is a check gap of the receiver's error detection software. A particularly convenient search for check gaps can be performed by first creating errors with a small Hamming distance and then progressively increasing the Hamming distance. Due to the very large number of possible errors, a meaningful statistical analysis of the frequency of check gaps can be made. On the basis of the above Simulating rare CRC errors, software error detection mechanisms can be advantageously designed to detect any number of wrong bit locations below a certain threshold. The threshold can be set arbitrarily depending on the desired security level.
  • In Fig. 7 sind binäre Dateninhalte des CRC-Test-Sendepuffers 240 für das Beispiel einer Übertragung über einen CAN-Bus dargestellt. Die dargestellten drei Bit-Vektoren (#1 bis #3) sind so erzeugt (stimuliert), dass sie eine CRC-Überprüfungslücke mit einer Hammingdistanz von 6 stimulieren. Hierbei kann die Fehlerstimulation sowohl während einer "online"-Prüfung gemäß den Beispielen in Fig. 4 und 5 als auch während einer "offline"-Prüfung gemäß dem Beispiel in Fig. 6 erfolgen. Im dargestellten Format von CAN-Datentelegrammen entsprechen die Botschaftkennung 701, das Kontrollfeld 702 und das Datenfeld 703 dem Inhalt des CRC-Test-Sendepuffers 240. Das CRC-Prüfwort 704 wird für den Inhalt des CRC-Test-Sendepuffers 240 berechnet. Ein logischer wert "1" im CRC-Test-Sendepuffers 240 weist darauf hin, dass die entsprechende Bitstelle im Senderpuffer 200 während der Übertragung verfälscht wird. Mit dem Bit-Vektor #1 wird ein Fehler nur in einem Datenfeld von 64 Bit nachgebildet, während die Bit-Vektoren auch Fehler im CRC-Prüfwort nachbilden.In Fig. 7 Binary data contents of the CRC test transmit buffer 240 are shown for the example of a transmission over a CAN bus. The illustrated three-bit vectors (# 1 through # 3) are generated (stimulated) to stimulate a CRC screening gap with a Hamming distance of 6. Here, the error stimulation during both an "online" test according to the examples in 4 and 5 as well as during an "offline" test according to the example in Fig. 6 respectively. In the illustrated format of CAN data telegrams, the message identifier 701, the control field 702, and the data field 703 correspond to the contents of the CRC test transmit buffer 240. The CRC check word 704 is calculated for the content of the CRC test transmit buffer 240. A logical value "1" in the CRC test transmit buffer 240 indicates that the corresponding bit location in the transmitter buffer 200 is corrupted during transmission. With the bit vector # 1, an error is simulated only in a data field of 64 bits, while the bit vectors also emulate errors in the CRC check word.
  • In zeitgesteuerten Protokollen erfolgt die Signalisierung in Zeitschlitzen für die CRC-"online"-Prüfung gemäß einer gegenüber dem Beispiel in Fig. 5 abgewandelten Form. Dabei werden im wesentlichen die Schritte "Fehlernachbildung" 309 und "CRC-Test-Antwort" 312 durchgeführt, wobei diese Schritte verschiedene Zeitschlitze belegen. Zur Durchführung des hier beschriebenen Tests baut der testende Knoten abwechselnd nach einer von ihm bestimmten Reihenfolge Fehler in den vorgesehenen Zeitschlitzen ein. Die Antworten des getesteten Knoten sollen dann die Reihenfolgen des Tests in den vorgesehenen Zeitschlitzen widerspiegeln. In Fig. 8 ist zur Erläuterung dieses Prinzips eine Abfolge von CRC-Test-Zeitschlitzen 801 und den im normalen Betrieb verwendeten Zeitschlitzen 802 für das statisches Segment 803 eines Flexray®-Protokolls dargestellt. Bekanntlich werden einem Flexray®-Zeitschlitz 802 zwei CRC-Prüfsummen zugeordnet. Eine CRC Prüfsumme wird für den Kopfteil (Header) der Botschaft berechnet, während die zweite CRC-Prüfsumme sich auf Nutzdaten einer Anwendung beziehen. Ein CRC-Test-Zeitschlitz 801 kann entweder für die Fehlernachbildung oder für eine CRC-Test-Antwort reserviert werden. Für eine "offline"-Überprüfung der Flexray-CRC besteht ein statisches Segment überwiegend aus CRC-Test Zeitschlitzen. Für den Flexray-Header wird das Generator-Polynom x 11 + x 9 + x 8 + x 7 + x 2 + 1
    Figure imgb0001

    auf eine Bitfolge von 20 Bits angewandt. Mit einem hexadezimalen Anfangswert von "1A" wird eine minimale Hammingdistanz von sechs erreicht. Hierbei führt nur eine geringe Anzahl von Fehlermustern zu einer Hammingdistanz von 6. Diese Fehlermuster ergeben sich beispielsweise aus einer XODER-Verknüpfung eines der folgenden 10 Vektoren mit den zu sendenden 31 Bit eines Flexray-Headers: Null Frame Indicator
    Figure imgb0002
    Sync Frame Indicator
    Figure imgb0003
    Frame ID Payload length Header CRC
    #1 1 1 01010000000 0100100 00000000000 #2 1 0 10011100000 0000000 00001000000 #3 1 1 00001100001 0000100 00000000000 #4 1 0 01100000000 0111000 00000000000 #5 0 0 10111000010 1000000 00000000000 #6 0 0 10100001100 0000001 00000100000 #7 0 0 10000100000 0010000 01001000010 #8 0 0 01000000000 0100000 00011000101 #9 0 0 00010000001 0000001 00000000111 #10 0 0 00000100000 1001000 01000100001
    In timed protocols, the signaling is done in time slots for the CRC "online" test according to a comparison to the example in FIG Fig. 5 modified form. Essentially, the steps "error simulation" 309 and "CRC test response" 312 are performed, these steps occupying different time slots. To perform the test described herein, the testing node alternately builds errors in an order determined by it the designated time slots. The responses of the tested node should then reflect the order of the test in the designated time slots. In Fig. 8 To illustrate this principle, a sequence of CRC test time slots 801 and the time slots 802 used for the static segment 803 of a Flexray® protocol used in normal operation is shown. As is known, one Flexray® time slot 802 is assigned two CRC checksums. A CRC checksum is calculated for the header of the message, while the second CRC checksum relates to payload of an application. A CRC test time slot 801 may be reserved for either error simulation or for a CRC test response. For an "offline" check of the Flexray CRC, a static segment consists primarily of CRC test time slots. The flexray header becomes the generator polynomial x 11 + x 9 + x 8th + x 7 + x 2 + 1
    Figure imgb0001

    applied to a bit sequence of 20 bits. With a hexadecimal initial value of "1A", a minimum Hamming distance of six is achieved. In this case, only a small number of error patterns lead to a Hamming distance of 6. These error patterns result, for example, from an XOR link of one of the following 10 vectors with the 31 bits of a Flexray header to be sent: Zero frame indicator
    Figure imgb0002
    Sync Frame Indicator
    Figure imgb0003
    Frame ID Payload length Header CRC
    #1 1 1 01010000000 0100100 00000000000 # 2 1 0 10011100000 0000000 00001000000 # 3 1 1 00001100001 0000100 00000000000 # 4 1 0 01100000000 0111000 00000000000 # 5 0 0 10111000010 1000000 00000000000 # 6 0 0 10100001100 0000001 00000100000 # 7 0 0 10000100000 0010000 01001000010 #8th 0 0 01000000000 0100000 00011000101 # 9 0 0 00010000001 0000001 00000000111 # 10 0 0 00000100000 1001000 01000100001
  • An Hand einer "offline"-Überprüfung kann überprüft werden, ob eine Software-Sicherheitsschicht alle mit einer Hammingdistanz von sechs nachgebildeten Fehlermuster erkennt. Hierdurch lässt sich sicherstellen, dass der entsprechende Knoten den Flexray-Header mit einer Hammingdistanz von 8 überträgt und somit eine erhöhte Sicherheitsstufe aufweist. Auf ähnliche Weise kann die tatsächliche Wirksamkeit einer CRC-Absicherung für Flexray-Nutzdaten überprüft werden.By means of an "offline" check, it can be checked whether a software security layer detects all with a Hamming distance of six simulated error patterns. This makes it possible to ensure that the corresponding node transmits the flexray header with a Hamming distance of 8 and thus has an increased security level. Similarly, the actual effectiveness of CRC protection for Flexray payloads can be verified.

Claims (11)

  1. Checking method in which serial data protected by means of check data are transmitted via a serial data bus (106) from a transmitter (303) to a receiver (304), the receiver then conditions at least some of the data and compares them with the transmitted check data in order to recognize transmission errors, wherein the transmitter bases the production of the check data and the receiver bases the conditioning of the data on the same check data formation method, wherein the check data formation/conditioning is performed using error recognition hardware means, and
    wherein particularly also the region of the receiver contains not only the error recognition hardware means but also error recognition software means (102) which are used to additionally check the received data,
    characterized in that
    an error in the transmitted data and/or check data is caused by a transmitter-end error stimulation means.
  2. Method according to Claim 1, characterized in that a malfunction or a fault in the error recognition hardware means is recognized in the receiver using the data errors and/or check data errors produced by means of the error stimulation means.
  3. Method according to Claim 1 or 2, characterized in that the check data are formed on the basis of the CRC method.
  4. Method according to at least one of Claims 1 to 3, characterized in that the erroneous data are produced by virtue of the data to be transmitted being modified by means of the error stimulation means.
  5. Method according to at least one of Claims 1 to 4, characterized in that the data errors provoked are produced such that the error recognition hardware means in the receiver can either safely recognize or safely not recognize the data errors during error-free transmission.
  6. Method according to at least one of Claims 1 to 5, characterized in that the error recognition software means (102) in the receiver are designed such that they always recognize CRC data errors which are provoked with a Hamming distance below a particular threshold value.
  7. Electronic transmission or reception circuit or transceiver which comprises a transmitter and a receiver, having serial data transmission means and in each case at least
    - a physical level,
    - a transmitter-end check data production circuit,
    - a receiver-end check data comparison circuit, and
    - a circuit means (II.), arranged in the transmitter, for provoking erroneous transmitted data and/or erroneous check data,
    characterized by independent additional error recognition implemented at software level in the region of the receiver.
  8. Circuit according to Claim 7, characterized in that transmitter-end changeover means (243, 245, 205, 206, 271) are present which can be used to change over between
    a) the production and subsequent transmission of erroneous transmitted data and/or erroneous check data and
    b) the transmission of unmodified data and check data.
  9. Circuit according to Claim 7 or 8, characterized in that it is provided with means for carrying out the method according to at least one of Claims 1 to 6.
  10. Circuit according to at least one of Claims 7 to 9, characterized in that the transmitter end is provided with a first data conditioning stage (I.), including a first check data production circuit, which can be used to forward data and check data without provoked errors, that is to say usually error-free data and check data, to the transmission output (Tx), and the transmitter end is provided with a second data conditioning stage (II.) having a check data production circuit, wherein the data conditioning stage comprises stimulation means which can be used to produce data errors and/or check data errors which can be forwarded to the transmission output (Tx).
  11. Use of the circuit according to at least one of Claims 7 to 10 in motor vehicle controllers.
EP20080750293 2007-06-22 2008-05-15 Checking method and electronic circuit for the secure serial transmission of data Active EP2160857B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102007028766A DE102007028766A1 (en) 2007-06-22 2007-06-22 Test method and electronic circuit for the secure serial transmission of data
PCT/EP2008/055934 WO2009000597A1 (en) 2007-06-22 2008-05-15 Checking method and electronic circuit for the secure serial transmission of data

Publications (2)

Publication Number Publication Date
EP2160857A1 EP2160857A1 (en) 2010-03-10
EP2160857B1 true EP2160857B1 (en) 2011-11-23

Family

ID=39739783

Family Applications (1)

Application Number Title Priority Date Filing Date
EP20080750293 Active EP2160857B1 (en) 2007-06-22 2008-05-15 Checking method and electronic circuit for the secure serial transmission of data

Country Status (5)

Country Link
US (1) US8352809B2 (en)
EP (1) EP2160857B1 (en)
AT (1) AT535067T (en)
DE (1) DE102007028766A1 (en)
WO (1) WO2009000597A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013020522A1 (en) 2013-12-11 2015-06-11 Lukusa Didier Kabulepa Communication system, test device and device for testing fault-detecting security mechanisms of a communication subscriber

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2933557B1 (en) * 2008-07-02 2013-02-08 Airbus France Method and device for protecting the integrity of data transmitted on a network
JP5902799B2 (en) * 2011-04-06 2016-04-13 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング Method and apparatus for adjusting the reliability of data transmission in a serial bus system
CN103562900B (en) 2011-04-06 2017-02-15 罗伯特·博世有限公司 Method and device for increasing the data transmission capacity in serial bus system
ES2549640T3 (en) 2011-04-26 2015-10-30 Robert Bosch Gmbh Method and serial data transmission device adapted to memory capacity
ES2548409T3 (en) 2011-06-29 2015-10-16 Robert Bosch Gmbh Method and device for serial data transmission with a flexible message size and a variable bit length
US9288161B2 (en) * 2011-12-05 2016-03-15 International Business Machines Corporation Verifying the functionality of an integrated circuit
EP2677692B1 (en) * 2012-06-18 2019-07-24 Renesas Electronics Europe Limited Communication controller
DE102012110712B4 (en) * 2012-10-09 2014-05-22 Sensor-Technik Wiedemann Gmbh Method and system for functional testing of an error detection unit of a CAN bus controller unit
DE102012224024A1 (en) * 2012-12-20 2014-06-26 Robert Bosch Gmbh Data transfer using a log exemption state
US10235278B2 (en) * 2013-03-07 2019-03-19 International Business Machines Corporation Software testing using statistical error injection
KR102035108B1 (en) * 2013-05-20 2019-10-23 에스케이하이닉스 주식회사 Semiconductor system
CN103428049A (en) * 2013-08-14 2013-12-04 上海固泰科技有限公司 Automated testing method for FlexRay bus based on software script
US10312936B2 (en) 2014-01-17 2019-06-04 Texas Instruments Incorporated Using CRC residual value to distinguish a recipient of a data packet in a communication system
WO2018137147A1 (en) * 2017-01-24 2018-08-02 北京广利核系统工程有限公司 Self-diagnosis method for communication protocol of security-level instrumentation and control system of nuclear power plant
US10749547B2 (en) * 2018-03-28 2020-08-18 Intel Corporation Error detector and/or corrector checker method and apparatus

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE791591A (en) * 1971-11-17 1973-03-16 Gen Electric Co Ltd Improvements at terminal stations
DE3335397A1 (en) 1983-09-29 1985-04-18 Siemens Ag BIT SERIAL, ASYNCHRONOUS TRANSMISSION RANGE FOR HIGH DATA RATES
CA1235189A (en) * 1985-01-14 1988-04-12 Haruhiko Akiyama Error correction encoding system
US4669081A (en) * 1986-02-04 1987-05-26 Raytheon Company LSI fault insertion
US4809273A (en) * 1987-01-29 1989-02-28 International Business Machines Corporation Device for verifying operation of a checking code generator
US4903270A (en) * 1988-06-14 1990-02-20 Intel Corporation Apparatus for self checking of functional redundancy check (FRC) logic
US5001712A (en) * 1988-10-17 1991-03-19 Unisys Corporation Diagnostic error injection for a synchronous bus system
DE4130907A1 (en) 1991-09-17 1993-03-25 Siemens Ag Cyclic code generator circuit with feedback shift registers - composed of alternate EXCLUSIVE=OR-gates and memories with different error syndromes given by binary polynomials
JPH09189747A (en) * 1996-01-10 1997-07-22 Mitsubishi Electric Corp Inspection system for malfunction detection means
US5872910A (en) * 1996-12-27 1999-02-16 Unisys Corporation Parity-error injection system for an instruction processor
JP3573988B2 (en) * 1998-12-28 2004-10-06 富士通株式会社 Error correction method and transmission device
US6799287B1 (en) * 2000-05-01 2004-09-28 Hewlett-Packard Development Company, L.P. Method and apparatus for verifying error correcting codes
BR0213663A (en) * 2001-10-17 2004-10-26 Gen Electric Signal Error Detection in Railroad Communication System
US7321996B1 (en) * 2004-09-09 2008-01-22 Altera Corporation Digital data error insertion methods and apparatus
JP4722457B2 (en) * 2004-11-05 2011-07-13 ルネサスエレクトロニクス株式会社 CAN system
BRPI0518264A2 (en) 2004-11-24 2008-11-11 Qualcomm Inc digital data interface device
US7590930B2 (en) * 2005-05-24 2009-09-15 Intel Corporation Instructions for performing modulo-2 multiplication and bit reflection
EP1763168A1 (en) 2005-09-12 2007-03-14 Siemens Aktiengesellschaft Method for producing data telegrams having CRC fields offering a reduced residual error probability
JP4652308B2 (en) * 2006-10-27 2011-03-16 ルネサスエレクトロニクス株式会社 Error detection system and error detection method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013020522A1 (en) 2013-12-11 2015-06-11 Lukusa Didier Kabulepa Communication system, test device and device for testing fault-detecting security mechanisms of a communication subscriber

Also Published As

Publication number Publication date
AT535067T (en) 2011-12-15
WO2009000597A1 (en) 2008-12-31
US8352809B2 (en) 2013-01-08
DE102007028766A1 (en) 2008-12-24
EP2160857A1 (en) 2010-03-10
US20100192051A1 (en) 2010-07-29

Similar Documents

Publication Publication Date Title
EP2740042B1 (en) Method and apparatus for improving the data transfer security in a serial data transfer with flexible message size
DE69531817T2 (en) Control device with fail-safe function
DE10063350C1 (en) Process for monitoring data processing and transmission
EP0512240B1 (en) System for the control of motor vehicles
EP0335917B1 (en) Process for tracing defective stations in local networks and corresponding interface controller
DE69727325T2 (en) Fault detection for ARQ systems
DE69433882T2 (en) Device for transmitting data
EP2274655B2 (en) Method, system and bus coupler for exchanging data between an overlay network and an underlay network
EP2695073B1 (en) Method and apparatus for adapting the data transmission security in a serial bus system
EP1923759B1 (en) Secure data transfer method and system
EP1121762B1 (en) Method for coding or decoding and device for coding or decoding
EP2751956A1 (en) Method and device for testing the correct function of a serial data transmission
EP1588380B1 (en) Method for the recognition and/or correction of memory access errors and electronic circuit arrangement for carrying out said method
DE102015108333A1 (en) Method and device for short-circulation error insulation in a controller area network
DE10316649B4 (en) Security communication on a single backplane
US20100192051A1 (en) Checking method and eletronic circuit for the secure serial transmission of data
DE102012204176A1 (en) System and method for bit error rate monitoring
DE3111447C2 (en)
EP1943570B1 (en) Method and system for the transmission of cyclic and acyclic data
EP1365543B1 (en) Method and apparatus for transmitting information and detection of failures in a ring network
WO2009156512A1 (en) Method for detecting a faulty node
EP2712124A1 (en) Redundant industrial communication system and method for its operation
DE60211673T2 (en) METHOD AND DEVICE FOR THE GALVANICALLY SEPARATE TRANSMISSION OF GIGABET DATA WITH A SLIP RING TRANSMITTER
EP1875674B1 (en) Method and devices for transmitting data to a data line between a control appliance and a decentralised data processing appliance
EP1629632B1 (en) Method and test device for detecting an error rate

Legal Events

Date Code Title Description
AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MT NL NO PL PT RO SE SI SK TR

17P Request for examination filed

Effective date: 20100122

AX Request for extension of the european patent

Extension state: AL BA MK RS

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20101118

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MT NL NO PL PT RO SE SI SK TR

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

Free format text: NOT ENGLISH

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

Free format text: LANGUAGE OF EP DOCUMENT: GERMAN

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 502008005679

Country of ref document: DE

Effective date: 20120202

REG Reference to a national code

Ref country code: NL

Ref legal event code: VDEP

Effective date: 20111123

LTIE Lt: invalidation of european patent or patent extension

Effective date: 20111123

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20120323

Ref country code: LT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20111123

Ref country code: NO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20120223

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20120224

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20111123

Ref country code: HR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20111123

Ref country code: LV

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20111123

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20111123

Ref country code: SI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20111123

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20120323

REG Reference to a national code

Ref country code: IE

Ref legal event code: FD4D

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20111123

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20111123

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20111123

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20111123

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20120223

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20111123

Ref country code: IE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20111123

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: PL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20111123

Ref country code: RO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20111123

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20111123

26N No opposition filed

Effective date: 20120824

BERE Be: lapsed

Owner name: CONTINENTAL TEVES A.G. & CO. OHG

Effective date: 20120531

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 502008005679

Country of ref document: DE

Effective date: 20120824

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20120531

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20120515

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20120531

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20120531

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: BE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20120531

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20120515

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20120305

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20111123

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20111123

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: TR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20111123

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20120515

REG Reference to a national code

Ref country code: AT

Ref legal event code: MM01

Ref document number: 535067

Country of ref document: AT

Kind code of ref document: T

Effective date: 20130515

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: HU

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20080515

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: AT

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20130515

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 8

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 9

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 10

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 11

REG Reference to a national code

Ref country code: DE

Ref legal event code: R084

Ref document number: 502008005679

Country of ref document: DE

PGFP Annual fee paid to national office [announced from national office to epo]

Ref country code: FR

Payment date: 20200522

Year of fee payment: 13

Ref country code: DE

Payment date: 20200531

Year of fee payment: 13