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 阶段,否则显示电池电量低且正在充电中,进入预充电阶段。

展讯平台安卓充电驱动框架相关推荐

  1. 展讯sprd_battery.c 充电驱动

    sprd_battery.c 是充电驱动,这个是充电功能的核心内容,电量显示策略.温度检测策略.充电保护机制等功能在这里实现,功能实现与硬件细节剥离,调用通用接口实现逻辑控制: 1 sprdbat_p ...

  2. 1.3【展讯平台】Android 驱动(Kernel)、系统(framework) 定制,调试日志

    前言 [展讯平台]Android 4.4 驱动(Kernel).系统(framework) 定制,调试日志 正文 1:提高串口日志等级 查看 adb shell cat /proc/sys/kerne ...

  3. 【展讯平台】Android 驱动(Kernel)、系统(framework) 定制,调试日志,持续更新中..

    前言 [展讯平台]Android 4.4 驱动(Kernel).系统(framework) 定制,调试日志 正文 1:提高串口日志等级 查看 adb shell cat /proc/sys/kerne ...

  4. 展讯平台-LCD驱动

    所谓驱动者,三分硬件,三分格式,四分软件.对于展讯平台的LCD驱动,首先就要了解一点基本的硬件知识. 一.LCD的接口 其实LCD的接口有很多,但是不管是在手机还是电脑,液晶屏的接口也最常用的有两个, ...

  5. 展讯平台-sensor驱动

        驱动者,三分硬件,三分格式,四分软件.     在手机中,我们常将camera直接称为sensor,展讯平台的sensor就像lcd一样,已经十分的成熟了.沿袭前面的模式,先介绍一下硬件的基本 ...

  6. 展讯平台 LCD(Mipi)移植步骤及问题归纳

    PortingGuide Backlight 背光的硬件设计有两种情况:  1. 内置并联背光  2. 外置串联背光  对于 1 的情况,步骤如下:  1.移植对应的 lcd 驱动.  2.设置u-b ...

  7. 展讯平台初步调试笔记

    最近公司换新的平台,之前用MTK的,现在主要是展讯的,当然也要重新学习了. 1.project_sc6600l_sp6601l_trisim_64X32.mk为三卡的FLASH大小为6432的. MS ...

  8. 展讯平台lcd频率计算

    展讯平台点屏时要配置两个时钟(phy_freq和pixel_clk),那这两个参数要怎么配置呢,我们可以找到展讯的这份文档,输入屏的参数,即可计算出相应的时钟.如 然后将相应的参数填到屏的配置文件中, ...

  9. 展讯平台功耗调试记录

    展讯平台功耗调试记录 1.查看应用持有锁:dumpsys power | grep LOCK 2.查看内核持有锁:cat /d/wakeup_sources 休眠后查看唤醒源:串口 log 打印 Wa ...

最新文章

  1. 海思AI芯片(Hi3519A/3559A)方案学习(十四)JPEG图片转换成bgr文件
  2. mysql的字符串处理函数
  3. Hadoop集群_Eclipse开发环境设置
  4. linux守护进程的编写
  5. 怎样打造一个分布式数据库
  6. 把student a am i 变成 i am a student(两种方法)
  7. Nginx的平滑升级记录---适用于编译安装的Nginx
  8. axureR9 显示与隐藏 - 踩坑篇
  9. Android 系统(247)---Android Go项目, Launcher no Notification Dots
  10. Delphi vs VC++
  11. 黑体std能商用_用产品诠释商用PC成功之道 惠普战66高性能商用一体机评测
  12. navicat 绿化版
  13. 2021年起,WPS Office纳入全国计算机等级考试二级考试软件
  14. 古体字与简体字对照表_简体字与繁体字对照表汇总
  15. pycharm定时运行python脚本_Python脚本定期执行_执行python脚本_如何执行python脚本
  16. windows10 快捷方式右键失灵问题解决
  17. 尤里先生查看陌生人朋友圈教程_微信APP看陌生人朋友圈的操作教程
  18. 视频播放 (二) 自定义 MediaPlayer
  19. Mqtt通信协议详解
  20. 华为2013年存储市场战略分析

热门文章

  1. ApacheDS无法启动,导致Knox无法登陆,用户名和密码都是正确的。
  2. 前馈神经网络_BP算法+R语言程序运行实例
  3. PRISM(棱镜)监听计划的善与恶
  4. 【Java】博客系统——详细解释+代码+详细注释(课设必过)
  5. 2020小米决赛游记
  6. 基于MySQL的数据在线管理系统
  7. 计算机机房防火门,机房防火门需要安装闭门器吗
  8. 分布式专题-NIO框架之Netty01-Java IO 演进之路
  9. Oracle-PDB资源限制
  10. Unity自定义ButtonGroup类