本文转载自: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. FTS5与DIY

    此文已由作者王荣涛授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. FTS5简介 前文已经介绍了FTS3/FTS4,本文着重介绍它们的继任者FTS5. FTS5是在SQLite ...

  2. python017 Python3 模块

    Python3 模块在前面的几个章节中我们脚本上是用 python 解释器来编程,如果你从 Python 解释器退出再进入,那么你定义的所有的方法和变量就都消失了.为此 Python 提供了一个办法, ...

  3. 使用dd命令快速生成大文件或者小文件的方法

    使用dd命令快速生成大文件或者小文件的方法     转载请说明出处:http://blog.csdn.net/cywosp/article/details/9674757     在程序的测试中有些场 ...

  4. js获取json属性值的两种方法

    1.json.XXX 2.json["XXX"] 第二种方法使用场景,当属性值是变量时.如图所示:

  5. 【HDOJ6343】Graph Theory Homework(贪心)

    题意: 给定n个点,每个点有权值a[i],从A走到B的花费是下取整sqrt(a[i]-a[j]),求从1号点走到n号点的最小花费 1<=n,a[i]<=1e5 思路: #include&l ...

  6. 【ZJOI2017 Round1练习】

    喜闻乐见(爆蛋滚粗)的ZJOI模拟赛终于开始了 可以又一次感受被屠的快感 DAY1: T1:线段树打错-70 正解分块听卡常还要调块的大小 T2:数学弱爆 是道结论题 T3:暴力分滚粗 DAY2: T ...

  7. python(4)- 字符编码

    一 什么是编码? 基本概念很简单.首先,我们从一段信息即消息说起,消息以人类可以理解.易懂的表示存在.我打算将这种表示称为“明文”(plain text).对于说英语的人,纸张上打印的或屏幕上显示的英 ...

  8. CodeForces 592C The Big Race

    公倍数之间的情况都是一样的,有循环节. 注意min(a,b)>t的情况和最后一段的处理.C++写可能爆longlong,直接Java搞吧...... import java.io.Buffere ...

  9. 从 modCount 看 java集合 fail-fast 机制

    一.背景 在常见的Java的非线程安全集合类中(如HashMap.ArrayList),经常可以在一些修改结构的操作(如Add)中看到实例变量 modCount++ ,来统计集合的修改次数. 从注释也 ...

  10. MongoDB学习day08--mongoose预定义修饰符和getter、setter修饰符

    一.mongoose预定义修饰符 lowercase. uppercase . trim var UserSchema=mongoose.Schema({ name:{ type:String, tr ...