切换到宽版
  • 23313阅读
  • 185回复

分析安卓智能手机在不同条件下的充电机理和过程 [复制链接]

上一主题 下一主题
在线qrut
 

发帖
16837
M币
52563
专家
545
粉丝
8610
— 本帖被 發騷友 设置为精华,作者+3000M币+5专家(2018-03-08) —
之前一直想做一个当今安卓智能手机充电协议机理流程的研究,但是很麻烦一直没做,最近硬着头皮较为完整的分析了一下mix2手机不同环境下的充电机理过程分析了一下工作原理。

要想了解其工作机理 必须对其软件系统有一个较为完整的认识,安卓手机充电控制受内核电源管理驱动控制,安卓手机根目录都存在一个/sys目录 ,这个目录是内核驱动事件在
内存中的实时映射,里面包含所有设备驱动事件,例如屏幕亮度 闪光灯状态 你的cpu频率 各类总线状态 等等一切硬件状态都在这里root了可以更改,例如我想更改一下cpu频率(不改内核只能降不能超)
打开一下闪光灯当电筒用,只需更改对应项目的事件文件更改里面的数值即可。极端例子比如我想调节一下背光,想彻底关闭到零(非关屏休眠状态),比如看个视频只要声音,类似某些电视的单独听功能,这个操作正常情况任何软件都做不到,手工调节也不能到零,因为受系统框架限制了,但是硬件本身是支持完全熄灭背光的,这时操作这里对应的背光驱动调节项,只需一条命令就可以任意调节亮度 包括彻底关闭。这个实际上是对硬件直接操作,跳过了安卓系统框架,属非常规操作,一般正常软件想打开闪光灯等有专用的调用函数通知系统来完成硬件操作,
直接操作这里一般软件没root权限也做不到,属越级操作。跑题了。。。。目录中就包含电源管理和电池状态,位于/sys/class/power_supply/下 各版本安卓系统大同小异。里面包含电源状态的全部信息,一些
硬件检测软件间接获取的也是这里的值。 看一下有关这次测试的两个项目

如图  一个电池端状态 一个usb端


下面电池端内部状态详解








这个是usb输入端







下面开始测试 这个是电脑usb接口充电时的手机usb输入事件总览


这个是电脑充电下电池事件总览


这个是mix2锁屏界面自带监控画面 可以看到和上面基本对应


下面开始硬件测试 设备是ebc测试仪 工作在电流 电压 监控模式


下面是监测曲线


下面是普通d+ d-短接充电头输入时手机usb端事件总览 用的小米2A充电头测试

楼下继续。。。。

[ 此帖被qrut在2018-03-12 00:00重新编辑 ]
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共4条打赏M币+46专家+1
kkdkj 专家 +1 謝謝分享 07-03
kkdkj M币 +13 謝謝分享 07-03
花生仔 M币 +13 謝謝分享 06-24
suhaiyuan M币 +20 - 04-08
在线qrut

发帖
16837
M币
52563
专家
545
粉丝
8610
只看该作者 1楼 发表于: 03-08
电池端


下面mix2 电池端监控画面



下面是测试曲线 以上两种输入状态只测试了5分钟 主要监控一下连接初期的调整策略和过程


下面是qc3.0充电头输入时手机usb端输入事件总览


下面是电池端


下面是mix2监测 可以看到电流达到最大的3.3A了


下面是qc3.0充电曲线













充电终止,实际时间1小时左右时手机已经提示满电100% 但是实际充电进程并没有结束,为什么会这样,因为是厂家特意这么设置的,想像一下如果把满电提示设定到4.4v那么,你会发觉刚充完电
还没怎么用怎么就99%呢?你会感觉手机耗电 电池不禁用,实际上并不是这样的,厂家是不会让这种事情发生的,于是软件里例如把4.3v作为100%满电位点,这样你会感觉掉一格电要好长时间,认为手机很抗用
实际上呢就是厂家耍的一点儿小手段。从另一方面上讲,如果把4.4设定为满电提示点,大家都知道锂电最后的小电流恒压阶段到饱和,过程是非常漫长的,如果设置4.4满电,你会对着手机托着腮帮子
痛苦的等待半个小时甚至更长时间去期待那最后1%的完成,这就是要人命的节奏。另外最后那半小时也充不了多少容量。所以平时充电提示满电就可以拔下来,闲着没事儿多充会儿即可。看着挺长时间的感觉也不快
的原因就是前面说的后40分钟基本可以去掉,45%充到90%也只用半个多小时,为了节约时间没有从零全程测试,对于了解机理没什么影响,全程的话不算后半截那半个多小时,充满大约一个小时20分钟的样子。


