SLUA963B June 2020 – October 2022 UCC21710-Q1 , UCC21732-Q1 , UCC5870-Q1
SPI input and output data integrity is monitored as well as register data content. This is to ensure proper communications and storage of data for setting driver parameters and functions.
When the UCC5870-Q1 transitions to the ACTIVE state, the contents of configuration and control registers are protected by CRC engine. The configuration CRC is enabled using the proper Configuration bit. The various registers protected by the CRC are outlined in the datasheet. The CRC fault detection is performed every tCRCCFG (typically 1 ms). If the calculated CRC checksum for the configuration registers does not match the CRC checksum calculated upon entering the Active state, Status bits are set and, if unmasked, the nFLT1 output goes low. Additionally, for the secondary side CRC failure, the driver output is forced to the state pre-defined in a Configuration register. Diagnostics for the CRC check are also available. A Control Register can be commanded to induce a CRC error on the primary or secondary side.
The CRC that checks for SPI transfer are continuously updated as SPI traffic is received/sent. The CRC is updated with every 16-bits that are received. In this set of commands, the configuration is updated and compared on that command.
The SDI CRC checksum data is continuously calculated as SPI data frames are received. Once the MCU writes to the to CRC Data Transmission (TX) bits, this triggers a comparison of the data in the CRC TX bits with the internally calculated CRC. Once the comparison is complete, the CRC calculation logic is reset. When there is a mismatch between CRC TX data and CRC calculated internally, the Status bit is set and, if unmasked, the nFLT1 output pulls low and the output is set based on the pre-configured register setting.
The SDO CRC checksum is continuously calculated as data is clocked out of SDO. The resulting CRC is stored in the CRC Receive (RX) Data bits. The bits are updated whenever chip select, nCS, transitions from low to high. The CRC calculation logic is reset when the CRC RX bits are read.
After each power up, the UCC5870-Q1 performs a TRIM CRC check on the internal non-volatile memory on both the primary and secondary sides. If the calculated CRC checksum does not match the CRC checksum stored in the internal TRIM memory, Status bits are set and, if unmasked, the nFLT1 output goes low. Additionally for the secondary side CRC failure, the driver output is forced to the pre-defined state.