MTK6735 添加电池曲线
听语音
- |
- 浏览:708
- |
- 更新:2017-04-03 16:46
本篇内容将详细的介绍,如何在 MTK6735平台下添加新的电池曲线;以及 Battery Manager的一些相关知识。
方法/步骤
-
Android 电池管理的函数调用流程介绍,BatteryService.java(system)------>>com_android_server_BatteryService.cpp(JNI)------->>Linux Battery Driver(linux kernel)------>>Low lay
-
其中system中的 BatteryService.java文件,电池服务管理相关得到详细调用关系如下所示流程图
-
电池的升级功能接口,是通过对应的宏声明文件路径作为唯一的ID
-
作为一名底层驱动工程师,最关心的是如何根据给出的电池曲线图表,去修改对应的底层驱动文件,来实现真正驱动控制管理电池。底层电池驱动架构图如下所示
-
linux驱动中对应路径 alps/kernel-3.10/drivers/power/mediatek 下的文件如下; alps/kernel-3.10/drivers/misc/mediatek/power/mt6735 下的文件如下
-
pulse changer state machine 状态图如下图所示
-
MTK充放电调试需要注意的几点:
1、配置电池温度检测相关参数
alps/kernel-3.10/drivers/misc/mediatek/mach/mt6735/lentk6735m_65c_l1/power/cust_battery_meter_table.h
热敏电阻有两种风格 10K 和 47K
-
2、电池配置结构了,这些参数是根据电池供应商提供的曲线参数表来配置的,通常是配置常温 25c下的相关参数,具体的参数存放在一下结构数组中,同样位于cust_battery_meter_table.h文件中
alps/kernel-3.10/drivers/misc/mediatek/mach/mt6735/lentk6735m_65c_l1/power/cust_battery_meter_table.h
// T2 25C
BATTERY_PROFILE_STRUC battery_profile_t2[] =
{
}
结构数组中
-
电池充放电参数的更新,对应的电池充放电需要更新的参数由电池供应商提供,需要修改的文件是
alps/kernel-3.10/drivers/misc/mediatek/mach/mt6735/lentk6735m_65c_l1/power/cust_battery_meter.h
END