小暖男石头哥|Android 功耗(5)----功耗调试
本文就开始讨论功耗的调试步骤和方法 。
本文主要的内容如下:
一、明确调试的目标
二、明确调试的内容
三、参照电路框图找出我们需要检测的输出
四、找出或引出需测试的输出
五、功耗测试的步骤流程图
一、明确调试的目标明确调试的目标 , 即在满足当前的需求情况下 , 尽最大的可能去降低各种状态下、各路模块的功耗值 。 一般情况下 , 功耗越低要求也就越严格 。 例如:某设备的电池为300mAh , 假设一种情境下休眠功耗电池端为0.8mA , 另一种情境下功耗电池端为1mA , 显然仅仅相差200uA(出现这种状态的情况就比较多了 , 有可能是GPIO口的状态不对 , 也有可能是外设漏电引起 , 还有可能是电源管理配置有问题 。 )通过计算可以算出来0.8mA待机375小时 , 而1mA待机300小时 , 相差75小时 , 这对一个设备来说是很重要的 。
二、明确调试的内容我们为了更好的调试功耗 , 必须做一个简洁并且一目了然的表格用来记录我们的测量结果 , 总的来说测试表格的内容几乎就是我们测试的内容;
概况的说 , 包括需要调试6种状态和5个电路模块的功耗 , 其中
6种状态是指:
第一、开机后的空闲状态(开机亮屏状态下 , 不进行任何操作 , 即 , 后台几乎没有CPU资源占用率高的进程);
第二、关闭显示屏 , 但不休眠的状态;
【小暖男石头哥|Android 功耗(5)----功耗调试】第三、进入休眠过程中(early_suspend)的状态;
第三、完全进入休眠的状态;
第四、完成关机的状态;
第五、其他状态下(比如视频播放、蓝牙通信、WiFi连接、游戏运行等) , 该状态只是用来评估CPU内部模块 , 或者某个特定的外设工作时的功耗 。
5个电路模块是指:
Battery(电池供电的电路 , 是设备总的功耗);
cpu_core(给处理器内部的逻辑电路供电的电路);
cpu_memory(给SDRAM(DDR)以及处理器DDR phy供电的电路);
vddio(给处理的VDDIO以及一些处理器内部的外设控制器 , 外部的外设供电的电路);
其他的外设(包括其他全部的外设 , 例如wifi、bluetooth、tp以及lcd等 , 这个可以列出多种调试状况)
测试的内容当然可以根据当前情况进行有目的测试 , 比如下图就是我在测试是做的表格:
注:如果测试的数据值是正确的 , 我们还需要记录下测试所用的代码版本 , 所用的软件资源 , 测试时间 , 测试人员 , 以及主频 , 外频等情况 。
三、参照电路框图找出我们需要检测的输出由newton的框架图可知:
(1) CPU_core由OUT1(1.2V)供电;
(2) CPU_mem由OUT2(1.8V)供电;
(4) OUT6(3.3V)给EVG供电;
(5) OUT9(3.3V)和OUT17(1.8V)给TP供电;
(6) OUT10(1.8V)给MIC供电;
(7) OUT11(3.3V)给sensor供电;
(8) OUT12(3.3V)给MOTOR供电;
(9) OUT13(3.3V)和OUT14(1.8V)给LCD供电;
(10) OUT16(3.3V)给sensors供电;
(11) OUT19(1.8V)给wifi供电;
进而我们了解了整块板的基本供电情况 , 从而测量各个模块的电流情况 。
这里我们用到regulator , 但是很多开发板或者设备没有regulator , 这时我们就得在电路图中获得每个模块的供电情况 。
注:像君正的newton开发板是具有regulator的 , 在板级中我们能看到regulator的简单配置 , 还有一些基本的配置 , regulator参数的调试也是属于功耗调试的 , 如果木有的话 , 就算了 。
推荐阅读
- 拥有师匠的偷渡客|3大节点与2口硬核卡池将至,石头攒够了吗?,FGO:年前最后一冲
- 石头搞机苹果iPhone 12的15W无线充电号称超速!小米80W该叫啥?
- 石头搞机|李楠评论苹果不送充电头是探照灯品牌!其他不敢做的厂商是后视镜
- fgo|FGO:年前最后一冲,3大节点与2口硬核卡池将至,石头攒够了吗?
- 石头搞机华为Mate 40系列相机是大亮点!四款机型摄像头数量不一样
- ZAKER|3名专偷老屋祖屋石头的“贼古老”被抓...
- 「驾驶」Google Assistant 驾驶模式向部分 Android 用户开放
- 石头搞机|40 Pro+包装盒曝光!华为旗舰机终于上12G运存了,华为Mate
- 石头搞机|雷军上新闻联播称小米坚持做一家技术公司!小米智能工厂已经体现
- 石头搞机|小米官宣全球手机无线充电新纪录明天见!网友猜测是100W功率
