ZHCSKK3B December 2019 – February 2022 TPS6594-Q1
PRODUCTION DATA
For safety applications, the TPS6594-Q1 supports read and write protocols with embedded CRC data fields. The TPS6594-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 TPS6594-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 TPS6594-Q1 compares this calculated checksum with the R_CRC checksum value which it receives from the MCU. The TPS6594-Q1 also uses the above mentioned CRC-8 polynomial to calculate the R_CRC checksum value based on every bit except the ACK and NACK bits, which the TPS6594-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, which the MCU receives from the TPS6594-Q1. The MCU must compare this calculated checksum with the T_CRC checksum value which it receives from the TPS6594-Q1.
For the SPI interface, the TPS6594-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 TPS6594-Q1 compares this calculated checksum with the R_CRC checksum value, which 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 TPS6594-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 TPS6594-Q1, and compare it with the T_CRC checksum value which it receives from the TPS6594-Q1.
Figure 8-51 and Figure 8-52 are examples for the 8-bit R_CRC and the T_CRC calculation from 16-bit databus.