当前位置:文档之家› 嵌入式系统降低功耗设计

嵌入式系统降低功耗设计

嵌入式系统降低功耗设计 对于嵌入式系统来说,低功耗设计包括硬件低功耗设计与软件低功耗设计两个方面。硬件是系统运行的物质平台,包括处理器和外围设备。硬件低功耗设计有两个层次:器件级的低层次设计主要关注减少负载电容和漏电流;系统级的高层次设计主要关注减少无用的逻辑和无用的电路活动。在上面两个层次中,后者是更为有效的方法。处理器的低功耗设计大都采用系统级,其技术主要包括:门控时钟技术,cache部分关闭技术,动态电压缩放DVS(dynamic voltage scaling)技术;外围设备低功耗设计包括:关闭设备空闲部件;在满足基本性能要求前提下,降低外围设备的服务质量。 软件的低功耗设计涉及嵌入式操作系统、编译程序和应用软件等各个层次。操作系统是软件的核心,处理器调度算法、外围设备管理和功耗管理策略等部分和功耗关系密切:调度算法可实现可变电压技术,改变处理器的工作频率和电压,降低功耗;驱动程序直接控制硬件,通过增加驱动程序功能,抽象出设备的低功耗特性,供上层软件使用;操作系统中增加的功耗策略模块,提供多种功耗管理策略,应用软件根据具体的应用需求,选择最适合的管理策略。编译程序可以通过合理优化、减少冗余代码和不必要操作等方法降低功耗;同时在执行结果相同条件下,可以采用操作替换方式。低功耗应用程序能够利用与电源管理机制相关的API,建立的约束条件,并强迫电源管理机制执行相匹配的变化。

一、 电路级的低功耗设计:

一、硬件低功耗设计 1、 尽量采用低功耗的器件,几乎所有的TTL工艺的器件都有对应的CMOS工艺的器件,选用CMOS工艺的器件是降低电路的直接方法。一般情况下CMOS工艺的功耗为TTL工艺的千分之几,在使用CMOS电路时也应该尽量降低时钟频率和工作电压。尽量使电路处于静态工作状态。设计系统时,尽量使电路处于确定的工作状态,避免没有必要的循环、跳变。对未用的管脚不要浮空,要接到VCC或地上,否则输入引脚上积累的电荷很容易使引脚位于0、1间的过渡区域,大大浪费了功耗。 2、 尽量采用高度集成的专用器件,专用器件在功耗、体积和可靠性上都要优于分离器件。 3、 有些器件有一定的电压工作范围,采用单电源、低压供电可以降低功耗。 4、 尽量降低系统的时钟频率。在各种控制器内,特别是处理器,时钟是跳变次数最多的信号,也是分布最广泛的信号,因此时钟跳变所导致的功耗占了整个系统大量功耗。通过简单的降低时钟工作频率方法来降低时钟功耗不可行,因为降低时钟频率会降低系统的性能,而且处理器完成工作任务的总功耗还是不变的。但是根据系统实时运行的情况,总是存在处于空闲状态的单元模块和冗余信号,它们在某一特定时段的内部操作和输出对系统的状态不会造成影响,可以利用门控时钟来切断这一部分时钟网络,从而达到节省功耗的目的。 5、 充分利用节电工作方式: 现在厂家生产的许多器件都有低功耗的节电方式,如单片机闲置、掉电工作方式,存储器的维持共作方式,ADC、DAC的节能工作方式,DC/DC器件的停机工作方式等。这些器件具有节电工作方式本身就说明他们在正常工作方式时需要消耗较大的电能,因此设计是充分利用其节电方式往往能达到显著的节电效果。 另外,合理处理器件的空余引脚也是非常重要的。大多数数字电路输出端在输出低电平的时候功耗远大于输出高电平的时候的功耗,设计是应该注意控制低电平的输出时间,闲置时使其处于高电平的输出状态。 6、 实行电源管理 目前大部分的传感器本身还没有低功耗模式,而这些器件往往是用电大户。这种情况下,可以对电路进行模块设计,工作时对大功耗器件实施间断供电,即设置电源开关电路,并通过软件或定时电路控制开关,是大功耗模块电路在需要工作的时候加电,其余时间则处于断电状态。这是最有效的节电方式。 二、集成电路的功耗分析 CMOS逻辑电路有许多优点,成为了现在最通用的大规模集成电路技术。CMOS 电路具有以下优点:集成度高,功耗低,输入电流小,连接方便和具有比例性。目前,在嵌入式硬件设计中,无论是微处理器,还是外围电路中,都在使用CMOS逻辑电路。COMS的电路可以分为确定性功耗与非确定性功耗。确定性功耗包括以下内容:静态漏电功耗,内部短路功耗和动态功耗。非确定性功耗主要是由于环境引起的。

1.静态漏电功耗 静态漏电是在二极管在反向加电时,晶体管内出现的漏电现象。在MOS管中,主要指的是从衬底的注入效应和亚门限效应。这些与工艺有关,而且漏电所造成的功耗很小。但是随着芯片面积的缩小,静态功耗所占的比重也在扩大,所以它也是设计必须考虑的一个重要因素之一。一种比较好的方法是采用自适应衬底偏置电压的DVS方法。

2.内部短路功耗 CMOS电路中,如果条件Vtn压,Vtp是PMOS的门限电压)成立,这时在Vdd到地之间的NMOS和PMOS就会同时打开,产生短路电流。在门的输入端上升或者下降的时间比其输出端的上升或者下降时间快的时候,短路电流现象会更为明显。为了减少平均的短路电路,应尽量保持输入和输出在同一个沿上。一般来说,内部短路电流功耗不会超过动态功耗的10%。而且,如果在一个节点上,V短路电流会被消除掉。

