基于FPGA的數(shù)字脈沖壓縮系統(tǒng)實(shí)現(xiàn)
采樣數(shù)據(jù)首先存入FIFO中進(jìn)行全局緩存,然后FFT單元從FIFO中讀取采樣數(shù)據(jù),緊接著進(jìn)行FFT運(yùn)算,結(jié)果在流水輸出時(shí)直接與匹配濾波器系數(shù)相乘,并將運(yùn)算結(jié)果寫入塊RAMl中,最后IFFT單元從塊RAMl中讀取復(fù)乘后的數(shù)據(jù)進(jìn)行IFFT(復(fù)用FFT運(yùn)算IP核)運(yùn)算,結(jié)果寫入塊RAMl后發(fā)送中斷信號(hào),等待DSP讀取。
2.2.1 FFT處理單元的硬件復(fù)用
在系統(tǒng)中FFT處理單元通過使用軟核Fast Fourier Transform v3.O來實(shí)現(xiàn)的。該IP核提供3種結(jié)構(gòu)選擇。
(1)管線級(jí),數(shù)據(jù)流水I/0。這種結(jié)構(gòu)將若干基-2蝶形單元級(jí)聯(lián)起來,使得數(shù)據(jù)的輸入、計(jì)算、輸出可以流水進(jìn)行,從而可以達(dá)到很高的處理速度,但資源消耗較大;
(2)基-2,最少資源消耗。這種結(jié)構(gòu)采用單個(gè)基-2蝶形單元對(duì)輸入數(shù)據(jù)進(jìn)行變換,運(yùn)算消耗的時(shí)間較長;
(3)基-4,突發(fā)I/O;這種結(jié)構(gòu)采用單個(gè)基-4蝶形單元對(duì)輸入數(shù)據(jù)進(jìn)行變換,并利用塊RAM來存儲(chǔ)旋轉(zhuǎn)因子,占用系統(tǒng)資源較少,在1個(gè)PRT內(nèi)可以完成脈壓結(jié)果的輸出,從而在資源和速度這兩者之間達(dá)到很好的平衡,也是設(shè)計(jì)中實(shí)際采用的結(jié)構(gòu)。
FFT處理單元主要包括2個(gè)過程:數(shù)據(jù)I/O和運(yùn)算過程,但兩者不是流水執(zhí)行的。FFT啟動(dòng)信號(hào)有效后,數(shù)據(jù)開始進(jìn)行裝載,裝載完成后開始進(jìn)行FFT運(yùn)算;等待運(yùn)算結(jié)束后,結(jié)果才可以輸出。在運(yùn)算過程中,不發(fā)生數(shù)據(jù)的裝載或輸出。
在數(shù)字設(shè)計(jì)中,F(xiàn)FT和IFFT處理單元時(shí)可以采用相同的結(jié)構(gòu)來實(shí)現(xiàn)的。具體的方法是:在做IFFT運(yùn)算前,先交換輸入數(shù)據(jù)的實(shí)部和虛部,然后送入FFT處理單元按照FFT的結(jié)構(gòu)進(jìn)行運(yùn)算,并交換FFT運(yùn)算結(jié)果的實(shí)部和虛部,最后除以運(yùn)算點(diǎn)數(shù)N,就可以得到IFFT的運(yùn)算結(jié)果。
該IP核基于上面的方法同時(shí)具有進(jìn)行IFFT運(yùn)算的功能,通過實(shí)時(shí)配置端口FWD INV上的電平可以實(shí)現(xiàn)復(fù)用,分別完成FFT和IFFT運(yùn)算。在FPGA設(shè)計(jì)中,利用結(jié)構(gòu)復(fù)用減少邏輯單元塊,不僅可以節(jié)約系統(tǒng)資源,而且能夠減少結(jié)構(gòu)間的硬連線及傳輸線時(shí)延,有利于提高系統(tǒng)的工作頻率。
2.2.2 脈沖壓縮模塊的時(shí)序設(shè)計(jì)
由于FFT和IFFT的邏輯運(yùn)算功能已經(jīng)在IP核中實(shí)現(xiàn),因此時(shí)序設(shè)計(jì)便顯得尤為重要。在FFT(或IFFT)運(yùn)算單元中,主要的狀態(tài)與時(shí)序控制信號(hào)及其功能描述如表1所示。
在采樣距離門有效期間,將樣本數(shù)據(jù)寫入FIFO中進(jìn)行緩存。采樣結(jié)束后,通過FFT單元的寫使能信號(hào)(NFFT_WE和FWD_INV_WE)將NFFT=010 10及FWD_INV_WE=1寫入狀態(tài)控制寄存器設(shè)定工作模式,接著啟動(dòng)START信號(hào)進(jìn)行FFT運(yùn)算,寫使能信號(hào)與sTART之間僅差1個(gè)時(shí)鐘周期。運(yùn)算結(jié)束后,DONE信號(hào)有效1個(gè)時(shí)鐘周期,輸出使能信號(hào)UNLOAD與DONE同步,經(jīng)過7個(gè)時(shí)鐘周期后數(shù)據(jù)有效信號(hào)DV開始有效,F(xiàn)FT運(yùn)算結(jié)果開始流水輸出,同時(shí)與匹配濾波器的系數(shù)相乘,并存入RAM中。由于乘法運(yùn)算的固有延遲,寫使能RAM_EN延遲DV信號(hào)2個(gè)時(shí)鐘周期。存儲(chǔ)結(jié)束時(shí),IFFT單元的寫使能信號(hào)同時(shí)有效,并設(shè)定NFFT=01010及FWD_INV_WE=0,接著啟動(dòng)START信號(hào)進(jìn)行IFFT運(yùn)算。運(yùn)算結(jié)束后,DONE信號(hào)(與UNLOAD同步)再次有效,IFFT運(yùn)算輸出結(jié)果在DV信號(hào)有效期間直接寫入RAM中。單個(gè)PRT內(nèi)各控制信號(hào)的具體時(shí)序說明如圖4所示。
評(píng)論