您好, 访客   登录/注册

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

来源:用户上传      作者: 李学刚

  摘 要:文章首先分析了硬件的低功耗设计的方法,总结了现阶段存在的不合理现象。其次重点介绍嵌入式系统设计实现低功耗的方法,主要从技术优化角度来进行,促进控制模块使用阶段更安全稳定,功耗也得到了合理的控制,实现系统运行使用功能。
  关键词:嵌入式;系统设计;低功耗技术
  一、硬件的低功耗设计
  1、硬件电路器件
  程序编写后实现功能需要硬件电路的参与,因此硬件部分是电路设计的重点,也关系到嵌入式模块功能是否能够实现。电路中的电子元器件如果设计不合理或者焊接误差,会导致使用阶段断连情况发生,目前多用集成技术来解决这些耗能隐患。CMOS技术应用后使硬件电路的连接形式更合理,控制模块运转阶段的能源损耗量被控制在了标准范围内,流经电流如果出现异常变化,会调整稳定后再流入到电路中。由于现在绝大部分电路均采用集成电路CMOS工艺技术,这与以前的TTL工艺相比,本身就已经起到了降低电子元器件和整体系统功耗的作用,因此,应该继续多采用CMOS集成电路工艺技术。另外,由于采用CMOS集成工艺技术,其电路静态功耗很小(可忽略不计),而动态功耗较大,因为动态功耗是指电路高低电平翻转时产生的功耗,在电路高低电平翻转跳变沿期间,电流很大,存在较大功耗,所以,降低硬件电路功耗主要是降低电路动态功耗。
  2、低功耗外围器件的选用
  实现低功耗还要对电子器件进行挑选,对比不同类型元器件的节能指标,低功率环境下对器件的损害程度更小,在安全使用年限内也不会发生功率损耗过大的现象。嵌入式技术中硬件部分设计与软件程序编写都同等重要,外围器件选择时如果无法确定标准,可以采用试验的方法来帮助计算功率损耗情况,对比阶段也更容易进行,在这样的环境下,嵌入式技术应用才能达到预期的目标。完成同样的功能,电路的实现形式有多种。例如,尽可能地将嵌入式系统的内部存储器RAM转换为外部的闪存FLASH,因为在同样条件下,读内部RAM比读外部FLASH会带来更大的功耗。也可以利用分立元件、小规模集成电路,大规模集成电路甚至单片实现。通常使用的元器件数量越少,系统的功耗越低。因此,应尽量使用集成度高的器件,以减少电路中使用元件的个数,减少整机的功耗。
  3、微处理器的选择
  微处理器能够起到对治理程序控制的发现不合理现象也要及时采取调控方法,处理器运行阶段损耗的功率比较大,也是节能设计期间重点优化的部分。选择时首先要判断功能是否能够达到标准,在此前提下进行后续损耗的对比分析。要有明确的额定功率,这样在损耗控制时技术应用才更顺利,技术应用形成并不是固定的,可以根据实际使用需求对技术方法进行组合应用,将损耗降至最低。仅消耗少部分电能便能够实现系统的高效运行,功能实现的流程也更合理,是嵌入式设计时首要遵从的标准。并且高效率的处理器都提供有多种时钟频率和工作电压的选择,以便于最大限度地节约功耗。此外,在进行系统设计时,在工作电压相差不大和系统处理能力许可的情况下,还应尽可能降低微处理器的时钟频率,现以起到节能的作用。以SAMSUNGS3C2410(32位ARM920T内核)为例,它就提供了四种工作模式:正常模式、空闲模式、休眠模式、关机模式。
  二、软件的低功耗设计
  1、优化编译器
  控制程序在运行使用过程中,要定期检验,观察控制功能是否高效实现,并对使用中常常出现误差的部分进行调节控制,编译器模块是实现调控功能的部分,在此过程中,会涉及到频繁的计划变动,经过多次试验后最终确定的编译模式应用后才不会出现误差。但是,在某些情况下,这样会影响程序的执行性能。编译器的有效性以及它所生成的代码效率,可以与汇编语言代码相比较得出。事实上,在一个程序中,每一条指令都将激活微处理器中的某些硬件部件,因此,正确选择指令可以降低处理器的功耗。通过优化编译器可以进行有效的软件低功率化,从而生成效率更高的代码,以降低嵌入式设备的功耗。
  2、采用软件代替硬件电路
  软件与硬件相比较功能更加丰富,也能在工作任务开展阶段形成更稳定的控制体系。因此采用软件来对复杂的电路进行更换,才是更高效合理的,使用功能不受到影响的前提下达到降低功耗的目标,这样的处理形式符合嵌入式设计标准。一般的硬件电路都存在功耗,所以,可以把具有数据运算处理功能的硬件电路用软件来实现,例如滤波电路,指数、对数运算电路、抗干扰电路等。但是,任何事情都不是绝对的,部分硬件电路到底能否通过软件来实现,此外,还要考虑处理大量的软件数据,需要提高处理器的性能和功耗等,同时要考虑这是否合算。
  3、中断驱动技术设计
  把整个嵌入式系统软件设计成多个事件来处理,而在系统上电初始化时,主程序只进行系统的初始化(包括寄存器、外部设备等),初始化完成后,进入低功耗状态,然后把CPU控制的设备都接到中断输入端上。当外设发生了一个事件,即产生中断信号,使CPU退出节电状态而进入事件处理,事件处理完成后,继续进入节电状态。在嵌入式程序设计时,一个程序到底使用中断方式还是查询方式,对于一些简单的应用并不那么重要,但在其低功耗特性上却相去甚远。使用中断方式,微控制器可以什么都不做,甚至可以进入等待模式或停止模式;而在查询方式下,微控制器必须不停地访问寄存器,这会带来很多额外的功耗,所以,用软件进行设计时,除非系统本身已要求采用查询方式,否则应尽可能采用中断方式进行编程。
  4、定时器延时程序的采用
  当软件设计中需要用到延时程序时,设计人员应多使用定时器延时方法来进行设计。这是因为,通常嵌入式处理器进入待机模式后,CPU会停止工作,而定时器可以正常工作,由于定时器的功耗很低,故当处理器调用延时程序后,嵌入式系统便可进入待机模式,此时定时器可以继续工作,定时时间一旦结束,即可唤醒CPU重新进入工作,这样不但降低了CPU功耗,还提高了CPU的工作效率。而如果采用查询方式,则CPU会不断地对系统进行查询,由于CPU时刻工作,这样不但效率低下,同时处理器功耗也很大。
  5、算法优化
  优化算法多出现在嵌入式DSP中,采用大量现成的公式和计算方法,可以节省系统内部运算的时间,减少功耗;另外,在嵌入式系统允许的误差情况下,也可以近似用比较简单的函数来取代复杂函数进行运算,从而减少功率消耗。
  结语:嵌入式系统的设计涉及到硬件设计和软件设计两个方面,在实际系统应用时,低功耗的设计并非是单方面的因素,需要综合考虑各种可能的原因、条件和状态,应把硬件设计和软件设计综合起来进行考虑,并对细节进行认真的分析,同时对多种可能的方案和方法进行计算和总结,这样才可能取得较为满意的效果,最终达到降低系统功耗的目的。
  参考文献:
  [1] 刘桂荣.嵌入式系统低功耗软件技术的研究与探索[J].咸宁学院学报,2012(08).
  [2] 高立军.嵌入式系统的软件低功耗技术实现策略[J].信息系统工程,2016(03).
转载注明来源:https://www.xzbu.com/8/view-7469498.htm