功耗调试之调试前准备

功耗调试之调试前准备

2014年12月17日

一、基本的概念

什么是功耗测试?

功耗测试是指通过使用各种工具(主要是示波器、电流表、电压表)对设备的各种功耗状态下的各个模块的电流进行测量,再对测量结果进行分析,找出不合理的模块,修改硬件或者软件后再测量,以尽可能的降低整板的功耗,延长电池的使用时长。

为什么要使用测量电流的方式来代表功耗情况呢?

电功为W=Pt=UIt,其中W为电功,P为功率,t为时间,U为电压,I为电流。在电压稳定的情况下,我们可以用电流来反映功率的大小,其中It的单位可以看成是Ah。而锂电池的容量单位一般是mAh,也就是毫安时,比如手机电池一般在1800mAh,平板电脑一般在3500mAh。为什么用mAh来代表容量呢?我们知道锂电池的电压值变化是很小的,一般在3.7V到4.2V之间,也就是500mV,因此我们这里可以拿这里拿4000mAh的电池来说,如果电池以400mA的电流放电的话,那么该电池能够使用10h。使用mAh,更能反映出电池的使用时间。

二、功耗调试的目的

1、获取设备各个状态下的功耗数据,用来计算电池的待机时间;

2、降低设备的功耗,最终降低设备产生的余热和待机时长;

3、及时发现硬件、软件设计中存在的问题和缺陷,同时还可以观测设备电流的波动情况,用以确定设备是否稳定;

4、对技术人员(刚入门)来说,不仅是一个考验,更是一个难得学习机会;

三、可能会用到的测试工具

a)示波器

主要使用数字示波器以及电流探头测量各个模块的电流情况。需要测量的数据有各路电流的最大值、最小值、平均值。平均值是功耗调试的重点,而最大值、最小值对于整板的稳定性是特别重要的。

比如说A板处理器端电流最大值是600mA,最小值是100mA,平均值是200mA,而同样的B板最大值为400mA,最小值为150mA,平均值也是200mA,这两块板子B板肯定会比A板要稳定,这就是为什么还要加上最大值、最小值的原因。

注意:如果测量的平均值波动太大,最好将每格的时间调的长一点,一般来说,测量视频播放、游戏时的功耗最好将每格的周期调到400ms,因为这样平均值变化的幅度会小一点。

b)万用表

FLUK万用表没什么好说的,简单易用,测量电流、电压、电阻都是毫无疑问的准确。一般我们在测量关机和休眠状态下的功耗时才用FLUK表。

需要强调的是选择的量程要尽可能符合要求,量程越小越好,但是测量值不能超过量程。

用于测量休眠和关机时的功耗,因为休眠和关机的时的功耗,用示波器的电流探头测量的误差太大,而在正常运行时,示波器的电流探头测量的值是比较准确的。

c)电压表

用于测量各个模块的供电情况,比如:设备的供电电压是3.3V,当进入休眠时,该电压就应该是0V,如果测量的值时0.8V,那么就说明有漏电的地方。这在检测某个模块是否漏电,是特别重要的一种方法。

d)稳压源

功耗调试尽量不要使用电池,使用稳压源最好,设置电压为4V,这么做会消除电池内阻对测量造成的误差。

时间: 2024-10-23 00:47:23

功耗调试之调试前准备的相关文章

Linux gcc/g++下GDB调试及其调试脚本的使用

GDB调试及其调试脚本的使用返回脚本百事通一.GDB调试 1.1. GDB 概述 GDB 是GNU开源组织发布的一个强大的UNIX下的程序调试工具.或许,各位比较喜欢那种图形界面方式的,像VC.BCB等IDE的调试,但如果你是在 UNIX/Linux平台下做软件,你会发现GDB这个调试工具有比VC.BCB的图形化调试器更强大的功能.所谓“寸有所长,尺有所短”就是这个道理. 一般来说,GDB主要帮忙你完成下面四个方面的功能: 1.启动你的程序,可以按照你的自定义的要求随心所欲的运行程序. 2.可让

js调试系列: 调试基础与技巧

js调试系列目录: - 昨天我们见识到了断点的强悍,在断点的配合下进行动态调试,让读代码变的轻松不少,特别是ajax之类的.在昨天的课后练习中,确实增加了不少难度,因为 提交评论 按钮是用 jQuery 绑定的事件.所以不能直接在元素上看到函数调用,也没办法一下子定位到函数源码处.如果找不到源码位置,我们就没法下断点进行动态调试了.我们来做下昨天的练习吧,先找到他的事件源码.没发现任何有价值的东西,只是一个很普通的节点而已..如果不是通过 onclick 绑定是函数,我们没法直接找到他的源码处,

