SNVSC07A June 2021 – September 2022 LP876242-Q1
PRODUCTION DATA
For safety applications, the LP876242-Q1 supports read and write protocols with embedded CRC data fields. The LP876242-Q1 uses a standard CRC-8 polynomial to calculate the checksum value: X8 + X2 + X + 1. The CRC algorithm details are as follows:
For I2C Interface, the LP876242-Q1 uses the above mentioned CRC-8 polynomial to calculate the checksum value on every bit except the ACK and NACK bits it receives from the MCU during a write protocol. The LP876242-Q1 compares this calculated checksum with the R_CRC checksum value that it receives from the MCU. The LP876242-Q1 also uses the above mentioned CRC-8 polynomial to calculate the T_CRC checksum value during a read protocol. This T_CRC checksum value is based on every bit that the LP876242-Q1 receives, except the ACK and NACK bits and except the repeated I2C_ID bits, and the data that the LP876242-Q1 transmits to the MCU during a read protocol. The MCU must use this same CRC-8 polynomial to calculate the checksum value based on the bits that the MCU receives from the LP876242-Q1. The MCU must compare this calculated checksum with the T_CRC checksum value that it receives from the LP876242-Q1.
For the SPI interface, the LP876242-Q1 uses the above mentioned CRC-8 polynomial to calculate the checksum value on every bit it receives from the MCU during a write protocol. The LP876242-Q1 compares this calculated checksum with the R_CRC checksum value, that it receives from the MCU. During a read protocol, the device also uses the above mentioned CRC-8 polynomial to calculate the T_CRC checksum value based on the first 16 bits sent by the MCU, and the next 8 bits the LP876242-Q1 transmits to the MCU. The MCU must use this same CRC-8 polynomial to calculate the checksum value based on the bits which the MCU sends to and receives from the LP876242-Q1, and compare it with the T_CRC checksum value that it receives from the LP876242-Q1.
Figure 7-46 and Figure 7-47 are examples for the 8-bit R_CRC and the T_CRC calculation from 16-bit databus.