新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > DSP應(yīng)用系統(tǒng)的低功耗探討

DSP應(yīng)用系統(tǒng)的低功耗探討

——
作者:上海交通大學(xué)電子信息學(xué)院 鄧勇 施文康 時(shí)間:2007-01-26 來源:《電子查詢網(wǎng)》 收藏

前言

本文引用地址:http://butianyuan.cn/article/20921.htm

隨著電池供電系統(tǒng)的應(yīng)用日趨廣泛,許多應(yīng)用系統(tǒng)都涉及低功耗設(shè)計(jì)的問題。數(shù)字信號(hào)處理器由于具有強(qiáng)大的數(shù)據(jù)處理能力,在諸如便攜式儀器儀表等方面得到了廣泛的應(yīng)用,以dsp為核心的應(yīng)用系統(tǒng)中也存在著低功耗設(shè)計(jì)的問題。有多種辦法可以降低功耗,比如常用cmos器件代替nmos器件或雙極器件等,這已經(jīng)在許多場(chǎng)合得到應(yīng)用。本文就tms320系列定點(diǎn)dsp,介紹一些降低功耗的方法。

dsp應(yīng)用系統(tǒng)低功耗設(shè)計(jì)的具體措施

1.dsp器件的選擇

應(yīng)根據(jù)系統(tǒng)要求來選擇合適的dsp器件。在典型的dsp應(yīng)用系統(tǒng)中,通常其核心是由一片或多片dsp構(gòu)成數(shù)據(jù)處理模塊,由于系統(tǒng)運(yùn)算量大且速度要求高,因此dsp內(nèi)部的部件開關(guān)狀態(tài)轉(zhuǎn)換十分頻繁,這使得dsp器件的功耗在應(yīng)用系統(tǒng)的功耗中占有相當(dāng)?shù)谋壤?。從某種意義上來說,選擇什么樣的dsp決定了系統(tǒng)功耗處于什么樣的層次,所以設(shè)計(jì)人員在進(jìn)行電路低功耗設(shè)計(jì)時(shí)要熟悉dsp及其相關(guān)產(chǎn)品的動(dòng)態(tài)。dsp器件的功耗與該系統(tǒng)的電源電壓有關(guān),同一系列的產(chǎn)品,其供電電壓可能不同,如tms320c2xx系列中供電電壓就有5v和3.3v兩種,在系統(tǒng)功耗是系統(tǒng)設(shè)計(jì)首要考慮的情況下,應(yīng)盡可能地選擇低電壓供電的dsp器件。選擇3.3v低電壓供電的dsp除了能減小dsp本身的功耗以降低系統(tǒng)的總功耗外,還可以使外部邏輯電路功耗降低,這對(duì)實(shí)現(xiàn)系統(tǒng)低功耗有著重要的作用。值得注意的是:dsp生產(chǎn)廠家也比較注重系統(tǒng)功耗的問題,德州儀器公司(ti)為實(shí)現(xiàn)低功耗應(yīng)用系統(tǒng)而設(shè)計(jì)了一批新型的dsp器件,以其中的tms320c55x為例, c55x核可以在0.9v和0.05mw/mips環(huán)境下運(yùn)行,傳輸速率可達(dá)800mips,其功耗相當(dāng)于ti上一代芯片c54x功耗的15%左右,該芯片非常適合于電池供電系統(tǒng)的應(yīng)用。此外,ti公司還充分考慮 dsp電源供電設(shè)計(jì)的問題,為支持dsp設(shè)計(jì)tps767d3xx將兩個(gè)1-a線性穩(wěn)壓器和兩個(gè)上電復(fù)位開關(guān)封裝在一起,它不僅降低組件數(shù)量和電路板大小,使系統(tǒng)的成本降低,在系統(tǒng)低功耗設(shè)計(jì)方面也有重要的作用:tps767d3xx在全部1-a輸出范圍內(nèi)提供極快的瞬態(tài)響應(yīng)、低壓差和幾乎恒定的低靜態(tài)電流(典型值為85μa)。壓差在1a時(shí)的典型值為350mw。在設(shè)計(jì)時(shí)考慮這些問題往往能達(dá)到事半功倍的效果。

