王 萌
(陕西能源职业技术学院,陕西 咸阳712000)
(1)硬件电路器件。现在很多的电路多采用集成电路CMOS 工艺,相较于TTL 工艺技术,不仅能够将电子元器件的消耗减少还能够减少整个系统的消耗。由此可见,现在的工艺技术中应该广泛的使用CMOS 集成电路工艺技术。
在CMOS 技术的设计方面所需要消耗的功耗是非常小的,但处于动态时的时候,电路消耗的功耗很大。
动态功耗公式为:
式中,动态的功耗主要是采用P 来表示,器件负载电容主要是采用C 来表示,电压采用V 表示,频率采用f 来表示。
采用COMS 集成工艺技术的硬件电路的功耗,主要与电路工作时的电压和频率有联系。其芯片不使用的输入端不能悬空,如果输入端悬空的话可能存在感应信号,同时造成电平的高低转换。
(2)低功耗外围器件的选用。低功耗设计首先就是对电子元件进行必要的筛选,具备相同性能的电路,电路的形式是多样的。比如说,在系统立面不管是嵌入式内部RAM 亦或者是外部的FLASH 在其功能上都具有一致性。但是同等条件下,读取RAM 要比读FLASH 消耗的功率更大。
其次元器件的规模和集成形式。要使设计的系统功耗低,最直接的方式就是保证质量和成本的前提下多采用集成度高的元器件和芯片,从而减少设备的功耗。
(3)微处理器的选择。在整个系统之中,以嵌入式设计为基础的功耗之中占据最大比例的就是CPU。
微处理器的功耗主要分为两部分:
总功耗=内核功耗+外部接口控制器功耗
当处理器处于工作状态下的电压是影响功耗的关键因素;其次就是地址总线宽度以及数据总线宽度等。总线的宽度决定了处理处理能力的强弱,同时会影响功耗的高低。要使降低功耗,就需要使总线位数变窄。
根据上面说叙述的内容,要降低微处理器的内核功耗,就是想法降低处理器的工作电压、时钟频率或者两者都降低[1-2]。
许多处理器的工作电压可降至2V 以下。在设计系统时,如果处理器的运行电压相近和系统功能相同的情况下,则可以通过降低处理器的时钟频率的方法来实现。关于嵌入式微处理器所能够提供的工作模式有四大类:休眠、正常、空闲和关机。
当处理器处于高速运行状态的时候所消耗的功率要远远地大于其他状态所产生的消耗。我们可以采用相关的程序,当需要处理器进行处理的时候,将其进行唤醒,达到正常工作的状态;当处理器将所需要处理的程序完毕之后,再次进入到空闲的状态。
系统低功耗设计时,遵循以下几点:首先处理能力相同的情况下,可通过降低处理器的时钟频率;然后就是将处理器的功效降低,最后的步骤是将外设控制器断开。
(4)多CPU 系统。若一个处理器承担着多项工作时,那么必然需要很高的运算速度。这种情况下,还要实现低功耗就十分不易了,因而多处理器系统,成为发展的必然趋势之一。
这种方式具是参照需要工作的不同,来处理不同的工作任务,从而最大程度发挥出各自的优点,能够将系统的性能发挥到最大的程度。用单处理器来完成所有的功能,则需要很高的处理速度,造成很高的功耗,消耗很多能量[2]。多处理器系统会根据工作的不同,启动或停止相对应的处理器工作,从而很大程度上控制功耗。
(5)分区/分时供电技术。当系统正处于运行状态的时候,工作状态是实时性变化的,在系统之中所有的部分都不会长期的处于工作的状态,这时所需要使用的技术就是分区/分时技术,借助这种方式能够将系统的功耗减少到最小。
过去的低功耗研究,主要如何对硬件进行设计、升级改造来实现低功耗。截止到目前为止,相关的研究人员主要是想提升软件的升级以及优化来达到减少功耗的目的。在嵌入式应用系统里,软件的作用也来越重要,软件不仅要进行相应的运算处理,还要引导硬件运行。
(1)优化编译器。软件优化过程中首先解决的就是选取适合的编译方法。从功能的角度上来看,编译器主要是将高级语言程序,翻译成为可以执行的程序。与此同时,软件的可读性和软件的可维护性得到保证,同时提高软件开发的效率。此外,将编写的软件程序下载到新的系统或设备上,只要把相应的编译器对软件进行重新编译就可以了,不必重新设计软件。这样做当然在一些特定情况下,会影响软件执行的性能[2]。
从实践的角度上来看,程序设计的逻辑不同,编写的指令的多少就不同,处理器执行时间不同功耗也不同。设计更合理的逻辑、编程更简洁的程序成为软件低功耗设计的核心。当编译器进行优化以后,此时能够将生成代码的效率提升,并且能够使设备的消耗降低。
(2)采用软件代替硬件电路。针对于普通电路,如果能够通过软件实现相应功能,就不要选择硬件,显然同样的运算过程,软件的功耗要远远低于纯硬件电路。当然这也都不是绝对的,因为有些硬件电路无法通过软件来实现,同时所要处理的大量数据信息,对处理器提出更高的性能和功耗要求,同时也要考虑成本问题。
(3)中断驱动技术设计。在系统设计时,编写的程序选择中断方式还是选择查询方式,对于一些简单应用并无区别,但是两者的功耗表现却相差很大。
在关于嵌入式系统程序的设计方面,其主要是由主程序以及其他的子程序组合而成,当外设出现了中断信号,从而导致处理器进入到了工作状态,当所有的工作处理结束之后,处理器就再次进入休眠的状态。这样没有中断信号时相应的硬件电路均处在最低的功耗下。查询方式,会使处理器不断进行查询,导致处理器一直处于工作状态,不仅效率低,功耗也大。
(4)定时器延时程序的采用。如果软件方面需要设计延时程序的时候,应通过定时器延时的方式来解决。通过这样的方式是因为嵌入式处理器如果是待机模式,处理器会停止工作,但是定时器却不停止工作。当定时工作结束以后,此时处理器就会再次回到工作的状态。这样的操作方式不仅能够最大程度的减少处理器方面的能源消耗,同时还能够将工作效率得到最大的提升。
(5)算法优化。算法优化是指对算法的复杂度、正确性等性能进行优化。
遇到的任何工程上问题时,都可以建立成一种最优化模型进行求解,例如神经网络、AI 等,它们的本质任然是建立优化模型,通过最优化方法对目标函数(或损失函数)进行优化,从而训练出最好的模型。
当对嵌入式DSP 实行算法优化操作的时候,此时能够借助很多的计算方式,这样可以将时间成本节约下来,还能够将功耗减少到最小。
文章简述了电路低功耗设计时,需要考虑的硬件的低功耗设计和软件的低功耗设计。硬件低功耗设计时,从元器件选型,到分时/分区供电来实现降低功耗的目的。软件低功耗设计则从优化编译器,优化算法,中断驱动等方面,简述软件低功耗设计时所要注意的问题。总之,通过上述的经验和方法能够有效的降低电路的功耗。