ZHCACN4 may 2023 MSPM0L1106
PRODUCTION DATA
此示例基于 M0 的内部集成电路 (I2C) 驱动程序库 (dl_i2c.h) 提供基本 BQ769x2 寄存器控制函数,如图 3-5 所示。
这些函数用于以字节为单位写入和读取从器件寄存器。参考“BQ769x2 技术参考手册”和数据表,可以在寄存器控制函数的基础之上实现直接命令、子命令以及对 RAM 寄存器的读写。图 3-6 中列出了函数的原型。
直接命令、子命令和仅包含命令的子命令是可供用户使用的预定义函数,用于简化与电池监控器的通信。
对于直接命令函数,输入参数是命令、数据和类型。类型分为两种:读取和写入。对于读取类型,用户可以读取命令地址中的数据,以及存储在要读取的全局变量的 Rx 状态中的数据。对于写入类型,用户可以将数据写入命令地址。
对于命令子命令函数,输入参数是子命令,例如关断和复位。此函数所做的只是格式化传输数组,然后将数组写入十六进制 3E,其中,监控器随后将根据命令运行。
子命令函数与仅包含命令的子命令不同,因为每个命令都有关联的数据,无论是读取数据还是写入数据。输入参数与 BQ769x2 SetRegister 函数类似,但最后一个输入是类型。此输入可以是定义的宏 R(用于读取)、W(用于写入)或 W2(用于写入两个字节)。
对于 BQ769x2 SetRegister 函数,输入参数是数据存储器寄存器地址、打算写入的数据存储器以及以字节为单位的数据长度。首先,针对子命令的初始写入在直接存储器中写入十六进制 3E,然后,对于校验和(用于验证所输入的传输数据是正确的)向寄存器写入十六进制 60。最后,对于三种不同的数据长度有不同的情况。
命令的完整列表可在 BQ76952 技术参考手册中找到。