ZHCAEB1 August   2024 BQ25750 , BQ40Z80 , MSPM0L1306

 

  1.   1
  2.   摘要
  3.   商标
  4. 1引言
  5. 2MCU 在智能电池系统中的作用
  6. 3使用 BQ25750、BQ40z80 和 MSPM0L1306 的应用示例
    1. 3.1 电量监测计设置
    2. 3.2 充电器设置
    3. 3.3 MCU 设置
    4. 3.4 通信协议
    5. 3.5 MCU 代码示例
    6. 3.6 收集的数据
  7. 4总结
  8. 5参考资料

MCU 代码示例

MCU 向电量监测计轮询 ChargingVoltage() 的代码如下所示。


 轮询 ChargingVoltage() 的代码示例

图 3-5 轮询 ChargingVoltage() 的代码示例

从 TI 的 SMBus 库中调用了预定义函数,以便通过 SMBus 与电量监测计进行通信。目标地址是器件地址,请求的结果存储在电压数组中。对 ChargingCurrent() 重复相同的序列,其中 SMBus 命令为 0x14。


 ChargingCurrent() 的 SMBus 函数调用

图 3-6 ChargingCurrent() 的 SMBus 函数调用

为了与充电器兼容,转换 ChargingCurrent() 的代码如下。


 在传输到充电器之前转换 ChargingCurrent()

图 3-7 在传输到充电器之前转换 ChargingCurrent()

从 TI 的 I2C 库中调用了预定义函数,以便通过 I2C 与充电器进行通信。在传输期间必须考虑数据的字节序。I2C_TARGET_ADDRESS 是充电器地址,如下所示。


 通过 I2C 将数据传输到充电器

图 3-8 通过 I2C 将数据传输到充电器

为了与充电器兼容,转换 ChargingVoltage() 的代码如下。


 在传输到充电器之前转换 ChargingVoltage()

图 3-9 在传输到充电器之前转换 ChargingVoltage()

然后,调用图 3-8 中所示的同一 TI 函数以与充电器通信。