我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 4161|回复: 13

[其他] 【补发】一个比较全的RP4412开发板上android电池管理

[复制链接]

该用户从未签到

5

主题

7

回帖

0

积分

一级逆天

积分
0

终身成就奖社区居民

QQ
发表于 2013-12-26 16:52:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
在RP4412开发板使用了电池管理。
不论是哪个牌子的开发板,只要用到android的电池管理,都是需要学习和了解的。以下是这个android电池管理的大体。
Android电池管理
1、整体框架

电池管理整体框架

电池管理整体框架


java代码:    frameworks/frameworks/base/services/java/com/android/server/BatteryService.java
JNI代码:    frameworks/base/services/jni/com_android_server_BatteryService.cpp kernel driver代码
2、BatteryService  BatteryService
作为电池及充电相关的服务:监听Uevent、读取sysfs 里中的状态、广播Intent.ACTION_BATTERY_CHANGED。
(1)、mUEventObserver BatteryService实现了一个UevenObserver mUEventObserver。
uevent是Linux内核用来向用户空间主动上报事件的机制,对于JAVA程序来说,只实现UEventObserver的虚函数onUEvent,然后注册即可。

函数图

函数图

BatteryService只关注power_supply的事件,所以在构造函数注册:

构造函数

构造函数

(2)、update()
update读取sysfs文件做到同步取得电池信息, 然后根据读到的状态更新BatteryService的成员变量,并广播一个Intent来通知其它关注电源状态的   组件。当kernel有power_supply事件上报时,mUEventObserver调用update()函数,然后update调用native_update从sysfs中读取相关状态(com_android_server_BatteryService.cpp):

图4

图4

(3)、sysfs   
Linux驱动driver维护着保存电池信息的一组文件sysfs,供应用程序获取电源相关状态:
#define AC_ONLINE_PATH "/sys/class/power_supply/ac/online" AC电源连接状态
#define USB_ONLINE_PATH "/sys/class/power_supply/usb/online" USB电源连接状态
#define BATTERY_STATUS_PATH "/sys/class/power_supply/battery/status"充电状态
#define BATTERY_HEALTH_PATH "/sys/class/power_supply/battery/health"电池状态
#define BATTERY_PRESENT_PATH "/sys/class/power_supply/battery/present"使用状态
#define BATTERY_CAPACITY_PATH "/sys/class/power_supply/battery/capacity"电池level
#define BATTERY_VOLTAGE_PATH "/sys/class/power_supply/battery/batt_vol"电池电压
#define BATTERY_TEMPERATURE_PATH "/sys/class/power_supply/battery/batt_temp"电池温度
#define BATTERY_TECHNOLOGY_PATH "/sys/class/power_supply/battery/technology"
电池技术当电池状态发生变化时,driver会更新这些文件。
回复

使用道具 举报

  • TA的每日心情
    擦汗
    3 天前
  • 签到天数: 44 天

    [LV.5]常住居民I

    27

    主题

    5619

    回帖

    2万

    积分

    1元学习Allegro(1期)

    积分
    20129

    终身成就奖特殊贡献奖社区居民忠实会员社区劳模优秀斑竹奖最爱沙发社区明星宣传大使奖

    QQ
    发表于 2013-12-26 17:06:23 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-11-12 15:47
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    20

    主题

    1310

    回帖

    2万

    积分

    三级逆天

    积分
    27405

    社区居民忠实会员优秀斑竹奖新人进步奖最爱沙发终身成就奖特殊贡献奖宣传大使奖

    发表于 2013-12-26 20:56:22 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    昨天 10:14
  • 签到天数: 206 天

    [LV.7]常住居民III

    34

    主题

    1万

    回帖

    3万

    积分

    三级逆天

    积分
    34710

    终身成就奖特殊贡献奖原创先锋奖社区居民忠实会员社区劳模最爱沙发原创达人优秀斑竹奖宣传大使奖

    QQ
    发表于 2013-12-27 08:30:39 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    3 天前
  • 签到天数: 77 天

    [LV.6]常住居民II

    128

    主题

    1万

    回帖

    8419

    积分

    二级逆天

    积分
    8419

    终身成就奖特殊贡献奖原创先锋奖社区居民灌水天才奖优秀斑竹奖宣传大使奖忠实会员最爱沙发社区劳模

    QQ
    发表于 2013-12-28 00:02:43 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    47

    主题

    2067

    回帖

    7501

    积分

    二级逆天

    天天开心

    积分
    7501

    终身成就奖社区居民忠实会员宣传大使奖优秀斑竹奖

    QQ
    发表于 2013-12-28 20:49:33 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    47

    主题

    2067

    回帖

    7501

    积分

    二级逆天

    天天开心

    积分
    7501

    终身成就奖社区居民忠实会员宣传大使奖优秀斑竹奖

    QQ
    发表于 2013-12-28 20:49:59 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    5

    主题

    7

    回帖

    0

    积分

    一级逆天

    积分
    0

    终身成就奖社区居民

    QQ
     楼主| 发表于 2013-12-30 14:50:13 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-10-7 21:17
  • 签到天数: 103 天

    [LV.6]常住居民II

    92

    主题

    1万

    回帖

    7万

    积分

    三级逆天

    积分
    73181

    终身成就奖特殊贡献奖原创先锋奖社区居民忠实会员社区劳模最爱沙发社区明星原创达人优秀斑竹奖宣传大使奖

    QQ
    发表于 2014-3-12 16:34:44 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    509

    回帖

    671

    积分

    二级逆天

    积分
    671

    终身成就奖社区居民宣传大使奖

    发表于 2014-4-13 17:58:25 | 显示全部楼层
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    每日签到,有金币领取。


    Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

    本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

    ( 闽ICP备2024076463号-1 ) 论坛技术支持QQ群171867948 ,论坛问题,充值问题请联系QQ1308068381

    平平安安
    TOP
    快速回复 返回顶部 返回列表