DSP應(yīng)用系統(tǒng)的低功耗探討
前言
本文引用地址:http://m.butianyuan.cn/article/20921.htm隨著電池供電系統(tǒng)的應(yīng)用日趨廣泛,許多應(yīng)用系統(tǒng)都涉及低功耗設(shè)計的問題。數(shù)字信號處理器由于具有強大的數(shù)據(jù)處理能力,在諸如便攜式儀器儀表等方面得到了廣泛的應(yīng)用,以dsp為核心的應(yīng)用系統(tǒng)中也存在著低功耗設(shè)計的問題。有多種辦法可以降低功耗,比如常用cmos器件代替nmos器件或雙極器件等,這已經(jīng)在許多場合得到應(yīng)用。本文就tms320系列定點dsp,介紹一些降低功耗的方法。
dsp應(yīng)用系統(tǒng)低功耗設(shè)計的具體措施
1.dsp器件的選擇
應(yīng)根據(jù)系統(tǒng)要求來選擇合適的dsp器件。在典型的dsp應(yīng)用系統(tǒng)中,通常其核心是由一片或多片dsp構(gòu)成數(shù)據(jù)處理模塊,由于系統(tǒng)運算量大且速度要求高,因此dsp內(nèi)部的部件開關(guān)狀態(tài)轉(zhuǎn)換十分頻繁,這使得dsp器件的功耗在應(yīng)用系統(tǒng)的功耗中占有相當?shù)谋壤?。從某種意義上來說,選擇什么樣的dsp決定了系統(tǒng)功耗處于什么樣的層次,所以設(shè)計人員在進行電路低功耗設(shè)計時要熟悉dsp及其相關(guān)產(chǎn)品的動態(tài)。dsp器件的功耗與該系統(tǒng)的電源電壓有關(guān),同一系列的產(chǎn)品,其供電電壓可能不同,如tms320c2xx系列中供電電壓就有5v和3.3v兩種,在系統(tǒng)功耗是系統(tǒng)設(shè)計首要考慮的情況下,應(yīng)盡可能地選擇低電壓供電的dsp器件。選擇3.3v低電壓供電的dsp除了能減小dsp本身的功耗以降低系統(tǒng)的總功耗外,還可以使外部邏輯電路功耗降低,這對實現(xiàn)系統(tǒng)低功耗有著重要的作用。值得注意的是:dsp生產(chǎn)廠家也比較注重系統(tǒng)功耗的問題,德州儀器公司(ti)為實現(xiàn)低功耗應(yīng)用系統(tǒng)而設(shè)計了一批新型的dsp器件,以其中的tms320c55x為例, c55x核可以在0.9v和0.05mw/mips環(huán)境下運行,傳輸速率可達800mips,其功耗相當于ti上一代芯片c54x功耗的15%左右,該芯片非常適合于電池供電系統(tǒng)的應(yīng)用。此外,ti公司還充分考慮 dsp電源供電設(shè)計的問題,為支持dsp設(shè)計tps767d3xx將兩個1-a線性穩(wěn)壓器和兩個上電復(fù)位開關(guān)封裝在一起,它不僅降低組件數(shù)量和電路板大小,使系統(tǒng)的成本降低,在系統(tǒng)低功耗設(shè)計方面也有重要的作用:tps767d3xx在全部1-a輸出范圍內(nèi)提供極快的瞬態(tài)響應(yīng)、低壓差和幾乎恒定的低靜態(tài)電流(典型值為85μa)。壓差在1a時的典型值為350mw。在設(shè)計時考慮這些問題往往能達到事半功倍的效果。
2.使dsp適速運行
tms320系列的dsp一般采用cmos工藝,cmos電路的靜態(tài)功耗極小,而cmos電路的動態(tài)功耗的大小與該電路改變邏輯狀態(tài)的頻率和速度密切相關(guān)。tms320系列應(yīng)用系統(tǒng)的功耗與工作頻率,即系統(tǒng)時鐘(clkout1)成正比。在不需要dsp的全部運算能力時,可以適當?shù)慕档蛅ms320的系統(tǒng)時鐘頻率使dsp適速運行以降低系統(tǒng)功耗。當時鐘頻率增加時,電流也相應(yīng)地增加,執(zhí)行一段用戶程序代碼的時間會縮短。例如,以1.2ma/mhz運行一段500個時鐘周期代碼,當clkout1為10mhz時,dsp執(zhí)行該段代碼用50μs,所需電流為12ma;當clkout1增加到20mhz時,所需電流增加到24ma,執(zhí)行時間縮短為25μs。tms320系列執(zhí)行一段用戶程序所耗能量與器件執(zhí)行快慢無關(guān),因為該能量僅僅取決于dsp器件內(nèi)部邏輯狀態(tài)轉(zhuǎn)換的數(shù)目。從這一點來看,似乎dsp的功耗并未降低。那為什么不讓dsp全速運行呢?可以用圖1來解釋這一問題:在圖1(a)中,dsp以全速運行代碼后進入降功耗模式(使用idle指令),而在圖1(b)中,dsp在整個運行時間段上適速運行。如前文所指出的:dsp全速運行和適速運行該段代碼所耗電能是相同的,但是,在(a)中,dsp在空閑狀態(tài)還要消耗能量,而(b)中將節(jié)省這部分的能量。因此,在實際應(yīng)用系統(tǒng)中并不需要dsp的最高mips運算能力時,適當降低系統(tǒng)的時鐘頻率能有效地降低系統(tǒng)功耗。
3.在軟件設(shè)計中降低功耗
cpu內(nèi)部執(zhí)行不同的指令時所消耗的電流是不同的,在軟件編程時如果能充分考慮到這一因素可以降低系統(tǒng)功耗。圖2和表1給出了tms320c5x的一些指令的功耗特性。
tms320c5x有幾種降功耗模式,這些降功耗模式中最常用的是使用idle和idle2指令。idle指令將cpu內(nèi)部操作掛起(suspend activity),但是仍保留內(nèi)部各部件邏輯的時鐘,允許串口等片內(nèi)外設(shè)繼續(xù)工作。在20mhz的系統(tǒng)時鐘時,執(zhí)行idle指令所需電流的典型值為10ma。在相同的系統(tǒng)時鐘下,執(zhí)行idle2指令只需要3ma的電流;若關(guān)閉內(nèi)部部件的輸入時鐘時執(zhí)行idle2指令,這時電流值不超過5μa ,cpu所消耗的電能將大大降低。
從表1中可看到:對諸如nop(空操作)這類簡單的指令而言,使用rtp(重復(fù)指令)將節(jié)省約12ma的電流;但是對macd(相乘、累加及數(shù)據(jù)塊移動指令)這類cpu操作較復(fù)雜而且所需電流較大的指令來說,使用重復(fù)指令反而會增加大約14ma的電流,達到90ma。注意到這個電流值是在數(shù)據(jù)完全并行處理時得到的,在這里數(shù)據(jù)并行是指macd指令的操作數(shù)存放在不同的數(shù)據(jù)存儲塊,對它們進行操作時,兩個數(shù)據(jù)塊中的數(shù)據(jù)將被同時選中。因此,為減低系統(tǒng)功耗,在軟件設(shè)計時應(yīng)盡可能地將所要操作的數(shù)據(jù)存儲在同一個數(shù)據(jù)塊中,比如tms320c209可將macd的操作數(shù)同存儲在其片內(nèi)4k字的saram中。
4.存儲器類型對功耗的影響
前文已經(jīng)提到,在dsp器件按某一算法對數(shù)據(jù)進行處理時,dsp片內(nèi)的cpu將消耗大部分的能量。但是,數(shù)據(jù)處理所在的存儲環(huán)境也就是存儲器的類型對系統(tǒng)功耗有著較大的影響。以tms320c2xx為例,在片的存儲器有單訪問ram(saram),雙訪問ram(daram)和rom三種(tms320c206還有閃速存儲器)。dsp應(yīng)用系統(tǒng)可用片內(nèi)的saram、daram、rom或片外擴展的rom來存儲用戶指令代碼,由于daram僅有256個字的容量,因此在一般情況下它被設(shè)置為數(shù)據(jù)ram。參考文獻[3]表明:(1)在相同的條件下執(zhí)行一段測試代碼,程序在片內(nèi)的rom運行要比在saram中運行節(jié)省10%的能量。這是因為:saram不能存儲用戶代碼(斷電后程序丟失),它只能將程序從rom中加載后運行。在將代碼用blpd(從程序存儲器到數(shù)據(jù)存儲器的塊移動)、tblr(表讀)和rpt(重復(fù)下一條指令)等指令從程序區(qū)傳送到數(shù)據(jù)區(qū)的過程中要消耗部分能量,而在片內(nèi)的rom中運行則可節(jié)省這部分能量。(2)執(zhí)行存放在片內(nèi)存儲器的用戶代碼所耗能量要比執(zhí)行存放在片外的存儲器低。其原因是程序在片內(nèi)rom中運行可省去驅(qū)動外部程序存儲器接口電路所需要的電流。
5.正確處理外圍電路
外圍電路包括輸入和輸出兩部分。從輸出部分來看,外部電路的驅(qū)動要消耗一部分能量,除在dsp系統(tǒng)中使用的邏輯電路采用cmos器件外,應(yīng)盡可能地選用低功耗的外圍器件,例如系統(tǒng)的顯示部分應(yīng)選用lcd(液晶顯示器)等。當外部接口中邏輯電路所用的門電路較多時,應(yīng)使用單片的pal或asic來完成。從輸入部分來看,dsp芯片中未使用的輸入引腳應(yīng)接地或接電源電壓,若將這些引腳懸空,在引腳上很容易積累電荷,產(chǎn)生較大的感應(yīng)電動勢,使輸入引腳電位處于0與1間的過渡區(qū)域。這時反相器上、下兩個場效應(yīng)管都會導(dǎo)通,使系統(tǒng)功耗大大增加。
結(jié)語
影響dsp應(yīng)用系統(tǒng)功耗的因素除前面所提及的以外,還有很多因素:比如dsp應(yīng)用系統(tǒng)所處環(huán)境的溫度等。具體到任何一個實際的應(yīng)用系統(tǒng),在達到設(shè)計指標的前提下應(yīng)對硬件、軟件在多方面進行優(yōu)化,盡可能地降低系統(tǒng)功耗。
評論