Hello,
We are designing a 16 cells monitoring and balancing single board device with BQ76PL455A and TMS070LS0714 communicating through UART . Software is being developed based on slva617a application note.
I can read correctly the cells voltages. For testing purposes, I've connected the VSENSE5 input to the positive pin of the 4th cell instead of positive pin of the 5th cell. The cell voltages reading is as follow:
VSENSE1 3.47844672 VSENSE2 3.47783637 VSENSE3 3.47730231 VSENSE4 3.47821784 VSENSE5 0.383917004 VSENSE6 4.99832153 VSENSE7 3.86381316 VSENSE8 3.35759521 VSENSE9 3.47844672 VSENSE10 3.47890449 VSENSE11 3.47615767 VSENSE12 4.0923171 VSENSE13 3.47837043 VSENSE14 3.47829413 VSENSE15 3.47722602 VSENSE16 3.48210883
I've setup the UV/OV thresholds according to slva617a with:
nSent = WriteReg(0, 144, 0xD1EC, 2, FRMWRT_SGL_NR); // set OV threshold = 4.1000V
nSent = WriteReg(0, 142, 0x6148, 2, FRMWRT_SGL_NR); // set UV threshold = 1.9000V
When I read the Device Status register (81) I get an expected result of 0x80 with FAULT_CONDITION bit set. Trying to find the cause of the error, I read the Fault Summary (82-83) by sending the request:
nRead = ReadReg(0, 82, &bTemp, 2, 0); // Read Fault Summary register
but the answer I get in bTemp variable is 0xCC which according to register bits makes no sense: bit[2] and bit[3] are set while they are RSVD and CHIP_FAULT_SUM = 1 and GPI_FAULT_SUM= 1.
Further reading of registers 97-98 (Chip Fault) and 99 (GPI Fault) return 0x00.
Can you please help me to understand this behavior?
Thank you.