JAJSSA9 November 2023 DAC61401 , DAC81401
PRODUCTION DATA
If the device is used in a noisy environment, error checking can be used to check the integrity of SPI data communication between the device and the host processor. This feature is enabled by setting the CRC-EN bit in the SPICONFIG register.
The error checking scheme is based on the CRC-8-ATM (HEC) polynomial: x8 + x2 + x + 1 (100000111). When error checking is enabled, the serial interface access cycle width is 32 bits. The normal 24-bit SPI data are appended with an 8-bit CRC polynomial by the host processor before feeding the data to the device. In all serial interface readback operations, the CRC polynomial is output on the SDO pin as part of the 32-bit cycle.
BIT | FIELD | DESCRIPTION |
---|---|---|
31 | R/W | Identifies the communication
as a read or write command to the address register. R/W = 0 sets a write operation. R/W = 1 sets a read operation. |
30 | CRC-ERROR | Reserved bit. Set to zero. |
29:24 | A[5:0] | Register address. Specifies the register to be accessed during the read or write operation. |
23:8 | DI[15:0] | Data cycle bits. If a write command, the data cycle bits are the values to be written to the register with address A[5:0]. If a read command, the data cycle bits are don't care values. |
7:0 | CRC | 8-bit CRC polynomial. |
The device decodes the 32-bit access cycle to compute the CRC remainder on SYNC rising edges. If no error exists, the CRC remainder is zero and data are accepted by the device.
A write operation failing the CRC check causes the data to be ignored by the device. After the write command, a second access cycle can be issued to determine the error checking results (CRC-ERROR bit) on the SDO pin.
If there is a CRC error, the CRC-ALM bit of the STATUS register is set to 1. The FAULT pin can be configured to monitor a CRC error by setting the CRCALM-EN bit in the SPICONFIG register.
BIT | FIELD | DESCRIPTION |
---|---|---|
31 | R/W | Echo R/W from previous access cycle (R/W = 0). |
30 | CRC-ERROR | Returns a 1 when a CRC error is detected, otherwise returns a 0. |
29:24 | A[5:0] | Echo address from previous access cycle. |
23:8 | DO[15:0] | Echo data from previous access cycle. |
7:0 | CRC | Calculated CRC value of bits 31:8. |
A read operation must be followed by a second access cycle to get the requested data on the SDO pin. The error check result (CRC-ERROR bit) from the read command is output on the SDO pin.
As in the case of a write operation failing the CRC check, the CRC-ALM bit of the STATUS register is set to 1, and the FAULT pin, if configured for CRC alerts, is set low.
BIT | FIELD | DESCRIPTION |
---|---|---|
31 | R/W | Echo R/W from previous access cycle (R/W = 1). |
30 | CRC-ERROR | Returns a 1 when a CRC error is detected, otherwise returns a 0. |
29:24 | A[5:0] | Echo address from previous access cycle. |
23:8 | DO[15:0] | Readback data requested on previous access cycle. |
7:0 | CRC | Calculated CRC value of bits 31:8. |