如果 PMIC 处于硬件充电模式、而 PMIC 使用 EEPROM 中的默认值、那么在保持硬件充电模式时是否可以更改(和使用)寄存器? 具体而言、我想修改 VBAT_FULLCHRG。
在某种程度上相关的注释中、在从硬件充电到软件充电之间切换期间、充电是否能够继续?
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.
如果 PMIC 处于硬件充电模式、而 PMIC 使用 EEPROM 中的默认值、那么在保持硬件充电模式时是否可以更改(和使用)寄存器? 具体而言、我想修改 VBAT_FULLCHRG。
在某种程度上相关的注释中、在从硬件充电到软件充电之间切换期间、充电是否能够继续?
目前、我们将0写入 CONTROLLER_CTRL1以禁用充电、读取电池电压、然后通过调用正常函数开始 USB 充电来继续充电。 这会将 PMIC 寄存器重置为默认值、并且我已确认、如果从不向 CONTROLLER_CTRL1写入0、寄存器将保持不变。
但是、开始 USB 充电的代码仅在未充电时执行、因此我的实验还绕过了许多 i2c 写入命令:
CHARGERUSB_VICHRG
CHARGERUSB_CINLIMI
CHARGERUSB_INT_MASK
CHARGERUSB_CTRL2
CONTROLLER_CTRL1
上述命令之一是否可能导致 PMIC 寄存器复位?
我没有一个评估板来尝试它。
谢谢。
您好、Robert、
我可以确认 CHARGERUSB_VOREG 已复位、但 CHARGERUSB_CTRL1对我来说似乎保持不变、至少在我设置 Hz_MODE 等情况下是如此。
在这种情况下、设置 Hz_MODE 而不是禁用充电器是否起作用? 我可以确认进出 Hz_MODE 不会复位 CHARGERUSB_VOREG。
关于软件审查、它以前由处理器团队处理、但由于该处理器的使用年限、它可能仍不受处理器团队的支持。 如果您可以为我提供一些低级内容(我是一名模拟工程师)、我可以查看充电器相关软件、但希望上述内容能够正常工作。
您好、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