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.

BQ25703A: bq25703A intermittently stopped charging in the middle

Part Number: BQ25703A

We use bq256703A to route USB type C power to our system and charging a 3-cell battery. The setup works well in general. However, we observed that bq25703A could intermittently stop charging battery. The issue have been observed with multiple system and batteries.  The fail scenario are very similar.

The charging starts at 10V battery voltage. With a volt meter, we can see that the battery voltage increasing to about 10.6V. The voltage gradually dropped to about 10.2V and stayed there.  Our system can read the bq25703A internal registers. The charge status register at 0x20/21 has value of 0xa000. the bq25703A registers also show that  VBus is 19.2V. Vsys is 10.432V, and Vbat is 10.240V. Those values are the same in all our tests (different boards and battery) showing the failure. Given the value of the charging status, we are not able to tell which charging mode bq25703A is in. Also, the battery changing complete correctly for most of our charging/discharging test. Although the occurrence of the failure is intermittent, the signature of the failure is consistent.

Did someone report similar issue in the past? Would additional information do you need?

Thanks,

Zhaohong

  • It looks like an application issue. Please follow our EVM on schematic and layout.

  • Tiger,

    Thanks for the reply. Unfortunately, our further testing indicated that it is either a bug or an undocumented behavior of bq25703A. The issue is related to POR, watchdog timer, and ADC.

    We revised the test so that the test 100% repeatable in the following process. A completely depleted battery is used to start the test.

    Connect the charger (POR) -> Disable watchdog timer -> Set up charging current and voltage -> Enable ADC for continuous operation -> (after 175sec)->charging stopped.

    At this stage we can resume charging by disconnect and reconnect the charger. The charging goes to completion correctly. If we do not enable ADC in the above process, the battery is always charged from completely depleted to full charged without issue.

    The above indicates that the wachdog time is re-enabled by enabling the ADC. We solved the problem by the following process.

    Connect the charger (POR) -> Disable watchdog timer -> Set up charging current and voltage -> Enable ADC for continuous operation -> Disable watchdog timer

    After the change, we have not observed any issue.

    Would you please confirm the above behavior from silicon design perspective? We need to make sure that our solution is a valid one since our testing is limited. Once more, this issue is only observed when starting charging from a completely depleted battery. A POR will occur when the charger is connected. Is there a document about configuration sequence or behaviors not described in the datasheet?

    Would you please also provide more details about the issue discussed in this post ()? In our application, the ADC is configured in the continuous mode. The charger can be connected and disconnected randomly.

    Thanks,

    Zhaohong

  • Tiger,

    Any update about this issue?

    We did some more testing. Our tests indicated that bq25703A does not take the first I2C write correctly after bq25703A POR (power on with fully depleted battery).

    In our new test, the bq25703A watchdog is enabled by default. We write to the charge current register every 87.5 sec to update the watchdog using the following sequence.

    Sequence for initializing bq25703A:

        I2C_Master_WriteBy2(CHG_ADDR, 0x02, 0x0800);    //Configure current
        I2C_Master_WriteBy2(CHG_ADDR, 0x0A, 0x1200);    //Configure input voltage
        I2C_Master_WriteBy2(CHG_ADDR, 0x3A, 0xE0FF);    //Continuous ADC conversion, all 8 channels enabled
        resetElapseTimer(&ChgWatchDogtimer);

    Update the bq25703A watchdog every 87.5sec.

    if (elapsed(&ChgWatchDogtimer) > (uint32_t)87500000 )
    {
            I2C_Master_WriteBy2(CHG_ADDR, 0x02, 0x0800);    //Configure current to reset bq25703A watchdog
            resetElapseTimer(&ChgWatchDogtimer);            //reset the timer

    }

    With the above configuration sequence, charging starts about 87.5sec after the power is applied to bq25703A. The move on successfully.

    If we change the the configuration as follows.

        I2C_Master_WriteBy2(CHG_ADDR, 0x02, 0x0800);    //Configure current
        I2C_Master_WriteBy2(CHG_ADDR, 0x0A, 0x1200);    //Configure input voltage
        I2C_Master_WriteBy2(CHG_ADDR, 0x3A, 0xE0FF);    //Continuous ADC conversion, all 8 channels enabled

       I2C_Master_WriteBy2(CHG_ADDR, 0x02, 0x0800);    //Configure current
        resetElapseTimer(&ChgWatchDogtimer);

    The charging starts immediately after the power is applied to bq259703A.

    Would you please contact your design and validation teams to confirm this behavior: bq25703A does not take the first I2C write correctly after bq25703A POR (power on with fully depleted battery).?

    Thanks,

    Zhaohong

  • Hi, Zhaohong,

    Thanks for the detailed report. I tried to confirm the scenario "Connect the charger (POR) -> Disable watchdog timer -> Set up charging current and voltage -> Enable ADC for continuous operation -> (after 175sec)->charging stopped."

    But my EVM watchdog timer remained disable for the rest of time. 

    You also mentioned your first write after POR may be unsuccessful. This maybe the reason. Anyway, the watchdog timer needs reset before it expires. 

  • Tiger,

    Would you please confirm if there is an issue about the first I2C write after POR?

    Thanks,

    Zhaohong

  • My first write after POR--"disable watchdog timer" was always successful. 

  • Tiger,

    (1) Is POR generated by applying power to bq25703A while the battery connected is COMPLETELY depleted (no voltage on the battery terminal)?

    (2) Can you share your test code and hardware?

    Thanks,

    Zhaohong

  • Hi, Zhaohong,

    I used BQ25703AEVM board, and powered up from adaptor without battery. When I connected to adaptor, POR reset all the registers. Then I used TI software to disable the Watchdog timer. 

  • Tiger,

    Without a battery as load, how do you know that it is charging? In our test, when the watchog times out,  all voltages are correct, but there is no charging current. How do you verify that the watchdog is actually disabled?

    I assume that you used the setup described in the bq25703A EVM. I would suggest you to do the following.

    (1) Add a fully depleted battery.

    (2) Connect I2C to the EVM after connecting power to EVM. I want to make sure that all bq25703A pins are low when power is applied.

    (3) Use a tool to monitor I2C bus to make sure that disable watchdog is the first I2C seen by bq25703A. From your software GUI, you seem to send disable watchdog as the first command. Your software GUI may already send something before you send your first command.

    Thanks,

    Zhaohong

  • I can tell from the charge current register, since watchdog timer resets the charge current to zero when activated. 

    Again, I could not confirm your observation as your described 1),2) and 3). I used a scope to monitor SDA line.