功耗调试之如何调试功耗(一)

导航制导与控制实验室

2015年01月01日

本文就开始讨论功耗的调试步骤和方法。

本文主要的内容如下:

一、明确调试的目标

二、明确调试的内容

三、参照电路框图找出我们需要检测的输出

四、找出或引出需测试的输出

五、功耗测试的步骤流程图

一、明确调试的目标

明确调试的目标,即在满足当前的需求情况下,尽最大的可能去降低各种状态下、各路模块的功耗值。一般情况下,功耗越低要求也就越严格。例如:某设备的电池为300mAh,假设一种情境下休眠功耗电池端为0.8mA,另一种情境下功耗电池端为1mA,显然仅仅相差200uA(出现这种状态的情况就比较多了,有可能是GPIO口的状态不对,也有可能是外设漏电引起,还有可能是电源管理配置有问题。)通过计算可以算出来0.8mA待机375小时,而1mA待机300小时,相差75小时,这对一个设备来说是很重要的。

二、明确调试的内容

我们为了更好的调试功耗,必须做一个简洁并且一目了然的表格用来记录我们的测量结果,总的来说测试表格的内容几乎就是我们测试的内容;

概况的说,包括需要调试6种状态和5个电路模块的功耗,其中

6种状态是指:

第一、开机后的空闲状态(开机亮屏状态下,不进行任何操作,即,后台几乎没有CPU资源占用率高的进程);

第二、关闭显示屏,但不休眠的状态;

第三、进入休眠过程中(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参数的调试也是属于功耗调试的,如果木有的话,就算了。

四、找出或引出需测试的输出

1、电源端比较容易测量;

2、其他测试点:我们需要借助altium designer、99SE、DXP、PADS等工具,找出易测量的点或者飞线,这里就省了如何查找的步骤;

下面我们就开始介绍下测试的步骤了?!

时间: 2024-08-04 19:00:55

功耗调试之如何调试功耗(一)的相关文章

SocketLog-微信调试、API调试和AJAX的调试的工具,能将日志通过WebSocket输出到Chrome浏览器的console中

说明 SocketLog适合Ajax调试和API调试, 举一个常见的场景,用SocketLog来做微信调试, 我们在做微信API开发的时候,如果API有bug,微信只提示"改公众账号暂时无法提供服务,请稍候再试" ,我们根本不知道API出来什么问题. 有了SocketLog就不一样了, 我们可以知道微信给API传递了哪些参数, 程序有错误我们也能看见错误信息(下方有张图片,可能加载慢,请耐心等待一下) 正在运行的API有bug,不能var_dump进行调试,因为会影响client的调用

js调试技巧 Firefox调试技巧汇总

Firebug入门指南        :  http://www.ruanyifeng.com/blog/2008/06/firebug_tutorial.html Firebug控制台详解: http://www.cnblogs.com/see7di/archive/2011/11/21/2257442.html    http://www.cnblogs.com/leejersey/archive/2012/11/27/2790998.html debugger: js中调用console写

[Android Studio 权威教程]断点调试和高级调试

有人说Android 的调试是最坑的,那我只能说是你不会用而已,我可以说Android Studio的调试是我见过最棒的. 好了开始写一个简单的调试程序,我们先来一个for循环 ? 1 2 3 4 5 6 7 8 <code class="language-java hljs ">for (int i = 0; i < 10; i++) { //获取当前i的值     int selector = i;     //打log查看当前i的值(此步多余,实际开发请忽略)

[VS调试]VS2010 VS2012调试时显示加载符号导致调试特别慢

下午睡多了,编个小程序(探索形式)搞到现在,遇到一个不爽的问题就是调试时加载很慢,这次百度终于解决了. 打开”调试”–>”选项”看下图: [VS调试]VS2010 VS2012调试时显示加载符号导致调试特别慢,布布扣,bubuko.com

vsCode 添加浏览器调试和js调试的方法总结

vsCode 添加浏览器调试和js调试的方法 1.直接按F5可以调试的方法或者点击运行按钮(可以直接运行html文件或者js文件) 在launch.json文件中的配置如下: { "version": "0.2.0", "configurations": [{ "name": "谷歌浏览器", //运行html文件,用谷歌浏览器打开 "type": "chrome",

[Win32]一个调试器的实现(一)调试事件与调试循环

[Win32]一个调试器的实现(一)调试事件与调试循环 作者:Zplutor 出处:http://www.cnblogs.com/zplutor/ 本文版权归作者和博客园共有,欢迎转载.但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 前言 程序员离不开调试器,它可以动态显示程序的执行过程,对于解决程序问题有极大的帮助.如果你和我一样对调试器的工作原理很感兴趣,那么这一系列文章很适合你,这些文章记录了我开发一个调试器雏形的过程,希望对你有帮助.或许我

功耗调试之如何调试功耗(二)

导航制导与控制实验室 2015年01月01日 本文就开始讨论功耗的调试步骤和方法. 本文主要的内容如下: 一.明确调试的目标 二.明确调试的内容 三.参照电路框图找出我们需要检测的输出 四.找出或引出需测试的输出 五.功耗测试的步骤流程图 五.功耗测试的步骤流程图 有了前面的铺垫,我们大致了解了功耗测试的步骤:就是测试每个部分的实际值,再与理论值作对比,出现不符情况,通过硬件的修改和程序的调试,作出修改,是得两个部分相近,即达成了我们的目标. 具体的测试流程图如下:

移动端Web开发调试之Weinre调试教程

在设计师与前端开发人员的努力下,一个WebApp出炉了,可是测试人员说了一堆的问题:某某机型下页面表现不一致,某某系统下页面如何如何,某某系统浏览器下页面怎么怎么滴.看着满满的测试汇总文档,我们曾经在一个又一个知名或不知名的手机终端上重复着这些工作:仔细的排查代码,alert可疑的变量,甚至不惜重构来尝试解决这种不一致的问题.虽然说Android 4.0+以上的移动设备支持桌面版Chrome远程调试,而且在Android 4.4以下也仅限于预览Chrome手机版浏览器内部效果,我们无法在问题浏览

cocos2d-js 调试办法 断点调试 Android真机调试

一 使用浏览器chrome打开程序,进行调试.跟普通js程序一样. 要么自行搭建服务器,利用python脚本,或者用其他服务器程序(LAMP或XAMPP).然后用浏览器打开服务器地址. 要么直接使用cocos提供好的命令行:cocos run –p web 浏览器调试好处是,方便,对于小程序或者非native代码是非常有意义的.但部署到真机后遇到的问题,这就无法解决了,而且一些native代码也无法调试. 二 使用firefox远程调试. 因为cocos2d-js使用spidermonkey作为