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: The attached SREC causes constant data flash mismatch when verifying it

Part Number: BQ34110

Our EE finished creating the SREC based on the attached battery parameters.xls (which is used to create the attached SREC).

As we have done for the last 6 months, we extract the data flash portion and stuff the hex values into our code (which then programs it into BQ data flash at power on of the product).

Unfortunately, this particular SREC data flash causes BQ data flash to fail to verify every time we reboot after programming it into data flash. The location that mismatches varies.

If we restore the previous data flash from the previous SREC, the data flash verifies every time we reboot.

This means that the data flash from the attached SREC is causing itself to mismatch. 

How can this be? What do we need to do to overcome this?

Battery Parameters.xlsx0110_0_02-bq34110-MC-Oct11.txt

  • Hi Mark,

    I'll give this file a try on my end and see what I can find out. I will get back to you shortly.

    Matt
  • Hi Mark,

    I'll go ahead and close this thread since we've continued the conversation offline. I think the issue is that multiple data flash values will change during the normal operation of the device (like the Learned Full Charge Capacity and the Lifetime parameter values), so these cannot be relied on to stay constant. There is a 'DF Static Checksum' feature that might be helpful.

    The way the DF Static Checksum works is as follows. Once the data flash settings are programmed, you can execute the STATIC_DF_SUM MAC command to calculate the checksum of all data flash values that should not change during operation. The MSB of the returned value reports 0 if the lower 15 bits of the returned value match the value stored in the 'Data Static Checksum' flash parameter. After executing this command, you can store the lower 15 bits of the returned value in this location. Then, after reboot, you can execute the MAC command and check the MSB to see if the dataflash has seen any change.

    Best regards,
    Matt