MTK 电池曲线配置

Posted 冷冻的彩虹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MTK 电池曲线配置相关的知识,希望对你有一定的参考价值。

硬件平台:MT8382

网上有很多关于电池曲线配置的文档,定位到具体的文件和数据结构,但是具体的数据配置却是没有,由于工作期间需要配置到对应的电池曲线;特意把修改过程使用到的数据记录下来;

电池曲线需要修改 mediatek\\custom\\pro\\kernel\\battery\\battery\\cust_battery_meter_table.h 文件中的BATTERY_PROFILE_STRUC battery_profile_t2[]结构数组;


电池供应商提供恒流放电过程的数据:




对于电池曲线,主要最关心的是放电过程的数据;从放电数据中可知电池的参数:电池最大电压为4.127V,最低电压2.697V,容量为2230.8mA;

    BATTERY_PROFILE_STRUC 结构描述的就是一个电池放电(消耗)过程的数据,电压是一致的,电量的表达方式是以另一种形式:百分比;

// T2 25C
BATTERY_PROFILE_STRUC battery_profile_t2[] =

 0   , 4127,         
 1   , 4081,         
 3   , 4039,         
 4   , 4025,         
 6   , 4001,         
  ......
 36  , 3789,         
 37  , 3783,         
 39  , 3771,         
 40  , 3765,         
 42  , 3753,         
  ......         
 90  , 3432,         
 92  , 3414,         
 93  , 3406,         
 94  , 3397,         
 96  , 3375,         
 97  , 3364,         
 98  , 3351,         
 100  , 3317,         
 101  , 3316,         
  ......      
; 
成员一表示消耗了百分之多少的电量,成员一表示消耗了该电量此时对应的电压值;

BATTERY_PROFILE_STRUC 数据含义: 假如产品的电压范围设置在 4.127V - 3.300V,由此可知此时电池的预定使用容量为2100mA,所以每个百分点就是21mA;  0   , 4127,   表示消耗0%电量,即此时电池充饱电状态的电压最大值;
 1   , 4081,   表示消耗1%电量,即此时电压为消耗了21mA时的电压值;  ......  36  , 3789,  表示消耗36%电量,即此时电压为消耗了756mA时的电压值;   
 ...... 100  , 3317,  表示消耗100%电量,即此时电压为预定最小值;
剩下的电量为储电保护,防止电池过放导致无法充电;


配置电池充电曲线,其实就是放电过程的逆序处理
修改对应文件: mediatek/custom/pro/lk/include/target/cust_battery.h
/* Battery Voltage and Percentage Mapping Table */
VBAT_TO_PERCENT Batt_VoltToPercent_Table[] = 
        /*BattVolt,BattPercent*/
        3317,0,
        3432,10,
        3505,20,
        3570,30,
        3637,40,
        3705,50,
        3765,60,
        3825,70,
        3892,80,
        3964,90,
        4127,100,
;
可以根据放电曲线进行相应的修改 3432,10,    表示充电电量为10%时容量为210mA,电池对应的电压值;
 ......
3964,90,    表示充电电量为90%时容量为1890mA,电池对应的电压值;
4127,100,  表示充电电量为100%时,即电池充饱电状态的电压最大值;  


关于电池其他参数的配置,网上有很多帖子都有详细讲解,可以去参考;









以上是关于MTK 电池曲线配置的主要内容,如果未能解决你的问题,请参考以下文章

MTK 电池曲线配置

MTK pump express 高速充电原理分析

基站蓄电池充放电曲线分析

mtk battery_table

两条曲线之间的二维插值(长度不等的数组)

MTK驱动锁住端口方法