引言
普适计算、智能空间等概念前所未有地扩展了嵌入式系统的应用范围。同时也对嵌入式系统的功能、可靠性、成本、体积、功耗提出了更严格的要求。各种移动终端、可穿戴设备、消费类电子产品、传感器网络节点等典型嵌入式设备对能耗越来越敏感,电源管理技术正成为这些产品设计的关键所在。电源管理技术正由传统的基于电源管理器件和外设控制为主的静态控制方式,转到以具备智能电源管理功能的嵌入式微处理器结合操作系统为核心的智能管理软件的动静态结合的综合控制模式。
为了应对电源管理技术面临的挑战,芯片厂商推出了效率越来越高的电源管理芯片以及对能耗管理功能更加强大、精细的微处理器。以此为基础,如何设计高效、智能的系统软件对嵌入式设备进行能源管理,已成为研究热点。本文将以典型硬件的电源管理功能为基础,分析几种代表性嵌入式操作系统的电源管理实现,探讨电源管理系统软件现状及研究应用前景。
电源管理基本概念与方法
在电池供电的嵌入式系统中,一般采用高效率的电源管理芯片用于供电管理,或采用大容量的电池以解决能耗需求。但这两种技术的发展还无法满足快速增加的芯片动态功耗和静态功耗。当电路工作或逻辑状态翻转时会产生动态功耗,未发生翻转时漏电流会造成静态功耗。在供电电压Vdd下消耗的功率P如公式(1)所示:
P=C*V2dd*fC+VddIQ (1)
这里C为电容,fC为开关频率,Vdd为电源电压,IQ为漏电流。C*V2dd*fC为动态功耗;VddIQ为静态功耗。随着芯片运行速度的提高和工艺尺寸的不断缩小、密度增加,其动态功耗和静态功耗也在不断增长,加剧了电源管理的复杂性。
有一种方法可以协调高性能与低功耗之间的矛盾,就是根据系统负载进行性能调节。从公式(1)中我们可以得知,对一个给定负载,动态功耗的量值与供电电压的平方成正比,与运行频率成正比。减少供电电压并同时降低处理器的时钟速度,功耗将会呈平方速度下降,代价是增加了运行时间。此外,还可以通过停止芯片模块的时钟和电源供应的办法,将能耗降至最低,代价是重新启动该模块时需要额外能耗。因此,通过有效地利用上述能耗管理方法,得到性能和功耗间的最佳平衡,达到节能最大化。
嵌入式微处理器对电源管理的支持
从8位单片机到32位高性能处理器,都在一定程度上支持电源管理功能。例如处理器支持多种电源状态,如图1所示。系统电源状态转化
系统在运行态(Run)时,设备全部正常工作。在空闲态时,处理器按照特定的模式,进行相应的节能。在挂起状态下,处理器挂起,主存储器运行在节能的自刷新模式,只有功耗管理电路、唤醒电路继续工作。现有的单片机、ARM等32位RISC处理器一般都支持以上模式,下面分别加以介绍。
单片机的电源管理支持
在传感器网络应用中,传感器节点一般采用低廉的8/16位单片机,其电池寿命至关重要。节点工作时按功率消耗由小到大有睡眠(sleep)、空闲(idle)、接收(receive)及发送(transmit)等四种模式。大多时间内,节点都处于睡眠与空闲模式,只有少量能耗。
ATMEL采用picoPower技术的AVR微控制器显著降低了功耗。这些技术包括一个超低功耗晶振、睡眠模式下自动终止和重激活欠压检测器、能完全停止对外围设备电力供应的省电寄存器以及能够关闭特定管脚输入的数字输入中断寄存器。picoPower技术使工作电流大幅度降低,减少了断电状态下不必要的功耗,使电池使用寿命得到了延长。
ARM的电源管理技术
ARM以其优秀的低功耗技术在消费类电子等领域得到广泛应用。ARM实现了不同级别的低功耗管理技术,如表1所示。表1 ARM不同级别的低功耗管理技术
电源功耗管理级别 |
Architecture Level |
System Level |
Block Level |
Logic Level |
Process Level |
实现动态低功耗技术 | Clock Gating |
Clocking Domains |
voltage Domains |
Low Voltage Cells |
Low Power Library |
实现静态低功耗技术 | Sleep Mode | Power Gating | State Store/Restore |
High Voltage Cells |
Artisan PMK |
据ARM估计,32位的Cortex-M3处理器内核以0.19mW/MHz(0.18微米)极低的功耗在特殊应用中占据优势。32位Cortex-M3设备执行任务的速度比8位设备快许多倍,所以活动模式中所用的时间更短,平均功率相应降低。其功耗如表2所示。表2 Cortex-M3能量消耗
能量消耗 | 1MHZ | 16MHZ | 32MHZ | |
Active | mW | 0.29mW | 4.5mW | 9mW |
Sleep | mW | 0.01mW | 0.16mW | 0.3mW |
Standby | µW | 1µW | 1µW | 1µW |
高端ARM处理器还支持功能更强大的电源管理功能,通过电压调节与频率调节相结合,极大地降低功耗,提高能量效率。动态电压调节(DVS)是通过对系统的负载预测,在一个开环电压控制系统中用多组能耗级别的频率、电压对来实现。自适应电压调节(AVS)用一个闭环电压控制系统来实现,它无需配对的频率、电压,能提供更优的节能效果。
例如以TI的 OMAP1610(ARM926E核)处理器为例,内部可以调节参数包括:CPU电压,DPLL频率控制,CPU频率控制,交通控制器(TC),外部设备控制器,DSP运行频率,DSP MMU频率,LCD刷新频率。通过定义操作点(Operation Points,OP)数据结构来抽象表示频率、电压等能耗级别,如表3所示。表3 OMAP1610操作点参数
参数操作点 |
CPU电压 (mV) |
DPLL频率 乘法器 |
DPLL频率 分频器 |
CPU频率 控制 |
TC 控制器 |
192MHz~1.5V | 1500 | 16 | 1 | 1 | 2 |
168MHz~1.5V | 1500 | 14 | 1 | 1 | 2 |
84MHz~1.5V | 1500 | 14 | 1 | 2 | 2 |
84MHz~1.5V | 1100 | 14 | 1 | 2 | 2 |
60MHz~1.5V | 1500 | 5 | 1 | 1 | 1 |
60MHz~1.5V | 1100 | 5 | 1 | 1 | 1 |
其中,192MHz-1.5V操作点参数1500表示OMAP3.2核心电压1500mV;16表示DPLL频率控制12MHz晶振输入倍频16倍;1表示分频为1;1表示OMAP3.2核心分频为1(所以它运行在192MHz);2表示TC(交通控制器)分频为2(所以它运行在96MHz);如果使用TI的DSP代码,则后四个参数为不可控,均使用默认值。
更先进电源管理功能的嵌入式微处理器还有90nm工艺的Marvel PAX300系列,提供更细颗粒的电源管理技术(称为MSPM),API和驱动程序;飞思卡尔iMX31支持DVFS(动态的电压和频率调节)和DPTC(动态的处理器温度补偿)等技术,它配合飞思卡尔MC13783和MC34704 IC管理器件,Linux驱动和策略管理代码,用户可以方便地构建一个具备优秀电源管理能力的嵌入式系统。
ARM 与国家半导体(NS)开发出了先进的能量管理解决方案,智能能量管理器(IEM)预测软件决定了处理器可以运行的最低性能级别,同时,通过智能能量控制器(IEC)的帮助、通过自适应功率控制器(APC)与外部能量管理单元(EMU)一起工作,使处理器运行在能保证应用软件正确运行的最低电压和频率下。
典型嵌入式系统能耗组成
典型嵌入式系统,例如移动终端,其能耗主要部件包括嵌入式微处理器(CPU)、内存、LCD及背光,电源转换部件,其他部件还可能包括基带处理器、DSP、外设控制器等。据统计,CPU占20%~25%,LCD以及背光占用了20%,内存占15%,电源转换占5%~10%,其他的组成占用剩余的30%~40%。典型嵌入式系统的能耗组成如图2所示。
在这些元件中,有些元件性能指标和能耗固定;有些元件可在不同时间工作,并有多种可控的耗能状态。后者的有效使用成为系统节能的关键所在。