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.

[参考译文] BQ24250:当我写入寄存器#5 (地址0x4)的 B2-B0位时、新的 Vdpm 不生效

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1196035/bq24250-new-vdpm-not-taking-effect-when-i-write-to-the-b2-b0-bits-of-register-5-address-0x4

器件型号:BQ24250
主题中讨论的其他器件:TPS2121

我使用太阳能电池板(峰值电压为6.5V、VOC 为7.7V)和固定+5V 直流电为单个锂离子18650电池充电。电源通过 TPS2121路由、因此在插入和加电时优先使用固定的+5V 直流输入。  

使用两个外部电阻器(顶部330K、底部75K)将 BQ24250 Vdpm 设置为6.48V。 太阳能充电正在正常进行。 BQ24250将 电池板电压保持在大约6.5V。

外部 Rilim 为0 (2A 限制)。 外部 Riset 为249欧姆(对于1A 最大充电电流)。  

当我为+5V 直流输入上电时、TPS2121会正确地从太阳能切换到+5V 输入、而 BQ24250 Vin 也会按预期变为+5V。 我正在使用 MSP430来监测来自 TPS2121的 ST 信号。 在检测到切换到+5V 输入时、MSP430通过写入寄存器#5 (地址0x4)的 B2-B0位、将 Vdpm 配置为4.520V。 读回寄存器以验证写入操作是否已发生。 为了使 BQ24250保持在主机模式、MSP430每5秒不断写入相同的值。

我的问题是充电电流卡在20 mA。 BQ24250电压测量值显示为5.0V。 充电电流绝不会超过20 mA。

然后、我使用可变电源、而不是固定的+5V。 只有当我将电压增加到6.5V 以上时、我才会看到充电电流增加。 即使更改了寄存器值、BQ2420似乎仍在使用外部配置的6.5V Vdpm。

我漏掉了什么东西或做错了什么?  

