当前位置首页 > 行业资料 > 能源与动力
搜柄,搜必应! 快速导航 | 使用教程  [会员中心]

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

文档格式:DOCX| 8 页|大小 233.21KB|积分 20|2022-10-02 发布|文档ID:158022890
第1页
下载文档到电脑,查找使用更方便 还剩页未读,继续阅读>>
1 / 8
此文档下载收益归作者所有 下载文档
  • 版权提示
  • 文本预览
  • 常见问题
  • 能源调试MCU软件优化的下一个步骤今天几乎所有微控制器的应用都需要更多了解它们在内存、时钟周期及最重要的部 分一能源方面是如何消耗宝贵的资源的虽然工程师们可能本能地知道有些应用会 消耗掉一些能量或能源,但只有通过进一步的检测,这种直觉才能得到证实通常 情况下,检测的形式是在给定时间内进行简单的平均电流测量,然后再推断出,比 如说,一节单电池的总的预期寿命现在人们更加重视可配置和可编程的解决方案,主要是因为在微控制器中,能源消 耗很大程度上直接来自于处理内核和许多外围设备的活动,这也是为什么现在半导 体产业对超低功耗微控制器解决方案的需求量急剧增加的原因传统上,在大多数能源敏感的应用中人们一直采用8位或16位的设备,因为这些 设备的内核很小,门相对较少,泄漏电流的水平较低然而今天的应用要求的处理 能力要比8位或16位内核所能集合的更强大过去人们普遍假定32位内核产生的电流在节能模式下就会有益于能量敏感的应 用今天看来这是一种误解利用现有的全套低功耗设计技术,32位内核才可以 实现低功耗模式,节能效果和8位内核一样好,甚至更好Energy Micro生产的EFM32 Gecko微控制器是一种新的节能设备,是专门开发 来用在MCU操作所有阶段的产品,可减少电流和时间(即:真正的能量)。

    图1 简要说明了,与尺寸较小的处理器内核相比,这种以ARM Cortex™- M3为基础 的设备完成任务的时间更快,更能在低功耗模式下花更多的时间,从而进一步降低 平均功耗Power卜—Reduced Processing TimeReduced Standby CurrentTime图1: 一个节能MCU内核可通过完整的唤醒/操作/返回睡眠周期节省几个不同区域的能量蓝色区域表示一个更强大的32位内核完成任务所节省的能量,所需的周期比一个8位内核需要的少,在活跃和睡眠模式下消耗的电流也较少如图2所示,Gecko已证明了它所消耗的能量仅为8位、16位或32位解决方案 所需能量的四分之一这一性能在很大程度上是通过一个低能量的外围设备套装组 合实现的,这个组合包括外围反射系统(使得外围设备围绕内核自动运作)、五个不同的和分级的低能量模式和非常快速的唤醒时间图2: Energy Micro的ARM ©Cortex™- M3芯片结构是以EFM32 Gecko微控制器为基础的 要实现目标应用中尽可能低的能源消耗,我们不能忽视应用源代码所发挥的关键作 用如果电池寿命被充分最大化了,源代码的设计就要尽量使用低能量的外围设备 和低能量模式。

    由于源代码库规模的增长,源代码变得越来越难以识别,例如,当需要中断服务程 序来取代循环时:一个简单的代码疏忽可能会导致处理器继续保持全面活跃同时 等待某个外部事件的发生,而不是进入节能睡眠模式在检查代码或在理想条件下进行测试时,这种伪随机事件很容易被忽略,而且在浸 泡试验中很难捕捉到它同样,即使是最有经验的工程师可能也无法独自从一张纯 粹的代码列表中识别出消耗了不定量能源的代码虽然通过万用表阅读或示波器跟踪可能会测出给定时间内的能耗平均水平,它却不 能测出特定事件所消耗的电流同样,逻辑分析仪可以显示某个特别程序开始运行 的时间和次数,但却不能将此与电涌联系起来利用创新科技,Energy Micro开发了一种克服这些限制的解决方案,该方案不仅 提供了所用的瞬时能量水平,也将信息与当时实际采用的代码联系了起来energyAware Profiler是用于PC的一种能量调试工具,它采用了现有的EFM32 Gecko开发工具包中的专用Advanced Energy Monitoring (先进能源监控AEM) 系统AEM能显示开发工具包里印刷线路板上液晶显示器应用的实时耗电量,如 图3所示,在运用Profiler软件时,能源调试的真正能量才得以实现。

    图3:节能的EFM32 Gecko微控制器开发工具包里有Advanced Energy Monitoring(先进能源监控)该软件通过USB接口在Windows和开发工具包界面上运行来自开发工具包里的基本数据使PC显示出运行在目标MCU上的应用代码的实时能量剖面默认配置显示出时间推移中的能量水平,使工程师能识别出某个关注区域里使用的 能源可能比预期的高了随着时间的推移,系统推断出的电池供电应用的预期寿命 指标比通过一张数据表中估算出最好和最差情况下的数据更准确在与energyAware Profiler 一同使用时,AEM系统采用一个基于ARM的串行接 口收集应用中的其它信息传递给它的数据采用AEM系统的硬件进行解码,然后再传到PC上这项活动的非侵入性意味着目标的能源剖面不以任何方式改变其它数据包括重要的调试信息,包括Program Counter(程序计数器),它使energyAware Profiler能及时识别在某个特定时刻采用的实际源代码,如能量图所示这会立刻向工程师指出该程序产生高能耗的任何区域,将代码进行优化以降低整体能源消耗个单独应用功能的能量剖面该图通过宽度和高度的轨迹和快速的量级来代表能量的使用。

    下面是独立的峰值- 很容易通过使用示波器来监控电源的电流进行识别-实际上可能并不需要进一步 调查,而长期以来相对较少的活动其实也代表无用循环可以轻易被中断驱动的事件 所取代,这将使设备进入一个节能睡眠模式的过渡期通过查看这些与源代码紧密相关的图表资料,工程师很快就能够在一个项目中识 别、放弃和优先考虑具体的程序,避免不必要的能源使用量这很容易转化为一个 量级的低能源消耗,因此,是更为有效的应用在为一个设备或应用设定额定功率时,参考数据表对工程队而言是司空见惯的然 而,正如我们之前提到的,能源和功率根本不一样,很多低功耗设备使用更多的能 源,因为它们在一个较长时期内很活跃由于这个原因,我们不能忽视电源管理的 时间轴,但很少能以一个可靠的方式实现它显然在这种情况下该软件的剖面是至关重要的可惜大多数的软件工程师并未深刻 意识到哪个代码具有公开的“能源效率”这不是批评,而是观察的结果,我们不能 把软件看成先天资源不足,说它超出了传统的时钟周期和记忆的条件不过,今天 每个时钟周期仍在消耗能源,减少消耗是工程师们开发超低能源应用时所要面对 的主要挑战此外,减少时钟周期直接关系到使用较少的能量,正确优化时钟周期提供了较佳的 整体能量剖面。

    很明显,一个功能上正确的程序不一定能通过设计优化能源效率为 EFM32 Gecko MCU 开发的 energyAware Profiler 技术有一个从 0.1pA 至 100mA的动态范围,应用的精细调试与功能调试同时进行,从而将开发时间的结 果最大化了能源调试以及软件描述在超低功耗应用和技术中变得越来越关键虽然 EFM32 Gecko MCU是一种固有的低功率技术,随着时间的推移,保持较低的能源消耗与 应用的性能之间有着内在的联系这使得它在短期内受面向应用的条件限制,很难 模拟虽然数据表可能会帮助一位工程师了解在一定条件下某个设备使用的能源数 量,但是只有当应用程序真的实际运行了,该数据表的数字才真的会得到检验工程师们有了经验和足够的时间,就能够开发出功能上正确和能量优化的代码,而 有了 energyAware Profile的帮助,所需的时间和专业知识明显减少了,不论所有 工程队的时间压力有多大都能赶上进度工程队现在更好地配备了低功率技术及能 源描述解决方案,可以应对真正低能源解决方案的设计挑战了。

    点击阅读更多内容
    卖家[上传人]:badaogu
    资质:实名认证