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参考文献

低级命令控制

此示例基于 M0 的内部集成电路 (I2C) 驱动程序库 (dl_i2c.h) 提供基本 BQ769x2 寄存器控制函数,如图 3-5 所示。

GUID-BD904AF2-5023-48E8-B0EE-37F650F8BE1E-low.png图 3-5 基本通信函数

这些函数用于以字节为单位写入和读取从器件寄存器。参考“BQ769x2 技术参考手册”和数据表,可以在寄存器控制函数的基础之上实现直接命令、子命令以及对 RAM 寄存器的读写。图 3-6 中列出了函数的原型。

GUID-704EF677-EE98-4F36-93A9-56146932A7DC-low.png图 3-6 BQ769x2 的基本函数

直接命令、子命令和仅包含命令的子命令是可供用户使用的预定义函数,用于简化与电池监控器的通信。

对于直接命令函数,输入参数是命令、数据和类型。类型分为两种:读取和写入。对于读取类型,用户可以读取命令地址中的数据,以及存储在要读取的全局变量的 Rx 状态中的数据。对于写入类型,用户可以将数据写入命令地址。

对于命令子命令函数,输入参数是子命令,例如关断和复位。此函数所做的只是格式化传输数组,然后将数组写入十六进制 3E,其中,监控器随后将根据命令运行。

子命令函数与仅包含命令的子命令不同,因为每个命令都有关联的数据,无论是读取数据还是写入数据。输入参数与 BQ769x2 SetRegister 函数类似,但最后一个输入是类型。此输入可以是定义的宏 R(用于读取)、W(用于写入)或 W2(用于写入两个字节)。

对于 BQ769x2 SetRegister 函数,输入参数是数据存储器寄存器地址、打算写入的数据存储器以及以字节为单位的数据长度。首先,针对子命令的初始写入在直接存储器中写入十六进制 3E,然后,对于校验和(用于验证所输入的传输数据是正确的)向寄存器写入十六进制 60。最后,对于三种不同的数据长度有不同的情况。

命令的完整列表可在 BQ76952 技术参考手册中找到。