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.

BQ76942: Subcommands NAK

Part Number: BQ76942
Other Parts Discussed in Thread: EV2400, BQSTUDIO, BQ76952

We are using the BQ7694202, and the MCU is not receiving an ACK from the AFE during I2C communication; however, reading the direct command responds normally. Currently, we have found 2 faulty battery packs(total 1600). After repower-on the AFE,communication was restored to normal. Below is the data from the logic analyzer. 

We still have one faulty battery pack; how should we proceed with troubleshooting?

  • read registers successful

    read data memory failed

  • Hi Jeff,

    It says that "the MCU is not receiving an ACK from the AFE during I2C communication; however, reading the direct command responds normally."  Does this mean you can send direct commands, but not RAM reads?  Is this a pattern, where the device must be power cycled to fix the issue once the device gets stuck?

    What were you trying to accomplish in the logic analyzer image you sent?  You mentioned that only one pack is failing.  I am assuming this means that you have shown that your code and configuration works with other packs.

    I also recommend updating to 0.32 instead of 0.28.

    Best,

    Andria

  • Hi Andria,

    Yes,I can send direct commands,but not RAM reads and writes,power cycled the device can fix the issue for one pack.In order to facilitate troubleshooting, the other battery packs were not power cycled.

    The logic analyzer image was intended to send the sub-command 0x0090.

    Enters CONFIG_UPDATE mode.

    Yes,The failure rate is 1/800.

    Additionally, using the EV2400, all data from the normal battery packs can be read, but the Data memory of the abnormal battery packs cannot be read.

  • Hi Jeff,

    Thank you for clarifying that.  Usually, when we attempt to enter CONFIG_UPDATE mode in the lab, we send 0x0090 as 90 00 (LSB, MSB) in the BQStudio command sequence window instead of just 90.

    I just went into BQStudio to confirm, but when I send 90 instead of 90 00, I am not able to enter CONFIG_UPDATE mode.  As good practice, include the MSB despite it being 00.  If the device cannot enter CONFIG_UPDATE mode, then this could cause issues with RAM reads and writes because settings could take effect before all changes are made.

    I do find it odd that you would not encounter this issue with any other packs, just 1/800.

    Please note as well that the BQ76952 can support clock stretching, so it is important that the MCU can as well.

    Best,

    Andria

  • Hi Andria,

    BQ7694202 I2C with CRC8. Below is the normal data from the logic analyzer. 

    and The faulty BQ7694202 did not ACK 0x74. We changed the ACK timeout to 10ms, but the BQ7694202 still did not ACK.

  • Hi Jeff,

    Thank you for specifying that you are using i2c with CRC, not just i2c.  I see that you have started an email thread, so I will close this e2e, and we will continue the conversation there.

    Best,

    Andria