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

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

Android7.1电池管理部分的一些笔记相关推荐

  1. 《SQL Server企业级平台管理实践》读书笔记——几个系统库的备份与恢复

    原文:<SQL Server企业级平台管理实践>读书笔记--几个系统库的备份与恢复 master数据库 master作为数据库的主要数据库,记录着SQL Server系统的所有系统级信息, ...

  2. android+5.q,MSM8909+Android5.1.1电池管理(2)--qpnp-linear-charger.txt驱动学习概要

    MSM8909+Android5.1.1电池管理(2)--qpnp-linear-charger.txt驱动学习概要 参考文件 \kernel\Documentation\power\qpnp-lin ...

  3. 用c语言程序编写电池管理系统,基于Freescale单片机的电池管理系统设计.doc

    摘? 要:为了实现电动汽车电池的实时监控,在研究了锂离子电池特点的基础上,提出了一种用于混合动力汽车的分布式电池管理系统.其中,硬件系统包括电源模块.基于Freescale 系列单片机的主控制模块和子 ...

  4. PMU电池管理配置与io-domain电源域

    PMU电池管理配置与io-domain电源域 1 电源域设置 1.1 驱动文件与 DTS 节点: 1.2 使用 IO-Domain 驱动好处: 2 如何配置电源域 情况一:无PMU 情况二:有PMU ...

  5. Ubuntu系统电池管理软件TLP(Thinkpad设置电池充电阈值)

    Ubuntu系统电池管理软件TLP(Thinkpad设置电池充电阈值) 说明 最近给手里的Thinkpad x200s安装了Unbuntu系统,为了优化电池管理,延长电池寿命,考虑安装电池管理软件(虽 ...

  6. Wattagio for Mac(电池管理)

    Wattagio for Mac是一款mac上优秀的电池管理工具,可以通知您当前电池的使用情况,并有助于降低电量,在应用程序中的灵活设置选项可以来自定义您的配置文件来满足您的需求.macdown提供W ...

  7. Android Battery(四) 电池管理

    欢迎转载,转载请注明:http://blog.csdn.net/zhgxhuaa 说明 本篇将介绍省电管理篇,主要介绍一下Android的耗电情况和目前市面上<电池助手>类应用涉及到的一些 ...

  8. Wattagio for Mac(Mac电池管理软件)v1.12.11

    Wattagio for Mac 是一款强大的电池监控检测维护管理工具.它会告知您当前的电池健康状况,并有助于降低功耗.Wattagio 中的灵活设置为您提供了自定义配置文件以满足您的需求的选项.作为 ...

  9. 【Zotero高效知识管理】(4)Zotero的文献管理、阅读及笔记知识管理

    [Zotero高效知识管理]专栏其他文章 Zotero文献管理软件的系统性教程,包括安装.全面的配置.基于众多插件的文献导入.管理.引用.笔记方法 [Zotero高效知识管理](1)Zotero介绍 ...

最新文章

  1. UE中的自动化学习课程
  2. Python实现心跳保活TCP长连接
  3. Hadoop入门(十七)Mapreduce的多表关联程序
  4. static内容相关介绍学习
  5. Centos6安装zabbix2.4初始化部署
  6. 网络安全技术入门到项目实战
  7. 速览!PCBA需要刷三防漆,如何制作治工具?
  8. 使用Ruffle搭建运行Flash的网页
  9. 服务器带的虚拟软驱有什么用,云服务器是干什么用的?摩杜云带你去了解!
  10. 分享一个超级好用的在线生成地图SiteMap制作工具
  11. C: warning: too many arguments for format [-Wformat-extra-args]
  12. excel切片器_如何快速做出酷炫的Excel动态图表?
  13. Python基础知识:def创建函数
  14. win10安装jdk及环境配置
  15. 我把它当副业月入3万多,新手月入过万的干货分享!
  16. python障碍式期权定价公式
  17. Python识别验证码----谷歌reCapture 4*4验证码
  18. 易语言编程-远程封包拦截与发送技术
  19. 【Kevin Learn QMUI】-->qmui 知识梳理
  20. python 应用程序无法正常启动 000007b_win8 应用程序无法正常启动0xc000007b怎么办_win8错误代码0xc000007b无法正常启动的解决方法...

热门文章

  1. 用Python分析了数千个微信昵称后,发现了这些秘密!
  2. 赖信仁-EA和UML团队开发技巧-UMLChina讲座-音频和幻灯
  3. JavaSE进阶回顾第三天-异常
  4. android手机blhx素材提取
  5. 思维导图软件哪个免费更好用?MindManager、iMindMap、MindMappe
  6. 制作apt-get本地源解决无网络情况下安装软件
  7. python基础_面向对象进阶
  8. PeekMessage与GetMessage区别
  9. 一个人有没有领导力,就看这3点
  10. 硬件microbit基础