SW FG 算法分析
目录
1, Battery架构简析
2, MTK 电量算法简析duedate
2012年四川高考题
3, 72/82平台SW FG算法分析
4, 误差和消除误差
Battery架构简析
环保服装材料>123职称英语网MTK平台Battery软件架构基本如上图所示。
具体过程:
硬件ADC读取Battery的各路信息:包括温度,电压等。
owlcity
四级考号MTK开发的电量算法分析得到的数据。
焦虑症治疗Kernel层将电量信息通过写文件节点的方式更新,并通过UEVENT通知上层。
east上层Service开启UEVENT LISTENER,监听到UEVENT后,读取battery相关文件节点,获取电量信息。
Service更新数据后,通过Broadcast通知所有开启了相关listener的activities。
brothel根据不同的电量读取和计算的策略,第一步的读取和第二步的算法部分会有比较大的差异,而后面的数据更新和事件通知部分一致性较高。
本篇重点分析72/82平台SW FG算法实现,对比SW_FG 和HW_FG在硬件及软件上的部分差异,分析电量误差形成的一些原因和MTK已经采取的消除误差的措施。对于Battery数据更新和充电流程则粗略分析。
充电状态机,battery充电的逻辑,就依赖于这张图,如果是用的external charger ic,则应当参考该IC的充电逻辑。
与人交往的技巧linear charging下 cc转 cv,是通过ADC读取电压后,软件切换。而使用charger ic 则很可能是硬件直接切换。
这部分的相关代码路径在:
alps/mediatek/kernel/drivers/power/linear_charging.c
alps/mediatek/kernel/drivers/power/switching_charging.c
kernel层battery驱动工作的流程,Bat_thread是工作的重点,通过单独的线程依赖10s定时器,更新battery相关信息。电量算法分析后得到的数据也不会直接update,Information Processing还会针对一些特殊情况对显示电量做调整,比如0%tracking&100%tracking。