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.

[参考译文] BQ25155:在有源电池模式下、VBAT ADC 读数值不正确

Guru**** 2387060 points
Other Parts Discussed in Thread: BQ25155, BQ25155EVM
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1175375/bq25155-vbat-adc-readout-value-is-not-correct-while-active-battey-mode

器件型号:BQ25155

尊敬的团队:

我可以在插入 VIN 的情况下读取正确的 VBAT 电压、但仅在插入电池的情况下会获得错误的 VBAT 电压。

我还想将 ADC_COMP1设置为监测低于3.4V 的 VBAT;如果满足标准、将通知用户电池电量不足状态。

我可以获得 ADC_COMP1中断、但 ADC 读取的 VBAT 电压不正确。

示例:

VIN 已插入- VBAT ADC 读数为3.9V

VIN 未插电- 然后我将获得 ADC_COMP1中断(标志2 = 0xC0)、VBAT ADC 读数2.7V、实际 VBAT 电压约为3.9V

[初始化寄存器]

BQ25155_RegWrite (BQ25155_MASK2、0x31);//ADC_READY、COMP1

BQ25155_RegWrite (BQ25155_ADCCTRL0、0x00);//首先禁用 ADC
BQ25155_RegWrite (BQ25155_ADCCTRL1、0x00);
BQ25155_RegWrite (BQ25155_ADCALARM_COMP1_M、0x91);//将 ADC COMP1设置为 VBAT 低阈值 MSB
BQ25155_RegWrite (BQ25155_ADCALARM_COMP1_L、0x10);//将 ADC COMP1设置为 VBAT 低阈值、低于3.4V
BQ25155_RegWrite (BQ25155_ADCALARM_COMP2_M、0x00);
BQ25155_RegWrite (BQ25155_ADCALARM_COMP2_L、0x00);
BQ25155_RegWrite (BQ25155_ADCALARM_COMP3_M、0x00);
BQ25155_RegWrite (BQ25155_ADCALARM_COMP3_L、0x00);
BQ25155_RegWrite (BQ25155_ADC_READ_EN、0x08);//启用 VBAT ADC 读取

BQ25155_RegWrite (BQ25155_ADCCTRL0、0xC3);//启用 ADC 测量周期1min

[日志输出]

bq25155_GET_BATTERY_VOLTGE_NOW - 0x7758、VBAT:2797096
低 VBAT:2797096uV、LOW_BATT_VOLT:3400000uV
标志2 - 0x80
bq25155_GET_BATTERY_VOLTGE_NOW - 0x76F1、VBAT:2787666
低 VBAT:2787666uV、LOW_BATT_VOLT:3400000uV
标志2 - 0x80
bq25155_GET_BATTERY_VOLTGE_NOW - 0x7674、VBAT:2776222
低 VBAT:2776222uV、LOW_BATT_VOLT:3400000uV

BR

