微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > DSP应用系统的低功耗探讨

DSP应用系统的低功耗探讨

时间:09-02 来源:互联网 点击:
随着电池供电系统的应用日趋广泛,许多应用系统都涉及低功耗设计的问题。数字信号处理器由于具有强大的数据处理能力,在诸如便携式仪器仪表等方面得到了广泛的应用,以DSP为核心的应用系统中也存在着低功耗设计的问题。有多种办法可以降低功耗,比如常用CMOS器件代替NMOS器件或双极器件等,这已经在许多场合得到应用。本文就TMS320系列定点DSP,介绍一些降低功耗的方法。

DSP应用系统低功耗设计的具体措施

1.DSP器件的选择

应根据系统要求来选择合适的DSP器件。在典型的DSP应用系统中,通常其核心是由一片或多片DSP构成数据处理模块,由于系统运算量大且速度要求高,因此DSP内部的部件开关状态转换十分频繁,这使得DSP器件的功耗在应用系统的功耗中占有相当的比例。从某种意义上来说,选择什么样的DSP决定了系统功耗处于什么样的层次,所以设计人员在进行电路低功耗设计时要熟悉DSP及其相关产品的动态。DSP器件的功耗与该系统的电源电压有关,同一系列的产品,其供电电压可能不同,如TMS320C2XX系列中供电电压就有5V和3.3V两种,在系统功耗是系统设计首要考虑的情况下,应尽可能地选择低电压供电的DSP器件。选择3.3V低电压供电的DSP除了能减小DSP本身的功耗以降低系统的总功耗外,还可以使外部逻辑电路功耗降低,这对实现系统低功耗有着重要的作用。值得注意的是:DSP生产厂家也比较注重系统功耗的问题,德州仪器公司(TI)为实现低功耗应用系统而设计了一批新型的DSP器件,以其中的TMS320C55X为例, C55X核可以在0.9V和0.05mW/MIPS环境下运行,传输速率可达800MIPS,其功耗相当于TI上一代芯片C54X功耗的15%左右,该芯片非常适合于电池供电系统的应用。此外,TI公司还充分考虑 DSP电源供电设计的问题,为支持DSP设计TPS767D3XX将两个1-A线性稳压器和两个上电复位开关封装在一起,它不仅降低组件数量和电路板大小,使系统的成本降低,在系统低功耗设计方面也有重要的作用:TPS767D3XX在全部1-A输出范围内提供极快的瞬态响应、低压差和几乎恒定的低静态电流(典型值为85μA)。压差在1A时的典型值为350mW。在设计时考虑这些问题往往能达到事半功倍的效果。

2.使DSP适速运行

TMS320系列的DSP一般采用CMOS工艺,CMOS电路的静态功耗极小,而CMOS电路的动态功耗的大小与该电路改变逻辑状态的频率和速度密切相关。TMS320系列应用系统的功耗与工作频率,即系统时钟(CLKOUT1)成正比。在不需要DSP的全部运算能力时,可以适当的降低TMS320的系统时钟频率使DSP适速运行以降低系统功耗。当时钟频率增加时,电流也相应地增加,执行一段用户程序代码的时间会缩短。例如,以1.2mA/MHz运行一段500个时钟周期代码,当CLKOUT1为10MHz时,DSP执行该段代码用50μs,所需电流为12mA;当CLKOUT1增加到20MHz时,所需电流增加到24mA,执行时间缩短为25μs。TMS320系列执行一段用户程序所耗能量与器件执行快慢无关,因为该能量仅仅取决于DSP器件内部逻辑状态转换的数目。从这一点来看,似乎DSP的功耗并未降低。那为什么不让DSP全速运行呢?可以用图1来解释这一问题:在图1(a)中,DSP以全速运行代码后进入降功耗模式(使用IDLE指令),而在图1(b)中,DSP在整个运行时间段上适速运行。如前文所指出的:DSP全速运行和适速运行该段代码所耗电能是相同的,但是,在(a)中,DSP在空闲状态还要消耗能量,而(b)中将节省这部分的能量。因此,在实际应用系统中并不需要DSP的最高MIPS运算能力时,适当降低系统的时钟频率能有效地降低系统功耗。



3.在软件设计中降低功耗

CPU内部执行不同的指令时所消耗的电流是不同的,在软件编程时如果能充分考虑到这一因素可以降低系统功耗。图2和表1给出了TMS320C5X的一些指令的功耗特性。



TMS320C5X有几种降功耗模式,这些降功耗模式中最常用的是使用IDLE和IDLE2指令。IDLE指令将CPU内部操作挂起(suspend activity),但是仍保留内部各部件逻辑的时钟,允许串口等片内外设继续工作。在20MHz的系统时钟时,执行IDLE指令所需电流的典型值为10mA。在相同的系统时钟下,执行IDLE2指令只需要3mA的电流;若关闭内部部件的输入时钟时执行IDLE2指令,这时电流值不超过5μA ,CPU所消耗的电能将大大降低。

从表1中可看到:对诸如NOP(空操作)这类简单的指令而言,使用RTP(重复指令)将节省约12mA的电流;但是对MACD(相乘、累加及数据块移动指令)这类CPU操作较复杂而且所需电流较大的指令来说,使用重复指令反而会增加大约14mA的电流,达到90mA。注意到这个电流值是在数据完全并行处理时得到的,在这里数据并行是指MACD指令的操作数存放在不同的数据存储块,对它们进行操作时,两个数据块中的数据将被同时选中。因此,为减低系统功耗,在软件设计时应尽可能地将所要操作的数据存储在同一个数据块中,比如TMS320C209可将MACD的操作数同存储在其片内4K字的SARAM中。



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

网站地图

Top