CV:Constant Voltage恒压
SMMB charger:Switch-ModeBattery Charger and Boost peripheral开关模式电池充电器和升压外围设备
OCV:Open circuitvoltage
EOC:End OfCharge充电结束
UUC:UnusableCapacity不可用电量
一、背景介绍
高通(Qualcomm)移动广泛集成了PMIC(电源管理IC),其BMS(Battery Management System,电池管理系统)负责监测、管理池的电量、健康、充放电安全等。qpnp-v-bms即Qualcomm PMIC Next-Gen Platform的Voltage Mode-BMS,是基于电池“电压模式(Voltage Mode”的算法和驱动框架,多用于安卓手机的内核。
二、qpnp-vm-bms电压模式简介
- 电压模式(Voltage Mode)
简单来说,是根据电池端电压估算剩余电量(SOC, State Of Charge)、剩余容量(mAh)等关键参数。而另一种常见的模式是库仑计数(Coulomb Counter,电流积分法)。 - 特点
- 不依赖库仑计数器(Coulomb Counter),而是基于对电池电压曲线匹配
- 模型依赖电池电压与SOC的关系表
-般对成本较低、硬件资源有限的产品较为适用 - 精度低库仑计数法,但实现简单
- 更依赖温度、电池工况等校正
三、qpnp-vm-bms主要功能
- 电池剩余容量估算(SOC)
- 依据电电压(OCP Open Circuit Voltage)、温度及查表法(Voltage to SOC table)进行估算
- 充电状态管理
- 充满、放空判定
- 控制电流程
- 健康与保护
- 欠压、过压、电池温度过高/过低监控
- 保护电池避免过度放电/过度充电
- 参数接口导出
- 向用户空间(Android HAL、BatteryService,sysfs)提供电池状态参数,如当前剩余百分比、状态(正在充电/放电)、健康状态等
. 与PMIC/充电子系统协作 - 协调充电管理IC,动态调节充电电流、电压等
- 向用户空间(Android HAL、BatteryService,sysfs)提供电池状态参数,如当前剩余百分比、状态(正在充电/放电)、健康状态等
四、核心实现/工作流程
- 硬件采样
- 从PMIC ADC通道定期读取电池电压(有时附加温度传感器)
- 部分情况会采集阻抗估算
- 查表算法(Voltage-SOC Table)
- 内核驱动内置或DT中加载电池电压到SOC的特性表
- 实时根据当前电压、温度查表得到对应SOC
- 温度系数可能参与补偿(不同温度下电压-SOC特性曲不同)
- 状态机推进
- 进入/退出充电、放电、空电、满电、上电等状态,更新对应flag
- 若电压临界则触发报警/保护
- 参数导出机制
- 在/sys/class/power_supply/bms/等节点下导出如capacity、voltage_now等属性
- 上层(Android Framework/Service)定期轮询读取
五、使用/配置方法(详细方法参加下方)
1. 设备树(Device Tree)配置
通常需在dts文件(pm8998.dtsi等)中写入类似如下节点:
bms: qpnp-vm-bms@... {
compatible = "qcom,qpnp-vm-bms";
io-channels = <&pm8998_adc ADC_CHANNELAT_VOL>;
q,voltage-soc-table = < ... 配置具体的电压与SOC表 ... >;
qcom,temperature-soc-correction = < 可选,温度修正表 >;
/* 其它参数如电池容量、电压上下限等 */
};
2. 内核驱动
- 路通常在
drivers/power/qcom/qpnp-vm-bms.c - 编译选项依赖于
CONFIG_QPNP_VM_BMS
3. 用户空间/验证使用
- 电池状态可通过如下sysfs节点读取:
cat /sys/class/power_supply/bms/capacity # SOC(%) cat /sys/class/power_supply/bms/voltage_now # 当前电压(uV) cat /sys/class/p_supply/bms/temp # 电池温度(0.1°C) - 可通过logcat、dmesg监控BMS相关日志
- 使用BatteryService/Settings观察效果
4. 典型应用场景
- 中低端机型、IoT智能设备等不需要精细电量管理的场景
- 没有专门库仑计硬件支持时
高通qpnp-vm-bms电压模式电池管理

最低0.47元/天 解锁文章
629

被折叠的 条评论
为什么被折叠?



