本文转载自:http://blog.csdn.net/u010245383/article/details/51006597

硬件平台: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 结构描述的就是一个电池放电(消耗)过程的数据,电压是一致的,电量的表达方式是以另一种形式:百分比;

  1. // T2 25C
  2. BATTERY_PROFILE_STRUC battery_profile_t2[] =
  3. {
  4. {0   , 4127},
  5. {1   , 4081},
  6. {3   , 4039},
  7. {4   , 4025},
  8. {6   , 4001},
  9. ......
  10. {36  , 3789},
  11. {37  , 3783},
  12. {39  , 3771},
  13. {40  , 3765},
  14. {42  , 3753},
  15. ......
  16. {90  , 3432},
  17. {92  , 3414},
  18. {93  , 3406},
  19. {94  , 3397},
  20. {96  , 3375},
  21. {97  , 3364},
  22. {98  , 3351},
  23. {100  , 3317},
  24. {101  , 3316},
  25. ......
  26. };

成员一表示消耗了百分之多少的电量,成员一表示消耗了该电量此时对应的电压值;

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
  1. /* Battery Voltage and Percentage Mapping Table */
  2. VBAT_TO_PERCENT Batt_VoltToPercent_Table[] = {
  3. /*BattVolt,BattPercent*/
  4. {3317,0},
  5. {3432,10},
  6. {3505,20},
  7. {3570,30},
  8. {3637,40},
  9. {3705,50},
  10. {3765,60},
  11. {3825,70},
  12. {3892,80},
  13. {3964,90},
  14. {4127,100},
  15. };
可以根据放电曲线进行相应的修改
{3432,10},    表示充电电量为10%时容量为210mA,电池对应的电压值;
 ......
{3964,90},    表示充电电量为90%时容量为1890mA,电池对应的电压值;
{4127,100},  表示充电电量为100%时,即电池充饱电状态的电压最大值;  

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

MTK 电池曲线配置【转】的更多相关文章

  1. MTK Android Driver :Battery电池曲线

    MTK Android Driver :battery电池曲线 1.配置文件位置: CUSTOM_KERNEL_BATTERY= battery mediatek\custom\\kernel\bat ...

  2. MTK android flash配置

    关于6573集成MCP nandflash的方法,driver_allinone 和Memory Customer Document pdf的说明里面漏了很多细节.在此补上. 1.首先确认flash型 ...

  3. MTK 锁屏配置

    常常我们开 发程序的时候我们不需要系统唤醒系统锁屏功能,用户有时候在看电视或视频的时候不希望系统的锁屏 功能启动,既不想锁频,然而系统却在我们看电视或者视频的时候出来个锁屏的界面进行锁频拉,我们还要想 ...

  4. 1、硬件IO口配置;

    对于MTK TP驱动移植一般分为六部分: 1.硬件IO口配置: 2.TP驱动移植. 3.I2C通信: 4.中断触发: 5.数据上报: 6.虚拟按键. 硬件电路: 1.GPIO配置 打开 mediate ...

  5. 【转】android电池(四):电池 电量计(MAX17040)驱动分析篇

    关键词:android 电池  电量计  MAX17040 任务初始化宏 power_supply 平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台: ...

  6. android电池(四):电池 电量计(MAX17040)驱动分析篇【转】

    本文转载自:http://blog.csdn.net/xubin341719/article/details/8969369 电池电量计,库仑计,用max17040这颗电量IC去计量电池电量,这种方法 ...

  7. MTK平台下Battery驱动分析

    主要涉及代码: Kernel: kernel-3.10\drivers\power\mediatek\ kernel-3.10\drivers\misc\mediatek\mach\mt6580\&l ...

  8. Android4.4电池管理

    一.概述 Android4.4的电池管理功能用于管理电池的充.放电功能. 整个电池管理的部分包含Linux电池驱动.Android电池服务.电池属性和參数.电池曲线优化四个部分. Linux电池驱动用 ...

  9. 高通电池管理基于qpnp-vm-bms电压模式

    CV:Constant Voltage恒压 SMMB charger:Switch-ModeBattery Charger and Boost peripheral开关模式电池充电器和升压外围设备 O ...

随机推荐

  1. 【转】错误: ORA-01591: 锁被未决分布式事务处理 7.2.428982 持有--解决方案

    SQL 错误: ORA-01591: 锁被未决分布式事务处理 7.2.428982 持有 01591. 00000 -  "lock held by in-doubt distributed ...

  2. nginx1.6.3

    Nginx1.6.3安装配置 安装时关闭防火墙和selinuxservice iptables stopsed -i "s/selinux=enabled/selinux=disable/g ...

  3. Quoit Design(hdu 1007)

    题意:给n个点的坐标,求距离最近的一对点之间距离的一半.第一行是一个数n表示有n个点,接下来n行是n个点的x坐标和y坐标.实数. /* 最小点距离问题 采用分治算法,假设对于1-n的区间,我们已经求出 ...

  4. 钓鱼(洛谷 P1717)

    题目描述 话说发源于小朋友精心设计的游戏被电脑组的童鞋们藐杀之后非常不爽,为了表示安慰和鼓励,VIP999决定请他吃一次“年年大丰收”,为了表示诚意,他还决定亲自去钓鱼,但是,因为还要准备2013NO ...

  5. 运行hadoop自带的计算圆周率异常

    运行hadoop2 自带的圆周率计算方法时,报错,找了半天,原来是在配置hadoop临时目录时,没有给权限,找到配置的hadoop临时目录文件夹,修改权限即可 Application applicat ...

  6. 进程Queue、线程Queue、堆栈、生产者消费者模型

    没学队列之前,可以用文件实现进程之间通信 但是有2个问题: 1. 速度慢:文件是保存在硬盘空间 2. 为了数据安全要加锁(处理锁是一件很麻烦的事,容易死锁,建议自己轻易不要处理锁) 队列:队列是基于管 ...

  7. Java线程的5种状态及切换(透彻讲解)

    http://blog.csdn.net/pange1991/article/details/53860651

  8. HDU 5512 Pagodas【博弈】

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5512 题意: 给定集合,最初有两个数a,b,如果两个人依次使用集合中的元素相加减,如果得到的数均不在 ...

  9. java的反射机制和javassist、asm

    1.java的反射机制,可以帮助我们在运行的时候获取我们引用的java类相关的信息,包括类的名字.所包含的方法名字.方法参数等等 2.javassit这个jar包,大概看了下,更厉害,它可以直接操作字 ...

  10. [RxJS] Implement RxJS `switchMap` by Canceling Inner Subscriptions as Values are Passed Through

    switchMap is mergeMap that checks for an "inner" subscription. If the "inner" su ...