展讯平台安卓充电驱动框架
1、充电架构介绍
1.1 充电软件框架
Android 层充电构架如图 1-1 所示,充电设备驱动按照标准的 linux power supply 架构设计,通过 uevetd守护进程 Healthd 上报相关信息,并将消息广播。
软件充电模块从上至下分为四层:System UI 层、Battery Service 层、Hal 层和 kernel 层。
1、System UI 层
该部分属于电量上报的最后的环节。其主要工作是:监听系统广播并对 UI 作出相应更新,包括电池电量百分比、充电状态、低电提醒、led 指示灯、异常提醒等。
2、Battery Service 层
本层的 Battery 服务使用 Java 代码写成,运行在 Framework 的中 SystemServer 进程。该系统服务的主要作用是:监听电池信息变化消息,并将该消息以系统广播的形式转发至 Android 系统中各处。
3、Hal 层
Healthd 守护进程属于 Android Native 层的一个系统服务,负责接受 Kernel Driver 层上报的 Uevent 事件,对电池信息和充电状态实时监控。
4、Kernel 层
本层属于电池的驱动部分,由 Charger-manager 驱动、充电 IC 驱动、Fuel 驱动构成来负责与硬件交互,注册 Power supply 属性,并生成 Uevent 上报 Hal 层。包含充电状态管理,电量统计与更新。
1.2 Uboot 充电介绍
1.2.1 概述
Uboot 充电驱动主要实现如下几个功能:
-低电量检测
-预充电
-关机充电模式选择
-POCV 检测
Uboot 充电驱动文件目录为:u-boot15/drivers/power/battery/,主要驱动文件有:
u-boot15/drivers/power/battery/sprd_battery.c
u-boot15/drivers/power/battery/sprd_fgu.c
u-boot15/drivers/power/battery/FAN54015.html" target="_blank" class="relatedlink">FAN54015.c
u-boot15/drivers/power/battery/ sc2703_chg.c
u-boot15/drivers/power/battery/eta6937_chg.c
u-boot15/drivers/power/battery/ sprd_chg_2720.c
u-boot15/drivers/power/battery/sprd_chg_2721.c
u-boot15/drivers/power/battery/sprd_chg_2730.c
Uboot 充电流程:
其中:
Charger_connected:判断是否连接充电器,是则配置充电参数。
Battery_connected:判断电池是否在位,否则关充电。
1.2.2 低电量检测
展锐平台系统启动分为 Uboot 和 Kernel 两个阶段。
1.为了确保系统能安全稳定运行,只有当不插充电器时,电池电压大于 3500mv 时,才允许进入Kernel 阶段,否则显示当前电池电量低并直接关机。
2.插充电器时,电池电压大于 3300mv 时,才允许进入 Kernel 阶段,否则显示电池电量低且正在充电中,进入预充电阶段。
展讯平台安卓充电驱动框架相关推荐
- 展讯sprd_battery.c 充电驱动
sprd_battery.c 是充电驱动,这个是充电功能的核心内容,电量显示策略.温度检测策略.充电保护机制等功能在这里实现,功能实现与硬件细节剥离,调用通用接口实现逻辑控制: 1 sprdbat_p ...
- 1.3【展讯平台】Android 驱动(Kernel)、系统(framework) 定制,调试日志
前言 [展讯平台]Android 4.4 驱动(Kernel).系统(framework) 定制,调试日志 正文 1:提高串口日志等级 查看 adb shell cat /proc/sys/kerne ...
- 【展讯平台】Android 驱动(Kernel)、系统(framework) 定制,调试日志,持续更新中..
前言 [展讯平台]Android 4.4 驱动(Kernel).系统(framework) 定制,调试日志 正文 1:提高串口日志等级 查看 adb shell cat /proc/sys/kerne ...
- 展讯平台-LCD驱动
所谓驱动者,三分硬件,三分格式,四分软件.对于展讯平台的LCD驱动,首先就要了解一点基本的硬件知识. 一.LCD的接口 其实LCD的接口有很多,但是不管是在手机还是电脑,液晶屏的接口也最常用的有两个, ...
- 展讯平台-sensor驱动
驱动者,三分硬件,三分格式,四分软件. 在手机中,我们常将camera直接称为sensor,展讯平台的sensor就像lcd一样,已经十分的成熟了.沿袭前面的模式,先介绍一下硬件的基本 ...
- 展讯平台 LCD(Mipi)移植步骤及问题归纳
PortingGuide Backlight 背光的硬件设计有两种情况: 1. 内置并联背光 2. 外置串联背光 对于 1 的情况,步骤如下: 1.移植对应的 lcd 驱动. 2.设置u-b ...
- 展讯平台初步调试笔记
最近公司换新的平台,之前用MTK的,现在主要是展讯的,当然也要重新学习了. 1.project_sc6600l_sp6601l_trisim_64X32.mk为三卡的FLASH大小为6432的. MS ...
- 展讯平台lcd频率计算
展讯平台点屏时要配置两个时钟(phy_freq和pixel_clk),那这两个参数要怎么配置呢,我们可以找到展讯的这份文档,输入屏的参数,即可计算出相应的时钟.如 然后将相应的参数填到屏的配置文件中, ...
- 展讯平台功耗调试记录
展讯平台功耗调试记录 1.查看应用持有锁:dumpsys power | grep LOCK 2.查看内核持有锁:cat /d/wakeup_sources 休眠后查看唤醒源:串口 log 打印 Wa ...
最新文章
- 海思AI芯片(Hi3519A/3559A)方案学习(十四)JPEG图片转换成bgr文件
- mysql的字符串处理函数
- Hadoop集群_Eclipse开发环境设置
- linux守护进程的编写
- 怎样打造一个分布式数据库
- 把student a am i 变成 i am a student(两种方法)
- Nginx的平滑升级记录---适用于编译安装的Nginx
- axureR9 显示与隐藏 - 踩坑篇
- Android 系统(247)---Android Go项目, Launcher no Notification Dots
- Delphi vs VC++
- 黑体std能商用_用产品诠释商用PC成功之道 惠普战66高性能商用一体机评测
- navicat 绿化版
- 2021年起,WPS Office纳入全国计算机等级考试二级考试软件
- 古体字与简体字对照表_简体字与繁体字对照表汇总
- pycharm定时运行python脚本_Python脚本定期执行_执行python脚本_如何执行python脚本
- windows10 快捷方式右键失灵问题解决
- 尤里先生查看陌生人朋友圈教程_微信APP看陌生人朋友圈的操作教程
- 视频播放 (二) 自定义 MediaPlayer
- Mqtt通信协议详解
- 华为2013年存储市场战略分析