In our design with BQ25120A, we are experiencing an issue where the VSYS rail occasionally changes from 1.8V down to 1.5V.
During operation we never intentionally read or write the SYS VOUT CTRL register.
During off-charger operation, we periodically switch from High Impedance to Active battery mode and (after waiting 1 millisecond) perform writes to the Battery Voltage Control Register and the Voltage Based Battery Monitory Register. Each of these writes consist of only device address, register address and 1 data byte.
Also during these periods in active battery, there may be activity on the same I2C bus to another device (with a different device address)
Unfortunately this event happens very infrequently, and we have never been able to replicate on the bench to capture a logic analyzer trace.
1) Is there any known issue that could cause the SYS VOUT CTRL register to change outside of the host interface control?
2) Is is possible that I2C activity that is ongoing to another device while transitioning from High Impedance to Active Battery state (by CD pin control) could cause some incorrect host interface operations to occur in the BQ25120A ?
After the unexpected change in VSYS, our main controller freezes due ito ts internal brown out protection. We expected the BQ25120A watchdog feature to return the SYS VOUT CTRL to default values, but this function does not appear to be operating in the described manner. Even when the code was modified to leave the BQ25120A always in the active battery mode, after intentionally causing a brown out, the watchdog never returned the VSYS to the 1.8V default value.
3) Is there some reason why the watchdog would not recover the SYS VOUT_CTRL when the MCU is dead?
The consequence of the two issues, is our product becomes frozen until the battery is completely drained and the battery is cut off. Due to the low VSYS even the MR reset is unable to recover the system.