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.

BQ76972: Inconsistent SPI Readings of 16-bit Cell Voltage Values

Part Number: BQ76972

Tool/software:

Dear TI Team,

we are using the BQ7697204 (SPI with CRC) for our BMS and have 14 cells connected to it. In general, the device works very well for us - configuring registers, reading cell voltages, and performing some auxiliary measurements all works fine. The measurements are plausible and very accurate. However, we are facing the following issue: When the cell voltages reach around 4095 mV, the result from the SPI reading sometimes shows 4351 mV. When analyzing this value in binary, it appears that the high byte and low byte of the 16-bit result register may not correspond correctly.

4095 decimal is 0000 1111 1111 1111 binary
4096 decimal is 0001 0000 0000 0000 binary
4351 decimal is 0001 0000 1111 1111 binary

When reading the result, the 8-bit high byte and 8-bit low byte are read one after the other, with a delay of approximately 500 µs (minimum) between the two readings. It seems that the 16-bit result changes from 4095 to 4096 between reading the low byte and the high byte. As a result, combining the two independently read bytes occasionally leads to the incorrect value of 4351.

Could you please advise if there is something incorrect in the way we are reading the data? Is it necessary to “lock” the result register before performing a read? We would greatly appreciate any advice or guidance.

Thank you very much, and best regards.