Other Parts Discussed in Thread: TMAG5173-Q1
We are using the TMAG5273 sensor. We would like to use the CRC feature (CRC_EN=1), and we follow the arithmetic given in section 7.5.1.3.6 of the datasheet (SLYS045A) to validate the checksum.
The checksum appears correct the first time around only; for subsequent reads, we are unable to validate the checksum.
For example:
- The first time, we receive 0x00 0x09 0x00 0x18 0x00 0x2B 0xB1 0x52, where the last byte is the CRC. Following the algorithm to compute the checksum over the command byte (0x6B) and first seven bytes gives us the expected result 0x52.
- The second time, we receive 0x00 0x13 0x00 0x13 0x00 0x2F 0x91 0xDA. Using the same algorithm gives a CRC of 0xEF, which does not match the transmitted value of 0xDA.
- The third time, we receive 0x00 0x0D 0x00 0x19 0x00 0x2A 0x31 0x49, where again the CRC does not match.
Is there anything that we might have overlooked?