DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 120|回复: 0
打印 上一主题 下一主题

简介能源调试- MCU软件优化的下一个步骤

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 17:05:06 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

                      今天几乎所有微控制器的应用都需要更多了解它们在内存、时钟周期及最重要的部分—能源方面是如何消耗宝贵的资源的。虽然工程师们可能本能地知道有些应用会消耗掉一些能量或能源,但只有通过进一步的检测,这种直觉才能得到证实。
  过去人们普遍假定32位内核产生的电流在节能模式下就会有益于能量敏感的应用。今天看来这是一种误解。  
??? Energy Micro生产的EFM32 Gecko微控制器是一种新的节能设备,是专门开发来用在MCU操作所有阶段的产品,可减少电流和时间。图1简要说明了,与尺寸较小的处理器内核相比,这种以ARM Cortex?- M3为基础的设备完成任务的时间更快,更能在低功耗模式下花更多的时间,从而进一步降低平均功耗。



  图1:一个节能MCU内核可通过完整的唤醒/操作/返回睡眠周期节省几个不同区域的能量。
  如图2所示,Gecko已证明了它所消耗的能量仅为8位、16位或32位解决方案所需能量的四分之一。这一性能在很大程度上是通过一个低能量的外围设备套装组合实现的,这个组合包括外围反射系统(使得外围设备围绕内核自动运作)、五个不同的和分级的低能量模式和非常快速的唤醒时间。



  要实现目标应用中尽可能低的能源消耗,我们不能忽视应用源代码所发挥的关键作用。
  由于源代码库规模的增长,源代码变得越来越难以识别,例如,当需要中断服务程序来取代循环时:一个简单的代码疏忽可能会导致处理器继续保持全面活跃,同时等待某个外部事件的发生,而不是进入节能睡眠模式。
  在检查代码或在理想条件下进行测试时,这种伪随机事件很容易被忽略,而且在浸泡试验中很难捕捉到它。
  利用创新科技,Energy Micro开发了一种克服这些限制的解决方案,该方案不仅提供了所用的瞬时能量水平,也将信息与当时实际采用的代码联系了起来。 energyAware Profiler是用于PC的一种能量调试工具,它采用了现有的EFM32 Gecko开发工具包中的专用Advanced Energy Monitoring (先进能源监控AEM)系统。AEM能显示开发工具包里印刷线路板上液晶显示器应用的实时耗电量,如图3所示,在运用Profiler软件时,能源调试的真正能量才得以实现。



  该软件通过USB接口在Windows和开发工具包界面上运行。来自开发工具包里的基本数据使PC显示出运行在目标MCU上的应用代码的实时能量剖面。
  默认配置显示出时间推移中的能量水平,使工程师能识别出某个关注区域里使用的能源可能比预期的高了。随着时间的推移, 系统推断出的电池供电应用的预期寿命指标比通过一张数据表中估算出最好和最差情况下的数据更准确。
  在与energyAware Profiler一同使用时,AEM系统采用一个基于ARM的串行接口收集应用中的其它信息。传递给它的数据采用AEM系统的硬件进行解码,然后再传到PC上。
??? 其它数据包括重要的调试信息,包括Program Counter(程序计数器),它使energyAware Profiler能及时识别在某个特定时刻采用的实际源代码,如能量图所示。见图4。



  该图通过宽度和高度的轨迹和快速的量级来代表能量的使用。下面是独立的峰值 – 很容易通过使用示波器来监控电源的电流进行识别- 实际上可能并不需要进一步调查,而长期以来相对较少的活动其实也代表无用循环可以轻易被中断驱动的事件所取代,这将使设备进入一个节能睡眠模式的过渡期。
  在为一个设备或应用设定额定功率时,参考数据表对工程队而言是司空见惯的。然而,正如我们之前提到的,能源和功率根本不一样,很多低功耗设备使用更多的能源,因为它们在一个较长时期内很活跃。
  显然在这种情况下该软件的剖面是至关重要的。可惜大多数的软件工程师并未深刻意识到哪个代码具有公开的“能源效率”。这不是批评,而是观察的结果,我们不能把软件看成先天资源不足,说它超出了传统的时钟周期和记忆的条件。
  此外,减少时钟周期直接关系到使用较少的能量,正确优化时钟周期提供了较佳的整体能量剖面。很明显,一个功能上正确的程序不一定能通过设计优化能源效率。
  为EFM32 Gecko MCU开发的energyAware Profiler技术有一个从0.1μA至100mA的动态范围,应用的精细调试与功能调试同时进行,从而将开发时间的结果最大化了。
  能源调试以及软件描述在超低功耗应用和技术中变得越来越关键。虽然EFM32 Gecko MCU是一种固有的低功率技术,随着时间的推移, 保持较低的能源消耗与应用的性能之间有着内在的联系。这使得它在短期内受面向应用的条件限制,很难模拟。虽然数据表可能会帮助一位工程师了解在一定条件下某个设备使用的能源数量,但是只有当应用程序真的实际运行了,该数据表的数字才真的会得到检验。
  工程师们有了经验和足够的时间,就能够开发出功能上正确和能量优化的代码,而有了energyAware Profiler的帮助,所需的时间和专业知识明显减少了,不论所有工程队的时间压力有多大都能赶上进度。
            
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-11-23 03:45 , 耗时 0.079867 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表