ZHCACN4 may   2023 MSPM0L1106

PRODUCTION DATA  

  1.   1
  2.   摘要
  3.   商标
  4. 1引言
  5. 2硬件连接
  6. 3软件结构和重要函数
    1. 3.1 系统初始化
    2. 3.2 低级命令控制
    3. 3.3 高级函数
  7. 4重要函数的测试结果
    1. 4.1 读取警报状态
    2. 4.2 读取安全状态
    3. 4.3 读取 PF 状态
    4. 4.4 读取电流
    5. 4.5 读取所有温度
    6. 4.6 读取所有电压
  8. 5参考文献

高级函数

此示例代码与 BQ76952 中集成的预定义命令相结合,提供了多个运行 BQ76952 的函数,以帮助客户直接读取电压、电流、温度以及读取状态。图 3-7 列出了主要函数。

GUID-E88062DB-4875-43E5-B31E-F08BD3C00BA5-low.png图 3-7 BQ769x2 的测量命令

这些 API 使用上述的一些命令通过 I2C 基于 BQ76952 完成特定函数。

对于 ReadAlarmStatus 函数,它可用于检索警报位。警报状态命令为 0x62,可以读取和写入。当某个屏蔽的标志从低电平转换为高电平时,该标志会锁存 0x62 中的相应位。主机可以读取状态,并通过向 0x62 写入 1 来清除这些锁存的位。

对于 ReadSafetyStatus 函数,BQ76952 器件集成了广泛的电池管理保护套件,不仅能启用单项保护,还能选择哪些保护会导致对 FET 进行自主控制。可通过 0x03 Safety Status A、0x05 Safety Status B 和 0x07 Safety Status C 命令获得显示可能存在哪些安全故障的标志,存在这些标志会通过 ALERT 引脚使主机处理器中断。Read Safety Status 函数会依次读取 0x03、0x05 和 0x07 寄存器,如果这三个寄存器的读回值中有任何标志,则触发保护位。有关位描述的更多详细信息,请参阅器件相关的 TRM。

对于 ReadRFStatus 函数,BQ76952 器件集成了一套对电池运行和状态进行检查的功能,如果认为情况严重到应该持久禁用电池包,则触发持久失效 (PF)。发生持久失效时,BQ76952 器件可配置为在相关 PF 状态寄存器中提供一个标志。

对于 ReadAllTemperatures 函数,它可以报告与引脚 TS1、TS2 和 TS3 相对应的最新温度测量值,并将它们更新为一个 float 类型数据数组。EVM 上有两个不同的热敏电阻。其中一个连接 TS1 引脚。另一个连接 TS3 引脚。

对于 ReadPassQ 函数,它可以通过 0x0076 DASTATUS6() 子命令报告一个 64 位值,其中包括以 userAmp 小时为单位的累计通过电荷的整数部分和小数部分以及通过电荷的秒数。

最后,对于 ReadAllVoltages 函数,包含此函数旨在以迭代方式读取所有电压。它使用直接命令函数读取在测量命令中获取的各种电压信息,如表 4-6 所示。并将这些电压信息放入 CellVoltage 数组中。当该函数通过所有电池电压后,它将读取 Stack_VoltagePack_VoltageLD_Voltage,并将这些值放在各自的变量中。

这些示例的位事务详细信息将在下一节中展示。

所有读取结果都保存在协议文件的这些参数中(图 3-8):

GUID-E37AFEFE-623C-433B-83C5-2DA86B4104D2-low.png图 3-8 BQ769x2 的读取结果