This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

BQ76952: CRC-8 Calculation Mismatch with TRM Example

Part Number: BQ76952

Tool/software:

Hi TI Support Team,

I am trying to verify the CRC-8 calculation for the BQ76952. Based on the TRM example, when writing 0x307A to address 0x9180, the expected CRC-8 should be 0x44.

I assumed the CRC should be calculated over the following byte sequence:
[ 0x80, 0x91, 0x7A, 0x30 ]

However, when I compute the CRC-8 , I get 0x43 instead of 0x44.

Could you clarify which bytes should be included in the CRC calculation? Is there any additional step that I may be missing?

Thanks.

  • Hello Tom,

    0x44 is not the expected CRC-8 there, but instead the checksum. The checksum is the complement of the sum of the address and data bytes. In this case the checksum 0x44 is the NOR(0x80 + 0x91 + 0x7A +0x30).

    Section 4 I2C with CRC from Software Development Guide shows a good example of a CRC calculation.

    Best Regards,
    Alexis

  • Hi Alexis,

    Thank you for your reply.

    Additionally, I would like to ask whether the CheckSum calculation method you mentioned is documented in the TRM or any other documents. I only found the CRC8 calculation method.

    Thanks!

  • Hello Tom,

    Yes, the method is documented in the TRM and the Software Development Guide. It can be found in Section 3.1 Direct Commands and Subcommands of the TRM and Section 3.3 Write ‘Enabled Protections A’ in the Software Development Guide.





    Best Regards,
    Alexis