003 vs : 便于调试 - 边调试边运行

/* 目录: 一 设置 : 边调试边运行 二 测试功能 */ 一 设置 : 边调试边运行 1 : 菜单栏 -> 调试 -> 选项 -> 调试 -> 常规 -> 启用编辑并继续2 : 勾选 "启用编辑并继续"3 : 点击确定 二 测试功能 1 : 变量m未初始化,m内存值为随机数. 1 : 变量m初始值改为20,m内存值为随机数. 1 : 单步调试执行语言,m值改为20. 2 : 功能介绍 - 允许用户在调试的过程中修改源代码,并且修改的代码会编译到调试进程

巧用浏览器F12调试器定位系统前后端bug

做测试的小伙伴可能用过httpwatch,firebug,fiddler,charles等抓包(数据包)工具,但实际上除了这些还有一个简单实用并的抓包工具,那就是浏览器的F12调试器. httpwatch,firebug都是浏览器的插件,需要额外下载,fiddler,charles也需要额外下载安装包另行安装,但是浏览器F12调试器却是所有浏览器内置的调试器,不需要大家额外去安装的,打开它只是一个顺手的事情,而且它提供的功能也比较强大,因此如果在开发或者测试web系统的时候,我们可以先考虑使用这

IOS调试—断点调试以及动态输出

在开发App的过程中.须要重复的改动和优化我们的代码,特别是当程序出现bug,须要高速的找出错误的原因,进行改动,以保证程序的正确运行. 断点调试,是最经常使用最简单的一种调试方式,能够一步步跟踪程序运行的流程,得到变量的值,高速的找到错误的原因. 1.断点的基本操作 断点的操作很easy,以下通过几张图来介绍一下怎样加入.删除.编辑以及使用断点. 2.全局断点 设置全局断点(异常断点).当遇到错误,Debug程序会自己主动定位到栈底信息,即跳到出错代码所在行. 3.条件断点 设置条件断点.当满

不得不说的谷歌开发者模式:谷歌调试模式调试js代码总结

谷歌浏览器对开发者来说是一个很好的工具,确实能给开发者提供很多的方便,这是工作一年多以来,一个感触.谷歌浏览器可以在前端跟踪值传递,就像我们使用myeclipse进行debug一样,谷歌浏览器提供了强大的功能,使得开发者可以在前端跟踪值传递. 只要安装了谷歌浏览器,我们就可以使用谷歌开发者模式进行代码的调试,按F12进入开发者模式. 1,首先我们来说一下谷歌浏览器的控制台console 进入谷歌开发者模式以后,我们点击console进入控制台,在这里,我们可以很方便的进行js代码的调试.通常情况

android studio学习----调试---断点调试

Android Studio调试其实也非常方便,一般问题直接通过AS的DDMS的Logcat就可以搞定.AS支持类似Eclipse的DDMS的所有功能.这里要说的是疑难问题的调试方式,即断点调试. 首先先编译好要调试的程序. 如上图2所示在行号处点击设置断点.然后如1所示点击开启调试会话. 如上图所示,IDE下方出现Debug视图,1指向的是现在调试程序停留的代码行,2区域是程序的方法调用栈区.在这个区域中显示了程序执行到断点处所调用过的所用方法,越下面的方法被调用的越早.由此顺序想必有些And

无法自动调试 未能调试远程过程。这通常说明未在服务器上启用调试 WCF 托管在IIS上

解决方案,把新建的网站的app.config修改下配置 <system.web> <!-- 设置 compilation debug="true" 可将调试符号插入 已编译的页面中.由于这会 影响性能,因此请只在开发过程中将此值 设置为 true. --> <compilation debug="false"> </compilation> </system.web> 把false改为true 之后再启动客

android wifi调试(无线调试) 一步到位

没有数据线时候,怎么进行调试开发?只要在一个局域网内,最好选择wifi调试! 网上有很多这样的教程,但是有很多步.很繁琐.最近我在gp上下载了一个软件可以实现点击一步就可以了.不需要在手机上输入任何命令. apk下载地址:http://download.csdn.net/detail/gang901016/7238257 http://apk.gfan.com/Product/App257786.html 下载安装后点击大昆虫,会出现类似"adb connect xxx.xxx.xxx.xxx: