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