下载此文档

MTK Fuel Gauge算法分析.doc


文档分类:通信/电子 | 页数:约30页 举报非法文档有奖
1/30
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/30 下载此文档
文档列表 文档介绍
SW FG 算法分析
目录
Battery架构简析
MTK 电量算法简析
72/82平台SW FG算法分析
误差和消除误差
Battery架构简析
MTK平台Battery软件架构基本如下图所示。
具体过程:
硬件ADC读取Battery的各路信息:包括温度,电压等。
MTK开发的电量算法分析得到的数据。
Kernel层将电量信息通过写文件节点的方式更新,并通过UEVENT通知上层。
上层Service开启UEVENT LISTENER,监听到UEVENT后,读取battery相关文件节点,获取电量信息。
Service更新数据后,通过Broadcast通知所有开启了相关listener的activities。
根据不同的电量读取和计算的策略,第一步的读取和第二步的算法部分会有比较大的差异,而后面的数据更新和事件通知部分一致性较高。
本篇重点分析72/82平台SW FG算法实现,对比SW_FG 和HW_FG在硬件及软件上的部分差异,分析电量误差形成的一些原因和MTK已经采取的消除误差的措施。对于Battery数据更新和充电流程则粗略分析。
充电状态机,battery充电的逻辑,就依赖于这张图,如果是用的external charger ic,则应当参考该IC的充电逻辑。
linear 转 cv,是通过ADC读取电压后,软件切换。而使用charger ic 则很可能是硬件直接切换。
这部分的相关代码路径在:
alps/mediatek/kernel/drivers/power/
alps/mediatek/kernel/drivers/power/
kernel层battery驱动工作的流程,Bat_thread是工作的重点,通过单独的线程依赖10s定时器,更新battery相关信息。电量算法分析后得到的数据也不会直接update,Information Processing还会针对一些特殊情况对显示电量做调整,比如0%tracking&100%tracking。
除了10s一次的定时器更新,插拔充电器会触发中断,中断处理时同样会更新battery数据。
所有和电池充电相关的数据都存储在power_supply类型的结构体中,这是linux标准的电源子系统体系。
MTK电量算法简析
为了得到较为精确的电量数据,需要改善测量方式和计算方法,并针对已知误差采取优化手段。一下介绍MTK平台下采用的一些电量算法。
AUX ADC算法:
事实上,所有算法都要依赖ADC读取电量信息,这边的AUX ADC算法指只依赖ADC读值,然后查表读取电量的算法。
这种算法只重构了ZCV table,误差会很大。
库仑积分法:
通过开路电压查表得到初始电量D0,后续电量通过电流积分累积,通用性强,依赖初始电量的精确度。
混合型算法:
SW FG算法和HW FG算法。事实上MTK平台项目通常采用的是混合型算法。
SW FG的参考电路:
HW FG的参考电路:
相同点: NTC电阻用于测量温度,ADC测量各路信号。
不同点: HW FG有单独的ADC和20毫欧的电阻作电流的侦测。
HW FG 和SW FG最大差异就是电流的获取方式。
混合算法的流程,HW FG通过FG ADC读取FG电阻两端电压获得电流, 而SW FG则结合库伦算法通过SW方式算得。这部分会详细介绍。
72/82平台SW FG算法分析
主要分析上图黄色部分
大部分项目都采用混合算法,下面从算法初始化开始介绍下SW FG的算法实现。

这个C文件主要负责电池电量算法的实现 ,以读取电池的各路信号。
=>battery_meter_initial
首先看下调用这个func的timing。
显然在开机初始化阶段,就会进入该函数,且只会运行一次。
针对AUXADC SW_FG HW_FG三种不同的电池算法方案,分别初始化,因为82平台采用的SW_FG, 所以接下去先主要分析SW_FG的流程。
SW_FG的准备工作分为两步: table_init oam_init
先看table_init
首先要获取当前的温度信息
=> force_get_tbat
ADC读值
这边就是MTK为了结合实际温度获取较为精确的电池信息而采取的线性平均值法。原理是利用预先测得的分布在-10 0 25 50 摄氏度下的ZCV表,结合真实温度,动态重构一张当前温度下的ZCV表格。
TEMPERATURE对应预留的空ZCV表格,如下
构造新表的函数如下

MTK Fuel Gauge算法分析 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息