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.

bq25120A problem

Other Parts Discussed in Thread: BQ25120A

Hello, I'm using the bq25120A on a printed board and when the battery is reaching a certain level of discharge, around 3.3 V and under, I have I2C communication problem, and the BQ become default value 1.8 V instead of what I put in the register (3.0V or 3.V). Could you help please, what could I change in the register?

  • Hi,

    I believe that the issue may be the following. Since the SYS rail has been set to 3.0 or 3.3V it requires that the input power to be a certain voltage above that for the buck to step it down. This means that PMID and therefore battery will need to be above this voltage. When PMID voltage falls below this level the buck rail no longer functions as intended.

    This regulator is used internally for I2C communication, so once the rail is outside of normal operation the device's I2C engine may not work as intended. I believe the default 1.8V value occurs because of the watchdog timer, 50s without I2C interaction will result in registers being reset to default values.

    If you can lower the SYS voltage you may be able to maintain communication via I2C for a longer period of time. If you have an ADC connection to the battery or PMID voltage, you can set SYS to a lower voltage as the power source decreases.

    Best Regards,

    Juan Ospina

  • I see, but as you said, if I reduce the SYS voltage too low, my adc will not have enough voltage. I did'nt really understand the last sentence :  if you have an ADC connection to the battery or PMID voltage, you can set SYS to a lower voltage as the power source decreases.

  • also, I don't understand what PMID is for.

  • Hi,

    To clarify the last sentence, I meant that by knowing the battery voltage and therefore PMID voltage you can set dynamically set the SYS rail voltage to be low enough that it can still receive power from PMID. So say your ADC measures that your Battery starts to drop to 3.3V, then you can set your SYS rail down to 3.0V. The purpose of this would be to maintain I2C communication with the charger. If this voltage is too low for the other components in your application then this may not necessarily provide a solution. 

    You may consider a boost or buck-boost regulator if you need a constant 3.3V even while your battery voltage has dropped below 3.3V, otherwise we would recommend entering ship mode once your battery voltage has dropped to far in order to conserve charge until an adapter is plugged back in to charge the battery.

    PMID provides a power rail which you can use to power your system. PMID voltage will typically be equal to Input voltage or Battery voltage, it is unregulated so its voltage can vary. You can use this rail to power any additional voltage regulators you may have in your system; it serves as the power source for the SYS buck regulators.

    Best Regards,

    Juan Ospina

  • Hi Juan, 

    Thank you for the explanation.

    When using SYS to provide 3.3V to our whole system, is it possible to know for sure at which level of VBat the BQ will not be able to work properly anymore ?

    Have a nice day,

    Kind regards,

    William.

  • Hi William,

    I can take a look in lab what is the approximate headroom required above the SYS rail. I'll share my findings by the end of the week.

    Best Regards,

    Juan Ospina

  • Hi Juan,

    It would be great if you can.

    Thanks a lot,

    William

  • Hi William,

    To give further context into the device behavior, as VBAT and VPMID approaches then equals the configured the SYS voltage, the device enters a state in which switching ceases and the high-side FET stays enabled so SW and SYS voltages are equal to VBAT and VPMID. At this point the device is still able to communicate via I2C. However, SYS voltage will begin to fall below the configured 3.3V.

    As BAT continues to fall, I2C stops working when VBAT = VSYS = 3.1V. Does that seem consistent with the behavior you are observing?

    Best Regards,

    Juan Ospina

  • Hi Juan,

    Thanks for the feedback. What we are observing is a bit different. For example, we have set VBatuvlo at 2.8V, VSYS at 2.8V but what we observe is that for a VBat voltage above 2.8V (around 3.14V) it turns off the BQ. But it also does the same when we fix VSys to 3.3V, it starts to turn off for a VBat around 3.46V.

    Have a nice day,

    William.

  • Hi Juan,

    Another thing is we still don't understand why when we wake the BQ up (On/Off button connected to MR\) to "turn on" we are able to communicate with it in I2C even if VSys is 1.8V (I2C's lines are pulled up to VSys). Our MCU sets VSys to 3.2V (for example) using I2C. And as the battery goes down, it goes to a point (always before Vbat reaches Vsys) where there no more I2C communication with the BQ when it still should have one. It is this part that we don't understand.

    Do you have any idea what could be the problem ?

    Have a nice day,

    William.

  • Hi William,

    The device is able to communicate via I2C so long as VSYS is close to its configured voltage, this relates to some internal level shifting. The issue in communication occurs when VSYS falls from its configured voltage due to falling PMID voltage. So I2C communication is definitely still possible at 1.8V so long as SYS is configured to 1.8V or lower.

    Relating to your previous behavior, I'm not sure exactly what the behavior is that is causing the device to turn off with VBUVLO = VSYS = 2.8V and VBAT = 3.14V. Similarly with the VSYS = 3.3V and VBAT = 3.46V, the device should still be able to communicate.

    I'm curious about the kind of load current that you are seeing on VSYS and VPMID. Do you know about how much current is being pulled from those two places? Also, can you confirm PMID voltage during these scenarios?

    Best Regards,

    Juan Ospina