異步FIFO和PLL在高速雷達(dá)數(shù)據(jù)采集系統(tǒng)中的應(yīng)用
隨著雷達(dá)系統(tǒng)中數(shù)字處理技術(shù)的飛速發(fā)展,需要對雷達(dá)回波信號進(jìn)行高速數(shù)據(jù)采集。在嵌入式條件下,要求獲取數(shù)據(jù)的速度越來越快。精度越來越高,以致數(shù)據(jù)量及處理速度要求大增。為避免數(shù)據(jù)處理不及時,發(fā)生數(shù)據(jù)丟失,影響系統(tǒng)可靠性,要進(jìn)一步提高系統(tǒng)實時性,必須研究開發(fā)高速嵌入式雷達(dá)信號采集系統(tǒng)。這里結(jié)合高速嵌入式數(shù)據(jù)采集系統(tǒng),提出一種基于CvcloneⅢFPGA實現(xiàn)的異步FIFO和鎖相環(huán)(PLL)結(jié)構(gòu)來實現(xiàn)高速緩存,該結(jié)構(gòu)可成倍提高數(shù)據(jù)流通速率,增加數(shù)據(jù)采集系統(tǒng)的實時性。采用FPGA設(shè)計高速緩存,能針對外部硬件系統(tǒng)的改變,通過修改片內(nèi)程序以應(yīng)用于不同的硬件環(huán)境。由于FPGA可重配置,可通過對其編程修改其電路功能,方便后續(xù)的系統(tǒng)升級。
2 高速雷達(dá)數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)
圖1為高速雷達(dá)數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)框。
通過下變頻將接收的射頻信號變換為適合A/D采樣的中頻信號。再經(jīng)A/D轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字信號,然后FPGA中異步FIFO構(gòu)成的高速緩存將中頻采樣數(shù)據(jù)變換為與存儲器寫時間相匹配的低速數(shù)據(jù)并存儲到RAM中。DSP及其他數(shù)據(jù)處理器通過與RAM或FIFO間進(jìn)行數(shù)據(jù)傳遞,分析處理雷達(dá)回波信號,就可獲取信號的特征和特征參數(shù)。如果DSP不通過緩存而直接與A/D相連,在采樣過程中,若A/D連續(xù)采樣數(shù)據(jù),DSP一直處于連續(xù)的間隔讀數(shù)狀態(tài),這將占用DSP大部分處理時間,導(dǎo)致DSP不能進(jìn)行其他工作。也可能出現(xiàn)上一次的數(shù)據(jù)還沒被DSP處理完,下一次采集過程就開始的情況。如果選取更高速的A/D轉(zhuǎn)換器,甚至?xí)l(fā)生數(shù)據(jù)丟失,破壞系統(tǒng)的可靠性。同時由于DSP不直接與A/D轉(zhuǎn)換器相連,所以A/D轉(zhuǎn)換器的升級或替代都不會影響原來的數(shù)據(jù)采集系統(tǒng),且使用高速緩存后數(shù)據(jù)采集速率可達(dá)所采用的A/D轉(zhuǎn)換器輸出的最高速率,能充分發(fā)揮DSP算法處理功能強大、速度高的優(yōu)勢。而采用CycloneⅢFPGA設(shè)計高速緩存,設(shè)計靈活、通用性強。整個系統(tǒng)具有實時性高、體積小、開發(fā)周期短、易于維護(hù)和擴展、適于實時信號處理等多個優(yōu)點。高速雷達(dá)數(shù)據(jù)采集系統(tǒng)的設(shè)計主要包括高速A/D轉(zhuǎn)換電路、讀寫控制邏輯電路、由雙時鐘FIFO構(gòu)成的高速緩存電路、鎖相環(huán)、外部有源品振等,盡量選用高速器件以提高數(shù)據(jù)采集系統(tǒng)的瞬時帶寬和存儲深度。
高速A/D轉(zhuǎn)換器采用MAX101A,其最高采樣速率可達(dá)到500 Ms/s,采樣精度為8 bit,該器件屬于直接轉(zhuǎn)換式模數(shù)轉(zhuǎn)換器即Flash A/D轉(zhuǎn)換器,其特點是速度快,內(nèi)置1.2 GHz帶寬的采樣保持放大器,特有的量化設(shè)計使其具有較好的動態(tài)特性。如果采集系統(tǒng)需更高的采樣速率,可使用多片A/D交替采樣。FPGA采用EP3C120,EP3C120利用65 nm低功耗工藝,不但實現(xiàn)低功耗,還具有豐富的邏輯(120 KB邏輯單元)、存儲器(高達(dá)4 Mbit),及數(shù)字信號處理資源(288個DSP乘法器)。EP3C120的低功耗特性和其大容量的存儲器使其非常適合嵌入式高速雷達(dá)數(shù)據(jù)采集系統(tǒng)設(shè)計。采用異步FIFO構(gòu)成的高速緩存即是使用FPGA巾高達(dá)4 Mbit容量的存儲器。由于該器件具有乘法器,可輔助DSP器件完成一些計算密集型的算法。
由于一般采用品振作為時鐘源,通過上下變頻得到各個單元需要的時鐘,但這又提高了系統(tǒng)的復(fù)雜度。這里采用CycloneⅢ系列FPGA可方便地解決此問題.EP3C120內(nèi)部集成有4個PLL單元,各個PLL可為不同模塊提供不同的時鐘,只需為系統(tǒng)提供一個高穩(wěn)定的晶振,通過PLL單元進(jìn)行時鐘上下變頻即可。
3 基于FPGA實現(xiàn)異步FIFO設(shè)計
異步FIFO是在兩個相互獨立的時鐘域下,數(shù)據(jù)在一個時鐘域?qū)懭隖IFO而在另一個時鐘域又從該FIFO中將數(shù)據(jù)讀出。異步FIFO通常被用來將數(shù)據(jù)從一個時鐘域安全地傳送到另一個時鐘域。FIFO可作為A/D轉(zhuǎn)換器件和DSP間的橋梁。使用FIFO作為輸入緩沖,由A/D轉(zhuǎn)換器件把采樣轉(zhuǎn)換的值同步寫入FIFO,每寫入一塊數(shù)據(jù)便向DSP發(fā)出一個信號,以提醒DSP從FIFO中讀取數(shù)據(jù)塊。這樣比單次讀的效率要高的多,不會有數(shù)據(jù)丟失,且僅占用少量的系統(tǒng)資源。設(shè)計一個異步FIFO,讀寫使能由不同的時鐘激勵控制輸入和輸出數(shù)據(jù),空/滿標(biāo)志既用來防止數(shù)據(jù)的上溢和下溢,也作為寫入/讀出控制邏輯的輸入信號,用來控制A/D數(shù)據(jù)采樣過程和對DSP數(shù)據(jù)的傳輸。當(dāng)FIFO輸出滿標(biāo)志時,寫入控制邏輯停止A/D采樣,等待滿標(biāo)志無效時恢復(fù)數(shù)據(jù)采樣。從而防止數(shù)據(jù)丟失。當(dāng)FIFO輸出空標(biāo)志時,讀出控制邏輯停止DSP的數(shù)據(jù)讀取,等待空標(biāo)志無效時恢復(fù)數(shù)據(jù)讀取。圖1中FPGA內(nèi)的寫入/讀出控制邏輯使用有限狀態(tài)機設(shè)計,有限狀態(tài)機能有效的進(jìn)行讀寫時序控制,根據(jù)A/D和處理器的時序控制原理畫出狀態(tài)轉(zhuǎn)移圖,進(jìn)行編程設(shè)定。
FIFO的參數(shù)指標(biāo)直接影響數(shù)據(jù)采集速度。首先,F(xiàn)IFO的讀寫速度要足夠快,其工作頻率至少要大于等于A/D轉(zhuǎn)換器件的采樣率,才能充分發(fā)揮A/D轉(zhuǎn)換器件的高采樣率并保證無數(shù)據(jù)丟失。其次,F(xiàn)IFO的存儲容量要適宜,容量過大會造成資源浪費,容量過小會造成溢出或數(shù)據(jù)采集速度過慢。系統(tǒng)FIFO采用EP3C120實現(xiàn)。由FPGA實現(xiàn)異步FIFO時,可方便的根據(jù)A/D轉(zhuǎn)換器的采樣精度和DSP數(shù)據(jù)寬度設(shè)計FIFO的輸人數(shù)據(jù)寬度和輸出數(shù)據(jù)寬度,且采用PLL設(shè)計后,可方便的調(diào)整FIFO寫入端和讀出端的時鐘頻率,使FIFO設(shè)計的高速緩存具有一定的通用性。異步FIFO是在QuartusⅡ開發(fā)環(huán)境下利用其IP核設(shè)計的,該設(shè)計的異步FIFO可支持高達(dá)256位的數(shù)據(jù)寬度;支持存儲的最大深度可達(dá)131 072words,同時支持空滿標(biāo)志位。表1給出系統(tǒng)在不同存儲深度時消耗FPGA片內(nèi)資源的情況。可見,針對不同的數(shù)據(jù)采集需求,可利用Ahera公司提供的參數(shù)化的IP核方便的選擇FIFO的數(shù)據(jù)位寬度及存儲深度,避免資源浪費。
評論