MTK平台 电池驱动相关
MTK平台 电池驱动
一、相关代码路径(mt6755/Android6.0)
alps/kernel-3.18/drivers/misc/mediatek/include/mt-plat/mt6755/include/mach/mt_battery_meter.h
alps/kernel-3.18/drivers/misc/mediatek/include/mt-plat/mt6755/include/mach/mt_battery_meter_table.h
alps/kernel-3.18/drivers/power/mediatek/battery_common.c
alps/kernel-3.18/drivers/power/mediatek/battery_meter.c
alps/kernel-3.18/drivers/power/mediatek/linear_charging.c
alps/kernel-3.18/drivers/power/mediatek/switch_charging.c
二、MTK Battery框架结构图
1、框架结构图: 
2、Battery代码框架: 
3、oam_run()流程图:

以下是电池电池曲线相关:
一、MTK电池电量算法
1、SOC_BY_AUXADC:通过模数转换硬件获得电池电压,由电压来换算电量,误差大;
2、SOC_BY_SW_FG:通过库伦积分算法获得电量,其中电流由软件计算获得(MTK平台常用的电池电量算法);
3、SOC_BY_HW_FG:通过库仑积分算法获得电量,其中电流由硬件的模数转换获得;
4、SOC_BY_SW_FG与SOC_BY_HW_FG的区别在于放电电量的获取方式,一个由软件计算获得,一个由硬件模数转换获得。
二、库仑积分算法:
开机时测量电池的开路电压,由开路电压换算出电池电量,放电过程中对放电电流积分,开机时电池电量减去放电电量就是剩余电池电量;
三、SOC_BY_SW_FG相关定义
1、OCV:电池开路电压,即电池断开负载时测得的电压;
2、VBAT:电池闭路电压,即电池有负载时测得的电压;
3、r:电池内阻;
4、I:电池放电电流 (I = (OCV - VBAT)/r);
5、DOD:放电深度,100-DOD即为电池容量;
6、温度:电池特性受温度影响,一般用一个热敏电阻来测量温度;
7、ZCV:Zero current Voltage,一般指zcv表格,也是开路电压的意思;
8、VC:闭路电压;
9、CAR:库仑计;
10、Cmax/Qmax:电池容量。
本文详细介绍了MTK平台电池驱动的代码路径与框架结构,并深入探讨了三种不同的电池电量算法,包括SOC_BY_AUXADC、SOC_BY_SW_FG及SOC_BY_HW_FG。此外,还解释了库仑积分算法的基本原理及其在MTK平台的应用。
---MTK平台 电池驱动相关&spm=1001.2101.3001.5002&articleId=80796976&d=1&t=3&u=c2e4a8f931234a87a47e87b5eb0fa2d9)
3198

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



