ZHCAAI2A October 2020 – February 2022 BQ769142 , BQ76922 , BQ76942 , BQ76952
对于主机控制型平衡,可以使用主机发送的特定子命令来实现控制,也可以在密封模式下访问这些子命令,这样就无需在操作中通过解封电池组来启动平衡。如果不进行主机控制型平衡,则可以通过设置 Balancing Configuration[CB_NO_CMD] 配置位来禁用对这些子命令的访问。主机用于控制电池平衡的子命令如下所述。
子命令 | 说明 |
---|---|
0x0083 CB_ACTIVE_CELLS() | 执行读取操作后,报告位掩码,其中显示了哪些电池处于主动平衡状态。执行写入操作后,开始对指定的电池进行平衡。写入 0x0000 可以关闭平衡功能。 |
0x0084 CB_SET_LVL() | 在写入 16 位的电池电压阈值(以 mV 为单位)后,如果有电池的电压高于写入的阈值,则该器件开始对电压最高的一节或多节电池进行平衡。执行读取操作后,返回该阈值。 |
该器件还通过下面所述的子命令返回有关电池已被平衡多长时间的状态信息。写入主机控制型平衡命令时,必须向寄存器 0x60/0x61 中写入校验和及长度,这样才能成功写入值。请参阅《TRM 或 BQ769x2 软件开发指南》,以获取有关写入校验和及长度的信息。
子命令 | 说明 |
---|---|
0x0085 CBSTATUS1() | 执行读取操作后,返回平衡已执行的时间(16 位,以秒为单位)。 |
0x0086 CBSTATUS2() | 执行读取操作后,返回一个包含电池 1 至 8 中每节电池的累计平衡时间(32 位,以秒为单位)的模块。如果器件发生复位,或者器件进入 CONFIG_UPDATE 模式,则这些值将重置。 |
0x0087 CBSTATUS3() | 执行读取操作后,返回一个包含电池 9 至 16 中每节电池的累计平衡时间(32 位,以秒为单位)的模块。如果器件发生复位,或者器件进入 CONFIG_UPDATE 模式,则这些值将重置。 |
使用上述子命令启动主机控制型平衡后,该器件会启动一个计时器,并将继续执行平衡,直到该计时器达到值 Settings:Cell Balancing Config:Cell Balance Interval 或发出新的平衡子命令(该子命令用于将计时器复位)。之所以将这一点列为预防措施,是考虑到主机处理器启动平衡、但随后又停止与 BQ769x2 器件通信的情况,这种情况会导致平衡无限期停止。
有关相邻电池平衡的说明:进行主机控制型平衡时应注意确保功率耗散处于安全水平。在自主模式下无法实现相邻电池平衡,但可以在主机控制模式下实现。仅在特殊情况下并经过仔细考虑后才应进行相邻电池平衡。必须注意不要超过 100mA(绝对最大值)的电池平衡电流限值或 VC0(绝对最大值)的输入电压限值。