嵌入式零功耗系统设计研究
扫描二维码
随时随地手机看文章
嵌入式应用系统中,普遍存在功耗浪费现象。
1 零功耗系统设计的基本概念
1.1 系统中的理想功耗
一个电子系统要运行就会有功耗。如果系统运行时没有任何功耗浪费,那么它的功耗就是系统的理想功耗。
在一个嵌入式应用系统中,由于普遍存在CPU高速运行功能和有限任务处理要求的巨大差异,会形成系统在时间与空间上巨大的无效操作。如果在系统运行中,所有时间、空间上的无效操作都没有功耗,那么系统便处于理想功耗运行之下。
1.2 应用系统中的有效操作时空占空比
如果将系统运行中,所有时间、空间上的有效操作和无效操作采用时空占空比来量化描述,那么,有效操作占空比定义为:有效操作与系统全部运行操作之比。在一个具体应用系统中,有效操作的时空占空比有:宏观时域占空比、宏观区域占空比、微观时域占空比和微观区域占空比。以下以一个嵌入式应用系统--热流量计为例来描述这4个占空比的概念。
1.2.1 有效操作的宏观时域占空比Tdc
Tdc定义为系统运行时域上有效操作时间OPact与全部运行时间OPtot之比。由于嵌入式应用中CPU的高速运行与有限任务操作的差异,常常会形成有效操作高谐小量的时域占空比现象。例如,在热流量计中,要采集、处理的物理参数有热水的入口温度、出口温度和流量计数值。由于这些参数的大惯量特征,在满足采集精度要求下,一次采集循环周期为10 min,然而系统完成一次采集、处理、存储、送显示的时间只需2 s,如图1所示。那么,该系统的有效操作时间OPact为 2 s,全部操作循环时间OPtot为600 s,系统宏观有效操作时域占空比为
1.2.2 有效操作的宏观区域占空比Sdc
有效操作宏观区域占空比定义为:系统运行时,有效操作区域Sact与系统全部区域Stot之比。由于系统运行时,并不是所有电路单元都处于有效操作状态,特别是在单CPU系统中,所有功能单元都是在CPU的轮流控制下运行,致使系统的各部分电路轮流进入有效操作状态。例如,在热流量计中,在有效操作时域OPact中,除CPU外,采集、处理、存储、送显示的4个主体操作是轮流进行的,如图2所示。如果按等区域原则最粗略地估算,可以算出该系统宏观有效操作的区域占空比为在系统硬件设计中,如果有意识地按任务进程,对系统电路进行粗略的划分,形成相对独立任务运行空间,这样便可较准确地计算出Sdc值。
[!--empirenews.page--]
1.2.3 有效操作的微观时空占空比
在数字系统中,进入有效操作状态的一个完整电路中,也不是每一时刻、每一电路单元都处于有效操作状态,同样可以估算出微观有效操作的时域占空比和区域占空比。
(1)有效操作的微观区域占空比μSdc
μSdc定义为:有效操作电路单元中,平均有效操作区域Aact与全部电路单元区域Atot之比。例如,热流量计在执行数据存储任务,对EEPROM进行存储操作时,EEPROM的三个操作区域,即输入缓冲电路、转换控制电路和EEPROM阵列轮流进入有效操作状态。设这三个区域有效操作功耗相等,那么,热流量计在数据存储时,存储器EEPROM的微观有效操作区域占空比为
(2)有效操作的微观时域占空比μTdc
系统中,所有处于有效操作的电路,真正的有效操作只表现为"0"、"1"状态的变化操作。因此,电路有效操作的微观时域占空比μTdc定义为:电路的动态时间ATact与全部时间ATtot之比。例如,在热流量计的数据采集任务中,频率测量的逻辑控制电路要根据温频传感器输出的信号脉冲,实现频率测量控制。这些操作控制都出现在脉冲的变化沿。设温频传感器输出的信号脉冲频率为20 kHz,测控逻辑状态变化时间小于100 ns,可以估算出,在数据采集任务中,频率测量控制逻辑电路有效操作的微观时域占空比为
1.3 高谐小量时空占空比与零功耗设计
1.3.1 实际系统中高谐小量的时空占空比
在嵌入式应用系统中,CPU高速处理能力与实际任务操作状态以及系统中的微观静、动态的巨大差异,导致大量无谓等待状态,形成有效操作的时、空占空比现象。上述4类占空比现象,在许多嵌入式应用系统中都会存在,而且这4类占空比形成乘积效应。按照上述估算,热流量计总体有效操作的时空占空比OPdc为
从这里揭示了一个惊人的现状,即在一个嵌入式应用系统中,有效操作只是全部运行操作的高谐小量。这一特点是嵌入式系统零功耗设计的基础。零功耗系统按照有效操作时空占空比实行精细的功耗管理,非有效操作期间没有功耗,从而使系统功耗与原来相比达到趋于零的效果。早期提出零功耗概念,并实现零功耗设计的器件有AMD公司的Flash存储器Am29SL800B。早先Am28F800B的功耗量级为100时,改进工艺并降低电压后的Am29SL800B为20,而实现零功耗管理的Am29SL800B的功耗则小于0.1。可见零功耗系统设计在降低系统功耗中的潜力。
1.3.2 零功耗系统设计基本要求
在不少实际的嵌入式应用系统中,虽然有效操作时空占空比不会是热流量计那样显著的高谐小量,但一般都会有0.1 %的量级。如果能按照系统有效操作时空占空比实施精细的功耗管理,使无效操作期间没有功耗,就可实现系统的零功耗。
零功耗是一个工程概念。零功耗系统是指该系统中没有任何功耗浪费。因此,零功耗系统设计的基本要求如下:
(1)系统中所有的电路单元都具有功耗管理功能,即该电路单元在非有效操作期间都能被关断(没有功耗)。
(2)系统具有按有效操作时空占空比实施精细功耗管理的能力,能做到"多干多吃、少干少吃、不干不吃、谁干谁吃"的系统功耗分配。
(3)对于系统无法企及的微观有效操作时空占空比的功耗管理,要求由电路静、动特性来满足功耗分配,即电路动态过程有功耗,电路静态时没有功耗。
2 零功耗系统设计的技术基础
零功耗系统设计的核心技术,是按系统中有效操作时空占空比来实现按需分配的功耗管理。不仅实现宏观有效操作时空占空比的功耗管理,还要实现微观有效操作时空占空比的功耗管理。因此,实现零功耗管理必须有相应的技术基础,这就是CMOS工艺的电路基础、嵌入式系统实时的智能化控制以及具有功耗管理功能的外围器件。这些技术基础可以满足零功耗系统设计的三个基本要求。[!--empirenews.page--]
2.1 CMOS工艺的电路基础
数字电路从TTL工艺转向CMOS工艺,对电路功耗特性产生最大影响的是静动态(静态是"0"、"1"的恒定状态,动态是"0"、"1"的跳变状态)功耗特性的根本差异。正是这一差异诞生了电路系统功耗管理的概念与技术。图3是TTL电路和CMOS电路静动态功耗特性。图3(a)为TTL功耗特性,图3(b)为CMOS电路功耗特性。TTL电路为电流注入型电路,静动态电流相近;而CMOS电路为压控型电路,只在动态下才消耗电流,静态电流为泄漏电流,理想情况下静态电流为零。根据数字电路的有效操作态只表现为电路的动态情况,那么,只有CMOS电路才能提供按有效操作时空占空比实施功耗管理,而且指出了CMOS电路功耗管理的基本原则就是系统的最大静态化设计。对于功耗管理无法企及的微观时空占空比,CMOS电路静、动态特性能自动保证非有效操作时的极微功耗(电路泄漏形成的功耗)状态。
2.2 嵌入式系统的实时功耗管理能力
嵌入式系统实时功耗管理能力,表现在能保证按照系统有效操作时空占空比来实现系统时空的最大静态化运行。其中核心的技术是系统中时钟与信号流的控制与调度。在系统无效操作的时间和区域上,终止时钟运行或进入,禁止开关、脉冲信号进入。
2.3 外围器件功耗管理功能的保证
零功耗系统中所有的器件,包括处理器及外围器件,都必须具备功耗管理功能。目前,CMOS的各类微处理器都具备有十分完善的低功耗模式。CMOS外围器件中,有一部分具有自动的零功耗管理,不必微处理器的介入;许多CMOS外围器件都具有外部引脚控制或编程控制的功耗管理功能。
2.4 电源管理的辅助技术
由于CMOS电路的静动态功耗特性,CMOS电路的功耗管理遵循供电状态下的最大静态化原则。无论系统中的主器件还是外围器件的功耗管理都与指令控制相匹配,不必顾虑功耗转换的过渡过程。但当系统中不可避免地出现一些非CMOS功耗特性电路(如传感器供电电路)或一些模拟电路时,这些电路的功耗管理则须依靠电源供电管理方式。即这些电路退出有效操作时,关闭电源;待进入有效操作前开启供电线路。由于电路的时间常数,这些电路电源达到额定工作值或者进而启动时钟工作时,会有一个过渡期,不能即开即用,会给应用管理程序设计带来问题。
当前,嵌入式应用系统已走向全面CMOS化,嵌入式处理器中提供了由指令管理的多种低功耗模式,外围器件设置有许多低功耗控制功能,加上具有可局部关断功能的分布式供电体系以及电源总线开关等,为零功耗系统设计提供了十分现实的基础。
3 零功耗系统设计基本内容
按照最大静态化设计的基本原则,零功耗系统设计必须有最小量有效操作时空占空比的任务规划,设计出相应的硬件支持电路,并实现按有效操作时空占空比的功耗管理软件支持。因此,零功耗系统设计贯穿了应用系统设计的全过程。
3.1 最小量有效操作时空占空比的任务规划
理论上讲,每个嵌入式系统都具有高谐小量的有效操作时空占空比;但若不认真将有效操作与无谓等待精细区分,而将有效操作与无效操作混在一起,就不可能实现系统的最大静态化管理。[!--empirenews.page--]
(1)断续运行系统最小时空占空比的任务安排
对于可断续运行的系统,无论任务集中还是分散,都要努力寻求有效操作最小量的时空占空比。例如,热流量计中确定了采集、处理、存储、送显示4个任务时间TOP后,任务的循环周期Ttot将决定宏观时域占空比的大小,即Tdc=TOP/Ttot。Ttot受温度变化率及测量精度的限制。在确知热水温度变化率和温度采集精度要求下,使Ttot最大来获得最小的有效操作时域占空比。
(2)连续运行系统的非连续化
将连续运行系统中的某些连续运行任务分离出来,实行非连续化,这样可以把连续系统的主体任务实现有效操作的占空比。例如,热流量计实际上是一个连续运行系统,因为它要不停顿地采集流量传感器的流量脉冲QP。如果把流量脉冲采用极微功耗,独立的计数器不停地计数,热流量计只在数据采集任务中顺便读取计数器的计数值即可实现热流量计主体的最小量时域占空比。
(3)系统中各项操作任务相关区域的最小化与独立化
为保证系统能获取最小有效操作的宏观区域占空比,并据此实现区域的功耗管理,必须将每个操作任务限定在一个独立的最小区域内,使不同操作任务的电路相对独立。例如,时钟、信号通道可单独关闭;采用电源管理的区域设置单独的电源总线开关或采用I/O驱动供电等。
3.2 系统硬件设计中的功耗管理电路设计
(1)满足宏观时空占空比功耗管理的独立电路设计。当按照最大限度宏观时空占空比来管理电路时,必须将这些电路设计成能独立实现静态化或实时关闭的电路单元和相应的管控电路。
(2)选择满足零功耗管理的外围器件。选择能自动实现零功耗管理的器件或可功耗管理的外围器件。
(3)最小值守电路设计。设计微功耗、高可靠性的开机值守、唤醒值守或运行值守电路。
(4)用电管理电路设计。在许多情况下,对于分时多区操作的独立电路单元,采用分布式带关断功能的供电电路来实现功耗管理是十分有效的。例如,热流量计在采集完温度传感器的输出后立即将传感器电源关闭。
3.3 功耗管理的应用软件设计
零功耗系统完全是在CPU的控制下完成功耗管理的,因此,它是依据总体设计要求,在系统硬件支持下,通过功耗管理的应用软件实现的。应用软件要遵循系统有效操作的时空占空比来及时关闭或唤醒相应的电路单元。
(1)MCU、处理器、SOC本身的零功耗管理。它包括内核的零功耗管理和核外功能单元的零功耗管理。
(2) 外围器件的零功耗管理。它包括外围器件的功耗管理或电源供电管理。
4 零功耗系统与最小功耗系统设计
零功耗系统是基于功耗管理的低功耗系统,但只有零功耗系统设计并不能实现系统的最小功耗。因为在实际系统中,有效操作时系统的功耗过大以及非有效操作时系统的功耗远不为零,都会影响实际系统的最小功耗水平;而降低系统有效操作和非有效操作时空中的功耗水平,属于传统的低功耗设计技术。它是根据电路功耗特性参数来实现满足低功耗设计要求,在很多情况下并没有功耗管理的参与。例如,根据CMOS电路动态功耗特性,其动态功耗与供电电压、变换频率、负载电容等参数有关。降低系统供电电压,降低时钟频率,减少硬件电路设计制作时的分布电容等,这样可以减少有效操作电路中的功耗水平;减少CMOS电路的静态泄漏电流的措施,则可降低非有效操作时空电路上的功耗。只有充分实施了传统的低功耗设计和零功耗设计,才能获得系统的最小功耗。
结束语
(1)零功耗系统是一种工程概念。在这种系统中没有功耗浪费,所必需的系统功耗为传统电路功耗的高谐小量。
(2)零功耗系统设计是基于CMOS数字电路静、动态功耗特性的最大静态化的功耗管理设计。
(3)在嵌入式应用系统中,按系统有效操作的时空占空比,实现按需供给的功耗管理能最有效地、大幅度地降低系统功耗。
(4)对系统实现低功耗设计与零功耗设计可实现系统的最小功耗--微功耗。
(5)系统的微功耗以及便携化,使系统供电变得十分灵活与多样化,从而使传统的系统电源设计转向系统供电设计。