SBAS928C February 2020 – September 2023 ADS7066
PRODUCTION DATA
The cyclic redundancy check (CRC) is an error checking code that detects communication errors to and from the host. CRC is the division remainder of the data payload bytes by a fixed polynomial. The data payload is two or three bytes, depending on the output data format; see the Output Data Format section for details on output data format. The CRC mode is optional and is enabled by the CRC_EN bit in the GENERAL_CFG register.
The CRC data byte is the 8-bit remainder of the bitwise exclusive-OR (XOR) operation of the argument by a CRC polynomial. The CRC polynomial is based on the CRC-8-CCITT: X8 + X2 + X1 + 1. The nine binary polynomial coefficients are: 100000111. The CRC calculation is preset with 1 data values. For more details about the CRC implementation and for a software example, see the Implementation of CRC for ADS7066 application report.
The host must compute and append the appropriate CRC to the command string in the same SPI frame (see the Register Read/Write Operation section). The ADC also computes the expected CRC corresponding to the payload received from the host and compares the calculated CRC code to the CRC received from the host. The CRC received from the host and the CRC calculated by the ADC over the received payload are compared to check for an exact match.
CRC ERROR NOTIFICATION | CONFIGURATION | DESCRIPTION |
---|---|---|
Status flags | APPEND_STATUS = 10b | 4-bit status flags, containing the CRCERR_IN bit appended to the ADC data; see the Output Data Format section for details. |
Register read | — | Read the CRCERR_IN bit to check if a CRC error was detected. |
For a conversion data read or register data read, the ADC responds with a CRC that is computed over the requested data payload bytes. The response data payload is one, two, or three bytes depending on the data operation (see the Output CRC (Device to Host) section).