WO2020259927A1 - Elektronisches gerät mit crc-generator und verfahren zum übertragen von daten von einem elektronischen gerät an eine kontrolleinheit - Google Patents

Elektronisches gerät mit crc-generator und verfahren zum übertragen von daten von einem elektronischen gerät an eine kontrolleinheit Download PDF

Info

Publication number
WO2020259927A1
WO2020259927A1 PCT/EP2020/063933 EP2020063933W WO2020259927A1 WO 2020259927 A1 WO2020259927 A1 WO 2020259927A1 EP 2020063933 W EP2020063933 W EP 2020063933W WO 2020259927 A1 WO2020259927 A1 WO 2020259927A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
control unit
transmitted
crc
communication interface
Prior art date
Application number
PCT/EP2020/063933
Other languages
English (en)
French (fr)
Inventor
Andrey LYSOV
Tim Boescke
Original Assignee
Osram Opto Semiconductors Gmbh
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 Osram Opto Semiconductors Gmbh filed Critical Osram Opto Semiconductors Gmbh
Priority to CN202080046832.0A priority Critical patent/CN114128180B/zh
Priority to US17/622,244 priority patent/US11646820B2/en
Publication of WO2020259927A1 publication Critical patent/WO2020259927A1/de

Links

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/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
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • 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/0041Arrangements at the transmitter end
    • 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/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Definitions

  • the present invention relates to an electronic device with a CRC generator, a method for transmitting data from an electronic device to a control unit, an optical sensor and a method for transmitting data from an optical device to a control unit.
  • Optical sensors such as, for example, ambient light sensors that are used in safety-relevant automotive applications, are intended to safeguard the data transmission against errors; H. a so-called data integrity.
  • the ISO standard for safety-relevant systems prescribes the use of CRC test procedures for monitoring data transmission.
  • a CRC (cyclic redundancy check) method also called cyclic redundancy check, is a method for determining a check value or a checksum for data in order to be able to detect errors in the transmission of data.
  • the checksum is calculated for the data to be transmitted in an electronic device using a CRC generator.
  • the CRC generator is used on the data to be transmitted.
  • the checksum is then sent together with the data to a recipient, for example a control unit, and used there to check the validity of the data. Only those data can be saved that are sent from the electronic device to the control unit.
  • the control unit Before the data is read from the electronic device, the control unit sends the device address and the register address to the electronic device. However, the data validity when the device and register address are transferred from the control unit to the electronic device is not guaranteed. This can lead to error modes if a wrong device or a wrong register is read out.
  • the present invention is based, inter alia, on the task of creating an optical sensor by means of which errors are minimized when reading out data to a control unit. Furthermore, a method for transmitting data from an optical sensor to a control unit should be specified. In addition, an optical sensor is to be created with which data can be transmitted to a control unit with a high level of data validity. Finally, a method for transmitting data from an optical sensor to a control unit is to be specified.
  • An object of the invention is achieved by an optical sensor with the features of claim 1. Further objects of the invention are achieved by a method for transmitting data from an optical sensor to a control unit with the features of independent claim 8, an optical sensor with the Features of independent claim 10 and a method for transmitting data from an optical sensor to a control unit with the features of independent claim 12. Preferred embodiments and developments of the invention are specified in the dependent claims.
  • An electronic device according to a first aspect of the present application comprises a communication interface, a memory unit and a CRC generator.
  • the communication interface is designed to receive data from a control unit and to transmit or send data from the electronic device to the control unit.
  • the interface between the electronic device and the control unit can be, for example, an I 2 C (inter-integrated circuit) interface.
  • the memory unit has one or more registers which are used to store data. A respective register address is assigned to each of the registers.
  • the CRC generator is designed to generate a CRC checksum for data that is to be transmitted from the electronic device to the control unit. If data stored in the memory unit is to be transferred to the control unit, the control unit sends a device address or device address specific to the electronic device and an address of a register in which the data to be transferred are stored to the electronic device before reading out the memory data Device. This includes that several register addresses are sent to the electronic device if the data from several registers are to be read out. The device and register address are received by the communication interface.
  • the CRC generator Before generating the CRC checksum, the CRC generator is initialized with the aid of the device address received from the communication interface and / or the register address received from the communication interface. Further data received from the communication interface can also be used Initialization of the CRC generator can be used. After the CRC generator has been initialized, the CRC generator generates a CRC checksum for the data to be transmitted. The communication interface sends the data to be transmitted together with the CRC checksum to the control unit. The control unit can use the CRC checksum to check the validity of the received data.
  • the electronic device comprises a control unit which is designed to initialize the CRC generator by means of the device address received from the communication interface and / or the register address received from the communication interface.
  • the electronic device enables both the data itself and the origin of the data to be validated during the readout process.
  • the initialization of the CRC generator with the device address and / or the register address ensures that the data to be transmitted to the control unit originate from that electronic device or from that register that was selected by the control unit. As a result, not only the data but also the origin of the data are secured. Error modes in which data are read from the wrong electronic device or the wrong register due to a transmission error can be excluded.
  • the electronic device is suitable for use in safety-relevant applications, in particular in motor vehicle applications.
  • the communication interface can receive a read flag from the control unit before the data is read out to the control unit.
  • the read flag can also be referred to as a read flag or read flag. By transmitting the read flag if the control unit indicates to the electronic device that data should be transmitted from the storage unit to the control unit.
  • the device address received from the communication interface is used together with the read flag received from the communication interface to initialize the CRC generator.
  • only the device address and the read flag or both the device address with the read flag and the register address can be used to initialize the CRC generator.
  • the CRC generator After initialization, the CRC generator generates the CRC checksum, which is then sent to the control unit together with the data.
  • the data to be transmitted and at least one of the device address received from the communication interface and the register address received from the communication interface can be used to generate the CRC checksum.
  • the CRC generator is used to generate the CRC checksum on the data to be transmitted and additionally on the received device address and / or the received register address.
  • the CRC generator can use the data to be transmitted and additionally the device address received from the communication interface with the read flag and / or the register address received from the communication interface to generate the CRC checksum.
  • the CRC generator in this embodiment is applied to the data to be transmitted and additionally to the received device address and the received read flag and / or additionally to the received register address.
  • the two embodiments described above for generating the CRC checksum are particularly suitable for the case that After the CRC generator has been initialized, only a single transmission of data to the control unit is desired. If multiple data transmission is provided from the electronic device to the control unit, a graded method can be provided for generating the CRC checksum.
  • the CRC generator can use the data to be transmitted and at least one device address received from the communication interface and the register address received from the communication interface to generate the CRC checksum for a first data block to be transmitted to the control unit.
  • the first data block is the data block that is transmitted directly after the CRC generator has been initialized. Only the data to be transmitted are used to generate the CRC checksum for subsequent data blocks.
  • the data blocks can also be referred to as data packets. A certain pause is observed between the transmission of successive data blocks, during which no data is transmitted from the memory unit.
  • the CRC generator can use the data to be transmitted and at least one of the device address received from the communication interface with the read flag and the register address received from the communication interface to generate the CRC checksum for the first data block to be transmitted to the control unit.
  • the CRC generator can generate the CRC checksum by means of a linear feedback shift register.
  • a linear feedback shift register (LFSR for short) is a feedback shift register that can be used to generate strictly deterministic pseudo-random number sequences.
  • An LFSR is implemented in digital technology as a shift register with n storage elements. The individual storage elements can in particular be D flip-flops, which can each store one bit.
  • the data used for the initialization i. H. the received device address, the received register address and / or the received read flag are written into the memory elements of the LFSR.
  • the LFSR can have 8 storage elements each having one bit.
  • the device address can consist of 7 bits and the read flag of 1 bit.
  • the register address consists of 8 bits. Then, for example, the device address and the read flag or just the register address can be used to initialize the CRC generator by writing them into the 8 memory elements of the LFSR. After the LFSR has been initialized, the CRC generator can generate the CRC checksum for the data to be transmitted.
  • the electronic device can comprise a sensor element, in particular an optical sensor element.
  • the optical sensor element can, for example, have a photodiode and be designed to detect optical signals.
  • it can be a digital ambient light sensor, which has the task of measuring the ambient light and, in particular, its brightness.
  • the sensor elements described can be designed for use in motor vehicles.
  • the control unit can be a master (English for master) and the electronic device a slave (English for slave).
  • a method for transmitting data from an electronic device to a control unit according to a second aspect of the present application comprises that data are stored in a storage unit of the electronic device, the storage unit having one or more registers.
  • the control unit sends a device address specific to the electronic device and an address of a register in which the data to be transferred are stored, and in particular a read flag to the electronic device.
  • a CRC generator is initialized by means of the device address received from the electronic device and / or the register address received from the electronic device and / or the read flag received from the electronic device.
  • the CRC generator then generates a CRC checksum for the data to be transmitted.
  • the data is transmitted from the electronic device to the control unit together with the CRC checksum. With the help of the CRC checksum, the control unit can carry out a validity check of the received data.
  • the method for transmitting data from an electronic device to a control unit according to the second aspect can have the above-described configurations of the electronic device according to the first aspect.
  • An optical sensor comprises a communication interface for transmitting data to a control unit and a CRC generator for generating a CRC checksum.
  • the CRC generator is designed in such a way that it sends a CRC checksum to the control unit transmitted data generated.
  • the data are transmitted from the communication interface to the control unit together with the CRC checksum.
  • the optical sensor can be a digital ambient light sensor and can be designed in particular for a motor vehicle application.
  • a method for transmitting data from an optical sensor to a control unit provides that a CRC generator generates a CRC checksum for the data to be transmitted to the control unit and the data together with the CRC -The checksum is transmitted from the optical sensor to the control unit.
  • the optical sensor according to the third aspect and the method for transmitting data from an optical sensor to a control unit according to the fourth aspect can have the above-described configurations of the electronic device according to the first aspect.
  • Fig. 1 shows an illustration of an electronic device and a control unit
  • Fig. 2 shows an illustration of an only partially secured read access by the control unit to the electronic device
  • Fig. 3 shows an illustration of a cyclical redundancy check in the electronic device and the control unit
  • Fig. 4 shows an illustration of a shift register that is linearly fed back
  • Fig. 5 shows an illustration of read access by the control unit to the electronic device with initialization of the CRC generator
  • Fig. 6 shows an illustration of read access by the control unit to the electronic device with initialization of the CRC generator and repeated data transmission
  • Fig. 7 a representation of a variant of the in Fig.
  • Fig. 8 a representation of a variant of the in Fig.
  • FIG. 1 shows a block diagram of an electronic device 10, which is designed as a digital ambient light sensor for an automotive application.
  • An ambient light sensor measures physical parameters of the environment, for example the light intensity, and converts the measured values into an electrical signal, which can be in analog or digital form.
  • the electronic device 10 contains a sensor element 11, a signal processing circuit 12, an analog-to-digital converter 13, a memory unit 14 and a communication interface 15.
  • the sensor element 11 can contain one or more photodiodes for receiving optical signals.
  • the signal processing circuit 12 can contain, for example, a current-to-current amplifier or a current-to-voltage amplifier.
  • the storage unit 14 contains several registers with associated register addresses in which the measured values recorded by the sensor element 11 are stored after their processing by the signal processing circuit 12 and their conversion into digital data by the analog-to-digital converter 13.
  • An external control unit 20 can send data to the electronic device 10.
  • the data transmitted by the external control unit 20 include commands to the electronic device 10.
  • the communication interface 15 receives the data sent by the control unit 20. Furthermore, the communication interface 15 can transmit data, for example measured values recorded by the electronic device 10, to the control unit 20.
  • the interface between the electronic device 10 and the control unit 20 can be an I 2 C interface.
  • An exemplary read access of the control unit 20 to the electronic device 10 by means of an I 2 C communication protocol is shown in FIG.
  • the control unit 20 is the master and the electronic device 10 is a slave.
  • the data transmission from the control unit 20 to the electronic device 10 is shown in dashed lines and the data transmission from the electronic device 10 to the control unit 20 has a white background.
  • the control unit 20 In order to start communication with a slave, the control unit 20 first generates a start condition S on the I 2 C bus.
  • the control unit 20 then sends a device address or slave address GA, which is specific for the electronic device 10 with which communication is to take place, and a write flag to the electronic device 10.
  • the write flag is a bit R / W, which has the value 0 for a write access.
  • the write flag indicates to the electronic device 10 that further data are being transmitted from the control unit 20.
  • control unit 20 After a confirmation signal A (English: acknowledge signal) from the electronic device 10, which indicates that the data sent by the control unit 20 have been successfully received, the control unit 20 sends a register address RA of the register of the memory unit 14, the memory content of which is to be read out, to the electronic device 10.
  • A English: acknowledge signal
  • control unit 20 In order to ensure that the communication is not interrupted by another device, the control unit 20 then sends a repeated start command Sr, as a result of which the I 2 C bus is kept occupied. Then the control unit 20 transmits the device address GA specific to the electronic device 10 and a read flag.
  • the read flag is a bit R / W, which has the value 1 for a read access. The read flag is shown to the electronic device 10 indicates that it is to transmit the data that are stored in said register to the control unit 20.
  • the communication interface 15 of the electronic device 10 sends the desired data to the control unit 20.
  • control unit 20 If the control unit 20 does not wish to receive any further data, the control unit 20 confirms the data with a non-confirmation signal A * (English: not acknowledge signal). To abort the communication, the control unit 20 generates a stop condition P.
  • a * English: not acknowledge signal
  • a typical source of error is a fault during a data transmission from the electronic device 10 to the control unit 20. If data bits are damaged during the transmission, the data can be misinterpreted by the control unit 20. This can lead to dangerous situations.
  • the international standard ISO 26262-5 recommends a cyclic redundancy check as a way of detecting errors that can occur during data transmission between components in a vehicle.
  • the electronic device 10 includes a CRC generator 16, which uses a CRC polynomial to generate a CRC checksum on an n-bit data word that is to be sent from the electronic device's rule to the control unit 20.
  • the CRC checksum is added to the data, generating an encrypted message with k bits (with k> n).
  • the encrypted message is transmitted to the control unit 20 via an insecure transmission channel.
  • the control unit 20 uses a CRC generator 21, which corresponds to the CRC generator 16 of the electronic device 10, in order to check whether an error has occurred during the data transmission. If no error is found, the original data is extracted from the encrypted message using a polynomial. If an error occurs, the data is discarded.
  • an LFSR linear feedback shift register
  • An exemplary LFSR 30 is shown in FIG. 4 shown.
  • the LFSR 30 contains several D flip-flops 31, each of which can store one bit, and several XOR gates 32.
  • the original data word is sent through the LFSR 30 to generate the encrypted message.
  • those bits that are in the D flip-flops 31 correspond to the CRC checksum.
  • the encrypted message is generated by appending the bits of the CRC checksum to the bits of the original data word.
  • the LFSR 30 Before calculating the CRC checksum, the LFSR 30 should be initialized by writing predefined values into the D flip-flops 31. This can prevent the D flip-flops 30 are in an undefined state during system startup.
  • the data integrity can only be guaranteed in the case of a read access in which data is transmitted from the electronic device 10 to the control unit 20.
  • the data integrity can only be guaranteed if the data are then transmitted again to the control unit 20 and checked there.
  • the device address of the electronic device 10 and the register address of the register to be read are transmitted from the control unit 20 to the electronic device 20 via an insecure transmission channel. If the bits of the register address are changed during the transfer, data may possibly be read from the wrong registers. If the data transmission of the data read out to the control unit 20 proceeds correctly, there would be no
  • Errors are detected even though the data come from the wrong register. A similar error can occur if the bits of the device address are changed during the transmission from the control unit 20 to the electronic device 10. In this case, data from another device would be read out via the I 2 C bus without the error being noticed.
  • the LFSR 30 of the CRC generator 16 is initialized in the electronic device 10 before the encryption of the data begins.
  • An exemplary embodiment of a read access according to the invention to the memory unit 14 of the electronic device 10 with an initialization of the CRC generator 16 is shown in FIG. 5 is shown. In the case of this read access, a single transmission of data to the control unit 20 is provided.
  • initialization of the LFSR 30 of the CRC generator 16 in the electronic device 10 is carried out in the read access according to FIG. This initialization is identified in FIG. 5 by an arrow labeled Init.
  • the LFSR 30 is initialized with the register address RA.
  • the bits of the register address RA are written into the D flip-flops 31 of the LFSR 30. Since the register address RA was previously transmitted from the control unit 20 to the electronic device 10, a possibly incorrect transmission of this data to the electronic device 10 could later be recognized by the control unit 20.
  • the CRC checksum is then calculated with the initialized CRC generator 16. As shown in FIG. 5, the polynomial of the CRC generator 16 is used for this purpose both on the register address RA and on the data to be transmitted. The calculated CRC checksum is transmitted to the control unit 20 after the data.
  • the LFSR 30 is initialized by writing the device address GA and the read flag into the D flip-flops 31.
  • the polynomial of the CRC generator 16 is applied to the device address GA, the read flag and the data to be transmitted.
  • FIG. 6 Another embodiment of a read access according to the invention to the memory unit 14 of the electronic device 10 is shown in FIG. 6.
  • a multiple data transmission from the electronic device 10 to the control unit 20 is provided.
  • the LFSR 30 is initialized as in FIG. 5 with the register address RA.
  • the generation of the CRC checksum for the respective data transmission takes place in the read access shown in FIG. 6 in a graduated process.
  • the CRC checksum CRC1 is calculated by applying the CRC generator 16 to the register address RA and the data to be transmitted.
  • the CRC generator 16 is only used for the data to be transmitted in each case.
  • the LFSR 30 is initialized by writing the device address GA and the read flag into the D flip-flops 31.
  • the polynomial of the CRC generator 16 is applied to the device address GA, the read flag and the data to be transmitted.
  • the following CRC checksums are only calculated using the data to be transmitted.
  • FIG. 7 shows a further variant of the read access shown in FIG. 5.
  • the device address GA the read flag and the register address RA are used in the read access according to FIG.
  • the CRC generator CRC is used on the register address RA, the device address GA, the read flag and the data to be transmitted.
  • Fig. 8 shows a further variant of the read access shown in FIG.
  • the device address GA the read flag and the register address RA are used in the read access according to FIG.
  • the CRC generator CRC is applied to the register address RA, the device address GA, the read flag and the data to be transmitted in FIG.
  • the CRC generator 16 is only used for the data to be transmitted in each case.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

