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.

BQ78350-R1: BQ78350-R1: Flash data Check sum error PF = 1 and IFC = 1 but PF_EN = 0

Part Number: BQ78350-R1
Other Parts Discussed in Thread: BQ78350

Tool/software:

Dear TI Team, 

We have been notified of the existence of an IFC (Instruction Flash Checksum Failure) in one of our e-bikes.

This is the first time we've encountered this issue, and it has only occurred in a single product so far.

Currently, we do not know the cause of the problem.

I modified the SREC file to attempt to reproduce the issue, but no failure occurred. It appears that the problem may be random.

 

  • Did this happen during production or for a product that was at the end customer?

    The gauge calculates a check-sum for instruction flash. If this doesn't match the expected value for a specific FW, it will throw this error. This is a significant error because it means that the code itself isn't correct in memory. If this happens during production, chances are that something went wrong writing the .srec.

    If this happens during operation, in the end system, then a more serious root cause, e.g. damage to the chip, must be considered.

  • Product returned by the end customer

    Before sending the battery to the end customer, we tested it and verified that everything was working correctly.

    Our battery is made up of 10 cells in series and 4 in parallel, for a total of 40 cells.

    The battery was returned to us with a total voltage of 10 V, meaning each cell is around 1 V.
    However, when we read the cell voltages using SMBus, each cell shows an incorrect value of 44 mV

  • How many units show this failure? If it's a one-off, I'd check if there's a potential for ESD damaging the gauge.

    Something altered the FW - this cannot happen if the gauge isn't actively being re-programmed by the end user (which is a possibility if they hack your system/the gauge).

  • This is the first time we've encountered this issue.
    However, how can I reproduce the problem?
    I configured the BQ78350-R1 with an SREC file that has an incorrect checksum, but nothing happened.

  • If it's a one-off problem then you most likely cannot reproduce it. The bq78350 has been in mass production for a long time so chances are that there's a fundamental violation of its absolute maximum ratings (e.g. ESD) that damaged the instruction memory.

    It'd be different if this was data memory that the host or the gauge itself modify regularly or if there was a significant failure rate or if this was a brand new device.

    So unless you somehow can re-create the conditions that caused this error, it'll be impossible to say.

    What I can tell you is that this is a severe failure that is not part of regular operation nor something that can happen in regular use. Hence it's not possible to tell you how to recreate the problem.

  • Thank you.

    How can I solve this problem?

    Is sending the PF_Clear command enough?

  • The PF_CLEAR command will clear the problem but it will not cure the underlying issue. As this is a one-off problem, it is likely impossible to determine, exactly, why the instruction flash has an incorrect check-sum (=what caused the corruption).

    So if you use PF_CLEAR, and the IF corruption doesn't make it impossible to re-program the firmware, then you may have cleared the problem and the instruction flash has the correct memory content (after re-programming the firmware) but if the underlying root cause is a damaged part, then this can cause the same PF again in the future.