TigerSHARC DSP在信號(hào)處理系統(tǒng)中的應(yīng)用
關(guān)鍵詞:TigerSHARC DSP;運(yùn)算量;復(fù)位;功耗
隨著人們對(duì)實(shí)時(shí)信號(hào)處理要求的不斷提高和大規(guī)模集成電路的迅速發(fā)展,作為數(shù)字信號(hào)處理核心和標(biāo)志的數(shù)字信號(hào)處理器?DSP?芯片得到了快速的發(fā)展和應(yīng)用。本文將介紹Analog Device公司的一款DSP-TigerSHARC在信號(hào)處理系統(tǒng)中的應(yīng)用,并將對(duì)設(shè)計(jì)中的一些問(wèn)題進(jìn)行討論說(shuō)明。
1 系統(tǒng)設(shè)計(jì)及各部分功能簡(jiǎn)介
圖1所示是一個(gè)信號(hào)處理系統(tǒng)的硬件框圖。實(shí)際上,為了簡(jiǎn)化系統(tǒng)硬件,減少DSP片間連線,該系統(tǒng)的6個(gè)DSP以松耦合的鏈路方式進(jìn)行連接。首先由DSP1通過(guò)外部DMA方式讀入中頻解調(diào)后的I、Q路數(shù)據(jù),并由DSP1對(duì)讀入數(shù)據(jù)進(jìn)行脈沖壓縮?匹配濾波?,脈沖壓縮后進(jìn)行二次對(duì)消,以消除固定雜波。再由DSP1將處理后的數(shù)據(jù)按距離單元段通過(guò)鏈路口0、1分別發(fā)送給DSP2、DSP4。DSP2、DSP4主要進(jìn)行目標(biāo)檢測(cè)?MTD?,并采用滑窗加權(quán)FFT實(shí)現(xiàn)窄帶多譜勒濾波器組。當(dāng)DSP2、DSP4完成MTD后? 再將對(duì)應(yīng)每個(gè)距離單元的16個(gè)輸出數(shù)據(jù)通過(guò)鏈路口分別送到DSP3和DSP5。之后,由DSP3、DSP5先進(jìn)行求模運(yùn)算,再進(jìn)行恒虛警計(jì)算。DSP3、DSP5處理后的數(shù)據(jù)經(jīng)鏈路口傳輸?shù)剑模樱校?,在DSP6接到該信?hào)后,先對(duì)距離單元內(nèi)16個(gè)輸出進(jìn)行門(mén)限處理,并選擇其中最小雜波剩余值作為本單元的輸出。門(mén)限處理后,DSP6還應(yīng)完成視頻積累,視頻積累采用累加求平均的方式,這樣可以避免反饋積累的拖尾現(xiàn)象。視頻數(shù)據(jù)以DMA方式通過(guò)外部口送出,并分別加到D/A與DS96F172等輸入端,前者產(chǎn)生模擬視頻,后者以差分形式送到顯示單元。
圖1
2?。裕椋纾澹颍樱龋粒遥?DSP簡(jiǎn)介
TigerSHARC DSP是一款高性能的靜態(tài)超標(biāo)量數(shù)字信號(hào)處理器,該處理器專(zhuān)為大的信號(hào)處理和通信任務(wù)而在結(jié)構(gòu)上進(jìn)行了優(yōu)化。由于該處理器將非常寬的存儲(chǔ)帶寬和雙運(yùn)算模塊結(jié)合在一起,從而建立了數(shù)字信號(hào)處理器性能的新標(biāo)準(zhǔn)。TigerSHARC靜態(tài)超標(biāo)量結(jié)構(gòu)使DSP每周期能夠執(zhí)行多達(dá)4條指令、24個(gè)16-bit定點(diǎn)運(yùn)算和6個(gè)浮點(diǎn)運(yùn)算。
該TigerSHARC DSP器件在三條相互獨(dú)立的128bit寬度的內(nèi)部數(shù)據(jù)總線中,每條可連接三個(gè)2Mbit內(nèi)部存儲(chǔ)器中的一個(gè),并可提供4個(gè)字的數(shù)據(jù)、指令及I/O訪問(wèn)和12Gbytes/s的內(nèi)部存儲(chǔ)器帶寬。當(dāng)其運(yùn)行在250MHz時(shí),ADSP-TS101S的內(nèi)核指令周期為4ns,同時(shí)可以提供20億次的40bit MAC運(yùn)算或者500萬(wàn)次80bit MAC運(yùn)算。
TigerSHARC DSP器件的主要性能如下:
●最高運(yùn)行速度為250MHz,指令周期為4ns;
●帶有6Mbits片內(nèi)SRAM;
●帶有雙運(yùn)算模塊?每個(gè)內(nèi)部包含有一個(gè)ALU、一個(gè)乘法器、一個(gè)移位器和一個(gè)寄存器組;
●具有一個(gè)外部端口、4個(gè)鏈路口和可編程標(biāo)志引腳、SDRAM控制器和2個(gè)定時(shí)器;
●與用于片上仿真的IEEE1149.1標(biāo)準(zhǔn)的JTAG接口兼容;
●可通過(guò)共享總線無(wú)縫連接多達(dá)8?jìng)€(gè)Tiger-SHARC DSP的片內(nèi)總線仲裁。
3 系統(tǒng)運(yùn)算量分析及計(jì)算時(shí)間估計(jì)
根據(jù)信號(hào)處理任務(wù),下面具體分析系統(tǒng)各組成部分的運(yùn)算量,并估計(jì)所需的時(shí)間,并確定完成算法所需的DSP數(shù)目(總信號(hào)處理周期小于1000μs)。
3.1 脈沖壓縮
圖2所示是采用FFT技術(shù)實(shí)現(xiàn)脈沖壓縮濾波的算法框圖。若總距離單元數(shù)為1200,則需做2048點(diǎn)復(fù)數(shù)FFT。當(dāng)2048點(diǎn)復(fù)數(shù)FFT完成后,還必須和預(yù)先存儲(chǔ)好的匹配濾波器系數(shù)H?k?相乘。一般需要做2048?jìng)€(gè)復(fù)數(shù)乘法,相乘結(jié)果還需做2048點(diǎn)復(fù)數(shù)IFFT以獲得脈沖壓縮結(jié)果。TigerSHARC DSP做2048點(diǎn)復(fù)數(shù)FFT?IFFT?大約需要100μs?工作在250MHz?。因此,可以充分利用TigerSHARC DSP的雙運(yùn)算塊和單指令多數(shù)據(jù)?SIMD?特點(diǎn)同時(shí)進(jìn)行兩個(gè)距離單元的復(fù)數(shù)乘法,這種方法完成2048?jìng)€(gè)復(fù)數(shù)乘法僅需25μs。
固定雜波對(duì)消可以采用二次對(duì)消器來(lái)實(shí)現(xiàn),其差分方程為:
y(n)=x(n)-2x(n-1)+x(n-2)
對(duì)于每個(gè)距離單元,它都需要取三個(gè)數(shù)、做兩個(gè)減法、一個(gè)加法并存儲(chǔ)一個(gè)數(shù),這樣,完成1200個(gè)距離單元的二次對(duì)消大約需要25μs。因此,脈沖壓縮和固定雜波二次對(duì)消只需要一片DSP便可完成,而且還有較多時(shí)間富余。
3.2 動(dòng)目標(biāo)檢測(cè)(MTD)
用FFT實(shí)現(xiàn)窄帶多譜勒濾波器組時(shí),為了降低旁瓣,可在系統(tǒng)中采用滑窗加權(quán)FFT的方法,權(quán)系數(shù)為海明權(quán),即:
S(k)=FFT{S(n)W(n)}? ?。睿剑?1,2,…N-1
其中S(n)為雷達(dá)回波序列,而W(n)則可用下式表示:
W(n)=0.54-0.46cos[2πn/(N-1)]
?。睿剑?1,2,…N-1
TigerSHARC DSP做16點(diǎn)加權(quán)復(fù)數(shù)FFT大約需要80個(gè)指令周期?0.32μs?,因此,當(dāng)距離單元數(shù)為1200時(shí),共需384μs。這樣,此滑窗多譜勒濾波器組?考慮到運(yùn)算的輔助操作?僅需要兩片TigerSHARC DSP就可實(shí)現(xiàn)并行處理,且還有較多的富余時(shí)間。
3.3 求模
求??刹捎萌缦陆乒剑?/P>
一般情況下,求模須對(duì)每個(gè)距離單元的16個(gè)通道FFT輸出進(jìn)行運(yùn)算。TigerSHARC DSP做一個(gè)16通道的求模運(yùn)算需要0.5μs,距離單元數(shù)為1200時(shí),共需600μs?故可由兩片TigerSHARC DSP并行處理。
3.4 恒虛警
恒虛警算法框圖如圖3所示。
該算法可充分利用TigerSHARC DSP的雙運(yùn)算模塊,同時(shí)并行處理兩個(gè)距離單元的兩個(gè)通道,完成1200個(gè)距離單元的16個(gè)通道的恒虛警計(jì)算共需500μs,故可用DSP3和DSP4并行處理。
3.5 積累
積累可采用簡(jiǎn)單累加求平均的方式,由于其計(jì)算量較少,因此,用一片TigerSHARC DSP實(shí)現(xiàn)仍有較大時(shí)間富余。
綜上所述,由TigerSHARC DSP構(gòu)成的高速信號(hào)處理系統(tǒng)總共僅需6片DSP,即可對(duì)不同的距離單元段進(jìn)行并行處理。
4?。裕椋纾澹颍樱龋粒遥?DSP特殊的復(fù)位方式
TigerSHARC DSP的上電復(fù)位波形較為特殊,在設(shè)計(jì)時(shí)應(yīng)充分重視,建議采用CPLD實(shí)現(xiàn)其復(fù)位。上電復(fù)位波形要求如圖4所示。但應(yīng)注意以下幾點(diǎn):
(1)tSTART_LO在供電穩(wěn)定之后必須至少大于1ms?
(2)tPULSE1_HI必須大于50個(gè)系統(tǒng)時(shí)鐘周期,同時(shí)小于100個(gè)系統(tǒng)時(shí)鐘周期;
(3)tPULSE2_LO 必須大于100個(gè)系統(tǒng)時(shí)鐘周期。
(4)在DSP上電后,如需正常復(fù)位,其低電平持續(xù)時(shí)間必須大于100個(gè)系統(tǒng)時(shí)鐘周期。
本系統(tǒng)采用EP1K50產(chǎn)生上電復(fù)位波形和時(shí)序控制。由于EP1K50需要一個(gè)配置芯片,而且它和DSP存在一個(gè)上電先后的問(wèn)題。也就是說(shuō),在上電后,如果CPLD芯片完成配置文件的讀入時(shí),DSP仍未上電穩(wěn)定,則應(yīng)充分延長(zhǎng)Tstart_lo的低電平時(shí)間,以避免DSP上電未穩(wěn)定而CPLD上電波形已結(jié)束。因此,應(yīng)保證DSP上電穩(wěn)定先于CPLD芯片配置文件的讀入,此問(wèn)題在系統(tǒng)設(shè)計(jì)時(shí)應(yīng)予以充分重視,否則DSP將無(wú)法正常工作。
5 電源供電及功耗估計(jì)
TigerSHARC DSP有三個(gè)電源,其中數(shù)字3.3V為I/O供電;數(shù)字1.2V為DSP內(nèi)核供電;模擬1.2V為內(nèi)部鎖相環(huán)和倍頻電路供電。TigerSHARC DSP要求數(shù)字3.3V和1.2V應(yīng)同時(shí)上電。若無(wú)法嚴(yán)格同步,則應(yīng)保證內(nèi)核電源1.2V先上電,I/O電源3.3V后上電。本系統(tǒng)在數(shù)字3.3V輸入端并聯(lián)了一個(gè)大電容,而在數(shù)字1.2V輸入端并聯(lián)了一個(gè)小電容,其目的就是為了保證3.3V充電時(shí)間大于1.2V充電時(shí)間,以便很好地解決電源供電先后的問(wèn)題。
5.1 內(nèi)核功耗估計(jì)
內(nèi)核最大電流為1.277A,該電流是DSP進(jìn)行單指令多數(shù)據(jù)(SIMD)方式下,4個(gè)16位定點(diǎn)字乘加與兩個(gè)四字讀取并行操作以及進(jìn)行由外部口到內(nèi)部存儲(chǔ)器DMA操作所需的電流。實(shí)際上,DSP內(nèi)核電流大小還和內(nèi)核工作頻率有關(guān),圖5所示是其內(nèi)核電流與頻率的關(guān)系曲線。因此,供給DSP內(nèi)核電流可根據(jù)不同的并行處理任務(wù)和內(nèi)核工作頻率來(lái)確定。若并行處理較少,工作頻率低,所需電流就小。這樣,最大內(nèi)核功耗為:
PDD=VDDIDD=1.21.277=1.534W
5.2 外部口功耗估計(jì)
外部口的功耗(對(duì)VDD-IO)主要是輸出引腳(例如數(shù)據(jù)線的某個(gè)位由高到低,或由低到高) 轉(zhuǎn)換的功率消耗,而且該功耗與系統(tǒng)無(wú)關(guān)。由于這種轉(zhuǎn)換的外部平均電流為0.137A,因此,功耗為:
PDD_IO=0.1370A3.3V=0.45W
6 結(jié)束語(yǔ)
本文介紹了多片TigerSHARC DSP在實(shí)時(shí)信號(hào)處理系統(tǒng)中的應(yīng)用。該系統(tǒng)充分利用了TigerSHARC DSP高速的運(yùn)算能力及數(shù)據(jù)吞吐量,可對(duì)不同的距離單元段進(jìn)行并行處理。文中分析了系統(tǒng)的運(yùn)算量、所需計(jì)算時(shí)間以及完成算法所需的DSP數(shù),并且討論了DSP應(yīng)用過(guò)程中的復(fù)位,電源設(shè)計(jì)和功耗問(wèn)題,因而具有一定的工程指導(dǎo)意義。實(shí)踐表明,由TigerSHARC DSP構(gòu)成的系統(tǒng)硬件結(jié)構(gòu)簡(jiǎn)單,軟件編寫(xiě)容易,且成本較低。目前該系統(tǒng)已成功用于某雷達(dá)系統(tǒng)。
評(píng)論