SPC sensor interface with partial parity protection
Patent Information
- Application Number
- DE102016203415
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2016-02-24
- Filing Date
- 2016-03-02
- Publication Date
- 2025-09-04
- Estimated Expiration
- 2036-03-02
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
AREA
[0001] The present disclosure relates to a data protection system and a method for transmitting multi-bit groups over a transmission interface. BACKGROUND
[0002] Sensor interfaces such as Short PWM Code (SPC) and Single Edge Nibble Transmission (SENT) use pulse width modulation (PWM) encoding to transmit 4-bit nibbles. A checksum is appended to the transmitted message to protect the message. This protection is typically a 4-bit CRC (cyclic redundancy check).
[0003] With standard SENT or SPC, an N-bit CRC is used across all bits of the message. Some protocols increase the length of the CRC to better protect the message being transmitted. However, this reduces the possible payload for a given channel. The signal-to-noise ratio (SNR) of the most significant bit (MSB) is very high due to the PWM. The possibility of an MSB change is very small. If an error occurs in the MSB of the 4-bit nibble, the PWM signal changes from a long pulse to a short pulse, or vice versa. Thus, the MSB error is easily detectable using timing estimation.
[0004] US 2012 / 0 158 335 A1 discloses a magnetic field sensor in which sensor data is output as a serial data signal in response to a trigger signal received at a bidirectional node. US 2003 / 0 192 006 A1 discloses systems and methods for encoding and decoding serial bit data streams. A parity bit is stored for each nibble and alternates regularly between odd and even.
[0005] The invention provides a sensor system according to claim 1, a sensor system according to claim 14, a sensor system according to claim 15 and a method for transmitting at least partially protected sensor data according to claim 16, 22 or 23. Further developments of the invention are defined in the dependent claims. BRIEF DESCRIPTION OF THE DRAWINGS Fig. Figure 1A illustrates a timing diagram of the transmission of a 4-bit nibble according to a protocol. Fig. Figure 1B illustrates the PWM encoding for a nibble value of 0 and a nibble value of 7. Fig. Figure 2 illustrates the distortion in the transmission line that can occur during the transmission of a nibble. Fig. Figure 3A illustrates ease of fault detection in the case of an MSB fault. Fig. Figure 3B illustrates ease of error detection in the case of an LSB (least significant bit) error. Fig. 4A to Fig. 4B illustrates a parity formed over each individual nibble. Fig. 5A to Fig. 5B illustrates a nibble sign formed only over the first least significant bit of each nibble. Fig. 6A to Fig. 6B illustrates a nibble sign formed only over the first two least significant bits of each nibble. Fig. 7A to Fig. 7B illustrates a nibble sign formed only over the first three least significant bits of each nibble. Fig. 8A to Fig. 8D illustrate the calculation of the nibble sign formed by data grouping. Fig. 9A to Fig. 9D illustrate the calculation of the nibble sign for the respective nibble, where the nibble sign is appended to the end of the respective nibble. Fig. 10A to Fig. 10C illustrate reducing the nibble length to three bits and calculating the nibble sign for each nibble, with the nibble sign appended to the end of each nibble. Fig. Figure 11 illustrates the nibble sign calculated as the difference between the modulo 16 sum of the first, third, and fifth nibbles of the data grouping and the modulo sum of the second, fourth, and fifth nibbles of the data grouping. Fig. Figure 12 illustrates the nibble sign calculated as the modulo 4 sum of the five nibbles to which the difference between the modulo 4 sums of the first set and the second set was appended. Fig. Figure 13 illustrates a data protection system configured to generate nibble tokens used to protect the data being transmitted. Fig. 14 illustrates a sensor system configured to transmit protected sensor data. Fig. Figure 15 illustrates some disturbances that affect a data packet, a data grouping, a nibble indication, or a train of nibble pulses. Fig. 16A to 16B illustrate a method for transmitting sensor data. DETAILED DESCRIPTION
[0006] A sensor system is disclosed that is configured to transmit at least partially protected sensor data via a data transmission interface. According to one example of the disclosure, the sensor system comprises a sensor element and a data transmission interface communicatively coupled to the sensor element. The sensor element is configured to provide sensor data in the digital domain.
[0007] The data transmission interface is configured to generate a data packet from the sensor data for transmission via the data transmission interface. The data packet includes a data grouping comprising one or more nibbles associated with the sensor data. The data packet further includes a nibble indicator based on at least a portion of selected nibbles in the data grouping. Furthermore, several options for generating the nibble indicator for partially protecting the sensor data are disclosed.
[0008] The present disclosure will now be described with reference to the attached figures, wherein like reference numerals refer to like elements throughout, and wherein the illustrated structures and devices are not necessarily drawn to scale. The terms "component," "system," "interface," "decoder," and the like are intended to refer to a computer-related entity, hardware, software (e.g., executing), or firmware. For example, a component may be a processor, a process executing on a processor, an object, an executable file, a program, a storage device, an electronic circuit, or a computer having a processing device. By way of illustration, an application executing on a server and the server may also be a component.One or more components may be located within a process, and a component may be localized on one computer and / or distributed across two or more computers.
[0009] Furthermore, these components may execute from different computer-readable storage media storing different data structures, such as a module. The components may exchange data using local and / or remote processes, for example, in accordance with a signal comprising one or more data packets (e.g., data from one component interacting with another component using the signal in a local system, a distributed system, and / or across a network, such as the Internet, a local area network, a wide area network, or a similar network with other systems).
[0010] As another example, a component may be a device with specific functionality provided by mechanical parts actuated using electrical or electronic circuits, where the electrical or electronic circuits may be actuated by a software or firmware application executed by one or more processors. The one or more processors may be located internally or externally to the device and may execute at least a portion of the software or firmware application.As yet another example, a component may be a device that provides specific functionality through electronic components without mechanical parts; the electronic components may include one or more processors therein for executing software and / or firmware that provides / provides at least some of the functionality of the electronic components.
[0011] In Fig. 13, a data protection system 1300 is disclosed. The data protection system 1300 includes a storage system 1301 configured to store payload data associated with a converter 1302. The storage system 1301 is further configured to store executable instructions associated with a data transmission protocol. The data protection system 1300 further includes a processor 1303 communicatively coupled to the storage system 1301 and configured to receive the payload data and the executable instructions. The processor 1303 is further configured to generate a transmission packet in accordance with the executable instructions. The transmission packet includes a data grouping that includes at least one nibble.The transmission packet further includes a nibble indicator having content based on at least a portion of the respective nibble or at least a portion of multiple nibbles in the data grouping. Data protection system 1300 further includes a transceiver configured to transmit the transmission packet.
[0012] A non-transitory machine-readable medium is disclosed. The non-transitory machine-readable medium includes instructions that, when executed, cause the machine to store payload data associated with a transducer and to store executable instructions associated with a transfer protocol. The machine further receives payload data and executable instructions and generates a transfer packet in accordance with the executable instructions. The transfer packet includes a data grouping comprising at least one nibble and a nibble indicator, the content of which is based on at least a portion of the respective nibble or at least a portion of multiple nibbles in the data grouping, the data grouping and the nibble indicator together constituting the transfer packet. The machine further transmits the transfer packet.
[0013] For example, in an automotive sensor system, a transducer or sensor may be a temperature sensor, a tire pressure sensor, an accelerometer, a steering torque sensor, a steering angle sensor, an accelerator pedal sensor, a throttle position sensor, a pressure sensor, for example, an intake vacuum sensor, an airbag pressure sensor, or an airbag accelerometer.
[0014] Automotive sensor networks have sensor interfaces such as SPC or SENT, which use PWM coding for the transmission of 4-bit nibbles. In such a case, the processor 1303 is Fig. 13 configured to receive the payload data and executable instructions from memory 1301 and generate the nibbles as disclosed below. Fig. Figure 1A illustrates a timing diagram of the transmission of a 4-bit nibble according to a protocol. The minimum nibble pulse width is 12 clock ticks, representing a nibble value of 0, and the maximum nibble pulse width is 27 clock ticks, representing a nibble value of 15. Each nibble count is 1 clock tick. The nibble pulse has more than 4 clock ticks driven low, and all remaining clock ticks based on the nibble to be transmitted are driven high. According to the example in Fig. 1A, the falling edge 101 indicates the beginning of the nibble pulse. Since more than four clock steps are driven low, and all remaining clock steps are driven high, any of the rising edges 102 through 105 may be used. Those skilled in the art will readily appreciate that individual ones of the rising edges 102 through 105 in a nibble to be transmitted may be conveniently used to address or identify individual sensors transmitting nibbles over a common channel or line. Alternatively or additionally, individual ones of the rising edges 102 through 105 may indicate an individual mode of a sensor transmitting nibbles over the (common) line. Such modes may include, but are not limited to, different sensitivity modes of the sensor, a calibration mode, or the like. The clock is then driven low based on the nibble to be transmitted.For example, when transmitting a nibble with the value 0, the falling edge occurs at the 12th clock step 106 from the start of the pulse. Similarly, when transmitting nibbles with values 6, 12, and 15, the falling edges occur at the 18th clock step 107, the 24th clock step 108, and the 27th clock step 109, respectively.
[0015] Fig. Figure 1B illustrates the PWM encoding for a nibble value of 0 and a nibble value of 7. The PWM encoding of nibble value 0 is as shown in element 120. The total clock step count (falling edge 110 to falling edge 112) for transmitting nibble value 0 is 12. That is, the nibble pulse begins with falling edge 110 and is driven low for more than 4 clock steps. It is then driven high, represented by rising edge 111. The pulse remains high until it reaches the desired nibble value to be transmitted, which, according to this example, is 0. Therefore, falling edge 112 occurs at the 12th clock step from the beginning of the pulse and thus represents the end of the pulse. The PWM encoding of nibble value 7 is as shown in element 130. The total clock step count (falling edge 113 to falling edge 115) for transmitting nibble value 7 is 19.That is, the nibble pulse begins with the falling edge 113 and is driven low for more than 4 clock steps. It is then driven high, represented by the rising edge 114. The pulse remains high until it reaches the desired nibble value to be transmitted, which, according to this example, is 7. Therefore, the falling edge 112 occurs at the 12th clock step from the beginning of the pulse and thus represents the end of the pulse. Each nibble value is assigned one clock step. Therefore, a 4-bit nibble takes values from 0 to 15. For this reason, a PWM-encoded nibble pulse can take 12 to 27 clock steps.
[0016] Fig. Figure 2 illustrates a distortion in the transmission line that can occur during the transmission of a nibble. The distortion 200 can occur randomly in the transmission line. However, the detection of the distortion in the message is influenced by the time frame during which the distortion occurs. For example, message 201 is a PMW encoding of nibble value 2. The nibble pulse length is 14 clock steps. The influence of the peaks in the distortion 200 during four different time frames is discussed.
[0017] The peak 202 occurs in this example in Fig. 2 occurs when the message pulse is constantly high 202(a), and is therefore easy to detect. Spike 202 does not affect the nibble value in this case (i.e., it does not cause a potential error). Similarly, spike 205 occurs when the message pulse is constantly low 205(a), and is therefore also easy to detect. Spike 205 does not affect the nibble value in this case. However, spikes 203 and 204 occur during the message's decay from high to low. These spikes can cause the nibble value to change.At peaks 203 or 204, the nibble value may change to a bit value lower than shown in 203(a), where the falling edge determining the nibble value has shifted one clock step to the left, or to a bit value higher than shown in 204(a), where the falling edge determining the nibble value has shifted one clock step to the right. This leads to the reception of incorrect messages. In particular, the actual nibble value, and thus the correct message, cannot be recognized for the message affected by peaks 203 or 204.
[0018] The signal-to-noise ratio (SNR) of the most significant bit (MSB) is very high due to the PWM. The possibility of an MSB change is very small. If an error occurs in the MSB of the 4-bit nibble, the PWM signal changes from a long pulse to a short pulse, or vice versa. Thus, the MSB error is easily detectable using a timing estimation technique. Fig. Figure 3A illustrates the ease of error detection in the case of an MSB error. The timing diagram 300 of Fig. Figure 3A shows the PWM encoding of nibble value 13. The total number of clock steps to represent nibble value 13 is 25. If an MSB error occurs, the nibble value changes from 13 to 5. Nibble value 13 is represented in binary as 1101. In case of an error, the MSB of message 1 changes to 0 (i.e., 0101), and therefore the binary represented nibble value is now 5. The total number of clock steps to represent nibble value 5 is 17, which is represented by element 301 of Fig. 3A. There is a significant difference in the number of clock steps driven high when such an MSB error occurs, and this is easily detected by timing evaluation.
[0019] However, if an error occurs in the LSB (least significant bit) of the nibble to be transmitted, it is difficult to detect the error using a timing estimate. Fig. Figure 3B illustrates the change in a nibble value when an LSB error occurs. Element 302 of Fig. Figure 3B shows the PWM encoding of the nibble value 7. The total number of clock steps to represent the nibble value 7 is 19. If an LSB error occurs, the nibble value changes from 7 to 6. The nibble value 7 is represented in binary as 0111. In case of an error, the LSB of message 1 changes to 0 (i.e., 0110), and therefore the binary represented nibble value is now 6. The total number of clock steps to represent the nibble value 6 is 18, which is represented by element 303 of Fig. 3B. The difference in the number of clock steps is significantly small, and therefore the detection of the LSB error during a transmission is difficult.
[0020] To protect the message being transmitted, a checksum is appended to the end of the message. The checksum is typically a 4-bit CRC (cyclic redundancy check) calculated over the entire message. However, as explained above, the error in the MSB is easily detected using a timing estimate, and therefore it is not necessary to include the MSB in the CRC calculation. The different ways to calculate the CRC without including the MSB are explained below. Several ways to enhance the nibble sign to better protect the message are described below.
[0021] Fig. 4A to Fig. 4B illustrate a parity formed over each individual nibble. According to Fig. 4A, four data nibbles are transmitted, each with the nibble value 12, 7, 15, and 8. The four data nibbles are collectively referred to as a data grouping. The corresponding clock steps for these nibble values are 24, 19, 27, and 20, and the respective pulses are designated by elements 401, 402, 403, and 404. A parity can be formed over each nibble value. For example, the parity 401(a) of the first nibble value 12 is 0, the parity 402(a) over the second nibble value is 1, and so on. The parity is located after the respective nibble so that the parity is distinguishable from the respective nibble. That is, the first nibble 12 is immediately followed by its parity, which is then followed by the second nibble and its parity, and so on. As shown in Fig. As shown in Figure 4A, the parity value is reflected by the width of the parity pulses. Parity can be replaced by a cyclic redundancy check (CRC), a Hamming code, a turbo code, or a low-density parity check (LDPC). These are generally referred to as nibble indicators in the following discussion.
[0022] In Fig. 4B, the nibble symbols assigned to the respective nibbles are located behind the data grouping, so that the common nibble symbol is distinguishable from the data grouping. The common nibble symbol is obtained by appending the nibble symbol of each nibble. The parity formed across data nibbles 401, 402, 403, and 404 is 0, 1, 0, and 1, respectively. Therefore, according to the example, the common nibble parity in binary representation is 0101, which corresponds to the nibble value 5, which further corresponds to a pulse length of 17 ticks, represented by element 405 appended to the end of the 4-bit nibble. It is advantageous to transmit the nibble symbols at the end of the data grouping, as in Fig. 4B, instead of transmitting each nibble character immediately after its corresponding data nibble, as in Fig. 4A, since, as in the example according to Fig. 4B, fewer clock steps are needed to transfer the same information as in the example according to Fig. 4A. This improves the speed of transmission over the interface.
[0023] Fig. 5A to Fig. 5B illustrates a nibble sign formed only over the first least significant bit of each nibble, denoted as 1-LSB. For simplicity, a parity check over the first LSB is used in the remaining examples to explain a nibble sign. According to the figures, the four data nibbles to be transmitted each have nibble values 12, 7, 15, and 8, forming a data grouping. The corresponding clock steps for these nibble values are 24, 19, 27, and 20, respectively, and the respective pulses are denoted by elements 501, 502, 503, and 504. A 1-LSB parity is formed over each nibble value. For example, the 1-LSB parity 501(a) of the first nibble value 12 is 0, the 1-LSB parity 502(a) above the second nibble value is 1, and so on. The 1-LSB parity is located behind the respective nibble, so the 1-LSB parity is distinguishable from the respective nibble.That is, the first nibble 501 is immediately followed by its 1-LSB parity 501(a), which is then followed by the second nibble 502 and its 1-LSB parity 502(a), and so on.
[0024] In Fig. 5B, the nibble symbols assigned to the respective nibbles are located behind the data grouping (i.e., behind the 4 nibbles), so that the common nibble symbol is distinguishable from the data grouping. The 1-LSB parity formed across data nibbles 501, 502, 503, and 504 is 0, 1, 1, and 0, respectively. The common nibble 1-LSB parity 505 is therefore 0110 in binary representation, which corresponds to the nibble value 6, which further corresponds to a pulse length of 18 ticks, represented by element 505. It is advantageous to transmit the nibble symbols at the end of the data grouping, as in Fig. 5B, instead of transmitting the nibble characters immediately after the corresponding data nibble, as in Fig. 5A, since, as in the example according to Fig. 5B, fewer clock steps are needed to transfer the same information as in the example according to Fig. 5A to be transferred.
[0025] Fig. 6A to Fig. 6B illustrate a nibble sign formed only over the first two least significant bits of each nibble, referred to as 2-LSB. In Fig. 6A, the 2-LSB parity is located behind the respective nibbles, so that the 2-LSB parity is distinguishable from the respective nibble. That is, the first nibble 601 is immediately followed by its 2-LSB parity 601(a), which is then followed by the second nibble 602 and its 2-LSB parity 602(a), and so on. Fig. However, in Figure 6B, the nibble symbols 605 (2-LSB parity) associated with the respective nibbles are located behind the data grouping (601 to 604), so that the common nibble symbol is distinguishable from the data grouping. As can be seen, the time required to transmit the data grouping and the nibble symbol was Fig. 6B compared to the Fig. 6A illustrated improved.
[0026] Fig. 7A to Fig. 7B illustrate a nibble sign formed only over the first three least significant bits of each nibble, referred to as 3-LSB. In Fig. 7A, the 3-LSB parity is located behind the respective nibbles, so that the 3-LSB parity is distinguishable from the respective nibble. That is, the first nibble 701 is immediately followed by its 3-LSB parity 701(a), which is then followed by the second nibble 702 and its 3-LSB parity 702(a), and so on. Fig. However, in Figure 7B, the nibble symbols 705 (3-LSB parity) associated with the respective nibbles are located behind the data grouping (701 to 704), so that the common nibble symbol is distinguishable from the data grouping. As can be seen, the time required to transmit the data grouping and the nibble symbol was Fig. 7B opposite the Fig. 7A illustrated improved.
[0027] Fig. 8A to Fig. 8D illustrate the calculation of the nibble sign formed over the data grouping. In the following examples, a parity check is used as the nibble sign. According to the figures, the four data nibbles to be transmitted each have the nibble values 12, 7, 15, and 8, forming a data grouping. The corresponding clock steps for these nibble values are 24, 19, 27, and 20, respectively, and the respective pulses are denoted by elements 801, 802, 803, and 804. A parity is formed over the entire message, that is, over all four nibbles. The parity is then placed after the data grouping. With reference to Fig. 4A: The nibble character located after the data grouping is a common nibble character. That is, the nibble characters of all corresponding nibbles are appended to form a common nibble character located at the end of the data grouping. However, according to the example in Fig. 8A the nibble sign is calculated over all nibbles of the data grouping and placed at the end of the data grouping.
[0028] In Fig. 8B, a 1-LSB parity is formed across each nibble throughout the entire data grouping. The LSBs of data nibbles 12, 7, 15, and 8 are 0, 1, 1, and 0, respectively. The parity is now formed across these LSBs and placed after the data grouping.
[0029] In Fig. 8C, a 2-LSB parity of each nibble is formed across the entire data grouping. The first two LSBs of data nibbles 12, 7, 15, and 8 are 0, 0; 1, 1; 1, 1, and 0, 0, respectively. Now, the parity is formed across these bits, which corresponds to the value 0, which further corresponds to 12 clock steps, represented by element 807. The parity is placed after the data grouping.
[0030] In Fig. 8D, a 3-LSB parity of each nibble is formed across the entire data grouping. The first three LSBs of data nibbles 12, 7, 15, and 8 are 1, 0, and 0; 1, 1, and 1; 1, 1, and 1; and 0, 0, and 0, respectively. Now, the parity is formed across these bits, which corresponds to the value 1, which further corresponds to 13 clock steps, represented by element 808. The parity is placed after the data grouping.
[0031] Fig. 9A to Fig. 9D illustrate the calculation of the nibble sign for the respective nibble, where the nibble sign is appended to the end of the respective nibble and not, as for example in Fig. 4A illustrates the nibble itself, which is distinguishable from the nibble itself. In the following examples, a parity check is used as the nibble indicator. According to the figures, the four data nibbles to be transmitted have nibble values 12, 7, 15, and 8, which form a data grouping. The corresponding clock steps for these nibble values are 24, 19, 27, and 20.
[0032] In Fig. 9A, a parity is formed over each nibble, and the parity is appended to the end of the respective nibble. The first nibble with the nibble value 12 can be represented in binary form as 1100. This has a parity of 0. This parity is appended to the end of the binary number, making it 11000, which corresponds to the nibble value 24. The nibble pulse length, which represents the nibble value, has 36 clock steps, which is determined by element 901 in the Fig. 9A. Similarly, the nibble signs are calculated for the rest of the nibbles in the data grouping.
[0033] In Fig. 9B, a 1-LSB parity is formed over each nibble, and the 1-LSB parity is appended to the end of the respective nibble. The first nibble with the nibble value 12 can be represented in binary form as 1100. This has a 1-LSB parity of 0. This 1-LSB parity is appended to the end of the binary number, making it 11000, which corresponds to the nibble value 24. The nibble pulse length, which represents the nibble value, has 36 clock steps, which is determined by element 905 in Fig. 9B. Similarly, the nibble signs are calculated for the rest of the nibbles in the data grouping.
[0034] In Fig. 9C and Fig. 9D, a 2-LSB parity and a 3-LSB parity are formed over each nibble. The 2-LSB parity is Fig. 9C, and the 3-LSB parity is appended to the end of the respective nibble, and the 3-LSB parity is Fig. 9D defined embodiment is appended to the end of the respective nibble.
[0035] According to another data transmission protocol, a nibble has three bits. Fig. 10A to Fig. 10C illustrate reducing the nibble length to three bits and calculating the nibble sign for each nibble, with the nibble sign appended to the end of each nibble. In the following examples, a parity check is used as the nibble sign. According to the figures, the three 4-bit data nibbles to be transmitted have nibble values 12, 7, and 15. These are represented in binary as 1100, 0111, and 1111. These three 4-bit nibbles are reduced, or converted, to four 3-bit nibbles containing the same information but with a different grouping. The three 4-bit nibbles 1100, 0111, and 1111 grouped together result in a sequence of 12 bits 110001111111. This sequence of 12 bits is now grouped into four 3-bit nibbles 110, 001, 111, and 111. In this way, the three 4-bit nibbles 1100, 0111, and 1111 are regrouped into four 3-bit nibbles 110, 001, 111, and 111.These four 3-bit nibbles together form the data grouping. In . Fig. 10A, a 1-LSB parity is formed over each 3-bit nibble, and the 1-LSB parity is appended to the end of the respective nibble. The first nibble with the binary nibble value 110 can be represented as the nibble value 6. This has a 1-LSB parity of 0. This 1-LSB parity is appended to the end of the binary number, making it 1100, which corresponds to the nibble value 12. The nibble pulse length representing this nibble value has 24 clock steps, which is represented by element 1001 in Fig. 10A. Similarly, the nibble signs for the rest of the 3-bit nibbles in the data grouping are calculated. In such a case, the second, third, and fourth nibbles have nibble values 001, 111, and 111, respectively, which have 1-LSB parity values 1, 1, and 1, respectively. These 1-LSB parity values are appended to the end of the respective nibbles, making them 0011, 1111, and 1111, which correspond to nibble values 3, 15, and 15, respectively. The nibble pulse length representing these nibble values has 15, 27, and 27 clock steps, which is represented by elements 1002, 1003, and 1004, respectively. Fig. 10A is shown.
[0036] In Fig. 10B and Fig. 10C, a 2-LSB parity and a 3-LSB parity are formed over each 3-bit nibble. The 2-LSB parity is used in the Fig. 10B. The first nibble with the binary value 110 can, for example, be represented as nibble value 6. This has a 2-LSB parity of 1 (parity formed by the two least significant bits of the nibble, 1 and 0). The 2-LSB parity is appended to the end of the binary number, making it 1101, which corresponds to nibble value 13. The nibble pulse length representing this nibble value has 25 clock steps, which is represented by element 1006 in Fig. 10B. Similarly, the nibble signs are calculated for the rest of the 3-bit nibbles in the data grouping.
[0037] The 3-LSB parity is used in Fig. 10C. The first nibble with the binary value 110 can, for example, be represented as the nibble value 6. This has a 3-LSB parity of 0 (parity formed by the three least significant bits of the nibble, 1, 1, and 0). The 3-LSB parity is appended to the end of the binary number, making it 1100, which corresponds to the nibble value 12. The nibble pulse length representing this nibble value has 24 clock steps, which is represented by element 1011 in Fig. 10C. Similarly, the nibble signs for the rest of the 3-bit nibbles in the data grouping are calculated.
[0038] In another embodiment, nibble indicators are formed over a different number of least significant bits (LSBs) for other data nibbles in the data grouping. For example, a 3-LSB parity may be formed over the most significant data nibble, a 1-LSB parity may be formed over the least significant data nibble, and a 2-LSB parity may be formed over the other nibbles.
[0039] To better understand the term, the modulo 16 sum is explained below using an example. Consider three numbers: 10, 15, and 20. The sum of these three numbers is 45. The remainder obtained when the sum of the numbers is divided by 16 is called the modulo 16 sum of the numbers. The modulo 16 sum of 10, 15, and 20 is therefore 13, since the remainder obtained when 45 is divided by 16 is 13.
[0040] Furthermore, in another embodiment, the data grouping consists of five data nibbles. The nibble sign, according to one embodiment, is the difference between the modulo-16 sum of the first, third, and fifth nibbles of the data grouping and the modulo-16 sum of the second, fourth, and fifth nibbles of the data grouping. According to Fig. 11, the five data nibbles to be transmitted have nibble values of 4, 2, 10, 8, and 5, corresponding to 16, 14, 22, 20, and 27 clock steps, respectively, represented by elements 1101, 1102, 1103, 1104, and 1105. The modulo-16 sum of the first, third, and fifth nibbles is 13. The modulo-16 sum of the second, fourth, and fifth nibbles is 9. The nibble sign 1106 is the difference between the two modulo-16 sums, which is 4. This corresponds to a pulse with 16 clock steps. The nibble sign is located after the data grouping, so the nibble sign is distinguishable from the data grouping.
[0041] To better understand the term, the modulo 4 sum is explained below using an example. Consider three numbers: 10, 15, and 20. The sum of these three numbers is 45. The remainder obtained when the sum of the numbers is divided by 4 is called the modulo 4 sum of the numbers. The modulo 16 sum of 10, 15, and 20 is therefore 1, since the remainder obtained when 45 is divided by 4 is 1.
[0042] According to Fig. 12, the five data nibbles to be transmitted have nibble values of 4, 2, 10, 8, and 15, corresponding to 16, 14, 22, 20, and 27 clock steps, respectively, represented by elements 1201, 1202, 1203, 1204, and 1205. The modulo-4 sum of the five nibbles is 3, which is represented by the binary number 11. The modulo-4 sum of the first set, which includes the first, third, and fifth nibbles, is 2. The modulo-4 sum of the second set, which includes the second, fourth, and fifth nibbles, is 1. The difference between the modulo-4 sums of the first set and the second set is 1, which is represented by the binary number 01. The nibble sign 1206 is the modulo-4 sum of the five nibbles appended to the difference between the modulo-4 sum of the first set and the second set. The nibble sign in binary form is therefore 1101, which corresponds to the nibble sign value 13, which also corresponds to 25 clock steps.
[0043] While modulo-4 and modulo-16, as well as sums or differences thereof, have been discussed as examples of calculation, other forms of calculating a common nibble sign are conceivable. As a non-limiting example, consider a data grouping consisting of nibbles representing the decimal values 3, 5, 14, 12, and 8 to be transmitted as the data grouping. It is quite conceivable to use negative values for some of the nibbles in the data grouping, for example, the first and fourth values in the data grouping, while leaving the first, third, and fifth values unchanged.Now, if the modulo-16 sum is calculated from the altered data grouping, which represents (as decimals) 3, -5, 14, -12, 8, which is 8 (as a decimal), this value may be transmitted as the common nibble sign if the decimal values 3, 5, 14, 12, and 8 are transmitted as nibbles in the data grouping and / or the common nibble sign. A single-bit error in the channel or line may alter the transmitted nibbles to represent the decimal values 3, 6, 13, 12, and 8, causing a receive interface 300 (discussed in detail below) to calculate the common nibble sign as representing the decimal number 6 instead of the original decimal value of 8. There may be circumstances where such an approach to calculating the common nibble sign does not fully cover all single-bit errors.Such circumstances may occur when an even number of nibbles is to be transmitted as the data grouping, and the common nibble indicator is to detect a bit error related to the calibration or synchronization pulse (see SYNC in . Fig. 15). Under such circumstances, all nibbles in the data grouping may be incremented or decremented by 2 LSB, which may mean that the alternating sign sum is not suitable for detecting such disturbances. For this purpose, a (common) nibble sign can be chosen, taking the modulo-4 sum of the alternating sign values and a modulo-4 sum of non-alternating sign values. Such a method for calculating the (common) nibble sign can be referred to as an "even" or "E" method. It may be possible to show that the non-alternating sign sum is still capable of detecting the single-bit error, as already described.Both methods for calculating the (common) nibble sign are capable of detecting single-bit errors, especially in cases where the data grouping is stored in registers or transmitted on a bus during bus or channel setup before and / or after transmitting the data packet.
[0044] Fig. Figure 14 illustrates a sensor system 150 for which data protection techniques as previously disclosed and in connection with Fig. 1A to 12 may be of interest for protecting sensor data in connection with a sensor system 150. In particular, the data protection techniques may be of interest with respect to a sensor system usable in, but not limited to, the automotive field. Such sensor systems include, for example, a steering angle sensor or steering torque sensor, in which a PWM protocol, such as the SPC protocol, is used to transmit the sensor data from a sensor system 150 via a transmit interface 200 to a receive interface 300. Obviously, the data protection techniques described in this disclosure may also be used for other sensor systems; the angle sensor / torque sensor system is intended to be considered an example for illustrative purposes and in no way limit the teachings of the present disclosure.
[0045] It is of interest to transmit a (i.e., digital) representation of the sensor data using a cable or bus system from the transmit interface 200 to the receive interface 300. It is understood that the sensor system 150 may include a sensor element 155. The sensor element 155 may measure a physical parameter such as, but is not limited to, a rotation angle. In principle, the data protection techniques described above may be used in connection with any sensor system 150 that provides sensor data concerning physical quantity in the digital domain. The disclosed data protection techniques are particularly advantageous when using a channel or bus of relatively low quality and throughput. One practical way to represent the sensor data may be the nibbles described above.The sensor system 150 may include an analog-to-digital (A / D) converter 156 configured to provide a digital representation of the sensor signal acquired in the analog domain. Details of the actual sensor element 155 and / or the A / D converter 156 are not particularly relevant to the teachings of the present disclosure and therefore will not be discussed in detail.
[0046] The sensor system 150 includes a data transmission interface 200. The data transmission interface 200 is configured to provide a data grouping of the sensor signal, as discussed above. Conveniently, the data grouping includes digital representations of individual sensor signals. That is, digital representations of actual values of the physical parameter measured by the sensor element 155. In one embodiment, digital representations of signals as data grouping are nibbles, as explained above, for example, nibbles 801, 802, 803, and 804, as discussed with reference to Fig. 8A and Fig. 8B, due to the simple and cost-effective implementation of the transmitting data transmission interface 200 and the receiving interface 300.
[0047] The data transmission interface 200 is further configured to provide a nibble indicator to at least partially protect digital representations of sensor data (i.e., nibbles) in the data grouping. The nibble indicator may be implemented, without limitation, as a single indicator that is appended to or inserted into a sequence of nibbles (namely, the data grouping). It may be convenient to insert the indicator for a single nibble of the data grouping after a respective data nibble, see, for example, the single indicator 401(a) for the data nibble 401 of Fig. 4A.
[0048] Alternatively or additionally, the Nibble sign can be used as a common sign, for example, sign 405 from Fig. 4B, behind the data grouping, for example behind the nibbles 401 to 404 from Fig. 4B, as already explained on several occasions.
[0049] Furthermore, the data transmission interface 200 may be configured to transmit data packets 201 from the sensor system 150 to a receiving interface 300. For this purpose, the data transmission interface 200 is configured to provide data packets to be transmitted. The data packets may conveniently include the data grouping together with the common and / or individual nibble indication, as described with reference to Fig. 4A to 12. Obviously, the data transmission interface 200 may include any type of storage and / or data processing capability, for example, in the form of a digital signal processor. Additionally or alternatively, the receive interface 300 may be implemented, without limitation, as hardware or software, or a combination thereof, and preferably using a digital signal processor.
[0050] Depending on the circumstances, it may be of interest to represent the data grouping and the nibble sign equally as nibbles. However, the data protection plans according to the present disclosure are not limited to this.
[0051] Those skilled in the art will understand that it is of interest to provide the data packet as a sequence of nibbles, since such a representation—as described in detail above—enables cost-effective implementations of the transmit interface 200, the receive interface 300, and also the line or channel coupling the transmit interface 200 and the receive interface 300. It will further be appreciated that the data protection techniques described herein are of particular interest for improving the robustness of data transmission according to a PWM protocol, preferably the SPC protocol.
[0052] Some advantages of the data protection schemes disclosed herein become apparent in light of the fact that the receive interface 300 receives data packets 201 over a channel or wire from the transmitting data transmission interface 200. Typically, the receive interface 300 may be implemented as part of an electronic control unit 500 configured to receive and / or decode the data packets corresponding to sensor signals from the sensor system 150, but is not limited thereto.
[0053] The receiving interface 300 may further be implemented as a standalone device, as a set of computer-implemented instructions. The receiving interface 300 may be implemented, without limitation, as hardware or software, or a combination thereof, and preferably using a digital signal processor.
[0054] In one embodiment, the receive interface 300 is configured to reconstruct or decode the digital representation of the sensor signal from the data packets 201 received by the data transmission interface 200 of the sensor system 150. In other words, in one embodiment, the receive interface 300 is configured to detect the data grouping and the (common) nibble indication in a single one of the data packets 201 received by the data transmission interface 200, for example, received at the receive interface 300. The combination of the data grouping and the nibble indication can be used by the receive interface 300 to correct errors in a received data grouping. If an error is detected in a given data grouping, the receive interface 300 can take appropriate action.Such action may include, but is not limited to, correcting the detected error in the data grouping, discarding the given data grouping, requesting the sensor system 150, ie, the data transmission interface 200, to retransmit a data packet 201 comprising a new data grouping, invalidating sensor data corresponding to the given data grouping.
[0055] Fig. Figure 15 illustrates how the data protection techniques disclosed herein may be of interest with regard to PWM (Pulse Width Modulation) protocols such as the SENT or SPC protocol. To this end, an effect of various external disturbances on (payload) data transmitted over a line using a PWM protocol will be explained in detail below. An unperturbed signal 160 illustrates an unperturbed data packet 210 (a portion of an unperturbed data packet) to be transmitted over the channel or line over time. It should be noted that the unperturbed signal 160 may comprise a portion of a data packet 210, an entire data packet 210, or multiple data packets 210 and may therefore comprise a complete data grouping or a portion of a data grouping, depending on the circumstances.
[0056] The signal 160 can be divided into a synchronization pulse or section SYNC, a first pulse or first nibble NIBBLE1, and a second pulse or second nibble NIBBLE2. There can be more pulses in the undisturbed signal 160 that are not shown, but are indicated by a section of further nibbles NIBBLES. The data packet can be terminated by a last or stop nibble STOPP. Those skilled in the art will understand that a pulse or nibble length according to SENT or SPC is conveniently calculated from the first falling edge to the last falling edge of a nibble, as is the case with the synchronization pulse SYNC, the first nibble NIBBLE1, the second nibble NIBBLE2, and the further nibbles NIBBLES in Fig. 15 is the case. For the stop nibble STOP, it may be convenient to actively pull up the line with the help of the transmitting entity, for example the data transmission device, so that subsequent nibbles can again be calculated from falling edge to falling edge.
[0057] The diagrams A to H in Fig. 15 illustrate disturbances 10a to 10h that may occur at different times and affect the undisturbed signal 160, resulting in disturbed signals 160a to 160h that include disturbances 165a to 165h. Each of these disturbances 165a to 165h may have different effects on the integrity of signals 160a to 160h.
[0058] Consider Case A, where a positive perturbation 16a affects the undisturbed signal 160, and a disturbed signal 160a is generated, including a perturbation 165a. The positive perturbation 165a has no effect on any timing in the data packet 210, since the length of individual pulses for the SENT or SPC protocol is calculated between falling edges. Therefore, the perturbation 165a has essentially no effect on the data packet 210 or any individual nibbles contained therein. Consequently, the receive interface 300 is able to correctly decode all nibbles in the data grouping, as well as the (common) nibble indicator.
[0059] Next, consider case B of a negative disturbance 10b affecting the undisturbed signal 160, and generate a disturbed signal 160b that includes a disturbance 165b. The negative disturbance 165a results in an incorrect frame count because the negative disturbance 165b introduces another falling one, which is interpreted as an end of the synchronization pulse SYNC. However, such a disturbance would be detected because it results in an incorrect frame count. The frame count of a nibble containing a decimal value such as 7 (see nibble 402 in Fig. 4A and Fig. 4B) is given by the tick count value for the entire nibble 402 of 19 ticks, since a difference of clock steps between the entire nibble length and the represented (digital) value is 12. Therefore, such a disturbance by an incorrect frame count value at the receive interface 300 between the SYNC and STOP nibbles is detected, and appropriate measures may be taken.
[0060] Next, consider case C of a positive disturbance 10c affecting the undisturbed signal 160, thus generating a disturbed signal 160c including a disturbance 165c. The positive disturbance 165a results in a shift of the first falling edge of the synchronization pulse SYNC, causing the SYNC nibble to become longer. However, such an error can be detected using a length check between the SYNC nibble and the STOP nibble. Within certain limits, nibbles in the data grouping may still be decoded correctly at the receive interface 300, since all nibble pulses may be increased or decreased by one tick.The receive interface 300 may therefore take appropriate action to either correct the received nibbles in the data message or data grouping, invalidate values matching the received nibbles, request a new data packet to be sent, but is not limited to this.
[0061] Consider now case D of a negative disturbance 10d affecting the undisturbed signal 160, producing a disturbed signal 160d comprising disturbance 165d. The negative disturbance 165d results in an incorrect frame count because the negative disturbance 165d introduces another falling edge, which is interpreted as an early start of the synchronization pulse SYNC. Regarding case C, within certain limits, nibbles in the data grouping may still be decoded correctly at the receive interface 300, since all nibble pulses may be increased or decreased by one tick. The receive interface 300 and / or an ECU 500 (ECU = electronic control unit) may take appropriate action.
[0062] Consider now case E of a positive disturbance 10e affecting the undisturbed signal 160, thus generating a disturbed signal 160e comprising a disturbance 165e. The positive disturbance 165e results in a shift of the second falling edge of the synchronization pulse SYNC, causing the SYNC nibble to become longer. However, such an error can be detected using a length check between the SYNC nibble and the STOP nibble, which is corrected by minus one tick. Within certain limits, multi-bit errors in nibbles included in the data grouping may still be correctly decoded at the receive interface 300, since all nibble pulses may be increased or decreased by one tick, while one nibble may not change in length.The receive interface 300 may therefore take appropriate action to either correct the received nibbles in the data message or data grouping, invalidate values matching the received nibbles, request a new data packet to be sent, but is not limited to this.
[0063] Consider now case F of a negative disturbance 10f affecting the undisturbed signal 160, thus generating the disturbed signal 160f, which includes disturbance 165f. The negative disturbance 165f results in a shift of the second falling edge of the synchronization pulse SYNC, causing the SYNC nibble to become longer. However, such an error can be detected using a length check between the SYNC nibble and the STOP nibble, which is corrected by minus one tick. Within certain limits, multi-bit errors in nibbles in the data grouping may still be decoded correctly at the receive interface 300, since all nibble pulses may be increased or decreased by one tick, while one nibble may not change in length.The receive interface 300 may therefore take appropriate action to either correct the received nibbles in the data message or data grouping, invalidate values matching the received nibbles, request a new data packet to be sent, but is not limited to this.
[0064] Consider now case G of a positive perturbation 10g affecting the undisturbed signal 160, thus generating the disturbed signal 160g, which includes the perturbation 165g. The positive perturbation 165g results in a shift of the second falling edge of the exemplary nibble pulse NIBBLE1, causing the NIBBLE1 nibble to become longer, while the subsequent nibble NIBBLE2 is shortened by one tick. Therefore, NIBBLE1 is increased by 1 LSB, while NIBBLE2 is decreased by 1 LSB.
[0065] Similarly, in case H, however, a negative perturbation 10h affects the undisturbed signal 160, thus generating the disturbed signal 160h, which includes the perturbation 165h. The negative perturbation 165h results in a shift of the second falling edge of the exemplary nibble pulse NIBBLE1, making NIBBLE1 shorter while lengthening the subsequent nibble NIBBLE2 by one tick. Therefore, NIBBLE1 is decreased by 1 LSB while NIBBLE2 is increased by 1 LSB.
[0066] Similarly, errors such as those in cases G and H may only be detectable to a certain extent using a protocol that uses timing checks. Such an error may only be detected to a certain extent using a length check with consecutive nibble pulses. Within certain limits, multi-bit errors in nibbles included in the data grouping may still be correctly decoded at the receive interface 300. Detectable multi-bit errors in individual nibbles may be increased by using a checksum with alternating signs as a common nibble sign, as described above.The receive interface 300 may therefore take appropriate action to either correct the received nibbles in the data message or data grouping, invalidate values matching the received nibbles, request a new data packet to be sent, but is not limited to this.
[0067] Fig. 16A and Fig. 16B illustrate a method 1600 for transmitting protected sensor data or sensor signals. Those skilled in the art will readily appreciate that data protection, as described in the present disclosure, may be of interest for protecting sensor signals transmitted using a PWM protocol, such as the SENT or SPC protocol.
[0068] The method 1600 for transmitting further comprises a step 1610 of providing sensor data, wherein in one embodiment the sensor data may be provided in a digital format, for example, as nibbles, but not limited thereto.
[0069] The method further includes a step 1620 of generating a data grouping comprising one or more nibbles representing values of individual sensor data. Without limitation, one or more nibbles in the data grouping may represent portions of a sensor value.
[0070] The method 1600 may further include a step 1630 of generating a nibble sign. As previously explained, the nibble sign may be a single nibble sign or a shared nibble sign.
[0071] The method 1600 may further comprise a step 1640 of forming a data packet, namely the data packet 201, which is sent from the data transmission interface 200 of the sensor system 150 to the receiving interface 300 of the control unit or ECU 500 (see Fig. 14) is to be transferred.
[0072] After step 1640 of forming the data packet 210, the data packet 210 may be transmitted in a step 1650 over a line or channel as previously described.
[0073] The method 1600 may further include a step 1645 of receiving a synchronization pulse prior to the step 1650 of transmitting.
[0074] Fig.16B illustrates further aspects of step 1630 of generating the nibble sign. Step 1630 may include a step 1631 of using a particular protection plan to generate the nibble sign. The generation of nibble signs may be based on parity calculations, modulo-x sum calculations, mixed modulo-x and modulo-y sum calculations, which were previously discussed as combinations of modulo-4 and modulo-16 sum calculations. Furthermore, a checksum, or in particular, a checksum with alternating signs, may be used to generate the nibble sign.
[0075] Nibble generation may further include a step 1632 of creating a single nibble sign. The calculation of the nibble sign may vary depending on the selected protection plan. Alternatively, the method may include a step 1634 of generating a common nibble sign. The common nibble sign may vary depending on the selected protection plan. Those skilled in the art will understand that the step 1630 of generating nibble signs may change from single nibble signs to common nibble signs depending on circumstances and requirements.
[0076] Although the invention has been illustrated and described with reference to one or more embodiments, changes and / or modifications may be made to the illustrated examples without departing from the spirit and scope of the appended claims.
[0077] The term "computer-readable media" is used herein to include computer-readable storage media and data transmission media. Computer-readable storage media includes volatile and non-volatile, removable and non-removable media implemented using any method or technology for tangibly storing information, such as computer-readable instructions or other data. Data storage devices or memory disclosed herein are examples of computer-readable storage media.Computer storage media includes, but is not limited to, RAM (random access memory), ROM (read-only memory), EEPROM (electrically erasable programmable ROM), flash memory or other storage technologies, CD-ROM, DVDs (digital versatile disks) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information.
[0078] The term "computer-readable media" may also include data transmission media. Data transmission media typically embody computer-readable instructions or other data that can be conveyed in a "modulated data signal," such as a carrier wave or other transport mechanism, and includes any information delivery medium. The term "modulated data signal" may include a signal in which one or more characteristics are fixed or modified in such a way that information is encoded in the signal.
[0079] One or more of the described operations may represent computer-readable instructions stored on one or more computer-readable media that, when executed by a computing device, cause the computing device to perform the described operations. The order in which some or all of the operations are described should not be construed to imply that these operations necessarily depend on any order. Those skilled in the art, having the benefit of this description, will recognize alternative orders. It is further understood that not all operations are necessarily present in every embodiment provided herein.
[0080] Furthermore, with particular reference to the various functions performed by the components or structures (assemblies, devices, circuits, systems, etc.) described above, the terms used to describe such components (including a reference to a "means") are intended, unless otherwise specified, to correspond to any component or structure that performs the stated function of the described component (e.g., that is functionally equivalent), even if it is not structurally equivalent to the disclosed structure that performs the function in the example implementations illustrated herein.Furthermore, while a particular feature may be disclosed with reference to only one of several implementations, such a feature may be combined with one or more other features of the other implementations as desired and advantageous for any given or particular application. To the extent the terms "including," "containing," "having," "comprising," "having," or "with," or variations thereof are used in the detailed description or claims, such terms are intended to be inclusive in a manner similar to the term "comprising."
Claims
[1] A sensor system (150) configured to transmit at least partially protected sensor data via a data transmission interface (200), the sensor system (150) comprising: a sensor element (155) configured to provide sensor data in a digital domain; a data transmission interface (200) communicatively coupled to the sensor element (155), wherein the data transmission interface (200) is configured to generate a data packet (210) from the sensor data for transmission via the data transmission interface (200), wherein the data packet (210) comprises: a data grouping (601-604) comprising one or more nibbles (401-404; 501-504) associated with the sensor data, and a nibble sign (401(a)-404(a); 501(a)-504(a)) based on at least a portion of selected nibbles (401-404; 501-504) in the data grouping (601-604); wherein the nibble sign (401(a)-404(a); 501(a)-504(a)) is generated according to a protection plan associated with the portion of selected nibbles (401-404; 501-504), and wherein the portion is selected exclusively from the least significant bit, LSB, of the respective selected nibble (401-404; 501-504), exclusively the two LSBs of the respective selected nibble (401-404; 501-504) or exclusively the three LSBs of the respective nibble (401-404; 501-504). [2] The sensor system (150) of claim 1, wherein the data transmission interface (200) is configured to transmit the data packet (210) in response to receiving a synchronization signal sent from a receiving interface, the receiving interface being configured to receive the data packets (210). [3] Sensor system (150) according to claim 1 or 2, wherein the protection plan is selectable from a parity check, a cyclic redundancy check, CRC, a Hamming code, a turbo code or a low density parity check, LDPC. [4] The sensor system (150) of any one of claims 1 to 3, wherein the data transmission interface (200) is configured to place a single nibble indicator (401(a)-404(a); 501(a)-504(a)) for a selected nibble (401-404; 501-504) in the data grouping (601-604) behind the selected nibble (401-404; 501-504) such that the single nibble indicator (401(a)-404(a); 501(a)-504(a)) is distinguishable from the selected nibble (401-404; 501-504) in the data packet (210). [5] The sensor system (150) of any one of claims 1 to 4, wherein the data transmission interface (200) is configured to place a common nibble indicator (401(a)-404(a); 501(a)-504(a)) for the selected nibbles (401-404; 501-504) behind the data grouping (601-604) such that the common nibble indicator (401(a)-404(a); 501(a)-504(a)) is distinguishable from the data grouping (601-604). [6] The sensor system (150) of any one of claims 1 to 5, wherein the data transmission interface (200) is configured to append the nibble indicator (401(a)-404(a); 501(a)-504(a)) to the end of the nibble (401-404; 501-504). [7] Sensor system (150) according to one of claims 3 to 6, wherein the nibble (401-404; 501-504) represents a three-bit value of sensor data. [8] The sensor system (150) of claim 7, wherein the data transmission interface (200) is configured to append the nibble indicator (401(a)-404(a); 501(a)-504(a)) to the end of the nibble (401-404; 501-504). [9] Sensor system (150) according to one of claims 1 to 8, wherein the nibble indication (401(a)-404(a); 501(a)-504(a)) is associated with the at least a portion of the data grouping (601-604) excluding at least one most significant bit, MSB, of the nibbles (401-404; 501-504) in the data grouping (601-604). [10] Sensor system (150) according to one of claims 1 to 9, wherein the nibble indicator (401(a)-404(a); 501(a)-504(a)) for different nibbles is associated with a different number of LSBs of the nibbles (401-404; 501-504) in the data grouping (601-604). [11] Sensor system (150) according to one of claims 1 to 10, wherein the data grouping (601-604) comprises five nibbles (401-404; 501-504). [12] Sensor system (150) according to claim 11, where the nibble sign (401(a)-404(a); 501(a)-504(a)) is the difference between the modulo 16 sum of the first, third and fifth nibbles (401-404; 501-504) of the data grouping (601-604) and the modulo 16 sum of the second, fourth and fifth nibbles (401-404; 501-504) of the data grouping (601-604), and wherein the data transmission interface (200) is configured to place the nibble indicia (401(a)-404(a); 501(a)-504(a)) behind the data grouping (601-604) such that the nibble indicia (401(a)-404(a); 501(a)-504(a)) is distinguishable from the data grouping (601-604). [13] Sensor system according to claim 11, where the nibble sign (401(a)-404(a); 501(a)-504(a)) is the modulo 4 sum of all nibbles (401-404; 501-504) in the data grouping (601-604) to which the difference between the modulo 4 sum of the first, third and fifth nibbles (401-404; 501-504) and the modulo 4 sum of the second, fourth and fifth nibbles of the data grouping (601-604) has been appended, and wherein the data transmission interface (200) is configured to place the nibble indicia (401(a)-404(a); 501(a)-504(a)) behind the data grouping (601-604) such that the nibble indicia (401(a)-404(a); 501(a)-504(a)) is distinguishable from the data grouping (601-604). [14] A sensor system (150) configured to transmit at least partially protected sensor data via a data transmission interface (200), the sensor system (150) comprising: a sensor element (155) configured to provide sensor data in a digital domain; a data transmission interface (200) communicatively coupled to the sensor element (155), wherein the data transmission interface (200) is configured to generate a data packet (210) from the sensor data for transmission via the data transmission interface (200), wherein the data packet (210) comprises: a data grouping (601-604) comprising one or more nibbles (401-404; 501-504) associated with the sensor data, and a nibble indication (401(a)-404(a); 501(a)-504(a)) based on at least a portion of selected nibbles (401-404; 501-504) in the data grouping (601-604); wherein the nibble sign (401(a)-404(a); 501(a)-504(a)) for different nibbles is associated with a different number of LSBs of the nibbles (401-404; 501-504) in the data grouping (601-604). [15] A sensor system (150) configured to transmit at least partially protected sensor data via a data transmission interface (200), the sensor system (150) comprising: a sensor element (155) configured to provide sensor data in a digital domain; a data transmission interface (200) communicatively coupled to the sensor element (155), wherein the data transmission interface (200) is configured to generate a data packet (210) from the sensor data for transmission via the data transmission interface (200), wherein the data packet (210) comprises: a data grouping (601-604) comprising one or more nibbles (401-404; 501-504) associated with the sensor data, and a nibble indication (401(a)-404(a); 501(a)-504(a)) based on at least a portion of selected nibbles (401-404; 501-504) in the data grouping (601-604); wherein the data grouping (601-604) comprises five nibbles (401-404; 501-504); and where the nibble sign (401(a)-404(a); 501(a)-504(a)) is the difference between the modulo 16 sum of the first, third and fifth nibbles (401-404; 501-504) of the data grouping (601-604) and the modulo 16 sum of the second, fourth and fifth nibbles (401-404; 501-504) of the data grouping (601-604), and wherein the data transmission interface (200) is configured to place the nibble indicator (401(a)-404(a); 501(a)-504(a)) behind the data grouping (601-604) such that the nibble indicator (401(a)-404(a); 501(a)-504(a)) is distinguishable from the data grouping (601-604); or where the nibble sign (401(a)-404(a); 501(a)-504(a)) is the modulo 4 sum of all nibbles (401-404; 501-504) in the data grouping (601-604) to which the difference between the modulo 4 sum of the first, third and fifth nibbles (401-404; 501-504) and the modulo 4 sum of the second, fourth and fifth nibbles of the data grouping (601-604) has been appended, and wherein the data transmission interface (200) is configured to place the nibble indicia (401(a)-404(a); 501(a)-504(a)) behind the data grouping (601-604) such that the nibble indicia (401(a)-404(a); 501(a)-504(a)) is distinguishable from the data grouping (601-604). [16] Method for transmitting at least partially protected sensor data via a data transmission interface (200), the method comprising the steps of: Providing sensor data in a digital form; Creating a data grouping (601-604) comprising one or more nibbles (401-404; 501-504) associated with the sensor data; Generating a nibble indication (401(a)-404(a); 501(a)-504(a)) based on at least a portion of selected nibbles (401-404; 501-504) in the data grouping (601-604); Forming a data packet (210) from the data grouping (601-604) and the nibble character (401(a)-404(a); 501(a)-504(a)) and Transmitting the data packet (210) via the data transmission interface (200); such that the nibble sign (401(a)-404(a); 501(a)-504(a)) is generated according to a protection plan associated with the portion of the selected nibbles (401-404; 501-504), and such that the portion is selected exclusively from the least significant bit, LSB, of the respective selected nibble (401-404; 501-504), exclusively the two LSBs of the respective selected nibble (401-404; 501-504) or exclusively the three LSBs of the respective nibble (401-404; 501-504). [17] The method of claim 16, further comprising: Receiving a synchronization signal and Transmitting the data packet (210) in response to the received synchronization signal. [18] The method of claim 17, wherein the synchronization signal comprises an addressing delay selectable to indicate an operating mode of the sensor or selectable to address a single sensor of a plurality of sensors communicatively coupled to the data transmission interface (200). [19] The method of any one of claims 16 to 18, wherein generating the nibble indication (401(a)-404(a); 501(a)-504(a)) comprises applying a protection plan selected from a parity check, a cyclic redundancy check, CRC, a Hamming code, a turbo code, or a low density parity check, LDPC. [20] The method of any one of claims 16 to 19, wherein generating the nibble indicia (401(a)-404(a); 501(a)-504(a)) comprises generating a single nibble indicia (401(a)-404(a); 501(a)-504(a)) for at least one selected nibble (401-404; 501-504) in the data grouping (601-604) such that the single nibble indicia (401(a)-404(a); 501(a)-504(a)) is distinguishable from the at least one selected nibble (401-404; 501-504). [21] The method of any one of claims 16 to 19, wherein generating the nibble indicator (401(a)-404(a); 501(a)-504(a)) comprises generating a common nibble indicator (401(a)-404(a); 501(a)-504(a)) for more than one selected nibble (401-404; 501-504) in the data grouping (601-604) such that the common nibble indicator (401(a)-404(a); 501(a)-504(a)) is distinguishable from the at least one selected nibble (401-404; 501-504). [22] Method for transmitting at least partially protected sensor data via a data transmission interface (200), the method comprising the steps of: Providing sensor data in a digital form; Creating a data grouping (601-604) comprising one or more nibbles (401-404; 501-504) associated with the sensor data; Generating a nibble indication (401(a)-404(a); 501(a)-504(a)) based on at least a portion of selected nibbles (401-404; 501-504) in the data grouping (601-604); Forming a data packet (210) from the data grouping (601-604) and the nibble character (401(a)-404(a); 501(a)-504(a)) and Transmitting the data packet (210) via the data transmission interface (200); such that the nibble sign (401(a)-404(a); 501(a)-504(a)) for different nibbles is associated with a different number of LSBs of the nibbles (401-404; 501-504) in the data grouping (601-604). [23] Method for transmitting at least partially protected sensor data via a data transmission interface (200), the method comprising the steps of: Providing sensor data in a digital form; Creating a data grouping (601-604) comprising one or more nibbles (401-404; 501-504) associated with the sensor data; Generating a nibble indication (401(a)-404(a); 501(a)-504(a)) based on at least a portion of selected nibbles (401-404; 501-504) in the data grouping (601-604); Forming a data packet (210) from the data grouping (601-604) and the nibble character (401(a)-404(a); 501(a)-504(a)) and Transmitting the data packet (210) via the data transmission interface (200); so that the data grouping (601-604) comprises five nibbles (401-404; 501-504); and such that the nibble sign (401(a)-404(a); 501(a)-504(a)) is the difference between the modulo 16 sum of the first, third, and fifth nibbles (401-404; 501-504) of the data grouping (601-604) and the modulo 16 sum of the second, fourth, and fifth nibbles (401-404; 501-504) of the data grouping (601-604), and such that the data transmission interface (200) is configured to place the nibble character (401(a)-404(a); 501(a)-504(a)) behind the data grouping (601-604) such that the nibble character (401(a)-404(a); 501(a)-504(a)) is distinguishable from the data grouping (601-604); or such that the nibble sign (401(a)-404(a); 501(a)-504(a)) is the modulo-4 sum of all nibbles (401-404; 501-504) in the data grouping (601-604) to which the difference between the modulo-4 sum of the first, third, and fifth nibbles (401-404; 501-504) and the modulo-4 sum of the second, fourth, and fifth nibbles of the data grouping (601-604) has been appended, and such that the data transmission interface (200) is configured to place the nibble indicia (401(a)-404(a); 501(a)-504(a)) behind the data grouping (601-604) such that the nibble indicia (401(a)-404(a); 501(a)-504(a)) is distinguishable from the data grouping (601-604). [24] The sensor system (150) of claim 2, wherein the synchronization signal comprises a selectable delay.
Citation Information
Patent Citations
Systems and methods for high speed serial encoding and decoding for data and control interfaces
US20030192006A1
Systems and Methods for Synchronizing Sensor Data
US20120158335A1