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.

BQ25121A: 在纯电池供电的睡眠状态下,通过MR触发唤醒时,芯片无法输出设定的3.0V,仅能输出默认2.5V

Part Number: BQ25121A

当前状态:①仅插入电池,且正常开机状态(SYS输出3.0V——开机之初MCU通过I2C配置得来);②MCU拉高CD脚(MR脚此时可认为悬空),然后通过I2C写入寄存器,使charger进入ship mode;③此时都按照预想方式动作——即整机/MCU掉电,SYS输出为0V。

在上述状态下,通过按键拉低MR,Charger瞬间启动,但SYS输出为2.5V,并没有按照设定的3.0V输出。MCU启动之前/开机之初CD脚默认拉低。

有何方法可以使得,纯电池模式下,整机可以正常开机?

局部原理图如下图所示:

  • 补充一下图面中MR脚的上拉电阻已被摘除。

  • 您好,正在询问更了解这款芯片的TI工程师,稍后回复。

  • 您好

    1,这是因为 shipmode 会导致寄存器重置。为了最大限度地减少处于运输模式时的静态电流消耗,设备内存会丢失,并且设备状态会在运输模式退出时重置。因此,SYS 被启用为默认值 2.5V。您必须运行最初用于对 BQ 进行编程的 MCU 例程。

    2,电路没有问题。

    3,Exiting shipmode should provide conditions similar to battery-only start up. Is there any other behavior that you are seeing that is different than the battery-only start up?

  • 针对1:①电池直接插入板卡(此时无VBUS输入)时SYS会正常输出3.0V;

    ②紧接‘①’中‘SYS=3.0V’的开机状态,此时MCU通过拉高CD脚,并写入0x00h=0x20,使charger进入ship mode。在此之后通过按压MR脚的轻触开关(短期使MR=0)使charger启动SYS输出,由于MCU使用SYS的输出电压,且MCU支持2.5V供电,因此MCU正常启动,启动后MCU会执行‘①’中启动时一样的寄存器写入操作。但此时charger的SYS输出不改变——仍保持2.5V,没有到达预期的3.0V。

    ③我的寄存器写入表为

    0x00h = 0x00;

    0x06h = 0xF8;

    0x03h = 0xC0;

    0x04h = 0xFE;

    0x08h = 0x40;

    0x09h = 0x3A;

    0x0Bh = 0x32;

    ④在MCU检测到Vbus_5V没有输入的情况下,CD默认会在程序启动之初即刻拉高,但在Vbus_5V存在正常输入的情况下,CD会默认拉低;

    因此,综上,我当前这种异常情况的原因是什么?

  • 就在刚刚我测试了一下上述‘②’中,按下MR后的I2C波形:发现MCU启动后试图配置Charger,但SDA信号线上发现Charger始终没有响应——没有发出ACK!

    请问这是怎么回事?

  • 您好,正在查询,稍后回复。

  • 您好,请参考下面回复的内容

    For a battery connection it will output 3.0V by default or is this after an I2C configuration? This is unexpected since the default value for the sys is 2.5V. This is why after a shipmode entry and exit the SYS returns to 2.5V, a register reset occurs and this is the default value for the SYS rail. All other registers will likely be returned to their default values as well.

    Can you provide battery voltage when this test is run as well as the value for register 0x09 before the shipmode is entered? Additionally, can you provide waveforms of the failed I2C interaction? Lastly, can you attempt to toggle the CD pin low then high again and reattempt the I2C communication?