我在使用 BQ24195的默认 IINLIM 设置时遇到问题。 似乎并不总是遵循数据表中描述的真值表(表2)
在本测试中、我始终通过15k Ω 电阻将 D+和 D-接地。 REG08始终返回 VBUSTAT = 01 (USB 主机)-无问题。
我将 OTG 引脚拉高至 VSYS (通过具有100nF 旁路电容的10kohm 电阻器)
当我没有电池连接到系统并只打开外部电源时、电流限制有时会设置为100mA、有时设置为500mA (通过读取 REG00并查看我的电源输出电流来确认)
当我进入此状态时、我可以切换 OTG 引脚、但电流限制没有变化。 (尽管 VBUSTAT = 01 (USB 主机)始终如此)。 如果我通过 REG07:DPDM_EN 再次触发 DPDM、则电流限制将遵循 OTG 状态(在触发 DPDM 时)、随后更改 OTG 似乎不会更改电流限制。
表2设置的输入电流限制是仅在 DPDM 检测点(即加电和寄存器更改)确定、还是应遵循我的 OTG 引脚?
第二,我在这里似乎有一个比赛条件。 我现在看到的 OTG 通过10k 拉至 VSYS、并具有100nF 电容器、该电容器将提供仅1ms 的时间常数。 这是否足以解释这种行为? 我不这么认为。 获得电源正常信号并执行 DPDM 所需的时间。
如果我连接了电池、我看不到这个问题。
当我连接一个已充电的电池时、VSYS 在我连接 VBUS 之前将为高电平、所以 OTG 将在触发 DPDM 之前被上拉-这让我相信这是一个竞态条件。
在没有连接电池的情况下、我们没有正常的用例、但在意外拆卸或电池电量耗尽的情况下、我假设会发生相同的问题。 在100mA 的情况下、我无法确保主机 MCU 具有足够的电流来退出复位以更改设置。
谢谢
Fred