ARM Cortex M3/M4微控制器最大效率设计三秘诀

发布时间:2014-05-9 阅读量:737 来源: 发布人:

【导读】ARM构架的微控制器越来越受欢迎,新型ARM Cortex-M4处理器尤为如此,它拥有引以为豪的增强架构、天生的数字信号处理(DSP)能力和可选的浮点加速器,使精于此道的程序设计人员或硬件工程师可以充分发挥它的优势。在系统设计的时候如果能够掌握一些Cortex M系类处理器的特殊性能,能帮助开发人员更好地提升产品性能。

大部分采用Cortex-M3/M4 MCU的目标应用是便携式的,并且供电电源来自电池或能源收集系统,因此我们所探讨的大部分概念涉及如何减少系统整体能耗的技术。然而,在许多情况下,这些节能技术也是处理器应用设计的有力工具,可提供:

●更符合成本效益的解决方案

●更大的升级和采用新特性的设计冗余

●有助于产品在激烈竞争市场上脱颖而出的性能和特性

小知识:Cortex-M3对比Cortex-M4

Cortex-M3架构背后的指导思路是设计一种既要满足应用的成本效益又要提供高性能计算和控制1的处理器。类似的应用包括汽车车身系统、工业控制系统和无线网络/传感器产品等。M3系列为32位的ARM处理器架构引进了多项重要特性,包括:

●不可屏蔽式中断

●高度确定性、嵌套、向量式中断

●原子位操作

●可选的存储保护(MPU)

除了绝佳的计算性能,Cortex-M3处理器先进的中断结构还能确保系统迅速响应真实世界的事件,同时仍然提供极低的动态与静态功耗。

1
图1 ARM Cortex M3和M4对比

进入正题

SWO接口节省I/O引脚并加速调试

除了传统的串行调试(Serial Wire Debug)功能之外,基于ARM Cortex-M的MCU还可以通过它的单引脚串行监视器输出(Serial Wire Viewer Output,SWO)3提供指令跟踪接口,如图2所示。这个接口可以直接把“printf格式的”调试信息传递给应用代码。SWO允许调试信息直接在任何标准的IDE中浏览。此外,这些信息也可以用独立的SWO监视器(例如,Segger的J-Link SWO Viewer软件4,或是Silicon Labs的energyAware Commander 4)进行浏览。由于SWO输出内建于内核硬件本身,因此它是Cortex-M内核与生俱来的优点。SWO不占用MCU的任何UART接口,这些接口它们可能早已被分配给了应用。

2
图2 专用ARM Cortex SWO接口节省I/O引脚并加速调试

基于SWO的调试还有一个重要的优势在于,它让微控制器在进入最低的休眠模式时,保持调试连接有效,而在大多数情况下,传统的调试连接这时是不能正常工作的。SWO的指令追踪还可以用于跟踪程序计数器,以帮忙IDE统计出程序各项功能所占用的时间。这些统计数字能够与电流测量结合起来,帮助开发人员对设计功耗进行微调。

 

目前一些供应商正在开始重新认识这项优点,而且有些厂商已经为了这个目的而把功耗模式和电流测量硬件纳入到本身的开发平台。例如,Silicon Labs的EFM32 Gecko MCU入门级和开发级工具包都包含功耗测量输出,并可搭配energyAware Profiler工具6中的程序代码追踪功能。图3显示了如何让设计人员精确定位到哪个程序功能块最耗费能源,并且能够快速调试其它与能源有关的问题。

3
图3 软硬件工具精确定位耗能最大的功能,无需示波器和万用表,快速排除问题

智能休眠节省每一微瓦

ARM Cortex-M处理器的Sleep-on-Exit(中断完成时直接进入休眠)是另一项“一箭双雕”的功能,可同时节省CPU周期和能耗。这点在由中断所驱动的应用中格外有用,因为处理器的大部分时间不是在执行中断处理,就是在中断事件之间休眠。在进入中断服务例程(ISR)时,MCU必须花费好几个指令周期把当前线程状态入栈,然后在退出中断处理返回时恢复原有线程状态,即“出栈”。当应用需要处理器在退出ISR后直接进入休眠状态时,传统MCU仍然必须恢复原先存储的状态信息,然后线程代码才能让MCU进入休眠状态。同样地,当下次的中断唤醒MCU时,它的状态必须再次入栈。

而当使能ARM Cortex-M微控制器上的Sleep-on-Exit功能后,MCU就会在中断处理完成后直接进入休眠状态,而不用先返回到原有线程上(见图4)。这会使处理器仍然保持在中断状态,因为消除了唤醒再入栈过程,因而节省下许多宝贵的机器周期。消除入栈出栈过程既节省了时间也节省了能耗,否则电能就会被不必要的指令周期白白消耗,也包括哪些传统MCU在休眠和唤醒之间管理堆栈的代码。而且,当处理器被中止调试请求(Halt Debug Request)唤醒时,出栈过程将会自动进行。

