基于ADSP-Ts101的數(shù)字信號(hào)處理機(jī)實(shí)現(xiàn)
本文討論的是由高速DSP芯片ADSP—TS101構(gòu)成的數(shù)字式雷達(dá)信號(hào)處理器。ADSP—TS101數(shù)字信號(hào)處理器作為雷達(dá)信號(hào)處理器的核心,主要完成以下功能:一是采用快速傅里葉變換(FFT)算法來實(shí)現(xiàn)窄帶多譜勒濾波器組;二是對(duì)被檢測(cè)信號(hào)進(jìn)行恒虛警處理。本系統(tǒng)在設(shè)計(jì)時(shí)比較好地發(fā)揮了高速DSP芯片ADSP-TS101的良好性能;合理地解決了高速數(shù)據(jù)率的問題;充分地利用了芯片內(nèi)部資源;降低了系統(tǒng)設(shè)備的復(fù)雜性,又保證了系統(tǒng)性能。
1 系統(tǒng)組成及工作原理
該系統(tǒng)選用ADSP—TS101數(shù)字信號(hào)處理器作為雷達(dá)信號(hào)處理器系統(tǒng)的中央處理器。處理器主頻為250 MHz,該處理器內(nèi)部采用了多條分開的總線,使用多級(jí)流水線方式工作,因此具有很高的數(shù)據(jù)吞吐率和很高的執(zhí)行速度。由于FFT變換要用到大量的乘法運(yùn)算,而該DSP芯片可以在單指令周期內(nèi)完成一條乘法指令。加上該DSP芯片的指令系統(tǒng)中有專用的位翻轉(zhuǎn)尋址指令,這項(xiàng)操作在FFT處理中是必須的,所以非常適合于做FFT處理。同時(shí),采用浮點(diǎn)運(yùn)算可以不必?fù)?dān)心運(yùn)算溢出的問題,具有較高的運(yùn)算精度。由ADSP—TS101數(shù)字信號(hào)處理器為核心構(gòu)成的雷達(dá)信號(hào)處理器的基本組成框圖如圖1所示。
對(duì)從前級(jí)送過來的每個(gè)周期的回波數(shù)據(jù)都存入下面的矩陣的第一行,再把下一個(gè)周期回波數(shù)據(jù)存入矩陣的第二行。N個(gè)周期之后,便形成了一個(gè)N行、M列的矩陣:
FFT處理則對(duì)每一列的數(shù)據(jù)做FFT變換來實(shí)現(xiàn)相參積累處理,得到每一個(gè)距離單元回波信號(hào)的多普勒信息。如果第m個(gè)距離單元有目標(biāo)出現(xiàn),則第m列的N個(gè)數(shù)據(jù)經(jīng)FFT處理后將產(chǎn)生與目標(biāo)速度v相應(yīng)的數(shù)據(jù)輸出。這樣我們就檢測(cè)到運(yùn)動(dòng)目標(biāo)的信息。
在前后級(jí)之間傳輸數(shù)據(jù)時(shí),利用鏈路口來進(jìn)行數(shù)據(jù)傳輸。ADSP-TS101一共有4個(gè)8位的鏈路口。ADSP-TS101的鏈路口可以達(dá)到很高的數(shù)據(jù)傳輸速率,適于進(jìn)行高速數(shù)據(jù)傳輸,而且電路結(jié)構(gòu)比較簡單。在內(nèi)部數(shù)據(jù)存儲(chǔ)方式上,采用乒乓存儲(chǔ)結(jié)構(gòu)。在某一幀中,若A存儲(chǔ)區(qū)用于存儲(chǔ)前級(jí)電路傳輸過來的數(shù)據(jù),則B存儲(chǔ)區(qū)中的數(shù)據(jù)供DSP進(jìn)行處理,在下一幀則反過來。程序固化在FLASH存儲(chǔ)器中,復(fù)位后自動(dòng)加載到DSP的程序存儲(chǔ)區(qū)中。而被處理的數(shù)據(jù)全部存放在DSP的數(shù)據(jù)存儲(chǔ)區(qū)中。這種分開的存儲(chǔ)結(jié)構(gòu)加上DSP內(nèi)部的多總線結(jié)構(gòu)使得讀取指令和訪問數(shù)據(jù)可以同時(shí)進(jìn)行,提高了運(yùn)行效率。
本系統(tǒng)設(shè)計(jì)時(shí)利用DSP內(nèi)部的DMA(直接內(nèi)存訪問)功能。DMA(直接內(nèi)存訪問)功能可以在不需要內(nèi)核干預(yù)的情況下在2塊存儲(chǔ)器之間傳輸數(shù)據(jù)。DMA控制器有自己的源地址和目的地址產(chǎn)生器。利用DSP內(nèi)部的2塊內(nèi)部數(shù)據(jù)存儲(chǔ)區(qū)和多總線結(jié)構(gòu),在內(nèi)核對(duì)一塊內(nèi)部RAM中的數(shù)據(jù)進(jìn)行處理時(shí),利用DMA在另一塊內(nèi)部RAM和外部存儲(chǔ)器之間交換數(shù)據(jù)。
2 基本工作流程
本系統(tǒng)在主處理程序中進(jìn)行FFT積累處理,在主存儲(chǔ)器的輸入數(shù)據(jù)緩沖區(qū)中存儲(chǔ)完一個(gè)相參處理周期的數(shù)據(jù)后開始對(duì)其進(jìn)行FFT處理。在主處理程序進(jìn)行FFT處理的過程中,DSP響應(yīng)定時(shí)中斷,在主存儲(chǔ)器的另一塊輸入數(shù)據(jù)緩沖區(qū)中存儲(chǔ)下一個(gè)相參處理周期的數(shù)據(jù)。在主處理程序完成一個(gè)處理周期后返回時(shí)切換這兩塊緩沖區(qū),處理其中一塊緩沖區(qū)中的數(shù)據(jù),而在另一塊緩沖區(qū)中準(zhǔn)備數(shù)據(jù)。在ADSP-TS101芯片的內(nèi)部有兩塊大小為64 k個(gè)32位字的RAM塊,由于CPU訪問內(nèi)部RAM的速度比訪問外部RAM的速度快,而且在做FFT運(yùn)算的過程中要多次訪問同一組數(shù)據(jù)。為了提高處理效率,最好是把數(shù)據(jù)成批地讀入到內(nèi)部RAM中進(jìn)行處理,處理完后再成批地送出去。
全部距離單元的數(shù)據(jù)處理完后,主處理程序讀取控制字進(jìn)行判斷,看是否要做恒虛警率(CFAR)處理,如果不做則跳過這一段程序,如果做則進(jìn)入恒虛警(CFAR)處理部分。恒虛警率(CFAR)處理方法采用左右距離單元平均選大恒虛警電路,采用軟件實(shí)現(xiàn)。通過計(jì)算被檢測(cè)單元兩側(cè)的平均雜波電平,選取其中的較大者作為檢測(cè)門限,當(dāng)被檢測(cè)單元的信號(hào)超過檢測(cè)門限時(shí),將被檢測(cè)單元的數(shù)據(jù)輸出,當(dāng)被檢測(cè)單元的信號(hào)小于檢測(cè)門限時(shí),輸出數(shù)據(jù)零。處理結(jié)果存放在輸出緩沖區(qū)中。處理程序?qū)⑤敵鼍彌_區(qū)中的處理結(jié)果通過鏈路口輸出到后級(jí)電路。輸出結(jié)果后主程序返回。
由于整個(gè)處理系統(tǒng)的工作過程比較復(fù)雜,因此,軟件的設(shè)計(jì)與調(diào)試是很重要的。在處理器的工作過程中,包含了按照系統(tǒng)定時(shí)信號(hào)同步地與前后級(jí)之間傳輸數(shù)據(jù),以總線并行的方式同時(shí)從外部存儲(chǔ)器向DSP內(nèi)部存儲(chǔ)器輸送待處理數(shù)據(jù)和DSP對(duì)另一塊內(nèi)部存儲(chǔ)器中已存好的數(shù)據(jù)進(jìn)行運(yùn)算處理,對(duì)工作方式控制字的響應(yīng)與工作方式的切換等操作。這就要求在軟件結(jié)構(gòu)上進(jìn)行合理的設(shè)計(jì)與配置,并注意發(fā)揮DSP指令功能強(qiáng)和操作靈活的優(yōu)點(diǎn)。充分利用處理器的內(nèi)部資源。圖2是經(jīng)簡化的處理程序流程圖。
3 結(jié)語
數(shù)字信號(hào)處理相對(duì)于模擬信號(hào)處理有很大的優(yōu)越性,表現(xiàn)在精度高、靈活性大、可靠性好,采用具有很強(qiáng)編程能力的通用DSP實(shí)現(xiàn)數(shù)字信號(hào)處理正得到越來越廣泛的應(yīng)用。
評(píng)論