基于嵌入式系统低功耗设计研究与实现

时间:2013-09-17

  摘要:随着科技的不断进步,嵌入式系统性能得到了很大的提高,系统模块更加强大,处理速度更加快速,不过在耗能方面还是有待提高,目前,功耗问题是困扰嵌入式系统更好发展的主要因素。本文根据实际情况,结合经验,对嵌入式系统的低功耗问题进行了分析,并对嵌入式系统的硬件设计以及软件设计提出了一些切实有效的措施,有利于更好的解决嵌入式系统的功耗问题。

      嵌入式系统主要包括软件设计以及硬件设计。为了降低功耗,就需要对这中设计方法进行深入研究,解决存在的不足。

  一、嵌入式系统设计

  嵌入式系统由软件模块以及硬件模块组成,其中软件模块需要在硬件模块中运行才可以实现其功能。嵌入式系统中的硬件部分是嵌入式系统的基础部分,主要提供嵌入式系统的I/O端口、外设接口等,而软件是嵌入式系统的控制,通过运行,给硬件提供指令,指示硬件进行相应的动作,也就是说软件必须在硬件部分上运行,才可以起到很好的作用。

  二、嵌入式系统趋向低功耗的必要性

  1.节能的需求

  嵌入式系统是一个相对复杂的系统,各个模块工作时工作量是很大的,这就需要电源供应正常,保证系统的正确运行。而随着系统的不断扩大,各个模块会造成更大的功耗,因此,为了更有效的利用嵌入式系统,延长嵌入式系统的工作时间,需要采取节能措施。

  2.增强抵抗能力

  在嵌入式系统工作的过程中,难免会受到外界的干扰,特别是嵌入式系统中敏感电子元器件,更应该做好防磁的措施,如果处理不当,不能很好的增强抵抗力,将严重影响系统的正常工作。嵌入式系统的功耗越高的话,电磁辐射能量就会越大,这样嵌入式系统自身以及外设都会受到影响,造成的降低。

  三、利用嵌入式系统硬件设计方法降低功耗

  对于嵌入式系统而言,硬件功耗问题是主要原因,对于嵌入式系统低功耗设计的影响因素,处理好硬件低功耗设计,会对嵌入式系统低功耗做出重大贡献。

  1.优先选择低功耗芯片、元器件

  在嵌入式系统工作的过程中,芯片元器件对电源的消耗非常的大,因此,在嵌入式系统设计前,对于元器件的选择,除了满足设计性能指标的需求,还需要满足功耗问题,尽量选择低功耗芯片。现在比较成熟的工艺主要有两种,一个是TTL工艺,另一种是CMOS工艺,其中CMOS工艺耗能很少,可以优先选择。对于芯片的设计或者焊接时,需要注意的是芯片引脚不要出现悬空端,悬空端容易引进外界噪声信号,对嵌入式系统的电源会产生很大的影响,造成高低电平的转换。在默认的情况下,如果高低电平转换,功耗会很大,这个时候,选择高电平输出,确保耗能降到。

  2.采用不同步供电技术

  一个完整的嵌入式系统包含很多部分,比如说包含AD采样、DA转换、UART异步串行通信等等,这些模块在系统工作时不会同时工作,有可能在进行完一个模块后才进行下个模块,为了降低功耗,可以选择不同步,即采取分时方法,当某一模块工作完后如果需要隔很长时间才会再执行操作,那就可以选择执行完后将此模块设置为休眠状态,从而降低功耗。

  3.合理利用I/O端口资源

  嵌入式系统工作时,需要频繁的使用I/O口,I/O口在输出的情况下可以输出约为20mA的电流,对于次,可以采取有效的措施,很好的利用这一电流,对其他外设采取供电的办法,当然,外设对电流的需求需要小于20mA.采取这种办法,可以很好的利用这一资源,得到充分的利用,更好的降低功耗。

  4.加强智能电源设计工作

  解决好嵌入式系统低功耗的问题,需要注意的就是减少耗能问题,而解决好耗能问题,还可以从另一个角度解决,优化电源设计,趋向于智能化方向发展。在智能电源中安装自动检测芯片,这样可以确保系统处于不同的情况下时,采取不同的策略,及时的做出处理,这样就可以对CPU以及外设模块采取不同的处理措施。比如说,当系统在外部正常供电时,这个时候电源供应可以采取正常供电的方法,提供正常的工作频率,保证电压的正常使用;而如果电源模块检测到系统工作在外部电池状态下,那这个时候,根据检测的结果,可以降低系统主频率,将电压降低到运行值,确保嵌入式系统工作在低功耗的状态下。

  四、利用嵌入式系统软件设计方法降低功耗

  1.减少编译运行时间

  嵌入式系统的工作离不开软件的执行,一个小模块的正常运行往往需要很多条代码执行编译。嵌入式系统在运行中需要几个模块先后都运行,也就是说,需要大量的代码执行编译过程,这样的话,就会直接造成功率极大消耗。针对于此,可以对程序进行优化,因为代码有单周期、双周期、四个周期之分,对代码优化,尽量选择与底层密切、周期短的指令,这样,程序代码在编译的过程中,会提高处理速度,降低功耗。一般来讲,低级语言,比如说汇编语言,相对语言,比如说C语言、C++语言功耗要低很多。

  2.鼓励使用软件代替硬件,硬件代替软件的方法

  嵌入式系统在执行某个指令或者为了实现某个功能某块时,可以既选择硬件模块实现,也可以用软件方法实现,比如说软件程序FIR滤波与硬件设计模拟低通滤波,这两种方法都可以实现滤掉高频信号,确保低频信号全部通过。这个时候,可以比较这两种方法,哪一种,节省功耗。软件中处理器需要时间,编译消耗功率,而硬件中电路工作也会消耗功率,因此,通过比较,可以做出选择。

  3.采用快速运算处理的计算方法

  嵌入式系统在处理接收到的数据时,往往需要大量的运算,才会得到期望的结果。

  为了有效的降低功耗,提高处理速度,对一些算法可以进行优化。比如说在进行DFT傅立叶变换时,传统的思想是利用DFT设计,求出结果,但是这种设计相对FFT快速傅立叶变换而言,运算量大,时间也很长,这个时候就可以采用FFT的方法。在进行设计时,对各种算法都进行充分比较,在需求的都满足的情况下,优先选择算法处理快的。

  4.软件设计建议多采用中断程序

  嵌入式系统在工作时,当系统上电初始化时,主程序只会实现系统的初始化,这其中包括各个模块寄存器的初始化,外部设备的初始化。对于系统软件降低功耗,还可以采取的办法就是当程序没有动作需要执行的时候,可以将系统设置在低功耗状态,而当系统有动作要发生时,这个时候,可以利用中断程序,让系统跳到要执行动作的程序中,也就是说此时仅仅中断程序会消耗功率,其他模块不会。待中断程序执行完之后,系统继续回到低功耗的状态,节省电量的消耗。

  五、结束语

  随着社会的发展,科技不断进步,嵌入式系统日益趋向于智能化、自动化方向发展。

  在各行各业中,嵌入式系统都得到了很好的应用。不过随着功能的增强,应用增多,电源供应成了问题,很多嵌入式系统的耗能都很严重。考虑到嵌入式系统由软件以及硬件两大部分组成,因此,为了降低嵌入式系统的功耗,可以通过硬件措施以及软件措施,实现目的。对硬件方法主要考虑到硬件的电源、芯片选择以及I/O的有效利用;而对于软件而言,主要就是对程序进行很好的优化,充分将软件与硬件结合,只有这样,才能更好的解决嵌入式系统的功耗问题,促进嵌入式系统更好的发展。(作者:王瑰琦)

上一篇:一种新型光强度数显器原理与设计
下一篇:多通道接收机幅相校准测试系统的设计

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料