提前感谢

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

    您好、RAM:

    当连接了固定5V 电源时、下面的寄存器是否报告 VINDPM 处于活动状态?

    EN1/EN2在哪里?  当输入电源被移除并由 TPS2121重新连接时、充电器会读取 ENx 线路。  写入 VINDPM 寄存器应超过写入电阻分压器设置。

    此致、

    杰夫

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Jeff:
       
      在我写入 Vdpm 位之前、寄存器#3 (LOCn 2)中的 EN1和 EN2位分别读取1和0。  
      在写入100b 到寄存器#5 (LOCn 4)的 B2-B0位后、我现在正在读取 EN1和 EN2、两者都是0!!
      EN1引脚上拉至 VLDO (引脚24)、而 EN2连接至 GND。  
      VLDO 测量+5V。 BQ24250输入(Vin)为5.1V。
      我不知道为什么 EN1位在 从外部拉至 Vldo 时现在读数为0。
      位"LOOP_STATUS1"和"LOOP_STATUS0"读取0x1 (VIN_DPM 调节环路处于活动状态)。
      寄存器1中的故障位 B3至 B0全部为0。
      位 STAT_1和 STAT_0读取01 (充电正在进行中)。
      我还将充电电流位设置为01000b (400 mA)。
      
      即使 BQ24250 Vin 为5.1V 且 MSP430代码 每5秒写入一次 Vdpm 位和充电电流位、充电电流也会卡在20 mA。
      我看到只有当我将 输入电压增加到6.5V 以上时、充电电流才会上升(这是使用电阻330K 和75K 的外部 Vdpm 设置)。   
      那么问题是、为什么写入 Vdpm 位的操作没有将 Vin_DPM 阈值更新为4.52V?
      我想知道是否可以将 Vdpm 引脚连接到 MSP430上的 GPIO。 请注意、我将一个(330K/75K)电阻分压器连接到 Vdpm 引脚。 当需要使用太阳能输入(Vdpm 为6.5V)为电池充电时、我将 GPIO 用作输入引脚。 当我要使用固定的 +5V 输入进行充电时、可以使 GPIO 引脚输出为低电平以短接 Vdpm 引脚、从而将 Vin_DPM 电压设置为4.68V。这是否起作用?  
    THX
    001:RAM
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、RAM:

    在执行任何 I2C 写入之前进行上电时、充电器的实际输入电流限制和实际输入电压限制根据表进行设置

    I2C 寄存器不会反映这些值。  

    在开始写入充电器的 I2C 寄存器后、只要使用外部电阻器设置 ICHG 时 IINDPM 寄存器 REG0x01[6:4]=000、VINDPM 寄存器不起作用、对它进行任何写入都会导致实际输入电压限制恢复为每个外部电阻器的设置。  关于"在将100b 写入寄存器#5 (LOCn 4)的 B2-B0位后、我现在正在读取 EN1和 EN2 (两者均为0!!)..."、这些位在进入 I2C 模式(第一次 I2C 写入)后会恢复为0。

    主机写入 IINDPM 寄存器 REG0x01[6:4]后、VINDPM 寄存器 REG0x04[2]:0]变为活动状态。

    如果看门狗计时器到期并且未被禁用或 VIN 进行下电上电、则 ENx 引脚再次获得控制。

    此致、

    杰夫

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

    尊敬的 Jeff:

      你是说我应该写入 Iin_limit_x  位吗?  

      我现在将100b 写入寄存器0x1 (存储器位置0x0)中的 Iin_limit_x 位。 请注意、我将0写入到最高有效位、以免强制复位为默认值。

      每5秒、我首先写入 VDPM 位(将 Vindpm 阈值设置为4.520V)、然后立即 写入 Iin_limit_x 位。  

      但行为没有变化。 充电电流仍被限制在20 mA、只有当我将输入电压增加到6.5V 以上时才会增加。

      当我 在写入寄存器0x1 (存储器位置0x0)后读取寄存器0x1时、我会读回与刚刚写入内容相匹配的0x4C。  当我读回下一个值时、它返回到0xEC!!

    001:RAM

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

    您好、RAM:

    我昨天在工作台上测试过。 如果主机首先写入输入电流限制位、则会解锁 VINDPM 寄存器。  您是否不小心写入了复位所有寄存器位?

    此致、

    杰夫

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

    我是否应该先写入输入电流限制位、然后立即写入 VINDPM 位?

    否、我没有向复位所有寄存器位写入1。

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

    RAM、

    我尝试了这两种方法、一旦输入电流限制位发生更改、VINDPM 就会更改为与寄存器匹配。

    此致、

    杰夫

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

    我的代码每5秒执行一次该操作。

    1) 1)读取 TPS2121 ST 引脚值:

      如果引脚值为1: (当电源为设置为5.1V 的可变电压电源时为1)。

         2) 2)读取 寄存器0x5 (位置0x4)。  我正在读取0x44。

         3) 3)将 Vdpm 位设置为100b (4.52V)。 即使寄存器已经读取0x44、每次都要完成这个写入。

         4) 4)回读并验证之前的写入。

         5) 5)读取寄存器0x2 (位置0x1)。 我读数是0xEC。

         6) 6)将值0x4C 写入寄存器。

         7) 7) 读回并验证之前的写入。 此处代码读取的是所写入的0x4C。

    我是否应该在4到5之间延迟? 为什么寄存器2值返回到0xEC 但寄存器5保留了值0x44?

    我在 I2C 总线上只有 BQ24250。 此总线上没有其他器件。

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

    我的错。 我写的是4号寄存器而不是2号寄存器。 它现在起作用了。

    非常感谢您的帮助。

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

    尊敬的 Jeff:

    我想知道、数据表是否应清楚地说明除了 vdpm 位以外、还需要写入输入电流限制位。

    现在、假设我的固定直流电源被移除、并且 MSP430注意到 TPS2121 ST 引脚现在已变为低电平、那么强制 BQ24250使用通过电阻分压器配置的 VDPM 设置(在本例中为6.5V)的最快方法是什么?

    再次发送

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

    您好、RAM:

    我同意需要更新数据表。  我将添加到更改列表。   

    关于、向输入电流限制寄存器写入所有000、或将 ENx 行设置为对这两者使用外部电阻器、让 WD 计时器到期。

    此致、

    杰夫

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

    THX

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

    尊敬的 Jeff:

      我将从主机模式切换回 独立模式、以便 通过外部电阻器将 Vdpm 设置配置为6.5V。

      我只是让看门狗计时器到期、但即使输入电压(5V)小于6.5V 的 Vin_DPM、BQ24250仍然消耗电流。

       让 BQ24250从主机模式转换为独立模式的步骤很明显。

    001:RAM

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

    您好、RAM:

    在 EVM 上、EN1=高电平、EN2=低电平。  我将 EVM 的顶部 VDPM 电阻器修改为442k、以提供 VDPM=6.5V。  当我让 WD 计时器到期(或将000写入输入电流限制寄存器)时、充电器会返回到 EN1和 EN2的设置、即外部设置。  设置100mA 电流限制后、I 施加的电源电压= 7V。  充电器只会拉100mA、这样输入电压就不会 崩溃到低于6.5V。  

    但是、如果我将电源电压降至5V 和100mA 电流限制、转换器会拉低21mA。  充电器报告 VINDPM 环路已激活、但未充电。  我无法准确解释21mA 的去向。 我们未在设计中将 VDPM 设置为高于所施加的电压源、即、我们预计该电压源会崩溃、然后 VDPM 反馈环路生效以防止进一步的电压下降。

    对于您的应用、我建议添加一个 NFET (源极接地) 、其漏极连接至一个电阻器、该电阻器在 VDPM 处与从 VDPM 到接地的另一个 FET 并联连接。  FET 栅极与 VIN 之间的电阻分压器相连。  如果应用了6.5V 的太阳能电池板、电阻分压器将打开 FET、降低2个底部 VDPM 电阻器的并联组合、从而将 VDPM 设置为6.5V。  如果仅施加5V 电压、FET 不会导通、因此 VDPM 处于根据原始 VDPM 电阻器设置的4.XV。

    或者、如果您的系统可以在500mA 输入电流下运行、直到 I2C 更改它、您可以添加一个电路来感测5V 或6.5V、并相应地设置 EN1。  在 VBUS 上实现门、在 LDO 上实现漏极、在 EN1上实现源极的 NFET 可能可行。 当 VBUS=GATE=6.5V>DRAIN=LDO=5V 时、NFET 在设置 EN1=5时导通。  当 VBUS=Gate=LDO=5V 时、NFET 不会开启、因此 EN1被电阻器下拉。

    此致、
    杰夫

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

    尊敬的 Jeff:

     它现在对我有效。 我忘记启用看门狗了。 BQ24250上默认禁用(0)。 这就是为什么当我停止写入 BQ24250寄存器时、外部 Vdpm 阈值配置在50秒后未生效、因为一开始没有启用看门狗。    

    001:RAM