Android7.1电池管理部分的一些笔记

与电池相关的一些名词解释

1、FCC Full-Charge Capacity 满电荷电量

2、UC Remaining Capacity RC 剩余电量

3、CC Coulumb Counter 电量计

4、UUC Unsable Capacity 不可用电量

5、PC Percentage Charge 剩余电荷占FCC百分比

6、SoC State of Charge 电量百分比

7、OCV Open Circuit Voltage 开路电压,电池在开路状态下的端电压

8、RUC Remaining Usable Capacity RUC=RC-CC-UUC 剩余可用电量

电池节点(dts)信息:

qcom,battery-type:指明电池类型的字符串;如 WeiCe_1900mah

qcom,batt-id-kohm:电池ID电阻:当一些电池模型的ID电阻在一定范围内浮动时,电池ID电阻可以作为单位模型数组以支持多ID

qcom,chg-term-ua = <57000>;电池的结束充电电流,这里时57000,即为57mA,就是电池满电时的电流

qcom,default-rbatt-mohm = <166>;标称电池的电阻值;正常温度下的电池电阻值(取中值)

qcom,fcc-mah = <1900>;电池完全充满的电池容量1900mAH,能放电多少的电流

qcom,max-voltage-uv = <4200000>;电池最大的额定电压值

qcom,rbatt-capacitive-mohm = <50>;电池的电容电阻。

qcom,v-cutoff-uv = <3400000>;电池的截至电压,当电池电压低于此值时设备会自动关机

qcom,fcc-temp-lut{};一维查找表节点会将温度编码成fcc查找,该方法的单位映射成毫安时

qcom,pc-temp-ocv-lut{};一个包含温度和百分比的开路电压二位查找表,查找表的单位时百分比和电压的关系

qcom,rbatt-sf-lut{};一个二维查找表对应于电池充电的内部温度和内部电阻

电量检测的drivers层函数

Kernel层

​ Kernel/drivers/power/power_supply_core.c

Healthd守护进程

本层在Android中属于Native层,healthd中运行一个系统服务batteryproperties,负责监听Kernel中上报的uevent,对电池电量进行实时监控。

主要相关代码路径:

  1. \system\core\healthd\healthd.cpp
  2. \system\core\healthd\BatteryMonitor.cpp
  3. \system\core\healthd\BatteryPropertiesRegistrar.cpp
  4. \system\core\healthd\BatteryMonitor.cpp
BatteryService系统服务

本层提供了C++/Java两套接口来访问batteryproperties系统服务。

本层的系统服务battery使用Java代码写成,运行在fwk的中SystemServer进程。

该系统服务的主要作用是:监听batteryproperties服务中的电池信息变化消息,并将该消息以系统广播的形式转发至Android系统中各处。

主要相关代码路径:

  1. \frameworks\native\services\batteryservice\IBatteryPropertiesRegistrar.cpp
  2. \frameworks\native\services\batteryservice\IBatteryPropertiesListener.cpp
  3. \frameworks\native\services\batteryservice\BatteryProperties.cpp
  4. \frameworks\base\core\java\android\os\IBatteryPropertiesRegistrar.aidl
  5. \frameworks\base\core\java\android\os\IBatteryPropertiesListener.aidl
  6. \frameworks\base\core\java\android\os\BatteryProperties.java
  7. \frameworks\base\services\core\java\com\android\server\BatteryService.java
SystemUI 应用

该部分属于电量上报的最后的环节。其主要工作是:监听系统广播Intent.ACTION_BATTERY_CHANGED,并对UI作出相应更新。

主要相关代码路径:

\frameworks\base\packages\SystemUI\src\com\android\systemui\power\PowerUI.java

https://www.cnblogs.com/reality-soul/p/4794896.html

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值