2.使dsp適速運(yùn)行

tms320系列的dsp一般采用cmos工藝,cmos電路的靜態(tài)功耗極小,而cmos電路的動(dòng)態(tài)功耗的大小與該電路改變邏輯狀態(tài)的頻率和速度密切相關(guān)。tms320系列應(yīng)用系統(tǒng)的功耗與工作頻率,即系統(tǒng)時(shí)鐘(clkout1)成正比。在不需要dsp的全部運(yùn)算能力時(shí),可以適當(dāng)?shù)慕档蛅ms320的系統(tǒng)時(shí)鐘頻率使dsp適速運(yùn)行以降低系統(tǒng)功耗。當(dāng)時(shí)鐘頻率增加時(shí),電流也相應(yīng)地增加,執(zhí)行一段用戶程序代碼的時(shí)間會(huì)縮短。例如,以1.2ma/mhz運(yùn)行一段500個(gè)時(shí)鐘周期代碼,當(dāng)clkout1為10mhz時(shí),dsp執(zhí)行該段代碼用50μs,所需電流為12ma;當(dāng)clkout1增加到20mhz時(shí),所需電流增加到24ma,執(zhí)行時(shí)間縮短為25μs。tms320系列執(zhí)行一段用戶程序所耗能量與器件執(zhí)行快慢無關(guān),因?yàn)樵撃芰績H僅取決于dsp器件內(nèi)部邏輯狀態(tài)轉(zhuǎn)換的數(shù)目。從這一點(diǎn)來看,似乎dsp的功耗并未降低。那為什么不讓dsp全速運(yùn)行呢?可以用圖1來解釋這一問題:在圖1(a)中,dsp以全速運(yùn)行代碼后進(jìn)入降功耗模式(使用idle指令),而在圖1(b)中,dsp在整個(gè)運(yùn)行時(shí)間段上適速運(yùn)行。如前文所指出的:dsp全速運(yùn)行和適速運(yùn)行該段代碼所耗電能是相同的,但是,在(a)中,dsp在空閑狀態(tài)還要消耗能量,而(b)中將節(jié)省這部分的能量。因此,在實(shí)際應(yīng)用系統(tǒng)中并不需要dsp的最高mips運(yùn)算能力時(shí),適當(dāng)降低系統(tǒng)的時(shí)鐘頻率能有效地降低系統(tǒng)功耗。

3.在軟件設(shè)計(jì)中降低功耗

cpu內(nèi)部執(zhí)行不同的指令時(shí)所消耗的電流是不同的,在軟件編程時(shí)如果能充分考慮到這一因素可以降低系統(tǒng)功耗。圖2和表1給出了tms320c5x的一些指令的功耗特性。

tms320c5x有幾種降功耗模式,這些降功耗模式中最常用的是使用idle和idle2指令。idle指令將cpu內(nèi)部操作掛起(suspend activity),但是仍保留內(nèi)部各部件邏輯的時(shí)鐘,允許串口等片內(nèi)外設(shè)繼續(xù)工作。在20mhz的系統(tǒng)時(shí)鐘時(shí),執(zhí)行idle指令所需電流的典型值為10ma。在相同的系統(tǒng)時(shí)鐘下,執(zhí)行idle2指令只需要3ma的電流;若關(guān)閉內(nèi)部部件的輸入時(shí)鐘時(shí)執(zhí)行idle2指令,這時(shí)電流值不超過5μa ,cpu所消耗的電能將大大降低。


從表1中可看到:對(duì)諸如nop(空操作)這類簡單的指令而言,使用rtp(重復(fù)指令)將節(jié)省約12ma的電流;但是對(duì)macd(相乘、累加及數(shù)據(jù)塊移動(dòng)指令)這類cpu操作較復(fù)雜而且所需電流較大的指令來說,使用重復(fù)指令反而會(huì)增加大約14ma的電流,達(dá)到90ma。注意到這個(gè)電流值是在數(shù)據(jù)完全并行處理時(shí)得到的,在這里數(shù)據(jù)并行是指macd指令的操作數(shù)存放在不同的數(shù)據(jù)存儲(chǔ)塊,對(duì)它們進(jìn)行操作時(shí),兩個(gè)數(shù)據(jù)塊中的數(shù)據(jù)將被同時(shí)選中。因此,為減低系統(tǒng)功耗,在軟件設(shè)計(jì)時(shí)應(yīng)盡可能地將所要操作的數(shù)據(jù)存儲(chǔ)在同一個(gè)數(shù)據(jù)塊中,比如tms320c209可將macd的操作數(shù)同存儲(chǔ)在其片內(nèi)4k字的saram中。