3.动态功耗 动态功耗是由电路中的电容引起的。设CL为CMOS电路的电容,电容值为PMOS管从0状态到H状态所需的电压与电量的比值。以一个反相器为例,当该电压为Vdd时,从0到H状态变化(输入端)所需要的能量是CLVdd2。其中一半的能量存储在电容之中,另一半的能量扩展在PMOS之中。对于输出端来说,它从H到0过程中,不需要Vdd的充电,但是在NMOS下拉的过程中,会把电容存储的另一半能量消耗掉。如果CMOS在每次时钟变化时都变化一次,则所耗的功率就是CVdd2f,但并不是在每个时钟跳变过程之中,所有的CMOS电容都会进行一次转换(除了时钟缓冲器),所以最后要再加上一个概率因子a。电路活动因子a代表的是,在平均时间内,一个节点之中,每个时钟周期之内,这个节点所变化的几率。最终得到的功耗表达式为:

三、嵌入式处理器的低功耗设计 处理器的低功耗设计包括器件级的低层次和系统级的高层次设计。对于较低的设计层次,低功耗设计主要关注减少负载电容和漏电流;而对于较高的设计层次,低功耗设计主要减少无用的逻辑和无用的电路活动。因此高层次低功耗设计效果更好,成为设计的主要方法。高层次的低功耗设计主要有以下方法: 1.超标量RISC处理器; 2.门控时钟; 3.组关联cache; 4.动态电压缩放技术; 二、软件层面的低功耗设计: 有了硬件基础的支持,就需要低功耗软件来实现对部件的低功耗控制。低功耗软件既需要低功耗操作系统,又需要低功耗的应用编程。在操作系统中,需要有低功耗的调度器,低功耗的设备驱动,低功耗管理策略来做支撑,最后还必须把这些功能通过系统接口给应用程序使用。在应用层,则需要充分利用系统的接口,编写具有良好低功耗性能的应用程序。

一、低功耗调度器 在系统中,处理器是最重要的系统资源,在功耗上,也是占了很大的比例。所以在整个操作系统中,处理器的管理占有重要的地位,这集中表现在处理器的调度算法上。如何设计一个调度算法,既能够使处理器在规定时间内完成系统任务,又能够使得其功耗最低,就成为了低功耗处理器调度算法的核心任务之一。 在处理器的调度算法设计上,需要充分利用处理器本身的特性。对于目前的嵌入式处理器,在功耗管理上,大多提供不同的工作模式,这些模式有不同的时钟频率。频率越低,处理器的功耗越小,同时处理器的处理能力也越弱。所以在ACPI电源管理标准中,如果处理器空闲,让处理器处于低功耗模式;如果系统长时间不工作,则让处理器进入休眠模式,这种调度方法能够降低功耗。但是,如果应用DVS方法,可以达到更好的节能效果。根据大量的试验研究,处理器的功耗与处理器的电压成二次曲线关系,处理器的电压和处理器的速度成线性关系。也有的报道说处理器的功耗与处理器的电压是三次曲线关系,但是在调度算法论文的计算中,大多假设是二次曲线关系。所以如果处理器以某一个恒定不变的速度去完成任务集,将比处理器以一个高速度完成任务集,然后再空闲的方法更节约能源。 如果可以预测未来处理器的任务负荷情况,在任务集开始执行前,可以计算出处理器在规定时间内完成任务的最小恒定速度,如果按照此速度来执行任务集,则处理器的功耗最低。但是在很多情况下,系统不能预知未来系统的任务负荷,这时这种方法不能够再采用。一般说来,处理器在某一段时间内的负荷是相对稳定的,可以统计前一段时间内系统的负荷,用它来作为未来一段时间处理器荷载的预测,这不会和实际情况完全相符,但是也可以达到很好的效果,在算法研究和实际中,也被大量采用。 处理器一般通过进入不同的功耗模式来降低嵌入式系统的功耗。处理器的功耗模式分为工作模式,空闲模式和休眠模式。上电后,系统工作在工作模式下。如果有任务处于活动状态或是有外部事件发生时,系统将保持该模式;否则,把系统切换到空闲模式。空闲模式一个主要特点是其进入退出基本上不需要额外开销,通常一毫秒就可以反复很多次。任何时候只要操作系统检查到所有线程都处于阻塞状态如等待中断、事件或定时时间,它都可以把系统置于空闲模式以省电。由于任何中断都能把系统从空闲模式中唤醒,所以采用这种模式可使软件智能等待系统事件。 在通常情况下,空闲进程本身不做什么具体的处理工作,它只有在其它应用任务都被阻塞的情况下才会执行。系统进入空闲模式后,启动idle定时器。当该定时器计时满后,系统将进行超时处理,系统保存系统最底层寄存器内容。操作系统实际上没有关闭程序,只是把其内容(代码、栈、堆、静态数据)留在存储器里,然后把处理器置于休眠模式。如果在超时处理时有事件到来,就进入休眠模式。 在休眠模式下,如果是对系统无效的外部事件,系统将回到休眠状态。如果有外部事件发生,系统将回到工作模式。在休眠模式下,系统依靠中断来唤醒自己。从空闲状态退出到工作状态是实时的,但是从休眠状态退出的延迟就大得多。

二、低功耗设备驱动 设备驱动程序在处理器和外设之间进行通信,直接对硬件进行操作,可以充分利用硬件的特性。在功耗管理的软件系统中,它也是软件的底层,是以上各层软件的基础。驱动层向上面各层提供函数调用接口,这些函数充分利用外设的功耗模式来降低外设的功耗。 在驱动层,只是提供可以利用低功耗硬件特性的函数接口;在策略层,提供不同的低功耗策略让应用层选用。因为系统采用低功耗工作方式,可能

相关主题