低功耗系统设计需要注意很多非传统性因素,从硅片工艺技术,直到在微控制器嵌入平台上运行的软件。在系统级做仔细检查可揭示出决定微控制器能效的三个主要参数:有源模式功耗;待机功耗;以及工作周期,后者决定了两种状态上所花时间的比率,而这个比率则取决于软件的行为。
低功耗待机状态可以使一只微控制器看似非常高能效,但只有考虑了影响到有源功耗的所有因素后,才能证明其最终性能。
低功耗待机状态可以使一只微控制器看似非常高能效,但只有考虑了影响到有源功耗的所有因素后,才能证明其最终性能。鉴于这个和其它原因,工艺技术、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设计者就可以选择进一步优化能源性能。当时钟门控最初问世时,它只在一个相对粗糙的水平上使用。时钟门控增加了一个系统的复杂性,因为电路设计者需要知道在任何确定的时间时,哪个逻辑路径需要时钟信号。
时钟分配。大多数MCU实现都采用一种层次式结构,将时钟信号和相应的电压水平分配到IC的各个部分。各个功能单元(如指令处理块与外设)被划分为组,每组都馈给一个独立的时钟树和电源网络。一个分频器或复用器从一个公共时钟源获得每一组的时钟信号。同样,如果这些组需要不同的电压(这种方案日益普遍),则一组功率晶体管和稳压器会为每组外设提供电压。
为尽量减少设计的复杂性,MCU采用了一种相对简单的时钟门控方法,只要一组中的功率单项均未激活,则会关断整个时钟树。不过,这种方法会向那些在活动组中不工作的逻辑送入时钟。例如,如果当前指令是一个分支指令,CPU核心中的加法单元也会收到一个时钟。如前所述,时钟信号在加法器中触发的转换会使功耗增加CV2f倍。
设计工具与技术的进步已能够使时钟门控的粒度增加到某个点,如果外设或功率单元在该周期内不工作,就不会收到时应用的工作周期钟信号。
电压缩放提供了更进一步的节能潜力,它能在必要时,为特定一组功能单元提供一个较低的电压。为一组功率单元或外设提供适当电压的关键在于片上稳压器或dc/dc转换器的实现,以及监控电路的使用,确保IC工作在所需要的电压下。
电源的考虑。片上稳压器为系统设计者提供了更高的灵活性,从而能从一只电池榨取更多电能。例如,片上开关降压转换器(如Silicon Labs公司的SiM3L1xx MCU产品)可以从一只3.6V工业电池获得输入,以高于80%的效率将其转换为1.2V.很多MCU没有这种特性,而是采用线性元件降压到合适电平,会有大量的消耗。在高级的实现中,当电池放电到某个水平,转换器无法做转换工作时,降压稳压器可以关闭。因此,电源可以在设备的整个生命周期上做到优化能效,一切均在软件控制下。
技术专区
- 睿赛德科技喜迁新址 ,RT-Thread进入新的加速发展阶段
- 可靠性高、控制灵活、低功耗可调速风扇散热系统
- 安防监控摄像头LED驱动解决方案
- 如何定制嵌入式Linux发行版
- 基于SoC实现的数据采集系统详解