Other Parts Discussed in Thread: ISO1640
Hello,
We have developed a 5s3p LiFePO4 battery pack. This uses a BQ40Z80 Battery Pack Manager BMS. This implements the Battery Pack as an SMBus Slave which interfaces with an MCU I2C interface. We are operating the SMBus at 60 kHz and uses a TI ISO1640 Digital Isolator to isolate the host and battery pack grounds. In general, the communications from the I2C Master MCU to the SMBus BQ40Z80 Slave BMS are reliable. However, we are observing I2C Timeout Errors in the MCU. Measurements show that the BMS at times will perform clock stretching on the SMBus SCL signal. The clock stretching duration is approximately 180 us. SMBus allows up to 25 ms clock stretching.
I see the BQ40Z80 can perform clock stretching. The BQ40Z80 Technical Reference Manual states the BMS may perform clock stretching during a Flash or EEPROM writing operation.
My question is: Is it possible to configure the BMS so that SMBus clock stretching does not occur? Would this cause issues with operation of the BMS?
Thank you, John