Peter

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    电源 BTW 时、LP 始终为高电平、而仅使用电池进行测试

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Peter、

    寄存器配置过程中的所有内容都是正确的。 VBAT 的 ADC 读取电压不应受 VIN 的存在影响。 您能否共享此器件的原理图?

    此外、您还有 VBAT 波形吗? 这只是为了消除任何可能影响 ADC 读数的振荡或毛刺脉冲。

    此致、

    Juan Ospina

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Juan:

    我使用 BQ25155EVM 进行测试、并在测试时使用示波器监控 VBAT、在 VBAT 上未观察到1V 干扰

    BR

    Peter

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Peter:

    我将尝试重新创建您在我的末尾看到的行为 如果对 EVM 进行了任何修改、请告知我。

    此致、

    Juan Ospina

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Juan:

    没有对 EVM 进行硬件修改、以下是我的初始化流程~

    void bq25155_init(){
    printf ("%s\r\n"、__func__);

    //1)唤醒 bq25155 -#LP 引脚(PB0)设置为低电平
    HAL_GPIO_WritePin (CHG_LP_GPIO_Port、CHG_LP_Pin、GPIO_PIN_RESET);

    //2) INIT 寄存器
    BQ25155_RegWrite (BQ25155_MASK0、0x5C);//PG、THERM_SAVITY_CHG_DONE
    BQ25155_RegWrite (BQ25155_MASK1、0xB0);//TS
    BQ25155_RegWrite (BQ25155_MASK2、0x31);//ADC_READY、COMP1
    BQ25155_RegWrite (BQ25155_MASK3、0x70);//MR_WAKE
    BQ25155_RegWrite (BQ25155_VBAT_CTRL、0x3C);
    BQ25155_RegWrite (BQ25155_ICHG_CTRL、0x11);/0x11
    BQ25155_RegWrite (BQ25155_PCHRGCTRL、0x01);
    BQ25155_RegWrite (BQ25155_TERMCTRL、0x0A);
    BQ25155_RegWrite (BQ25155_BUVLO、0x00);
    BQ25155_RegWrite (BQ25155_CHARGERCTRL0、0x90);//禁用 WD
    BQ25155_RegWrite (BQ25155_CHARGERCTRL1、0x00);
    BQ25155_RegWrite (BQ25155_ILIMCTRL、0x06);
    BQ25155_RegWrite (BQ25155_LDOCTRL、0xEC);//启用3.3V LDO
    BQ25155_RegWrite (BQ25155_MRCTRL、0x68);//wake1-0.5s、wake2-2、reset-4S、warn-1s
    BQ25155_RegWrite (BQ25155_ICCTRL0、0x10);//禁用运输模式
    BQ25155_RegWrite (BQ25155_ICCTRL1、0xC0);
    BQ25155_RegWrite (BQ25155_ICCTRL2、0x20);
    BQ25155_RegWrite (BQ25155_ADCCTRL0、0x00);//首先禁用 ADC
    BQ25155_RegWrite (BQ25155_ADCCTRL1、0x00);
    BQ25155_RegWrite (BQ25155_ADCALARM_COMP1_M、0x91);//将 ADC COMP1设置为 VBAT 低阈值 MSB
    BQ25155_RegWrite (BQ25155_ADCALARM_COMP1_L、0x10);//将 ADC COMP1设置为 VBAT 低阈值、低于3.4V
    BQ25155_RegWrite (BQ25155_ADCALARM_COMP2_M、0x00);
    BQ25155_RegWrite (BQ25155_ADCALARM_COMP2_L、0x00);
    BQ25155_RegWrite (BQ25155_ADCALARM_COMP3_M、0x00);
    BQ25155_RegWrite (BQ25155_ADCALARM_COMP3_L、0x00);
    BQ25155_RegWrite (BQ25155_ADC_READ_EN、0x08);//启用 VBAT ADC 读取
    BQ25155_RegWrite (BQ25155_TS_FASTCHGCTRL、0x34);
    BQ25155_RegWrite (BQ25155_TS_COLD、0x6f);
    BQ25155_RegWrite (BQ25155_TS_COOL、0x61);
    BQ25155_RegWrite (BQ25155_TS_WARM、0x39);
    BQ25155_RegWrite (BQ25155_TS_HOT、0x38);


    //4)引导完成- LED 慢速闪烁 x 1
    //led_control (LED_SLOW_BLINK、1);
    BQ25155_RegWrite (BQ25155_ADCCTRL0、0xC3);//启用 ADC 测量周期1min

    //5)切换 CHG IRQ
    CHG_INT+=1;
    HAL_GPIO_WritePin (CHG_LP_GPIO_Port、CHG_LP_Pin、GPIO_PIN_SET);

    BR

    Peter

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢 Peter 提供的这一附加环境。 我将尝试重新创建您的方案、并找出您所看到行为的任何潜在原因。

    此致、

    Juan Ospina

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Peter:

    我一直在努力重新创建您的方案、但 我无法看到所提供的寄存器设置的精度有任何问题。 在 EVM 上、移除 VIN 后、电池 ADC 电压读数将略有下降、但这可能是由于充电停止所致。 您能否提供原理图来确认没有 任何可能产生影响的组件? 此外、该测试是使用电池还是电池仿真器执行的?

    此致、

    Juan Ospina

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Juan:

    我更改为使用我们的硬件板、而不是 EVM;未观察到问题、请感谢您的帮助~

    BR

    Peter