DSP芯片選擇方法
一般而言,定點(diǎn)DSP芯片的價(jià)格較便宜,功耗較低,但運(yùn)算精度稍低。而浮點(diǎn)DSP芯片的優(yōu)點(diǎn)是運(yùn)算精度高,且C語言編程調(diào)試方便,但價(jià)格稍貴,功耗也較大。例如TI的TMS320C2XX/C54X系列屬于定點(diǎn)DSP芯片,低功耗和低成本是其主要的特點(diǎn)。而TMS320C3X/C4X/C67X屬于浮點(diǎn)DSP芯片,運(yùn)算精度高,用C語言編程方便,開發(fā)周期短,但同時其價(jià)格和功耗也相對較高。
DSP應(yīng)用系統(tǒng)的運(yùn)算量是確定選用處理能力為多大的DSP芯片的基礎(chǔ)。運(yùn)算量小則可以選用處理能力不是很強(qiáng)的DSP芯片,從而可以降低系統(tǒng)成本。相反,運(yùn)算量大的DSP系統(tǒng)則必須選用處理能力強(qiáng)的DSP芯片,如果DSP芯片的處理能力達(dá)不到系統(tǒng)要求,則必須用多個DSP芯片并行處理。那么如何確定DSP系統(tǒng)的運(yùn)算量以選擇DSP芯片呢?下面我們來考慮兩種情況。
1.按樣點(diǎn)處理
所謂按樣點(diǎn)處理就是DSP算法對每一個輸入樣點(diǎn)循環(huán)一次。數(shù)字濾波就是這種情況。在數(shù)字濾波器中,通常需要對每一個輸入樣點(diǎn)計(jì)算一次。例如,一個采用LMS算法的256 抽頭的自適應(yīng)FIR濾波器,假定每個抽頭的計(jì)算需要3個MAC周期,則256抽頭計(jì)算需要256×3=768個MAC周期。如果采樣頻率為8kHz,即樣點(diǎn)之間的間隔為125ms,DSP芯片的MAC周期為200ns,則768個MAC周期需要153.6ms的時間,顯然無法實(shí)時處理,需要選用速度更高的DSP芯片。表1.3示出了兩種信號帶寬對三種 DSP 芯片的處理要求,三種DSP芯片的MAC周期分別為200ns、50ns和25ns。從表中可以看出,對話帶的應(yīng)用,后兩種DSP芯片可以實(shí)時實(shí)現(xiàn),對聲頻應(yīng)用,只有第三種DSP芯片能夠?qū)崟r處理。當(dāng)然,在這個例子中,沒有考慮其他的運(yùn)算量。
表1.3 用DSP
2.按幀處理
有些數(shù)字信號處理算法不是每個輸入樣點(diǎn)循環(huán)一次,而是每隔一定的時間間隔(通常稱為幀)循環(huán)一次。例如,中低速語音編碼算法通常以10ms或20ms為一幀,每隔10ms或20ms語音編碼算法循環(huán)一次。所以,選擇DSP芯片時應(yīng)該比較一幀內(nèi)DSP芯片的處理能力和DSP算法的運(yùn)算量。假設(shè)DSP芯片的指令周期為 p(ns),一幀的時間為Dt (ns),則該DSP芯片在一幀內(nèi)所能提供的最大運(yùn)算量為 Dt/p條指令。例如TMS320LC549-80的指令周期為12.5ns,設(shè)幀長為20ms,則一幀內(nèi)TMS320LC549-80所能提供的最大運(yùn)算量為160萬條指令。因此,只要語音編碼算法的運(yùn)算量不超過160萬條指令,就可以在TMS320LC549-80上實(shí)時運(yùn)行。