4.存儲(chǔ)器類型對(duì)功耗的影響

前文已經(jīng)提到,在dsp器件按某一算法對(duì)數(shù)據(jù)進(jìn)行處理時(shí),dsp片內(nèi)的cpu將消耗大部分的能量。但是,數(shù)據(jù)處理所在的存儲(chǔ)環(huán)境也就是存儲(chǔ)器的類型對(duì)系統(tǒng)功耗有著較大的影響。以tms320c2xx為例,在片的存儲(chǔ)器有單訪問ram(saram),雙訪問ram(daram)和rom三種(tms320c206還有閃速存儲(chǔ)器)。dsp應(yīng)用系統(tǒng)可用片內(nèi)的saram、daram、rom或片外擴(kuò)展的rom來存儲(chǔ)用戶指令代碼,由于daram僅有256個(gè)字的容量,因此在一般情況下它被設(shè)置為數(shù)據(jù)ram。參考文獻(xiàn)[3]表明:(1)在相同的條件下執(zhí)行一段測(cè)試代碼,程序在片內(nèi)的rom運(yùn)行要比在saram中運(yùn)行節(jié)省10%的能量。這是因?yàn)椋簊aram不能存儲(chǔ)用戶代碼(斷電后程序丟失),它只能將程序從rom中加載后運(yùn)行。在將代碼用blpd(從程序存儲(chǔ)器到數(shù)據(jù)存儲(chǔ)器的塊移動(dòng))、tblr(表讀)和rpt(重復(fù)下一條指令)等指令從程序區(qū)傳送到數(shù)據(jù)區(qū)的過程中要消耗部分能量,而在片內(nèi)的rom中運(yùn)行則可節(jié)省這部分能量。(2)執(zhí)行存放在片內(nèi)存儲(chǔ)器的用戶代碼所耗能量要比執(zhí)行存放在片外的存儲(chǔ)器低。其原因是程序在片內(nèi)rom中運(yùn)行可省去驅(qū)動(dòng)外部程序存儲(chǔ)器接口電路所需要的電流。

5.正確處理外圍電路

外圍電路包括輸入和輸出兩部分。從輸出部分來看,外部電路的驅(qū)動(dòng)要消耗一部分能量,除在dsp系統(tǒng)中使用的邏輯電路采用cmos器件外,應(yīng)盡可能地選用低功耗的外圍器件,例如系統(tǒng)的顯示部分應(yīng)選用lcd(液晶顯示器)等。當(dāng)外部接口中邏輯電路所用的門電路較多時(shí),應(yīng)使用單片的pal或asic來完成。從輸入部分來看,dsp芯片中未使用的輸入引腳應(yīng)接地或接電源電壓,若將這些引腳懸空,在引腳上很容易積累電荷,產(chǎn)生較大的感應(yīng)電動(dòng)勢(shì),使輸入引腳電位處于0與1間的過渡區(qū)域。這時(shí)反相器上、下兩個(gè)場(chǎng)效應(yīng)管都會(huì)導(dǎo)通,使系統(tǒng)功耗大大增加。

結(jié)語

影響dsp應(yīng)用系統(tǒng)功耗的因素除前面所提及的以外,還有很多因素:比如dsp應(yīng)用系統(tǒng)所處環(huán)境的溫度等。具體到任何一個(gè)實(shí)際的應(yīng)用系統(tǒng),在達(dá)到設(shè)計(jì)指標(biāo)的前提下應(yīng)對(duì)硬件、軟件在多方面進(jìn)行優(yōu)化,盡可能地降低系統(tǒng)功耗。



關(guān)鍵詞:

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