低功耗系统设计全方位解析:从硅片工艺到嵌入式软
低功耗系统设计需要注意很多非传统性因素,从硅片工艺技术,直到在微控制器嵌入平台上运行的软件。在系统级做仔细检查可揭示出决定微控制器能效的三个主要参数:有源模式功耗;待机功耗;以及工作周期,后者决定了两种状态上所花时间的比率,而这个比率则取决于软件的行为。
低功耗待机状态可以使一只微控制器看似非常高能效,但只有考虑了影响到有源功耗的所有因素后,才能证明其最终性能。
低功耗待机状态可以使一只微控制器看似非常高能效,但只有考虑了影响到有源功耗的所有因素后,才能证明其最终性能。鉴于这个和其它原因,工艺技术、IC架构以及软件结构之间的权衡就是一些决策问题,有一些微妙和有时无法预期的结果。一个MCU中各功能块相互结合的方式,对整体能效有显着的影响。即使硬件实现上看似微小的改变,也可能致使一个系统生命周期内的总能耗发生巨大的波动。
低功耗应用
举例来说,读表与报警系统,通常一节电池要供10年电。某只传感器读取功耗的少许增加(在产品的生命周期中,这种读数动作要发生上亿次),就可能使产品的实际现场寿命减少数年时间。一只简单的烟雾警报器,每秒要探测一次空气中的烟尘粒子,在其生命周期内完成3.15亿次读取。
一只简单烟雾报警器的活动比率(或工作周期)还相对算低的。每只传感器读数时可能花费时间不到数百毫秒就能完成,大部分时间花在当MCU唤醒ADC以及其它敏感模拟元件时的校准和安定上,以使它们达到一个稳定的工作点。在本例中,工作周期是设计的关键,这个设计在约99.88%的时间中是处于不活动状态。
传统的烟雾警报器还算比较简单。考虑一个更复杂的RF设计,它有一个传感器网格,将读数结果转发给一个主控应用。传感器需要从一个主结点聆听活动情况,这样一方面可以通告说自己仍然在网格网络中,或者将最新捕捉的信息发送给路由器。不过,增加活动可能并不影响整个工作周期;相反,采用更高性能的器件,可以在每次激活期间完成更多功能。由于更先进架构与半导体技术,使得处理速度的增加成为可能,较快器件可以提供更高的能效,而较慢器件则要运行更长周期。重点在于了解工艺技术、MCU架构,以及软件实现之间的交互作用。
硅选择
CMOS能耗数据。几乎所有MCU的实现都使用了CMOS技术(图1)。任何激活态下逻辑电路的功耗都可以用公式CV2f表示,其中C是器件内开关电路路径的总电容,V是电源电压,而f是工作频率。电压和电容都是所采用工艺技术的因素。过去三十年以来,CMOS逻辑的芯片工作电压已经从12V降到不足 2V,原因是晶体管尺寸的缩小。鉴于电压在有源功耗的公式中是一个二次项,因此电压的降低有明显的作用。
尽管电容项是线性的,但摩尔定律的缩小也非常有利于降低其整体水平。对于一个给定的逻辑功能,更先进的工艺可提供较低电容,从而获得较前代更低的功耗。另外,先进的设计技术能够实现时钟门控,这样只有完成实际任务的电路才工作,从而降低了总体开关频率。
与其它技术相比,CMOS显着降低了浪费的能量;但是,泄漏电流仍然存在。与有源功耗相反,泄漏功耗会随摩尔定律尺度的缩小而增加,在任何低功耗应用中都要考虑它的因素,因为对于一个低工作周期系统,大部分时间是处于非激活状态。但对有源功耗,电路设计就对实际泄漏有重要影响。与时钟门控类似,电源门控可以大大改善泄漏的效应,使更先进工艺结点成为低工作周期系统的较好选择,尽管理论上较老工艺技术能够提供更低的泄漏数值。
适合的工艺技术。对每组特性集合都存在着一种适当的工艺技术。答案并非简单地取决于一种有最低理论泄漏值的工艺技术,因为器件在睡眠模式下花费的时间很多。在睡眠模式下,可以关闭MCU中大部分的电源,从公式中拿掉泄漏成份。当电路活动时,泄漏是一个较大的问题,但先进晶体管的优势在于能以高得多的效率切换,从而可以轻易地抵消这个问题。
举例来说,90 nm工艺的泄漏电流要比专用的低功耗180 nm工艺高出大约五倍。有源模式功耗要低四倍,但其基数是一个大得多的数值。
例如一个180 nm MCU,其有源耗电为40 mA,深度睡眠模式耗电为60 nA,与这些功率水平相比,90 nm实现的功率水平能够将有源耗电降至10 mA,但睡眠模式电流较高,为300 nA.对90 nm实现来说,MCU必须在0.0008%的时间里为活动状态,才能获得更高的总体能效。换句话说,如果系统每天只活动工作1秒,则90 nm版的能效大约是其180 nm对手的1.5倍。结论是,在选择工艺尺度时,关键在于了解应用的工作周期(图2)。
一旦选择好了合适的工作技术,IC设计者就可以选择进一步优
- SDR助力实现创新车载娱乐(09-18)
- 用基于CMOS技术的接收器芯片设计高性价比的汽车收音机(12-23)
- Linux嵌入式系统开发平台选型探讨(11-09)
- 嵌入式系统中文输入法的设计(03-02)
- 基于MPC755的嵌入式计算机系统设计(05-10)
- WinCE下光电编码器的驱动程序设计(04-12)