主题中讨论的其他器件:EV2400、 BQ25710、 BQ25703、 BQSTUDIO
大家好、希望你们做得好、
我正在进行一个项目、其中涉及我的微控制器(nRF52)直接通过 I2C 控制 BQ 芯片、而无需电量监测 IC。 我能够写入和读取主机控制的"输入电流限制寄存器" 0x0E。 我已通过将充电电流寄存器更新为低电平值、然后读取"使用中的输入电流限制寄存器" 0x24的值来验证这一点。 该寄存器的值随着我对主机控制输入电流限制寄存器所做的更改而不断更新。
我相信我能够正确读取 BQ 芯片的寄存器、因为我一直读取的输入电流值和 VBUS 值与我用来为器件充电的电源一致。 读取寄存器值后、我的过程是移位、屏蔽、缩放并将最小值添加到从寄存器读取的值中。 例如、当寄存器值为0x0100时、对应于100mA:
移位= 8
屏蔽= 0x7F (应该无效、为了与其它读取值保持一致)
换算= 50
最小值= 50
读取值= 0x0100
移位值= 0x01
屏蔽后的值= 0x01
换算值= 50
缩放值加 minval = 100
(对于0x0000应解释为50mA 还是0mA、数据表和 Battery Management Studio 之间似乎存在一定程度的模糊性、但该差异远小于我的误差)。
然而、在实践中、BQ 芯片似乎完全忽略任一输入电流寄存器中设定的任何值。
我尝试了两种不同的电源:一种是可设置的电流限制、另一种是仅2安培的电流限制。 当连接可设置的电源并且我在电源系统上放置一个重负载时、尽管 BQ 芯片的电流限制设置得远低于电源限制、可设置的电源仍会上升到其电流限制 (电源上的2.5A 限值、500mA 输入电流限值已编程到 BQ 芯片上)。 当系统处于重负载状态时、2安培电源会停止提供电流、并且所有电流都由电池提供、直到系统上的重负载被移除。
我意识到这相当不优雅、但依靠电源的电流限制并不是我的设计的世界尽头。 我担心的是、有人连接具有较高额定电流的电源、而我的输入电源路径可以为此器件提供支持。 我希望 BQ 芯片将此输入电流限制在安全电流。