Ein elektronisches Gerät (10) umfasst eine Kommunikationsschnittstelle (15) zum Empfangen von Daten von einer Kontrolleinheit (20) und zum Übertragen von Daten an die Kontrolleinheit (20), eine Speichereinheit (14) mit mindestens einem Register zum Speichern von Daten, und einen CRC-Generator zum Erzeugen einer CRC-Prüfsumme, wobei das elektronische Gerät (10) derart ausgestaltet ist, dass falls in der Speichereinheit (14) gespeicherte Daten an die Kontrolleinheit (20) übertragen werden sollen, die Kommunikationsschnittstelle (15) eine für das elektronische Gerät (10) spezifische Geräteadresse sowie eine Adresse eines Registers, in welchem die zu übertragenden Daten gespeichert sind, von der Kontrolleinheit (20) empfängt, und der CRC-Generator mittels der von der Kommunikationsschnittstelle (15) empfangenen Geräteadresse und/oder der von der Kommunikationsschnittstelle (15) empfangenen Registeradresse initialisiert wird, bevor der CRC-Generator eine CRC-Prüfsumme für die zu übertragenden Daten erzeugt.

Description

ELEKTRONISCHES GERÄT MIT CRC-GENERATOR UND VERFAHREN ZUM ÜBER TRAGEN VON DATEN VON EINEM ELEKTRONISCHEN GERÄT AN EINE KON
TROLLEINHEIT Die vorliegende Anmeldung nimmt die Priorität der deutschen Patentanmeldung Nr. 10 2019 117 350.7 in Anspruch, die am 27. Juni 2019 beim Deutschen Patent- und Markenamt eingereicht wurde. Der Offenbarungsgehalt der deutschen Patentanmeldung Nr. 10 2019 117 350.7 wird hiermit in den Offenbarungsgehalt der vorliegenden Anmeldung aufgenommen.
Die vorliegende Erfindung betrifft ein elektronisches Gerät mit einem CRC-Generator, ein Verfahren zum Übertragen von Daten von einem elektronischen Gerät an eine Kontrolleinheit, einen op- tischen Sensor sowie ein Verfahren zum Übertragen von Daten von einem optischen Gerät an eine Kontrolleinheit.
Optische Sensoren, wie zum Beispiel Umgebungslichtsensoren, die in sicherheitsrelevanten Automotive-Anwendungen eingesetzt wer- den, sollen eine Sicherung der Datenübertragung gegen Fehler, d. h. eine sogenannte Datenintegrität, gewährleisten. Die ISO- Norm für sicherheitsrelevante Systeme schreibt die Verwendung von CRC-Prüfverfahren für die Überwachung der Datenübertragung vor .
Ein CRC (cyclic redundancy check) -Verfahren, auch zyklische Re dundanzprüfung genannt, ist ein Verfahren zur Bestimmung eines Prüfwerts bzw. einer Prüfsumme für Daten, um Fehler bei der Übertragung der Daten erkennen zu können. Die Prüfsumme wird für die zu übertragenden Daten in einem elektronischen Gerät mittels eines CRC-Generators errechnet. Um die Prüfsumme zu errechnen, wird der CRC-Generator auf die zu übertragenden Daten angewendet. Anschließend wird die Prüfsumme zusammen mit den Daten an einen Empfänger, beispielsweise eine Kontrolleinheit, gesendet und dort zur Validitätsprüfung der Daten verwendet. Dabei können nur diejenigen Daten abgesichert werden, die von dem elektronischen Gerät an die Kontrolleinheit gesendet wer den . Bevor die Daten aus dem elektronischen Gerät ausgelesen werden, schickt die Kontrolleinheit die Geräteadresse sowie die Regis teradresse an das elektronische Gerät. Die Datenvalidität bei der Übertragung der Geräte- sowie der Registeradresse von der Kontrolleinheit an das elektronische Gerät ist jedoch nicht abgesichert. Dadurch können Fehlermoden entstehen, falls ein falsches Gerät oder ein falsches Register ausgelesen wird.
Der vorliegenden Erfindung liegt unter anderem die Aufgabe zu grunde, einen optischen Sensor zu schaffen, durch welchen beim Auslesen von Daten an eine Kontrolleinheit Fehler minimiert werden. Ferner soll ein Verfahren zum Übertragen von Daten von einem optischen Sensor an eine Kontrolleinheit angegeben wer den. Darüber hinaus soll ein optischer Sensor geschaffen werden, mit dem sich Daten an eine Kontrolleinheit mit hoher Datenva- lidität übertragen lassen. Schließlich soll ein Verfahren zum Übertragen von Daten von einem optischen Sensor an eine Kon trolleinheit angegeben werden.
Eine Aufgabe der Erfindung wird gelöst durch einen optischen Sensor mit den Merkmalen des Anspruchs 1. Weitere Aufgaben der Erfindung werden gelöst durch ein Verfahren zum Übertragen von Daten von einem optischen Sensor an eine Kontrolleinheit mit den Merkmalen des unabhängigen Anspruchs 8, einen optischen Sensor mit den Merkmalen des unabhängigen Anspruchs 10 und ein Verfahren zum Übertragen von Daten von einem optischen Sensor an eine Kontrolleinheit mit den Merkmalen des unabhängigen An spruchs 12. Bevorzugte Ausführungsformen und Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen angegeben. Ein elektronisches Gerät gemäß einem ersten Aspekt der vorlie genden Anmeldung umfasst eine Kommunikationsschnittstelle, eine Speichereinheit und einen CRC-Generator . Die Kommunikationsschnittstelle ist dazu ausgebildet, Daten von einer Kontrolleinheit zu empfangen sowie Daten von dem elekt ronischen Gerät an die Kontrolleinheit zu übertragen bzw. zu senden. Bei der Schnittstelle zwischen dem elektronischen Gerät und der Kontrolleinheit kann es sich beispielsweise um eine I2C ( inter-integrated circuit ) -Schnittstelle handeln.
Die Speichereinheit weist ein oder mehrere Register auf, die zum Speichern von Daten dienen. Jedem der Register ist eine jeweilige Registeradresse zugeordnet.
Der CRC-Generator ist zum Erzeugen einer CRC-Prüfsumme für Da ten, die von dem elektronischen Gerät an die Kontrolleinheit übertragen werden sollen, ausgestaltet. Falls in der Speichereinheit gespeicherte Daten an die Kontrol leinheit übertragen werden sollen, sendet die Kontrolleinheit vor dem Auslesen der Speicherdaten eine für das elektronische Gerät spezifische Geräteadresse bzw. Deviceadresse sowie eine Adresse eines Registers, in welchem die zu übertragenden Daten gespeichert sind, an das elektronische Gerät. Dies schließt ein, dass mehrere Registeradressen an das elektronische Gerät gesen det werden, falls die Daten mehrerer Register ausgelesen werden sollen. Die Geräte- sowie die Registeradresse werden von der Kommunikationsschnittstelle empfangen .
Vor dem Erzeugen der CRC-Prüfsumme wird der CRC-Generator mit tels der von der Kommunikationsschnittstelle empfangenen Gerä teadresse und/oder der von der Kommunikationsschnittstelle emp fangenen Registeradresse initialisiert. Weitere von der Kommu- nikationsschnittstelle empfangene Daten können ebenfalls zur Initialisierung des CRC-Generators herangezogen werden. Nach der Initialisierung des CRC-Generators erzeugt der CRC-Genera- tor eine CRC-Prüfsumme für die zu übertragenden Daten. Die Kom munikationsschnittstelle sendet die zu übertragenden Daten zu- sammen mit der CRC-Prüfsumme an die Kontrolleinheit . Die Kon- trolleinheit kann mit Hilfe der CRC-Prüfsumme eine Validitäts prüfung der empfangenen Daten durchführen.
Es kann vorgesehen sein, dass das elektronische Gerät eine Steu- ereinheit umfasst, die dazu ausgebildet ist, den CRC-Generator mittels der von der Kommunikationsschnittstelle empfangenen Ge räteadresse und/oder der von der Kommunikationsschnittstelle empfangenen Registeradresse zu initialisieren. Das elektronische Gerät ermöglicht es, dass beim Auslesevorgang sowohl die Daten selbst als auch der Ursprung der Daten vali diert werden. Durch die Initialisierung des CRC-Generators mit der Geräteadresse und/oder der Registeradresse wird sicherge stellt, dass die an die Kontrolleinheit zu übertragenden Daten von demjenigen elektronischen Gerät bzw. aus demjenigen Regis ter stammen, das von der Kontrolleinheit ausgewählt wurde. Folg lich sind nicht nur die Daten, sondern auch der Ursprung der Daten abgesichert. Fehlermoden, bei denen durch einen Übertra gungsfehler Daten von dem falschen elektronischen Gerät oder dem falschen Register ausgelesen werden, können ausgeschlossen werden .
Das elektronische Gerät eignet sich zum Einsatz in sicherheits relevanten Anwendungen, insbesondere in Kraftfahrzeuganwendun- gen.
Die Kommunikationsschnittstelle kann vor dem Auslesen der Daten an die Kontrolleinheit eine Lese-Flag von der Kontrolleinheit empfangen. Die Lese-Flag kann auch als Read-Flag oder Lese- Flagge bezeichnet werden. Durch die Übertragung der Lese-Flag zeigt die Kontrolleinheit dem elektronischen Gerät an, dass Daten aus der Speichereinheit an die Kontrolleinheit übertragen werden sollen. Gemäß einer Ausgestaltung wird die von der Kom munikationsschnittstelle empfangene Geräteadresse zusammen mit der von der Kommunikationsschnittstelle empfangenen Lese-Flag zur Initialisierung des CRC-Generators verwendet.
Beispielsweise können nur die Geräteadresse und die Lese-Flag oder es können sowohl die Geräteadresse mit der Lese-Flag als auch die Registeradresse zur Initialisierung des CRC-Generators herangezogen werden.
Nach der Initialisierung erzeugt der CRC-Generator die CRC- Prüfsumme, die anschließend zusammen mit den Daten an die Kon- trolleinheit gesendet wird. Zum Erzeugen der CRC-Prüfsumme kön nen die zu übertragenden Daten und zumindest eine von der von der Kommunikationsschnittstelle empfangenen Geräteadresse und der von der Kommunikationsschnittstelle empfangenen Register adresse verwendet werden. Mit anderen Worten wird der CRC-Ge- nerator zum Erzeugen der CRC-Prüfsumme auf die zu übertragenden Daten und zusätzlich auf die empfangene Geräteadresse und/oder die empfangene Registeradresse angewendet.
Alternativ kann der CRC-Generator zum Erzeugen der CRC-Prüfsumme die zu übertragenden Daten und zusätzlich die von der von der Kommunikationsschnittstelle empfangene Geräteadresse mit der Lese-Flag und/oder die von der Kommunikationsschnittstelle emp fangene Registeradresse verwenden. In anderen Worten wird der CRC-Generator bei dieser Ausgestaltung auf die zu übertragenden Daten und zusätzlich auf die empfangene Geräteadresse sowie die empfangene Lese-Flag und/oder zusätzlich auf die empfangene Re gisteradresse angewendet.
Die beiden vorstehend beschriebenen Ausgestaltungen zur Erzeu- gung der CRC-Prüfsumme eignen sich besonders für den Fall, dass nach der Initialisierung des CRC-Generators lediglich eine ein malige Übertragung von Daten an die Kontrolleinheit gewünscht ist . Falls eine mehrmalige Datenübertragung von dem elektronischen Gerät an die Kontrolleinheit vorgesehen ist, kann für die Er zeugung der CRC-Prüfsumme ein abgestuftes Verfahren vorgesehen sein . Beispielsweise kann der CRC-Generator zum Erzeugen der CRC- Prüfsumme für einen ersten an die Kontrolleinheit zu übertra genden Datenblock die zu übertragenden Daten und zumindest eine von der von der Kommunikationsschnittstelle empfangenen Gerä teadresse und der von der Kommunikationsschnittstelle empfan- genen Registeradresse verwenden. Der erste Datenblock ist dabei derjenige Datenblock, der direkt nach der Initialisierung des CRC-Generators übertragen wird. Zur Erzeugung der CRC-Prüfsumme für nachfolgende Datenblöcke werden nur die jeweils zu übertra genden Daten verwendet. Die Datenblöcke können auch als Daten- pakete bezeichnet werden. Zwischen der Übertragung aufeinander folgender Datenblöcke wird eine gewisse Pause eingehalten, in welcher keine Daten aus der Speichereinheit übertragen werden.
Alternativ kann der CRC-Generator zum Erzeugen der CRC-Prüfsumme für den ersten an die Kontrolleinheit zu übertragenden Daten block die zu übertragenden Daten sowie zumindest eine von der von der Kommunikationsschnittstelle empfangenen Geräteadresse mit der Lese-Flag und der von der Kommunikationsschnittstelle empfangenen Registeradresse verwenden. Zur Erzeugung der CRC- Prüfsumme für nachfolgende an die Kontrolleinheit zu übertra gende Datenblöcke können nur die jeweils zu übertragenden Daten verwendet werden. Der CRC-Generator kann die CRC-Prüfsumme mittels eines linear rückgekoppelten Schieberegister erzeugen. Ein linear rückgekop peltes Schieberegister (englisch: linear feedback shift regis- ter, kurz: LFSR) ist ein rückgekoppeltes Schieberegister, das zur Erzeugung von streng deterministischen Pseudozufallszahlen folgen eingesetzt werden kann. Ein LFSR ist in der Digitaltech nik als ein Schieberegister mit n Speicherelementen realisiert. Die einzelnen Speicherelemente sind können insbesondere D-Flip- Flops sein, welche je ein Bit speichern können.
Zur Initialisierung des CRC-Generators werden die für die Ini tialisierung verwendeten Daten, d. h. die empfangene Gerä teadresse, die empfangene Registeradresse und/oder die empfan gene Lese-Flag, in die Speicherelemente des LFSR geschrieben.
Beispielsweise kann das LFSR 8 Speicherelemente mit jeweils einem Bit aufweisen. Die Geräteadresse kann aus 7 bit und die Lese-Flag aus 1 bit bestehen. Die Registeradresse besteht aus 8 bit. Dann können beispielsweise die Geräteadresse und zusätz- lieh die Lese-Flag oder nur die Registeradresse zur Initiali sierung des CRC-Generators verwendet werden, indem diese in die 8 Speicherelemente des LFSR eingeschrieben werden. Nach der Initialisierung des LFSR kann der CRC-Generator die CRC-Prüf- summe für die zu übertragenden Daten erzeugen.
Das elektronische Gerät kann ein Sensorelement, insbesondere ein optisches Sensorelement umfassen. Das optische Sensorele ment kann beispielsweise eine Photodiode aufweisen und dazu ausgelegt sein, optische Signale zu detektieren. Insbesondere kann es sich um einen digitalen Umgebungslichtsensor (englisch: ambient light sensor) handeln, der die Aufgabe hat, das Umge bungslicht und insbesondere dessen Helligkeit zu messen. Die beschriebenen Sensorelemente können für die Anwendung in Kraft fahrzeugen ausgebildet sein. Weiterhin kann die Kontrolleinheit ein Master (englisch für Herr) und das elektronische Gerät ein Slave (englisch für Sklave) sein. Ein Verfahren zum Übertragen von Daten von einem elektronischen Gerät an eine Kontrolleinheit gemäß einem zweiten Aspekt der vorliegenden Anmeldung umfasst, dass Daten in einer Speicher einheit des elektronischen Geräts gespeichert werden, wobei die Speichereinheit ein oder mehrere Register aufweist. Sofern in der Speichereinheit gespeicherte Daten an die Kontrolleinheit übertragen werden sollen, sendet die Kontrolleinheit eine für das elektronische Gerät spezifische Geräteadresse und eine Ad resse eines Registers, in welchem die zu übertragenden Daten gespeichert sind, sowie insbesondere eine Lese-Flag an das elektronische Gerät. Mittels der von dem elektronischen Gerät empfangenen Geräteadresse und/oder der von dem elektronischen Gerät empfangenen Registeradresse und/oder der von dem elekt ronischen Gerät empfangenen Lese-Flag wird ein CRC-Generator initialisiert. Anschließend erzeugt der CRC-Generator eine CRC- Prüfsumme für die zu übertragenden Daten. Die Daten werden zu sammen mit der CRC-Prüfsumme von dem elektronischen Gerät an die Kontrolleinheit übertragen. Mit Hilfe der CRC-Prüfsumme kann die Kontrolleinheit eine Validitätsprüfung der empfangenen Da ten durchführen.
Das Verfahren zum Übertragen von Daten von einem elektronischen Gerät an eine Kontrolleinheit gemäß dem zweiten Aspekt kann die oben beschriebenen Ausgestaltungen des elektronischen Geräts gemäß dem ersten Aspekt aufweisen.
Ein optischer Sensor gemäß einem dritten Aspekt der Anmeldung umfasst eine Kommunikationsschnittstelle zum Übertragen von Da ten an eine Kontrolleinheit und einen CRC-Generator zum Erzeugen einer CRC-Prüfsumme . Der CRC-Generator ist derart ausgestaltet, dass er eine CRC-Prüfsumme für die an die Kontrolleinheit zu übertragenden Daten erzeugt. Die Daten werden zusammen mit der CRC-Prüfsumme von der Kommunikationsschnittstelle an die Kon- trolleinheit übertragen. Der optische Sensor kann ein digitaler Umgebungslichtsensor sein und insbesondere für eine Kraftfahrzeuganwendung ausgebildet sein .
Ein Verfahren zum Übertragen von Daten von einem optischen Sen sor an eine Kontrolleinheit gemäß einem vierten Aspekt der vor liegenden Anmeldung sieht vor, dass ein CRC-Generator eine CRC- Prüfsumme für die an die Kontrolleinheit zu übertragenden Daten erzeugt und die Daten zusammen mit der CRC-Prüfsumme von dem optischen Sensor an die Kontrolleinheit übertragen werden.
Der optische Sensor gemäß dem dritten Aspekt und das Verfahren zum Übertragen von Daten von einem optischen Sensor an eine Kontrolleinheit gemäß dem vierten Aspekt können die oben be schriebenen Ausgestaltungen des elektronischen Geräts gemäß dem ersten Aspekt aufweisen.
Im Folgenden werden Ausführungsbeispiele der Erfindung unter Bezugnahme auf die beigefügten Zeichnungen näher erläutert. In diesen zeigen schematisch:
Fig . 1 eine Darstellung eines elektronischen Ge räts und einer Kontrolleinheit;
Fig . 2 eine Darstellung eines nur teilweise abge sicherten Lesezugriffs der Kontrolleinheit auf das elektronische Gerät;
Fig . 3 eine Darstellung einer zyklischen Redun danzprüfung in dem elektronischen Gerät und der Kontrolleinheit; Fig . 4 eine Darstellung eines linear rückgekoppel ten Schieberegisters;
Fig . 5 eine Darstellung eines Lesezugriffs der Kon- trolleinheit auf das elektronische Gerät mit einer Initialisierung des CRC-Generators;
Fig . 6 eine Darstellung eines Lesezugriffs der Kon- trolleinheit auf das elektronische Gerät mit einer Initialisierung des CRC-Generators und einer mehrmaligen Datenübertragung;
Fig . 7 eine Darstellung einer Variante des in Fig.
5 dargestellten Lesezugriffs; und
Fig . 8 eine Darstellung einer Variante des in Fig.
6 dargestellten Lesezugriffs.
In der folgenden ausführlichen Beschreibung wird auf die bei- gefügten Zeichnungen Bezug genommen, die einen Teil dieser Be schreibung bilden und in denen zur Veranschaulichung spezifi sche Ausführungsbeispiele gezeigt sind, in denen die Erfindung ausgeübt werden kann. Da Komponenten von Ausführungsbeispielen in einer Anzahl verschiedener Orientierungen positioniert wer- den können, dient die Richtungsterminologie zur Veranschauli chung und ist auf keinerlei Weise einschränkend. Es versteht sich, dass andere Ausführungsbeispiele benutzt und strukturelle oder logische Änderungen vorgenommen werden können, ohne von dem Schutzumfang abzuweichen. Es versteht sich, dass die Merk- male der hierin beschriebenen verschiedenen Ausführungsbei spiele miteinander kombiniert werden können, sofern nicht spe zifisch anders angegeben. Die folgende ausführliche Beschrei bung ist deshalb nicht in einschränkendem Sinne aufzufassen. In den Figuren sind identische oder ähnliche Elemente mit identi schen Bezugszeichen versehen, soweit dies zweckmäßig ist. Fig . 1 zeigt ein Blockdiagramm eines elektronischen Geräts 10, das als digitaler Umgebungslichtsensor für eine Automotive-An wendung ausgestaltet ist. Ein Umgebungslichtsensor misst physikalische Parameter der Um gebung, beispielsweise die Lichtintensität, und konvertiert die Messwerte in ein elektrisches Signal, das in analoger oder di gitaler Form vorliegen kann. Zur Aufnahme der Messwerte enthält das elektronische Gerät 10 ein Sensorelement 11, einen Signal- bearbeitungsschaltkreis 12, einen Analog-zu-Digital-Umsetzer 13, eine Speichereinheit 14 und eine Kommunikationsschnitt stelle 15.
Das Sensorelement 11 kann zur Aufnahme optischer Signale eine oder mehrere Photodioden enthalten. Der Signalbearbeitungs schaltkreis 12 kann beispielsweise einen Strom-zu-Strom-Ver- stärker oder einen Strom-zu-Spannungs-Verstärker enthalten. Die Speichereinheit 14 enthält mehrere Register mit zugehörigen Re gisteradressen, in denen die von dem Sensorelement 11 aufgenom- menen Messwerte nach ihrer Bearbeitung durch den Signalbearbei tungsschaltkreis 12 und ihrer Umwandlung in digitale Daten durch den Analog-zu-Digital-Umsetzer 13 gespeichert werden.
Eine externe Kontrolleinheit 20 kann Daten zu dem elektronischen Geräts 10 senden. Die von der externen Kontrolleinheit 20 über mittelten Daten umfassen Befehle an das elektronische Gerät 10. Die Kommunikationsschnittstelle 15 empfängt die von der Kon trolleinheit 20 gesendeten Daten. Ferner kann die Kommunikati onsschnittstelle 15 Daten, beispielsweise von dem elektroni- sehen Gerät 10 aufgenommene Messwerte, an die Kontrolleinheit 20 übertragen.
Die Schnittstelle zwischen dem elektronischen Gerät 10 und der Kontrolleinheit 20 kann eine I 2 C-Schnittstelle sein. Ein beispielhafter Lesezugriff der Kontrolleinheit 20 auf das elektronische Gerät 10 mittels eines I 2 C-Kommunikationsproto- kolls ist in Fig. 2 dargestellt. Hierbei ist die Kontrolleinheit 20 der Master und das elektronische Gerät 10 ein Slave. In Fig. 2 und auch allen weiteren Figuren ist die Datenübertragung von der Kontrolleinheit 20 zu dem elektronischen Gerät 10 gestri chelt hinterlegt und die Datenübertragung von dem elektronischen Gerät 10 zu der Kontrolleinheit 20 weiß hinterlegt. Um die Kommunikation mit einem Slave zu starten, erzeugt die Kontrolleinheit 20 zunächst eine Startbedingung S auf dem I2C- Bus . Danach sendet die Kontrolleinheit 20 eine Geräteadresse oder Slave-Adresse GA, die für das elektronische Gerät 10, mit dem kommuniziert werden soll, spezifisch ist, und eine Schreib- Flag (englisch: write flag) an das elektronische Gerät 10. Die Schreib-Flag ist ein Bit R/W, welches bei einem Schreibzugriff den Wert 0 hat. Die Schreib-Flag zeigt dem elektronischen Gerät 10 an, dass weitere Daten von der Kontrolleinheit 20 übermittelt werden.
Nach einem Bestätigungssignal A (englisch: acknowledge signal) von dem elektronischen Gerät 10, welches angibt, dass die von der Kontrolleinheit 20 übersendeten Daten erfolgreich empfangen wurden, sendet die Kontrolleinheit 20 eine Registeradresse RA des Registers der Speichereinheit 14, dessen Speicherinhalt ausgelesen werden soll, an das elektronische Gerät 10.
Um zu gewährleisten, dass die Kommunikation nicht durch ein anderes Gerät unterbrochen wird, sendet die Kontrolleinheit 20 anschließend einen wiederholten Startbefehl Sr, wodurch der I2C- Bus belegt gehalten wird. Anschließend übermittelt die Kontrol leinheit 20 die für das elektronische Gerät 10 spezifische Ge räteadresse GA und eine Lese-Flag (englisch: read flag) . Die Lese-Flag ist ein Bit R/W, welches bei einem Lesezugriff den Wert 1 hat. Die Lese-Flag zeigt dem elektronischen Gerät 10 an, dass es die Daten, die in dem genannten Register gespeichert sind, an die Kontrolleinheit 20 übertragen soll.
Nach einem Bestätigungssignal A sendet die Kommunikations- Schnittstelle 15 des elektronischen Geräts 10 die gewünschten Daten an die Kontrolleinheit 20.
Falls die Kontrolleinheit 20 keine weiteren Daten erhalten möchte, bestätigt die Kontrolleinheit 20 die Daten mit einem Nicht-Bestätigungssignal A* (englisch: not acknowledge signal). Zum Abbruch der Kommunikation erzeugt die Kontrolleinheit 20 eine Stoppbedingung P.
Sensoren, die in sicherheitsrelevanten Automotive-Anwendungen eingesetzt werden, sollten kompatibel mit Echtzeitdiagnose-Ver- fahren sein, welche die funktionale Sicherheit von elektroni schen Komponenten gewährleisten sollen (vgl. Internationale Norm ISO 26262-5 : 2011 ( E ) : „Road vehicles - Functional Safety - Part 5: Product Development at the Hardware Level", erste Aus- gäbe, Internationale Organisation für Normung, Genf, Schweiz, 15. November 2011) .
Eine typische Fehlerquelle ist eine Störung während einer Da tenübertragung von dem elektronischen Gerät 10 zur Kontrollein- heit 20. Wenn Datenbits während der Übertragung beschädigt wer den, können die Daten von der Kontrolleinheit 20 fehlinterpre tiert werden. Dies kann zu gefährlichen Situationen führen.
Die internationale Norm ISO 26262-5 empfiehlt eine zyklische Redundanzprüfung als eine Möglichkeit zur Detektion von Fehlern, die während der Datenübertragung zwischen Komponenten in einem Fahrzeug auftreten können.
Das Prinzip der zyklischen Redundanzprüfung ist schematisch in Fig. 3 dargestellt. Das elektronische Gerät 10 enthält einen CRC-Generator 16, der ein CRC-Polynom zur Erzeugung einer CRC- Prüfsumme auf ein n bit-Datenwort, welches von dem elektroni schen Gerät an die Kontrolleinheit 20 gesendet werden soll, anwendet .
Die CRC-Prüfsumme wird den Daten hinzugefügt, wodurch eine ver schlüsselte Nachricht mit k bit erzeugt wird (mit k > n) . Die verschlüsselte Nachricht wird an die Kontrolleinheit 20 über einen unsicheren Übertragungskanal übertragen. Die Kontrollein- heit 20 verwendet einen CRC-Generator 21, der dem CRC-Generator 16 des elektronischen Geräts 10 entspricht, um zu überprüfen, ob während der Datenübertragung ein Fehler aufgetreten ist. Falls kein Fehler festgestellt wird, werden die ursprünglichen Daten aus der verschlüsselten Nachricht mittels eines Polynoms extrahiert. Beim Auftreten eines Fehlers werden die Daten ver worfen .
Zur Erzeugung einer verschlüsselten Nachricht aus den ursprüng lichen Daten kann ein LFSR (linear rückgekoppeltes Schiebere- gister) in Hardware implementiert werden. Ein beispielhaftes LFSR 30 ist in Fig . 4 dargestellt. Das LFSR 30 enthält mehrere D-Flip-Flops 31, welche jeweils ein Bit speichern können, und mehrere XOR-Gatter 32. Das ursprüngliche Datenwort wird durch das LFSR 30 geschickt, um die verschlüsselte Nachricht zu erzeugen. Wenn sämtliche Datenbits des ursprünglichen Datenworts das LFSR 30 durchlaufen haben, entsprechen diejenigen Bits, die sich in den D-Flip- Flops 31 befinden, der CRC-Prüfsumme . Die verschlüsselte Nach- rieht wird erzeugt, indem die Bits der CRC-Prüfsumme an die Bits des ursprünglichen Datenworts angehängt werden.
Vor der Berechnung der CRC-Prüfsumme sollte das LFSR 30 initi alisiert werden, indem vorgegebene Werte in die D-Flip-Flops 31 eingeschrieben werden. Dadurch kann verhindert werden, dass die D-Flip-Flops 30 sich während des Startens des Systems in einem Undefinierten Zustand befinden.
Bei dem vorstehend beschriebenen CRC-Verfahren kann die Daten- integrität nur bei einem Lesezugriff, bei dem Daten von dem elektronischen Gerät 10 zu der Kontrolleinheit 20 übertragen werden, garantiert werden. Bei einem Schreibzugriff jedoch, bei dem Daten von der Kontrolleinheit 20 an das elektronische Gerät 10 übertragen werden, kann die Datenintegrität lediglich dann gewährleistet werden, wenn die Daten anschließend wieder zur Kontrolleinheit 20 übertragen und dort geprüft werden.
Während eines Lesezugriffs werden die Geräteadresse des elekt ronischen Geräts 10 und die Registeradresse des auszulesenden Registers von der Kontrolleinheit 20 zu dem elektronischen Gerät 20 über einen unsicheren Übertragungskanal übertragen. Falls die Bits der Registeradresse während der Übertragung verändert werden, können möglicherweise Daten aus den falschen Registern ausgelesen werden. Falls die Datenübertragung der ausgelesenen Daten zu der Kontrolleinheit 20 korrekt abläuft, würde kein
Fehler detektiert werden, obgleich die Daten aus dem falschen Register stammen. Ein ähnlicher Fehler kann auftreten, wenn die Bits der Geräteadresse bei der Übertragung von der Kontrollein heit 20 zu dem elektronischen Gerät 10 verändert werden. In diesem Fall würden Daten eines anderen Geräts über den I2C-Bus ausgelesen, ohne dass der Fehler bemerkt würde.
Um sicherzustellen, dass nicht nur die Daten von dem elektro nischen Gerät 10 zu der Kontrolleinheit 20 korrekt übertragen werden, sondern auch der Ursprung der Daten verifiziert werden kann, wird das LFSR 30 des CRC-Generators 16 in dem elektroni schen Gerät 10 initialisiert, bevor mit der Verschlüsselung der Daten begonnen wird. Ein Ausführungsbeispiel eines erfindungsgemäßen Lesezugriffs auf die Speichereinheit 14 des elektronischen Geräts 10 mit einer Initialisierung des CRC-Generators 16 ist in Fig . 5 dar gestellt. Bei diesem Lesezugriff ist eine einmalige Übersendung von Daten an die Kontrolleinheit 20 vorgesehen. Im Unterschied zu dem in Fig. 2 dargestellten Lesezugriff wird bei dem Lese zugriff gemäß Fig. 5 eine Initialisierung des LFSR 30 des CRC- Generators 16 in dem elektronischen Gerät 10 durchgeführt. Diese Initialisierung ist in Fig. 5 durch einen Pfeil mit der Be- Zeichnung Init gekennzeichnet.
In Fig. 5 wird das LFSR 30 mit der Registeradresse RA intiali- siert. Die Bits der Registeradresse RA werden dabei in die D- Flip-Flops 31 des LFSR 30 geschrieben. Da die Registeradresse RA zuvor von der Kontrolleinheit 20 an das elektronische Gerät 10 übertragen wurde, könnte eine möglicherweise fehlerhafte Übertragung dieser Daten an das elektronische Gerät 10 später von der Kontrolleinheit 20 erkannt werden. Mit dem initialisierten CRC-Generator 16 wird anschließend die CRC-Prüfsumme errechnet. Wie in Fig. 5 gezeigt wird dazu das Polynom des CRC-Generators 16 sowohl auf die Registeradresse RA als auch die zu übertragenden Daten angewendet. Die berechnete CRC-Prüfsumme wird nach den Daten an die Kontrolleinheit 20 übertragen.
In einer Variante von Fig. 5 wird die Initialisierung des LFSR 30 durchgeführt, indem die Geräteadresse GA sowie die Lese-Flag in die D-Flip-Flops 31 eingeschrieben werden. Zur anschließen- den Berechnung der CRC-Prüfsumme wird das Polynom des CRC-Ge nerators 16 auf die Geräteadresse GA, die Lese-Flag und die zu übertragenden Daten angewendet.
Ein weiteres Ausführungsbeispiel eines erfindungsgemäßen Lese- Zugriffs auf die Speichereinheit 14 des elektronischen Geräts 10 ist in Fig. 6 dargestellt. Bei diesem Lesezugriff ist im Unterschied zu Fig. 5 eine mehrmalige Datenübertragung von dem elektronischen Gerät 10 zu der Kontrolleinheit 20 vorgesehen. Die Initialisierung des LFSR 30 erfolgt wie in Fig. 5 mit der Registeradresse RA.
Die Erzeugung der CRC-Prüfsumme für die jeweilige Datenübertra gung erfolgt bei dem in Fig. 6 dargestellten Lesezugriff in einem abgestuften Verfahren.
Für die sich an die Initialisierung des LFSR 30 anschließende erste Datenübertragung wird die CRC-Prüfsumme CRC1 durch Anwen den des CRC-Generators 16 auf die Registeradresse RA und die zu übertragenden Daten berechnet. Für die Berechnung aller nach- folgenden CRC-Prüfsummen, also zumindest die CRC-Prüfsumme CRC2, wird der CRC-Generator 16 nur auf die jeweils zu übertra genden Daten angewendet .
In einer Variante von Fig. 6 wird die Initialisierung des LFSR 30 durchgeführt, indem die Geräteadresse GA sowie die Lese-Flag in die D-Flip-Flops 31 eingeschrieben werden. Zur anschließen den Berechnung der ersten CRC-Prüfsumme CRC1 wird das Polynom des CRC-Generators 16 auf die Geräteadresse GA, die Lese-Flag und die zu übertragenden Daten angewendet. Die nachfolgenden CRC-Prüfsummen werden nur mit Hilfe der jeweils zu übertragenden Daten berechnet .
Fig. 7 zeigt eine weitere Variante des in Fig. 5 dargestellten Lesezugriffs. Zur Initialisierung des LFSR 30 werden bei dem Lesezugriff gemäß Fig. 7 die Geräteadresse GA, die Lese-Flag und die Registeradresse RA verwendet. Zur Erzeugung der CRC- Prüfsumme wird der CRC-Generator CRC auf die Registeradresse RA, die Geräteadresse GA, die Lese-Flag und die zu übertragenden Daten angewendet . Fig . 8 zeigt eine weitere Variante des in Fig. 6 dargestellten Lesezugriffs. Zur Initialisierung des LFSR 30 werden bei dem Lesezugriff gemäß Fig. 8 die Geräteadresse GA, die Lese-Flag und die Registeradresse RA verwendet. Zur Erzeugung der ersten CRC-Prüfsumme CRC1 nach der Initialisierung wird in Fig. 8 der CRC-Generator CRC auf die Registeradresse RA, die Geräteadresse GA, die Lese-Flag und die zu übertragenden Daten angewendet. Für die Berechnung nachfolgender CRC-Prüfsummen wird der CRC- Generator 16 nur auf die jeweils zu übertragenden Daten ange- wendet.
BEZUGSZEICHENLISTE elektronisches Gerät
Sensorelement
Signalbearbeitungsschaltkreis
Analog-zu-Digital-Umsetzer
Speichereinheit
Kommunikationsschnittstelle
CRC-Generator
Kontrolleinheit
CRC-Generator
LFSR
D-Flip-Flop
XOR-Gatter

Claims

ANSPRÜCHE
1. Optischer Sensor (10), umfassend:
eine Kommunikationsschnittstelle (15) zum Empfangen von Daten von einer Kontrolleinheit (20) und zum Übertragen von Daten an die Kontrolleinheit (20),
eine Speichereinheit (14) mit mindestens einem Register zum Speichern von Daten, und
einen CRC-Generator (16) zum Erzeugen einer CRC-Prüf- summe ,
wobei der optische Sensor (10) derart ausgestaltet ist, dass falls in der Speichereinheit (14) gespeicherte Daten an die Kontrolleinheit (20) übertragen werden sollen, die Kommunikationsschnittstelle (15) eine für den optischen Sensor (10) spezifische Geräteadresse sowie eine Adresse eines Registers, in welchem die zu übertragenden Daten gespeichert sind, von der Kontrolleinheit (20) empfängt, und
der CRC-Generator (16) mittels der von der Kommunikati onsschnittstelle (15) empfangenen Geräteadresse und/oder der von der Kommunikationsschnittstelle (15) empfangenen Registeradresse initialisiert wird, bevor der CRC-Gene rator (16) eine CRC-Prüfsumme für die zu übertragenden Daten erzeugt.
2. Optischer Sensor (10) nach Anspruch 1, wobei der optische Sensor (10) derart ausgestaltet ist, dass falls in der Speichereinheit (14) gespeicherte Daten an die Kontrol leinheit (20) übertragen werden sollen, die Kommunikati onsschnittstelle (15) eine Lese-Flag von der Kontrollein heit (20) empfängt, und
der CRC-Generator (16) mittels der von der Kommunikati onsschnittstelle (15) empfangenen Geräteadresse und der von der Kommunikationsschnittstelle (15) empfangenen Lese-Flag initialisiert wird.
3. Optischer Sensor (10) nach Anspruch 1 oder 2, wobei der
CRC-Generator (16) derart ausgestaltet ist, dass er zum Erzeugen der CRC-Prüfsumme die zu übertragenden Daten und zumindest eine von der von der Kommunikationsschnitt- stelle (15) empfangenen Geräteadresse und der von der
Kommunikationsschnittstelle (15) empfangenen Registerad resse verwendet.
4. Optischer Sensor (10) nach Anspruch 2, wobei der CRC-
Generator (16) derart ausgestaltet ist, dass er zum Er zeugen der CRC-Prüfsumme die zu übertragenden Daten und zusätzlich die von der von der Kommunikationsschnitt stelle (15) empfangene Geräteadresse zusammen mit der von der Kommunikationsschnittstelle (15) empfangenen Lese- Flag und/oder die von der Kommunikationsschnittstelle (15) empfangene Registeradresse verwendet.
5. Optischer Sensor (10) nach Anspruch 1 oder 2, wobei der CRC-Generator (16) derart ausgestaltet ist, dass der CRC- Generator (16) zum Erzeugen der CRC-Prüfsumme für einen ersten an die Kontrolleinheit (20) zu übertragenden Da tenblock die zu übertragenden Daten und zumindest eine von der von der Kommunikationsschnittstelle (15) empfan genen Geräteadresse und der von der Kommunikations schnittstelle (15) empfangenen Registeradresse verwendet und dass der CRC-Generator (16) zum Erzeugen der CRC- Prüfsumme für nachfolgende an die Kontrolleinheit (20) zu übertragende Datenblöcke nur die jeweils zu übertra genden Daten verwendet .
6. Optischer Sensor (10) nach Anspruch 2, wobei der CRC- Generator (16) derart ausgestaltet ist, dass der CRC- Generator (16) zum Erzeugen der CRC-Prüfsumme für einen ersten an die Kontrolleinheit (20) zu übertragenden Da tenblock die zu übertragenden Daten und zusätzlich die von der von der Kommunikationsschnittstelle (15) empfan gene Geräteadresse zusammen mit der von der Kommunikati onsschnittstelle (15) empfangenen Lese-Flag und/oder die von der Kommunikationsschnittstelle (15) empfangene Re- gisteradresse verwendet und dass der CRC-Generator (16) zum Erzeugen der CRC-Prüfsumme für nachfolgende an die Kontrolleinheit (20) zu übertragende Datenblöcke nur die jeweils zu übertragenden Daten verwendet.
7. Optischer Sensor (10) nach einem der vorhergehenden An sprüche, wobei der CRC-Generator (16) ein linear rückge koppeltes Schieberegister (30) mit mehreren Speicherele menten (31) aufweist und zur Initialisierung des CRC- Generators (16) die für die Initialisierung verwendeten
Daten in die Speicherelemente (31) geschrieben werden.
8. Verfahren zum Übertragen von Daten von einem optischen
Sensor (10) an eine Kontrolleinheit (20), wobei
Daten in einer Speichereinheit (14) des optischen Sensors (10) mit mindestens einem Register gespeichert werden, falls in der Speichereinheit (14) gespeicherte Daten an die Kontrolleinheit (20) übertragen werden sollen, die Kontrolleinheit (20) eine für den optischen Sensor (10) spezifische Geräteadresse sowie eine Adresse eines Re- gisters, in welchem die zu übertragenden Daten gespei chert sind, an den optischen Sensor (10) sendet, und ein CRC-Generator (16) mittels der von dem optischen Sen sor (10) empfangenen Geräteadresse und/oder der von dem optischen Sensor (10) empfangenen Registeradresse initi- alisiert wird, bevor der CRC-Generator (16) eine CRC-
Prüfsumme für die zu übertragenden Daten erzeugt und die Daten zusammen mit der CRC-Prüfsumme von dem optischen Sensor (10) an die Kontrolleinheit (20) übertragen wer den .
9. Verfahren nach Anspruch 8, wobei der optische Sensor (10) derart ausgestaltet ist, dass falls in der Speicherein heit (14) gespeicherte Daten an die Kontrolleinheit (20) übertragen werden sollen, die Kontrolleinheit (20) eine Lese-Flag an den optischen Sensor (10) sendet, und der CRC-Generator (16) mittels der von der Kommunikati onsschnittstelle (15) empfangenen Geräteadresse und der von der Kommunikationsschnittstelle (15) empfangenen Lese-Flag initialisiert wird.
10. Optischer Sensor (10), umfassend:
eine Kommunikationsschnittstelle (15) zum Übertragen von Daten an eine Kontrolleinheit (20), und
einen CRC-Generator (16) zum Erzeugen einer CRC-Prüf- summe ,
wobei der CRC-Generator (16) derart ausgestaltet ist, dass er eine CRC-Prüfsumme für die an die Kontrolleinheit (20) zu übertragenden Daten erzeugt.
11. Optischer Sensor (10) nach Anspruch 10, wobei der opti sche Sensor (10) ein Umgebungslichtsensor ist.
12. Verfahren zum Übertragen von Daten von einem optischen Sensor (10) an eine Kontrolleinheit (20), wobei
ein CRC-Generator (16) eine CRC-Prüfsumme für die an die Kontrolleinheit (20) zu übertragenden Daten erzeugt und die Daten zusammen mit der CRC-Prüfsumme von dem opti schen Sensor (10) an die Kontrolleinheit (20) übertragen werden .
13. Verfahren nach Anspruch 12, wobei der optische Sensor
(10) ein Umgebungslichtsensor ist.
PCT/EP2020/063933 2019-06-27 2020-05-19 Elektronisches gerät mit crc-generator und verfahren zum übertragen von daten von einem elektronischen gerät an eine kontrolleinheit WO2020259927A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202080046832.0A CN114128180B (zh) 2019-06-27 2020-05-19 具有crc生成器的电子设备和用于将数据从电子设备传输至控制单元的方法
US17/622,244 US11646820B2 (en) 2019-06-27 2020-05-19 Electronic device having a CRC generator and method for transmitting data from an electronic device to a control unit

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102019117350.7A DE102019117350A1 (de) 2019-06-27 2019-06-27 Elektronisches gerät mit crc-generator und verfahren zum übertragen von daten von einem elektronischen gerät an eine kontrolleinheit
DE102019117350.7 2019-06-27

Publications (1)

Publication Number Publication Date
WO2020259927A1 true WO2020259927A1 (de) 2020-12-30

Family

ID=70847350

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2020/063933 WO2020259927A1 (de) 2019-06-27 2020-05-19 Elektronisches gerät mit crc-generator und verfahren zum übertragen von daten von einem elektronischen gerät an eine kontrolleinheit

Country Status (4)

Country Link
US (1) US11646820B2 (de)
CN (1) CN114128180B (de)
DE (1) DE102019117350A1 (de)
WO (1) WO2020259927A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114726482B (zh) * 2022-04-18 2024-03-22 成都创科升电子科技有限责任公司 一种spi数据传输方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5483230A (en) * 1992-10-23 1996-01-09 Marquardt Gmbh Bus system
US20170104733A1 (en) * 2015-10-09 2017-04-13 Intel Corporation Device, system and method for low speed communication of sensor information

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6938201B2 (en) * 2002-09-05 2005-08-30 Agilent Technologies, Inc. Error detection system for a FIFO memory
JP2005050029A (ja) * 2003-07-31 2005-02-24 Sunx Ltd センサシステム及びそのセンサユニット
KR101110625B1 (ko) * 2005-03-09 2012-02-16 삼성전자주식회사 전송 데이터의 무결성 검사 방법 및 수단
DE102006053546B4 (de) * 2006-11-14 2009-04-02 Leuze Lumiflex Gmbh + Co. Kg Optischer Sensor
US20100180182A1 (en) * 2009-01-09 2010-07-15 Seagate Technology Llc Data memory device and controller with interface error detection and handling logic
CN109618101B (zh) * 2014-02-18 2021-10-08 青岛海信移动通信技术股份有限公司 一种终端中的相机启动方法及终端
US9729231B2 (en) * 2015-03-20 2017-08-08 Oe Solutions America, Inc. Enhanced transmission and reception of remote digital diagnostic information of optical transceivers
CN105070321B (zh) * 2015-08-18 2019-03-08 珠海市一微半导体有限公司 存储器件的快速测试电路及方法
US10482419B2 (en) * 2015-12-17 2019-11-19 Tive, Inc. Sensor device having configuration changes
JP6518601B2 (ja) * 2016-02-22 2019-05-22 株式会社キーエンス 光学安全センサ用の設定支援装置、設定支援プログラム、光学安全システム及び光学安全センサ
KR102280603B1 (ko) * 2017-06-01 2021-07-22 삼성전자주식회사 조도 센서를 제어하기 위한 전자 장치 및 방법
JP7003698B2 (ja) * 2018-01-31 2022-01-21 住友電気工業株式会社 光トランシーバおよびその制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5483230A (en) * 1992-10-23 1996-01-09 Marquardt Gmbh Bus system
US20170104733A1 (en) * 2015-10-09 2017-04-13 Intel Corporation Device, system and method for low speed communication of sensor information

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Robust Optical Sensors for Safety Critical Automotive Applications", SPIE, PO BOX 10 BELLINGHAM WA 98227-0010 USA, 5 February 2008 (2008-02-05), XP040433989 *

Also Published As

Publication number Publication date
US11646820B2 (en) 2023-05-09
DE102019117350A1 (de) 2020-12-31
US20220353013A1 (en) 2022-11-03
CN114128180B (zh) 2023-12-22
CN114128180A (zh) 2022-03-01

Similar Documents

Publication Publication Date Title
EP1802019B1 (de) Erkennung von Fehlern bei der Übermittlung von Daten
EP2160857B1 (de) Prüfverfahren und elektronische schaltung zur sicheren seriellen übertragung von daten
DE102018216809A1 (de) Verfahren, Vorrichtung und Sensorsystem zur Umfelderfassung für ein Fahrzeug
DE102016101738A1 (de) Sensorbussystem und Einheit mit interner Ereignisüberprüfung
DE102016203415A1 (de) Spc-sensor-schnittstelle mit partiellem paritätsschutz
WO2020259927A1 (de) Elektronisches gerät mit crc-generator und verfahren zum übertragen von daten von einem elektronischen gerät an eine kontrolleinheit
EP1588380B1 (de) Verfahren zur erkennung und/oder korrektur von speicherzugriffsfehlern und elektronische schaltungsanordnung zur durchführung des verfahrens
DE10252230A1 (de) Verfahren zur Übertragung von Daten
WO2013020529A1 (de) Messwert-übertragungsvorrichtung
EP0977395B1 (de) Verfahren zur sicheren einkanaligen Übertragung von Daten zwischen den Rechnerknoten eines Rechnerverbundes sowie Rechnerverbund und Rechnerknoten
DE102011007571A1 (de) Tamperschutzvorrichtung zum Tamperschutz eines Feldgeräts
EP1596517B1 (de) Verfahren zur einkanaligen Übertragung von redundant vorliegenden Daten
DE10340236B4 (de) Anordnung mit einer Datenverarbeitungseinrichtung und einem Speicher
WO2017045824A1 (de) Vorrichtung und verfahren zum erstellen einer asymmetrischen prüfsumme
EP3643541A1 (de) System zur überwachung des reifendrucks
EP1523119B1 (de) Verfahren und eine Vorrichtung zur fehlerabgesicherten Übertragung von Nutzdaten
EP3188942A1 (de) Fehlermeldung mit pulslevel unterhalb energieversorgungslevel
WO2019158413A1 (de) Bestimmung einer kanaleigenschaft eines übertragungskanals
DE102013204891B4 (de) Verfahren zur Rekonstruktion von Messdaten
EP3501127A1 (de) Verfahren, sensor und steuergerät zum übertragen eines datenpakets von einem sensor zu einem steuergerät
WO2022184552A1 (de) Verfahren zum kommunizieren von informationen, empfängervorrichtung, sensorvorrichtung sowie system
DE102018114218B4 (de) Verfahren zum Betreiben einer Sensoranordnung in einem Kraftfahrzeug auf Basis eines DSI-Protokolls
EP2960632B1 (de) Verfahren und system zum aufbereiten von durch kraftfahrzeugseitig angeordnete sensoren erzeugten sensormesswerten
EP4256802A1 (de) Verfahren und vorrichtung zum absichern eines signals zur übertragung eines messwertes an eine signalverarbeitungseinheit
DE102021205172A1 (de) Speichervorrichtung und Verfahren zur Überprüfung von Speicherinhalten

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20727961

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20727961

Country of ref document: EP

Kind code of ref document: A1