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.

BQ25125: I²C Communication Failure with BQ25125 at VBAT Below 3.2V

Part Number: BQ25125

Tool/software:

Hello TI Support Team,

I am experiencing an issue with the BQ25125 battery management IC on my custom board. Specifically, when the battery voltage (VBAT) drops below 3.2V, I²C communication with the BQ25125 becomes unreliable or stops entirely. Notably, other devices on the same I²C bus continue to operate correctly under these conditions.

System Configuration:

  • I²C Pull-Up Voltage: Connected to SYS_OUT of the BQ25125, which is typically 3.3V.
  • Observed Behavior: As VBAT decreases below 3.2V, SYS_OUT also drops proportionally, leading to a decrease in the I²C bus voltage levels. This voltage drop appears to affect the I²C communication with the BQ25125, while other devices on the bus remain unaffected.

Register Settings:

Here are the current register configurations for the BQ25125:

Register 0x00 (STATUS_AND_SHIP_MODE_CONTROL_REGISTER): 0x03
Register 0x01 (FAULTS_AND_FAULTS_MASK_REGISTER): 0x40
Register 0x02 (TS_CONTROL_AND_FAULTS_MASKS_REGISTER): 0x88
Register 0x03 (FAST_CHARGE_CONTROL_REGISTER): 0x98
Register 0x04 (TERMINATION_PRECHARGE_REGISTER): 0x0E
Register 0x05 (BATTERY_VOLTAGE_CONTROL_REGISTER): 0x78
Register 0x06 (SYS_VOUT_CONTROL_REGISTER): 0xFE
Register 0x07 (LOAD_SWITCH_LDO_CONTROL_REGISTER): 0x64
Register 0x08 (PUSH_BUTTON_CONTROL_REGISTER): 0x40
Register 0x09 (ILIM_BUVLO_CONTROL_REGISTER): 0x3A
Register 0x0A (VOLTAGE_BASED_BATTERY_MONITOR_REGISTER): 0x78
Register 0x0B (VINDPM_TIMERS_REGISTER): 0x02

This is an extract of the schematics:

Troubleshooting Steps Taken:

  1. I²C Bus Analysis: Confirmed that other devices on the same I²C bus continue to communicate effectively even when VBAT is below 3.2V, suggesting the issue is isolated to the BQ25125.

  2. Firmware Adjustments: Attempted to reinitialize the I²C bus and the BQ25125 when a low SYS_OUT voltage is detected, but this did not resolve the issue.

Request for Assistance:

Could you provide guidance on the following:

  • Are there known issues with I²C communication on the BQ25125 when VBAT falls below a certain threshold?

  • Is it advisable to connect the I²C pull-up resistors to a different voltage rail to maintain consistent I²C voltage levels, independent of SYS_OUT fluctuations?

  • Are there specific register settings or configurations that could mitigate this issue?

  • Any other recommendations to ensure reliable I²C communication with the BQ25125 at lower VBAT levels?

Thank you for your assistance.

Best regards,

  • Hi Lucas,

    To confirm your set up, this is in battery only condition with battery voltage decreasing, is that correct?

    Can you try to recreate this scenario and provide VSYS and VBAT waveforms? Additionally, can you retry this with your VSYS configured to a slightly lower voltage, say 3V, and check if the VBAT voltage for communications changes?

    I will look into this further on my end as well.

    Best Regards,

    Juan Ospina

  • Hi Juan,

    Here are our VSYS OUT and LDO outputs when decreasing the VBAT in 100mV steps.

    Reducing the configured VSYS slightly to 3V doesn't change much. If i reduce VSYS drastically to 1.8 for example, the I2C rails seems to keep working.

    Best regards

    Lucas

  • Hi Lucas,

    It looks like the reason you are running into I2C issues is likely because the VSYS is configured to a higher voltage but unable to be supplied to that voltage threshold then the device will not register a good SYS voltage. SYS on this device is required for using I2C as it is used to some of the I2C circuitry. By setting the SYS voltage lower then you should still be able to communicate with it despite the battery voltage drop.

    Best Regards,

    Juan Ospina