Hello,
I am working with the TLC6C5816-Q1 and want to use in our product. But in the chapter 7.3.9.3 Shift-Register Communication-Fault Detection I can't calculate the CRC of the Communication-Fault message. I calculate the CRC using the CRC calculator, but it is not consistent with the CRC in manual. In the manual it's description and example is as, I calculated the CRC of 0xD70F68 using the x^6 + x +1 is 0x07, but the manual says its crc is 0x19.
Polynomial: x^6 + x +1
The TLC6C5816-Q1 device also checks the configuration register for faulty commands.
The TLC6C5816-Q1 configuration register consists of 24 bits. To generate the CRC checksum, the device first
shifts left 6 bits and appends 0s, then bit-wise exclusive-ORs the 30 data bits with the polynomial to get the
checksum.
For example, if the configuration data is 0xD70F68 and the polynomial is 0x43 (7’b1000011), the CRC
checksum is 0x19 (6’b011001).
The MCU can read back the CRC checksum and append it to the LSB of 24 bits, and then the 30 bits of data
becomes 0x35C3 DA19. Performing the bit-wise exclusive-OR operation with the polynomial should lead to a
residual of 0.
What's wrong? So do you have sample code to calculate the CRC6 of the 24bit register?