- 向电芯电压输入端施加已知的电压(以 mV 为单位):
- 在 VC1 引脚和 VSS 引脚之间施加 VCELL1
- 在 VC2 引脚和 VC1 引脚之间施加 VCELL2
- 在 VC3 引脚和 VC2 引脚之间施加 VCELL3
- 在 VC4 引脚和 VC3 引脚之间施加 VCELL4
- 如果 ManufacturerStatus()[CAL] = 0,则向 ManufacturerAccess() 发送 0x002D 以启用 [CAL] 标志。
- 向 ManufacturerAccess() 发送 0xF081 或 0xF082 以在 ManufacturerData() 上启用原始电芯电压输出。
- 在读取数据之前轮询 ManufacturerData(),直到 8 位计数器值递增 2。
- 从 ManufacturerData() 获取电芯电压的 ADC 转换读数:
ManufacturerData() 的 ADCCELL1 = BBbb
ADCCELL1 是否小于 0x8000?如果是,则使用 ADCCELL1;否则 ADCCELL1 = –(0xFFFF – BBbb + 0x0001)。
- 取多个读数的平均值以实现更高的精度。轮询 ManufacturerData(),直到 ZZ 递增以指示更新的值可用:
ADCCELL1 = [ADCCELL1(reading n) + … + ADCCELL1(reading 1)]/n
-
对所有电芯求平均值,用所有电压的平均值来创建单个电芯增益:
方程式 1.
- 将新的 Cell Gain 值写入数据闪存。
- 重新检查电压读数,如果读数不准确,则重复执行步骤 4 至 8。
- 如果所有校准都已完成,则向 ManufacturerAccess() 发送 0x002D 以清除 [CAL] 标志。