微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 嵌入式系统设计中的低功耗技术

嵌入式系统设计中的低功耗技术

时间:02-05 来源:3721RD 点击:

务,已不是一个较好的选择。一是因为这些功能对芯片处理功能的要求可能各不相同,二是因为一个负担着多任务的芯片需要很高的速度,这样,降低功耗就变得很困难,这就使得多CPU 系统(MPCore) 成为一个必然的趋势。多CPU 系统的一个明显的优势是可针对不同的任务处理需要,用不同的CPU 来各尽其职,以将自身的优势充分发挥,从而给予系统最优化的性能表现。另一个优势是对功耗的控制: 假如用单CPU来完成所有的功能,则不可避免地需要一个很高的CPU 速度,从而造成很高的功耗,浪费很多能源。多CPU 系统可以根据不同的任务来合理地启动、停止相应的CPU 以完成任务,而在不需要的时候处于停歇状态,从而最大限度地控制功耗。

1.5 分区/分时供电技术

对于一个嵌入式系统来说,系统的工作量随时都在改变,不可能所有的组件任何时刻都在工作,故可采用分区/分时供电技术来降低功耗,可利用开关控制电源供电单元,在某一部分电路处于休眠状态时,关闭此部分电路的供电电源,仅对工作部分组件供电。其供电原理如图1所示。

图1 分区分时技术原理图。

2 软件的低功耗设计

2.1 优化编译器

在嵌入式系统设计中,软件起着引导硬件活动的主导作用,也对系统的能量消耗有很大的影响。过去几年的研究主要是针对硬件部分,而现在,研究设计人员则更注重通过优化软件部分来降低系统功耗。要想对软件进行优化,必须选择正确的编译方法,以降低程序执行的功耗。编译器的作用就是将由高级语言编写的程序(如C/C++等),翻译成能够在目标机上执行的程序。同时,也使得程序的可读性和可维护性得到保证,提高了软件开发的效率。另外,将程序移植到新的目标机上,也只要用相应的编译器对程序进行重新编译即可,而不必重新编写程序。但是,在某些情况下,这样会影响程序的执行性能。编译器的有效性以及它所生成的代码效率,可以与汇编语言代码相比较得出。事实上,在一个程序中,每一条指令都将激活微处理器中的某些硬件部件,因此,正确选择指令可以降低处理器的功耗。通过优化编译器可以进行有效的软件低功率化,从而生成效率更高的代码,以降低嵌入式设备的功耗。

2.2 采用软件代替硬件电路

一般的硬件电路都存在功耗,所以,可以把具有数据运算处理功能的硬件电路用软件来实现,例如滤波电路,指数、对数运算电路、抗干扰电路等。但是,任何事情都不是绝对的,部分硬件电路到底能否通过软件来实现,此外,还要考虑处理大量的软件数据,需要提高处理器的性能和功耗等,同时要考虑这是否合算。

2.3 中断驱动技术设计

把整个嵌入式系统软件设计成多个事件来处理,而在系统上电初始化时,主程序只进行系统的初始化(包括寄存器、外部设备等),初始化完成后,进入低功耗状态,然后把CPU控制的设备都接到中断输入端上。当外设发生了一个事件,即产生中断信号,使CPU退出节电状态而进入事件处理,事件处理完成后,继续进入节电状态。

在嵌入式程序设计时,一个程序到底使用中断方式还是查询方式,对于一些简单的应用并不那么重要,但在其低功耗特性上却相去甚远。使用中断方式,微控制器可以什么都不做,甚至可以进入等待模式或停止模式; 而在查询方式下,微控制器必须不停地访问寄存器,这会带来很多额外的功耗,所以,用软件进行设计时,除非系统本身已要求采用查询方式,否则应尽可能采用中断方式进行编程。

2.4 定时器延时程序的采用

当软件设计中需要用到延时程序时,设计人员应多使用定时器延时方法来进行设计。这是因为,通常嵌入式处理器进入待机模式后,CPU会停止工作,而定时器可以正常工作,由于定时器的功耗很低,故当处理器调用延时程序后,嵌入式系统便可进入待机模式,此时定时器可以继续工作,定时时间一旦结束,即可唤醒CPU重新进入工作,这样不但降低了CPU功耗,还提高了CPU的工作效率。而如果采用查询方式,则CPU会不断地对系统进行查询,由于CPU时刻工作,这样不但效率低下,同时处理器功耗也很大。

2.5 算法优化

优化算法多出现在嵌入式DSP中,采用大量现成的公式和计算方法,可以节省系统内部运算的时间,减少功耗; 另外,在嵌入式系统允许的误差情况下,也可以近似用比较简单的函数来取代复杂函数进行运算,从而减少功率消耗。

3 结束语

嵌入式系统的设计涉及到硬件设计和软件设计两个方面,在实际系统应用时,低功耗的设计并非是单方面的因素,需要综合考虑各种可能的原因、条件和状态,应把硬件设计和软件设计综合起来进行考虑,并对细节进行认真的分析,同时对多种可能的方案

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top