Other Parts Discussed in Thread: BQ27220
器件型号: BQ27220
尊敬的 TI 团队:
我正在使用 bq27220 电量监测计、并在初始化期间通过 MCU 固件配置 EDV 阈值。
我将 EDV 阈值更新为:
-
EDV2 = 3200mV
-
EDV1 = 3000mV
-
EDV0 = 2900mV
默认值为:
-
EDV2 = 3501mV
-
EDV1 = 3385mV
-
EDV0 = 3031mV
我正在成功进入 FULL ACCESS 模式、进入 CFGUPDATE 模式、写入数据存储器块、重新计算校验和、并通过在写入后读回块来验证更新后的值。
根据我的日志、更新后的 EDV 值正确存储在数据存储器中。
但是、在运行期间、电量监测计仍似乎根据默认的 EDV 阈值运行。 FCC 更新和 SOC 百分比估算仍在原始默认电压(而不是我编程的阈值)附近进行。
例如:
-
电池电压约为 3650mV
-
SOC 已~5%
-
FCC 估算行为似乎也与默认 EDV 设置保持一致
我想了解:
-
是否必须更新其他参数或标志才能使新的 EDV 阈值生效?
-
在 EDV 数据存储器更新后、是否需要 RESET 或 SOFT_RESET?
-
在学习周期完成之前、电量监测计是否在内部缓存 EDV 参数?
-
使用某些电量监测模式或 chem ID 时、EDV 阈值是否会被忽略?
-
是否有任何 OTP/默认配置会覆盖 RAM/数据存储器 EDV 设置?
以下是相关的初始化日志:
=== Waiting for INITCOMP ===
Attempt 1: OpStatus=0x00A6 INITCOMP=1
OK: INITCOMP set
*** UNSEAL KEY FOUND: 0x0414 / 0x3672 ***
=== Get Full Access ===
OpStatus=0x00A2 SEC=CHECKING FULL ACCESS
OK: Full Access granted
=== Enter CFG Update Mode ===
Before: OpStatus=0x00A2 CFGUPDATE=0 SEC=FULL ACCESS
Attempt 1: OpStatus=0x04A2 CFGUPDATE=1
OK: CFGUPDATE active
更新验证后的 EDV 块:
DM bytes EDV [0x92B4] : 0x0B
DM bytes EDV [0x92B5] : 0x54
DM bytes EDV [0x92B6] : 0x01
DM bytes EDV [0x92B7] : 0x0B
DM bytes EDV [0x92B8] : 0xB8
DM bytes EDV [0x92B9] : 0x01
DM bytes EDV [0x92BA] : 0x0C
DM bytes EDV [0x92BB] : 0x80
DM bytes EDV [0x92BC] : 0x01
CFGUPDATE 退出并重新密封:
=== Exit CFG Update Mode ===
Attempt 1: OpStatus=0x00A6 CFGUPDATE=0 INITCOMP=1
OK: Exited CFGUPDATE
=== Re-seal Gauge ===
OpStatus=0x00A6 SEC=SEALED
OK: Gauge re-sealed
最终运行时值:
Design Capacity : 1000 mAh
Full charge capacity : 872 mAh
SOC : 5 %
Voltage : 3650 mV
您能否帮助确定为什么即使成功验证数据存储器更新、电量监测计仍然像默认 EDV 阈值处于活动状态一样运行?
谢谢。