[DESCRIPTION]
72/82/92充电框架有了比较大的修改,如果需要学习,你应该了解什么概念。
[PLATFORM]
MT6572 MT6582 MT6592
[Solution]
1.common 层充电函数的位置:
alps\mediatek\kernel\drivers\power
battery_common.c ----->充电控制主线程
battery_meter.c ----->SW FG算法,也即是OAM
linear_charging.c ----->PMIC充电控制
switch_charging.c ----->SW charger充电控制
2.客制化的地方:
alps\mediatek\custom\mt6572\kernel\battery\battery\
a.cust_battery_meter.h ----->FG客制化文件,ZCV表格电池容量,填写的文件
譬如72默认就是使用sw fg
#define SOC_BY_SW_FG
b.cust_battery_meter_table.h---->FG客制化文件,ZCV表格,电池数据,填写的位置
填写对应4个温度
OCV r表格
OCV DOD表格的位置
c.cust_charging.h ----->充电文件控制的位置。
设置USB/AC充电电流大小的位置
3.SW FG的原理:
a.PMIC adc来获取raw vbat电压。
b.通过ZCV表格,将vbat转换成OCV
c.ocv-vbat/r 来获取电流I
d.对电流i 进行积分,获取电量。
4.关机充电
关机充电是使能kernel power off charging
在kernel里面充电,充电控制流程与开机是一致的。
具体logo显示的控制,
DCC IPO文档:
a.Instant_Power_On_Document//关机充电会使用到IPO服务来画logo,关机充电参考文档
5.Fuel Gauge测试文档
请到DCC 上面下载
a.Fuel Gauge Application Notes //测试文档
b.Fuel Gauge introduce //介绍文档
c.Battery_Charging_Introduction_for_Customer//软体介绍文档
6.Ecourse
名称:SW Fuel Gauge introduce
path:
SW > ALPS > Basic Training.