随笔分类 - PMIC / Battery Driver
摘要:目前市面上的充电管理IC,都是按照充电电池的充电特性来设计的。充电电池根据充电介质不同,分为镍氢电池,锂电池等。由于锂电池没有记忆效应,所以目前在各种手持设备和便携式的电子产品中,都采用锂电池供电。 由于锂电池的充电特性。充电过程一般分为三个过程: 1、涓流充电阶段(在电池过渡放电,电压偏低的状态下
阅读全文
摘要:常用的休眠方式有freeze,standby, mem, disk freeze: 冻结I/O设备,将它们置于低功耗状态,使处理器进入空闲状态,唤醒最快,耗电比其它standby, mem, disk方式高 standby:除了冻结I/O设备外,还会暂停系统,唤醒较快,耗电比其它 mem, disk
阅读全文
摘要:前言 1. 待机、睡眠与休眠的区别? 2. Android开发者官网当中提到“idle states”,该如何理解,这个状态会对设备及我们的程序造成何种影响? 3. 进入Doze模式中的idle状态,我们的程序还能运行吗? 4. 手机睡眠之后,为何我们写Alarm程序、来电显示程序依旧会生效? 如果
阅读全文
摘要:一、休眠概述 休眠,简而言之就是设备在不需要工作的时候把一些部件、外设关掉(掉电或让它进入低功耗模式)。 为什么要休眠呢?一言以蔽之:省电。 休眠分主动休眠和被动休眠。主动休眠:比如我电脑不用了,就通过设置让系统进入休眠模式;被动休眠:系统检测到自己闲的慌,为了节约故,自己就休眠去了。 废话不叙。
阅读全文
摘要:1. 首先驱动需要先获取到2个power supply kernel\msm 3.18\drivers\usb\phy\phy msm usb.c kernel\msm 3.18\drivers\power\bq2570x\bq2570x_charger.c 充电动画的启动逻辑:POWER_SUPP
阅读全文
摘要:1. 前言 终于可以写Runtime PM(后面简称RPM)了,说实话,蜗蜗有点小激动。因为从个人的角度讲,我很推崇使用RPM进行日常的动态电源管理,而不是suspend机制。 软件工程的基本思想就是模块化:高内聚和低耦合。通俗地讲呢,就是“各人自扫门前雪”,尽量扫好自己的(高内聚),尽量不和别人交
阅读全文
摘要:healthd healthd是安卓4.4之后提出来的,监听来自kernel的电池事件,并向上传递电池数据给framework层的BatteryService。BatteryService计算电池电量显示,剩余电量,电量级别以及绘制充电动画等信息,其代码位于/system/core/healthd。
阅读全文
摘要:1. 前言 本文继续“Linux电源管理(6)_Generic PM之Suspend功能”中有关suspend同步以及PM wakeup的话题。这个话题,是近几年Linux kernel最具争议的话题之一,在国外Linux开发论坛,经常可以看到围绕该话题的辩论。辩论的时间跨度和空间跨度可以持续很长,
阅读全文
摘要:"Android Battery 架构" Android电源 android中和电源相关的服务有两个他们在 一个是 ,另一个是在目录powe下的 。 电源管理架构 Android电源管理主要通过Wakelock机制来管理系统的状态,整个android电源管理,可以分为四个层次:应用接口层(Power
阅读全文
摘要:"电池的NTC功能是什么" 因为可充电电池在不断的循环充电和放电过程中可能会导致电池温度的过高,导致电池原始性能下降。为了保持电池性能,密切监测电池温度非常重要,NTC在充电电池组内部的合适应用中可以起到温度的监测、控制和补偿的使用。 使用NTC热敏电阻监测电池的温度,可以放心的控制锂电池或者镍氢电
阅读全文
摘要:以msm8909为例,高通的主要文件有几个: qpnp linear charger.c(线性充电器) qpnp vm bms.c(BMS管理) power_supply_core.c(power_supply对外部提供对应接口) 其中,vm_bus的power_supply一般为struct po
阅读全文
摘要:电池充电是由qpnp vm bus.c(电池驱动BMS)和qpnp linear charger.c(线性充电器)组成; SMMB charger:Switch ModeBattery Charger and Boost peripheral开关模式电池充电器和升压外围设备 CV:ConstantV
阅读全文
摘要:1. 前言 power supply class为编写供电设备(power supply,后面简称PSY)的驱动提供了统一的框架,功能包括: 1)抽象PSY设备的共性,向用户空间提供统一的API。 2)为底层PSY驱动的编写,提供简单、统一的方式。同时封装并实现公共逻辑,驱动工程师只需把精力集中在和
阅读全文
摘要:1. compatible节点: qpnp vm bms.c使用来控制电池曲线的和BMS功能的,其compatible节点是"qcom,qpnp vm bms" 2. probe函数: qpnp_vm_bms_probe函数如下: 2.1 parse_bms_dt_properties()函数 在这
阅读全文
摘要:最近一直在搞电源管理相关内容,之前是8610的bms,现在8916的bms,发现两者还是有点区别的,8916把对last_ocv_uv的估值算法分装成执行文件,作为服务一直运行。 电源管理方面,应该是Android驱动开发的一大难点,主要涉及的方面多,如充、放电、休眠唤醒等。这一部分主要讲BMS相关
阅读全文
摘要:上一篇主要讲电池相关的一些知识,上节忘记讲了,电池一般分为电量计电池和非电流计电池,电量计电池,就不需要用pmu8916的IC,当然这只是只,不需要BMS来计算soc,而jni层也需要读取电流计的电池相关属性。 这一节主要是根据代码进行相关的分析。 1. 先看probe的代码: 2. 分析如何确定初
阅读全文
摘要:CV:Constant Voltage恒压 SMMB charger:Switch ModeBattery Charger and Boost peripheral开关模式电池充电器和升压外围设备 OCV:Open circuitvoltage EOC:End OfCharge充电结束 UUC:Un
阅读全文
摘要:名词解释: CV:Constant Voltage恒压 SMMB charger:Switch ModeBattery Charger and Boost peripheral开关模式电池充电器和升压外围设备 OCV:Open circuitvoltage EOC:End OfCharge充电结束
阅读全文
摘要:USB Battery Charging V1.2 Specification 定义了USB充电器的类型或者叫做充电源。 1. 支持的充电器类型 1.1 Standard Downstream Port(SDP) 这种USB端口存在于主机PC中,这个是与USB的规格书一致的。 当一个USB外设接到S
阅读全文


浙公网安备 33010602011771号