结论:当今智能手机充电管理还是相当复杂和完善的,能适应各种不同条件获得既安全又快速的充电体验,此帖结束 谢谢观赏!
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共4条打赏M币+61
kkdkj M币 +13 謝謝分享 07-18
花生仔 M币 +13 謝謝分享 06-24
yomkk M币 +15 優秀文章 04-15
suhaiyuan M币 +20 - 04-08
离线清池

发帖
2081
M币
2034
专家
3
粉丝
28
只看该作者 2楼 发表于: 03-08
厉害啊我的哥,不过可以怎么利用呢

内容来自Android手机客户端

离线ljlun

发帖
87637
M币
280718
专家
569
粉丝
19592
只看该作者 3楼 发表于: 03-08
厉害,好详细的研究!
话说这种通过文件来管理硬件,是不是安卓吃内存的一个原因?
在线qrut

发帖
16837
M币
52563
专家
545
粉丝
8610
只看该作者 4楼 发表于: 03-08
回 ljlun 的帖子
ljlun:厉害,好详细的研究!
话说这种通过文件来管理硬件,是不是安卓吃内存的一个原因? (2018-03-08 14:46) 回 ljlun 的帖子

元首来了,不是这样的,任何系统内核必须运行在内存中,水果也不例外,这里只不过是内核设备驱动数据的实时映射,只是提供一个接口供系统调用和调整,这个目录存在与否不影响内存占用,不提供这个目录内核也需要运行在内存中~ 安卓吃内存跟虚拟机运行机制有关,一个进程单独一个虚拟机运行,优点任何崩溃不稳定不会造成系统整体崩溃,应用之间运行相互隔离,缺点效率较低吃内存。
本帖最近打赏记录:共1条打赏M币+5

发帖
116
M币
155
专家
0
粉丝
3
只看该作者 5楼 发表于: 03-08
还是有个问题想问,就是关于边充电边玩手机的事,到底伤电池吗?

发帖
116
M币
155
专家
0
粉丝
3
只看该作者 6楼 发表于: 03-08
比如两种情况 第一就是手机正在充电,我这时候玩手机打电话之类的这个电流是从USB输入直接获取的吗?第二种是手机已经充满了这时候使用的电又是从哪里来的。综合两种情况,会不会对电池充电和使用寿命有影响。
离线潜隆

发帖
54895
M币
127269
专家
967
粉丝
916
只看该作者 7楼 发表于: 03-08
很专业的测试 ,环境和温度对充电都有影响 。
本帖最近打赏记录:共1条打赏M币+5
在线qrut

发帖
16837
M币
52563
专家
545
粉丝
8610
只看该作者 8楼 发表于: 03-08
回 神的守护神 的帖子
神的守护神:比如两种情况 第一就是手机正在充电,我这时候玩手机打电话之类的这个电流是从USB输入直接获取的吗?第二种是手机已经充满了这时候使用的电又是从哪里来的。综合两种情况,会不会对电池充电和使用寿命有影响。
 (2018-03-08 15:11) 回 神的守护神 的帖子

如果边充边玩,假如手机总耗电电流小于充电头能提供的最大电流则由充电头提供,这时系统自动减低电池端充电电流,使充电电流和系统消耗电流总和不超过充电头能提供最大电流。如果用个山寨头 能提供电流很小,手机又玩着游戏消耗很大,如果超出充电头最大输入电流则从电池借一点电流,总不能直接关机吧。满电与否不影响这个策略,够用就不借,不够用就借点儿,借不到(电池也没电了)直接黑屏重启。不过原配充电头不会出现不够用这个问题,设计之初已经考虑到了手机最极端情况下的电流需求,充电头最大输出电流一定是会大于它的。
本帖最近打赏记录:共1条打赏M币+13
suhaiyuan M币 +13 - 04-08

发帖
14053
M币
11820
专家
217
粉丝
197
只看该作者 9楼 发表于: 03-08
专家就是专家,让多少手机变砖啊
本帖最近打赏记录:共1条打赏M币+5