在物联网的推动下,业界对各种电池供电设备产生了巨大需求。这反过来又使业界对微控制器和其他系统级器件的能源效率要求不断提高。因此超低功耗MCU与功耗相关的很多指标都不断得刷新记录。在选择合适的超低功耗MCU微控制器时要掌握必要的技巧,在应用时还需要一些设计方向与思路才能够更好的应用。本篇文章主要介绍如何选择超低功耗MCU。
(1)在低功耗设计中的,平均电流消耗往往决定电池寿命。如果某个应用采用额定电流为400mAh的Eveready高电量9V1222型电池的话,要提供一年的电池寿命其平均电流消耗必须低于400mAh/8760h,即45.7uA。
(2)在使MCU能够达到电流预算的所有功能中,断电模式最重要。低功耗MCU具有可提供不同级别功能的断电模式。低功耗模式0(LPMO)会关闭CPU,但是保持其他功能正常运转。LPM1与LPM2模式在禁用功能列表中增加了各种时钟功能。LPM3是最常用的低功耗模式,只保持低频率时钟振荡器以及采用该时钟的外设运行。LPM3通常称为实时时钟模式,因为它是允许定时器采用低功耗32768Hz时钟源运行,电流消耗低于1uA,同时还可定期激活系统。最后LPM4完全关闭器件上的包括ram存储在内的所有功能,电流消耗仅100nA。
(3)时钟系统是MCU功耗的关键。应用可以每秒多次或几百次进入与退出各种低功耗模式。进人或退出低功耗模式以及快速处理数据的功能极为重要,因为CPU会在等待时钟稳定下来期间浪费电流。大多低功耗MCU都具有“即时启动”时钟,其可以在不到10~20us时间内为CPU准备就绪。重要的是要明白哪些时钟是即时启动以及哪些是非即时启动的。某些MCU具有双级时钟激活功能,该功能在高频时钟稳定化过程中提供一个低频时钟(通常为32768Hz),其可以达到1ms。CPU在大约15us时间内正常运行,但是运行频率较低,效率也较低。如果CPU只需要执行数量较少的指令的话,如:25条,其需要763usaCPU低频比高频时消耗更少的电流,但是并不足于弥补处理时间的差异。某些MCU在6us时间内就可以为CPU提供高速时钟,处理相同的25条指令仅需要大约9us(6us激活+25条指令0.125us指令速率)),而且可以实现即时启动的高速串行通信。
(4)如果MCU时钟系统为外设提供多个时钟源的话,当CPU处于睡眠状态时外设仍然可以运行。例如,一次A/D转换可能需要一个高速时钟。如果MCU时钟系统提供独立于CPU的高速时钟,CPU就可以在A/D转换器运行情况下进入睡眠状态,从而节省CPU耗流量。
(5)事件驱动功能与时钟系统的灵活性并存。中断会使MCU退出低功耗模式,因此MCU的中断越多,其防止浪费电流的CPU轮询与降低功耗的灵活性就越大。轮询意味着进行与不进行功耗预算之间存在差异,因为它在等待出现事件时会浪费CPU带宽并需要额外电流。一个好的低功耗MCU应具有充分的中断功能,为其所有外设提供中断,同时为外部事件提供众多外部中断。
(6)按钮或键盘应用可以证明外部中断的优势。
如果不具备中断功能,MCU必须频繁轮询键盘或按钮,以确定其是否被按下。不仅轮询自身会消耗功率,而且控制轮询间隔也需要定时器,其会消耗附加电流。在具备中断情况下,CPU可以在整个过程中保持睡眠状态,只有按下按钮时才激活。
|