本文档主要介绍 Rockchip 的
RK818/
RK816 子
模块:电量计。介绍相关概念功能、DTS 配置和一些常见问题的分析定位。
1、RK818/RK816 电量计
1.1 概述
RK818/RK816 是一款高性能
PMIC,集成了多路大电流 DCDC,多个
LDO,1 个线性开关,1 个 USB 5V 及 boost 输出,还有开关充电,智能功率路径管理,库仑计,RTC 及可调上电时序等功能。其中“开关充电、智能功率路径管理、电量计(库仑计)”是本文档所要涉及的功能。
1. 充电管理:包括输入限流,涓流充电,恒流/恒压充电,充电终止,充电超时安全保护等功能。
2. 智能功率路径管理:可对输出电压进行调节以向系统负载提供所需要的功率,同时可以对电池进行充电。当进入输入限流状态时,输入功率会优先提供给系统负载,而剩余的功率才会提供给电池充电用。另外,在系统负载所需功率超过限定的输入功率,或者
电源输入被断开时,智能功率路径管理功能会自动开启电池与系统负载间的开关,从而使电池可以同时向系统负载提供额外功率。
3. 电量计(库仑计):通过采用自有专利技术的算法,该电量计可以根据不同电池的充放电特性曲线,精确地测量电池电量,并把电池电量信息通过
I2C 接口提供给系统主
芯片。同时有对过度放电电池的小电流充电,电池温度检测,充电安全定时器,和芯片热保护等功能。
1.2 电量计原理
1. 三个基本原则:
a) 电池的开路电压与电池电量的百分比(OCV‐
SOC)曲线主要取决于电池制作的材料和工艺,并受温度、老化等的影响很小。【即电池生产出来后,SOC‐OCV 的曲线基本不变】。
b) 电池在工作期间,受到电池极化等影响,难以从电池
端口电压推算出电池的 OCV 电压值,因此只有在电池未极化时(如长时间关机后的开机电压或长时间小电流工作时)才能得到可用的 OCV,并通过 OCV 得到 SOC。
c) 库仑计能测量实际流入或者流出电池的电量,若已知电池总容量,就能很容易的得到SOC 值,但库仑计的累计误差大,而且电池的总容量会受温度和老化等因素等影响,因此库仑计的方法只能保证在短时间内具有较好的精度,并且需要定期更新电池总容量。
d) 目前性能良好的电量计,都是建立在以上 OCV 估算与库仑计计算基础上,得到实时的电量计剩余容量状态。
2. 库仑计法
在电池的正极和负极串接一个电流检查电阻,当有电流流经电阻时就会产生 V_delta,通过检测 V_delta 就可以计算出流过电池的电流。因此可以精确的跟踪电池的电量变化,精度可以达到 1%,另外通过配合电池电压和温度,就可以极大的减少电池老化等因素对测量结果的影响。
3. 电流
信号调理
采用 20 或 10 毫欧电阻取样电流,通过恒流源提供一个偏置,将负电流信号提高到正值,再经运放放大到参考电压
VRef 范围,并通过
ADC 模块转换为数字量。
4. 电压采集
通过分压电路将电池电压分压(分压比 0.5)到 Vref 范围内,在经 ADC 模块转换成数字输出。
5. 平均电流采集
数字部分对修正过的电流值与多位数的累加器每秒进行 256 次的叠加。一秒结束后,将累加器的值除以 256 得到平均电流的值。
6. 库仑计更新
库仑计是在平均电流更新的时候,自动累加一次。
1.3 重要概念
● 【ocv 电压】
开路电压。PMIC 在上电时序过程中采集,因此时的负载还非常非常小,近似于开路状态,所以此时的电压是准确的。用途:当满足关机至少 30 分钟时,我们认为电池的极化基本消除,此时获取的 ocv 电压真实有效,因此会用该电压去查询 ocv_table 得到一个新的电量去更新库仑计的值,即进行一次库仑计的校正。
● 【ocv table】
每款电池都有自己的电池特性曲线,根据 ocv 特定电压对应特定电量的原则,我们将 0%~100%的电量细分成 21 个点,步进 5%电量,由此得到一张/组“电压<-->电量”的表格。这个表的用途就是在第一次接电池和平时开机校正库仑计的依据所在。例如:
ocv_table = <3400 3599 3671 3701 3728 3746 3762 ...... 4088 4132 4183>;
对应关系:3400mv: 0%; 3599mv: 5%; 3671mv: 10%;.... 4183mv: 100%;
● 【最大输入电流和最大充电电流】
软件上配置可从适配器获取的最大电流,称之为“最大输入电流”。例如 5V/2A 的适配器,我们一般软件配置最大输入电流为 2A(也可以设置为 1.8A...)。RK818 有智能电源路径管理功能,即来自适配器的电优先供应给系统使用,剩余的再给电池充电,软件上配置的允许向电池充电的最大剩余电流值称之为“最大充电电流”。
● 【发生输入限流】
可以简单理解为,当给电池和系统的供电电流需求超过最大输入电流时,发生这种“不够用”的情况时就称之为“发生了输入限流”。或者还可以理解为:当无法在电池所需条件下以最大充电电流状态给电池充电时,即发生了输入限流。该功能主要是用来作为充电截止的三个条件之一(另外两个为充电截止电压和截止电流)。
● 【松弛模式】
在极低负载情况下(目前只针对于二级待机),如果系统的负载电流持续超过一定时间(软件可配)都小于某个阈值,则电量计模块进入松弛模式。
● 【松弛电压】 在松弛模式下电量计每隔 8 分钟会采集一组电压,我们称之为松弛电压。用途:二级待机的负载很小,我们近似地认为松弛电压近似于开路电压,因此驱动处理上,在系统从二级待机唤醒且满足一定条件时会用它查询 ocv_table 表进行库仑计的校正。
● 【finish 充电截止信号】
当发生电池充电截止时,寄存器会产生一个状态信号,称之为 finish 的信号。用途:软件只有获取到该信号才认为是真正的、硬件上的充电截止,然后会进入相对应的算法流程调整显示的电量。
● 【芯片热保护】
PMIC 的自我保护机制,实际是一个反馈机制:当芯片温度大于设置的阈值时,会发生输入电流被逐渐减小的过程,以此降低 PMIC 工作负荷,降低芯片热量。这个反馈过程由硬件自动完成,软件无法参与,也没有严格的温度和电流大小的对应比值,极端恶劣条件下,甚至停止充电。
● 【充电截止条件】
当充电电流达到截止电流,电压达到截止电压,且没有发生输入限流的情况下产生充电截止信号,不再继续充电,我们认为此时电池已经充满。(这里需要输入限流的条件来判读,否则无法分清是真的充电电流变小了,还是因为此时的系统负载比较大导致给电池的充电电流小)
更多详细内容请下载附件查看