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.

BQ34110: What is the difference between SUBCOMMANDs ALL_DF_SUM and STATIC_DF_SUM?

Part Number: BQ34110
Other Parts Discussed in Thread: BQSTUDIO,

Hello, what is the difference between these two subcommands? I didn't see it documented in the TRM.

How do I read these values using bqStudio? These fields report as 0x0000 in bqStudio (Data Memory : Configuration : Integrity Data)

Which value do I read to verify that the parameters in the gauge haven't changed? Also for these parameters, are they 8 bit values or 16 bit values?

  • Hi Derek,

    There are MAC commands (ALL_DF_SUM and STATIC_DF_SUM) that can be used to check the flash integrity at different points in production and in the field. You can execute these commands and store the resulting values in the corresponding data flash register (the MSB is just an indicator of whether or not the result matches the value stored in data flash - if it matches then the MSB will be '0').

    - ALL_DF_SUM can be used to check the dataflash integrity during production. There are values in the data flash that will change over time during operation.
    - STATIC_DF_SUM can be used in the field to check the integrity of dataflash bits that should not see updates.

    There is also in IF_SUM that can be used to check the instruction flash integrity.

    See Table 4-5 in the BQ34110 TRM for the number of bytes for each checksum.

    Best regards,

    Matt

  • So to clarify, mainly in case someone else has the same confusion:

    STATIC_DF_SUM: only the dataflash contents that don't get updated during calibration (aka dynamic dataflash contents). No instruction flash contents. 2 bytes.

    IF_SUM: only the instruction flash (aka fuel gauge firmware), no dataflash contents. 2 bytes

    ALL_DF_SUM: everything, including Static dataflash contents, Dynamic dataflash contents changed during calibration, and instruction flash contents. 4 bytes

    For STATIC_DF_SUM and ALL_DF_SUM, you can write a value to the dataflash with the expected value. When reading that register back, if the MSB (0x8000) is set then the value matches. If the MSB is not set then the value doesn't match.

    However, IF_SUM doesn't work this way, just read the value (4 bytes) and it should match the value shown in table 4-5 of the technical resource manual (0xFBD3E090).

    Thanks,
    Derek