4
15
图4:ARM Cortex-M的Sleep-on-Exit功能通过避免不必要的代码执行和减少出栈入栈操作降低功耗

ARM Cortex-M4运行更快、休眠功耗更低

像许多MCU一样,Cortex-M3/4处理器通常能够采用高时钟速率的方法在中断驱动的应用中节省能耗。如果处理器大部分时间处于休眠状态,这种看似违背直觉但普遍采用的节能策略就会很好,因为运行时间减少所节省的能耗远远大于稍高的操作电流。简单来说,多花10%的电可以省掉20%的时间,总体来说是节能了。

这种技术可以应用在任何Cortex-M系列的处理器上,而涉及密集运算任务的应用也能从Cortex-M4处理器的额外能力中受益。它的单周期DSP指令和可选的浮点加速器能大大减少诸如数字信号处理、过滤、分析或波形合成等功能所需要的执行周期数。

上面提及的节能特性也能带来其它优势。例如,在超音波/声学水表之类的应用中,它们必须在小电池供电下运行多年,需要MCU尽可能长的保持在休眠状态。除了有助于减少MCU唤醒时间之外,Cortex-4 DSP和浮点算术指令也能使用成熟的滤波功能从廉价声学传感器输出中获得所需的信息,从而避免采用昂贵的超声波流量传感器。在这个应用实例中,Wonder Gecko MCU的外设还能够作为模拟状态机提供额外的能量节省,它仅仅在需要时才唤醒Cortex-M4处理器。

虽然并不完备,但这些林林总总的秘诀与妙方应该能让各位产生好的思路,可以在下一次设计中充分利用Cortex-M系列中一些较不为人知的特性所带来的好处。为了发挥ARM Cortex-M系列的这些和其它重要功能,可参考本文末段的参考资料,它们提供了所需的更多细节。

相关资讯
双面散热+5×6mm²封装:解密英飞凌如何实现IBC能效三级跳

随着AI算力需求呈指数级增长,全球超大规模数据中心对供电系统的能效与功率密度提出更高要求。英飞凌科技(FSE: IFX)最新发布的OptiMOS™ 6 80V功率MOSFET,通过5x6 mm²双面散热(DSC)封装技术,在中间总线转换器(IBC)应用中实现0.4%效率提升,单kW负载节省4.3 W功耗。据测算,部署该方案的2000机架数据中心每小时可节能1.2 MWh,相当于25辆小型电动车充电所需能量。

900GB/s突破!英伟达开放核心互连技术引发行业震动

在2024年台北国际电脑展(Computex 2024)主题演讲中,英伟达CEO黄仁勋宣布将向全球芯片设计企业开放其核心互连技术——第四代NVLink Fusion。该技术旨在突破传统芯片间通信瓶颈,为构建下一代AI算力集群提供标准化解决方案

多协议并发+超低功耗!Qorvo QPG6200系列重塑物联网连接标准

全球连接与电源解决方案领导厂商Qorvo®(纳斯达克代码:QRVO)近日宣布,其QPG6200产品组合新增三款支持Matter标准的系统级芯片(SoC),包括QPG6200J、QPG6200M和QPG6200N(注:信息源自Qorvo官方新闻稿)。这一扩展标志着Qorvo在智能家居与工业物联网领域的进一步突破,通过ConcurrentConnect™技术与超低功耗架构,为多协议设备提供无缝互操作性与高效能支持。

双城启幕,共探软件定义未来——MATLAB EXPO 2025中国用户大会即将开启沪京双城科技盛宴

北京,2025年5月19日——在数字化浪潮重塑产业的当下,MathWorks正式公布MATLAB EXPO 2025中国用户大会的革新布局。这场年度技术盛会将于5月20日登陆上海国际会议中心,5月27日移师北京国家会议中心,首创"沪京双城"联动态势。本届大会聚焦"软件定义产品"的产业革命,通过50+深度技术研讨与行业实践案例,系统展示MATLAB®和Simulink®在智能驾驶、新能源系统、脑科学计算、无人机集群等前沿领域的技术突破,汇聚全球500强企业技术领袖、科研院所专家及创新团队,共同解构数字化工程转型的底层逻辑与实施路径。

康盈半导体扬州基地投产:国产存储产业链再添“芯”动能

在全球半导体产业加速重构的背景下,中国存储企业正通过技术创新与产业链整合抢占战略高地。2025年5月16日,康盈半导体扬州存储模组智造基地正式投产,标志着其在存储领域的全产业链布局迈出关键一步。这一项目的落地,不仅为国产存储技术自主可控注入新动能,也为区域经济转型升级提供了示范样本。