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.

[参考译文] TWL6032:在硬件充电期间、寄存器是否可被改变?

Guru**** 2535750 points
Other Parts Discussed in Thread: TWL6032EVM

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/732305/twl6032-can-registers-be-changed-during-hardware-charging

部件号:TWL6032

如果 PMIC 处于硬件充电模式、而 PMIC 使用 EEPROM 中的默认值、那么在保持硬件充电模式时是否可以更改(和使用)寄存器? 具体而言、我想修改 VBAT_FULLCHRG。

在某种程度上相关的注释中、在从硬件充电到软件充电之间切换期间、充电是否能够继续?  

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

    我已将此主题分配给相关的器件专家。

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

    是的、一旦器件处于导通状态、就可以更改寄存器中的值。 每次 AC/USB 电源中断时、它们都会被复位(以确保先前的 AC/USB 设置不会被错误使用)、因此每次插入 AC/USB 电源时都需要对它们进行设置。

    它实际上并不是从硬件向软件过渡;AUTOCHARGE = 0 (软件)和 AUTOCHARGE = 1 (硬件)之间的区别在于 AUTOCHARGE = 0要求主机处理器对 PMIC 进行微管理、以执行所有充电步骤;PMIC 不做任何决策。 AUTOCHARGE = 1表示 PMIC 将更加自主地工作、并自行开始充电。 主机处理器仍然可以进行微管理、但这不是必需的。 图407并未明确表明处理器仍然可以影响 PMIC。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢 Kevin。

    显式停止和重新启动 USB 充电也会使寄存器复位吗?

    此外、您还想知道我是否会直接向您发送电子邮件(我已收到您的信息)、或者是否希望我们通过 E2E 进行通信?

    Robert

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

    很抱歉耽误你的时间。

    我不确定您的意思是启动/重新启动 USB 充电。 例如、您是否写入 EN_CHARGER 位= 1、然后写入 EN_CHARGER 位= 0以禁用、然后再次写入1以重新启用? 我在 EVM 上尝试过、但没有看到任何寄存器被重置、但这里没有电池、因此它的运行方式可能与您的系统中的运行方式不完全相同。

    您是否尝试在 TWL6032EVM 上重现过?

    我更喜欢 E2E;否则、必须通过我们的现场团队进行沟通。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    目前、我们将0写入 CONTROLLER_CTRL1以禁用充电、读取电池电压、然后通过调用正常函数开始 USB 充电来继续充电。 这会将 PMIC 寄存器重置为默认值、并且我已确认、如果从不向 CONTROLLER_CTRL1写入0、寄存器将保持不变。  

    但是、开始 USB 充电的代码仅在未充电时执行、因此我的实验还绕过了许多 i2c 写入命令:

    CHARGERUSB_VICHRG

    CHARGERUSB_CINLIMI

    CHARGERUSB_INT_MASK

    CHARGERUSB_CTRL2

    CONTROLLER_CTRL1

    上述命令之一是否可能导致 PMIC 寄存器复位?

    我没有一个评估板来尝试它。

    谢谢。

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

    我认为 EVM 上的情况与您在电路板上观察到的情况不同。

    执行以下步骤后、我看不到复位:
    1.将 PACK+上电至3.7V
    2.按按钮
    3.插入外部 USB
    4.查看87mA 的充电电流(我不枚举、因此我的 CIN_LIMIT 为100mA)
    5、将 DLIN 从01更改为11、将 LDO1_CFG_STATE 更改为0x01 (以便我可以确认它不会复位)
    6.读取 CONTROLLER_CTRL1 = 0x00
    7、写入 CONTROLLER_CTRL1 = 0x00
    请参阅充电器关闭、VSYS 保持在3.7V、与电池相同
    9.写入 CONTROLLER_CTRL1 = 0x30
    10、读取 DLIN 和 LDO1_CFG_STATE、并确认它们分别为0b11和0x01、不会发生复位。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢 Kevin 检查您的 EVM。 我正在执行完全相同的操作:将0x00写入 CONTROLLER_CTRL1以关闭充电、检查电池电压、然后将0x30写入以重新打开充电。 发生这种情况时、我的 PMIC 值会复位。 您是否曾与我们的代码的原始作者进行过任何代码审查、或者是否超出了您的支持范围?

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

    Kevin、

    您能否再次尝试使用 EVM 进行测试、但操作 CHARGERUSB_VOREG 和 CHARGERUSB_CTRL1、因为它们是正在复位的2个? 例如、VBATMIN_HI_THRESHOLD 似乎不会被复位。

    谢谢

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

    您好、Robert、

    我可以确认 CHARGERUSB_VOREG 已复位、但 CHARGERUSB_CTRL1对我来说似乎保持不变、至少在我设置 Hz_MODE 等情况下是如此。

    在这种情况下、设置 Hz_MODE 而不是禁用充电器是否起作用? 我可以确认进出 Hz_MODE 不会复位 CHARGERUSB_VOREG。

    关于软件审查、它以前由处理器团队处理、但由于该处理器的使用年限、它可能仍不受处理器团队的支持。 如果您可以为我提供一些低级内容(我是一名模拟工程师)、我可以查看充电器相关软件、但希望上述内容能够正常工作。

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

    Kevin、

    我也是一名模拟工程师、因此需要进行代码审核、哈哈(在高中和大学编程了很多批次、但这是很久以前的事)。 但是、如果它相当于在电池路径中添加一个大串联电阻器、则可能会起作用。 我明天会尝试。

    谢谢!

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

    Kevin、

    您能否确认调用 Hz_MODE 时哪个引脚变为高阻态? 是 CHRG_VBAT 吗?

    谢谢。

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

    您好、Robert、

    HZ_MODE 将图4-6中的 Q2禁用为 OFF、从而断开 VBUS 与电路的连接。 这将使 VSYS = VBAT;这可能是您正在寻找的结果、也可能不是您想要的结果。 例如、如果 VBAT 无法保持高于 VSYSMIN_LO、则器件将关闭。

    禁用线性充电器(EN_LINCH)是我看到的唯一禁用 S1 (电池和 VSYS 之间的连接)的方法、切换此位会导致 VOREG 寄存器复位。 一般而言、以下内容为:

    CHRGUSB_VICHRG_PC;

    CONTROLLER_CTRL1 (5);

    Controller_WDG (6下降至0);

    CHRGUSB_CTRL2 (7降到5);

    CHRGUSB_VOREG (5下降至0);

    CHRGUSB_VICHRG (3下降至0);

    如果改为将 EN_CHARGER 设置为0、则会将上述 plus 复位:

    CHRGUSB_VSYSREG;

    CONTROLLER_CTRL1 (4降到3);

    CHRGUSB_CTRL1 (4);

    CHRGUSB_CTRL3 (0);

    CHRGUSB_CTRL3 (1);

    CHRGUSB_CTRL3 (2);

    CHRGUSB_CTRL3 (6);

    CHRGUSB_CINLIMIT (5下降至0);

    ANTCOLAPSE_CTRL1;

    希望这会有所帮助。

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

    Kevin、

    HZ_MODE 已经解决了复位 PMIC 寄存器的问题。 现在、我能够正确地终止充电、从而使电池能够充电至高于4.08V。 当 Hz_MODE=1时、VSYs=VBAT 是可以的、因为这是我之前在将 CHARGERUSB_CTRL1设置为0x0时获得的行为。

    电量监测计是否是测量充电容量/进度的标准方法? 代码当前报告充电电流为零、这可能是原始作者使用电池电压的原因。

    Robert

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

    我们很高兴听到 Hz_MODE 能为您工作。

    我刚刚向您发送了应用手册、其中介绍了电量监测的工作原理。 我以前不必处理电量监测计;但是、如果您提出问题、我可以尝试与您一起解决这些问题。