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.

BQ40Z50-R2: BQ40Z50-R2 randomly shutdown or reset momenontly during a long communication cycle

Part Number: BQ40Z50-R2

Tool/software:

Hi everyone,

We read the Temperature(), Voltage(), and RSOC() values ​​every five seconds through SMBus on BQ40Z50-R2. After a few hours or days, a shutdown (or reset) of 800ms will occur and then come back. This situation will occur randomly.

Please refer to the waveform diagram below. If the communication interface is supplied by a battery, the CLK and DATA voltages will also decrease together.

Please ask if you can help analyze and resolve this situation. 

If you need more information please let us know.

Thanks

Best regards,

Daniel Wang

  • Hi Daniel,

    Is it possible to get a better look on the command that is being sent right before the shutdown occurs? Also, can you please tell us what the voltage being read is at this time?

    Regards,

    Anthony

  • Hi Anthony,

    Thanks for your reply Due to device limitations and the random nature of exceptions, I currently cannot capture the command status before the shutdown occurs.

    The voltage read was 10959mV and did not change much during the test.

    Below is a captured command that repeats every five seconds.

    --------------------------------------------------------------------------------------

    496335334-496335334 I2C: Address/Data: Start
    496335346-496335418 I2C: Address/Data: Address write: 0B
    496335418-496335428 I2C: Address/Data: Write
    496335428-496335438 I2C: Address/Data: ACK
    496335439-496335521 I2C: Address/Data: Data write: 08
    496335604-496335614 I2C: Address/Data: ACK
    496335636-496335636 I2C: Address/Data: Start repeat
    496335648-496335720 I2C: Address/Data: Address read: 0B
    496335720-496335730 I2C: Address/Data: Read
    496335731-496335741 I2C: Address/Data: ACK
    496335797-496335879 I2C: Address/Data: Data read: 98
    496335879-496335889 I2C: Address/Data: ACK
    496335944-496336028 I2C: Address/Data: Data read: 0B
    496336027-496336038 I2C: Address/Data: NACK
    496336111-496336111 I2C: Address/Data: Stop
    496336160-496336160 I2C: Address/Data: Start
    496336172-496336244 I2C: Address/Data: Address write: 0B
    496336244-496336254 I2C: Address/Data: Write
    496336254-496336264 I2C: Address/Data: ACK
    496336265-496336347 I2C: Address/Data: Data write: 09
    496336430-496336440 I2C: Address/Data: ACK
    496336462-496336462 I2C: Address/Data: Start repeat
    496336474-496336546 I2C: Address/Data: Address read: 0B
    496336546-496336556 I2C: Address/Data: Read
    496336557-496336567 I2C: Address/Data: ACK
    496336623-496336707 I2C: Address/Data: Data read: BF
    496336706-496336717 I2C: Address/Data: ACK
    496336870-496336952 I2C: Address/Data: Data read: 2A
    496336953-496336963 I2C: Address/Data: NACK
    496337095-496337095 I2C: Address/Data: Stop
    496337143-496337143 I2C: Address/Data: Start
    496337155-496337227 I2C: Address/Data: Address write: 0B
    496337227-496337237 I2C: Address/Data: Write
    496337238-496337248 I2C: Address/Data: ACK
    496337248-496337330 I2C: Address/Data: Data write: 0D
    496337464-496337474 I2C: Address/Data: ACK
    496337495-496337495 I2C: Address/Data: Start repeat
    496337507-496337580 I2C: Address/Data: Address read: 0B
    496337580-496337591 I2C: Address/Data: Read
    496337590-496337601 I2C: Address/Data: ACK
    496337653-496337737 I2C: Address/Data: Data read: 22
    496337736-496337747 I2C: Address/Data: ACK
    496337797-496337881 I2C: Address/Data: Data read: 00
    496337880-496337891 I2C: Address/Data: NACK
    496337951-496337951 I2C: Address/Data: Stop

    --------------------------------------------------------------------------------------

    Is there any possible reason or direction for this exception? Can you provide some suggestions for us to conduct further testing?

    Thanks

    Best regards,

    Daniel Wang

  • Hi Daniel,

    Thank you for the clarification, what is the Shutdown Voltage, Shutdown Time, and Charger Present Threshold parameters of this device currently set to? 

    Regards,

    Anthony

  • Hi Anthony,

    • Shutdown Voltage is 2700 mV
    • Shutdown Time is 10 s
    • Charger Present Threshold is 7500 mV

    Best regards,

    Daniel Wang

  • Hi Anthony,

    Currently we set IN_SYSTEM_SLEEP mode enabled and Bus Timeout set to 5 seconds.

    This time is exactly the same as the period of reading gauge data.

    Do you think this may cause random shutdown or reset situations?

    Thanks

    Best regards,

    Daniel Wang

  • Hi Daniel,

    Is a 4S or 3S battery orientation being used in this situation? If a 4S orientation is being used, this could put the voltage of the cells very close to the shutdown voltage (10959mV/4 = 2739mV) and if there is movement or if the cells are not accurately balanced this voltage could be setting the shutdown condition.

    Currently we set IN_SYSTEM_SLEEP mode enabled and Bus Timeout set to 5 seconds.

    This time is exactly the same as the period of reading gauge data.

    Do you think this may cause random shutdown or reset situations?

    I do not believe this is causing the issue, since if you are constantly reading in 5s intervals the gauge will wake up when the next read is sent, since SLEEP can be exited if there is communication seen on the lines.

    Regards,

    Anthony

  • Hi Anthony,

    We use 3S configuration, so there will be no problem of close to shutdown voltage (10959mV/3 = 3653mV) 

    Is it possible that something happened during the SMBus communication that caused the gauge ic to temporarily reset?

    Is there any other possible reason for this problem?

    Thanks

    Best regards,

    Daniel Wang

  • Hi Daniel,

    Is there a possibility to test whether this issue persists when the time between commands being sent is extended?

    Regards,

    Anthony

  • Hi Anthony,

    Do you mean the interval between cyclic reads (currently 5s), or the delay time between each SMBus command (is there any recommended time)?

    Now we have tested turning off the In system sleep function. We have been testing for 4 consecutive days and no abnormality has been found yet (We still don't know the real reason) .

    We can test extending the time between commands.

    Thanks

    Best regards,

    Daniel Wang

  • Hi Daniel,

    If possible, please try both. Please try increasing the interval between cyclic reads to around 10s. What is the current amount of time between each SMBus command?

    Regards,

    Anthony

  • Hi Anthony,

    We'll try it. Currently we do not put any delay time between each SMBus commend. The actual measured delay time is about 47us.


    Thanks

    Best regards,

    Daniel Wang

  • Hi Daniel,

    Understood, please let us know the results from increasing the read intervals when they are available.

    Regards,

    Anthony