《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于異步FIFO和PLL的雷達(dá)數(shù)據(jù)采集系統(tǒng)
基于異步FIFO和PLL的雷達(dá)數(shù)據(jù)采集系統(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)的實時性。
Abstract:
Key words :

 1 引言

  隨著雷達(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ù)位寬度及存儲深度,避免資源浪費。

 



考慮到前端A/D轉(zhuǎn)換速度快,精度為8位,后端DSP的處理位數(shù)一般可做到32位,為提高系統(tǒng)實時性,采用輸入數(shù)據(jù)寬度為8位,輸出寬度為32位的雙時鐘FIFO,如圖2所示。

  圖3為對FIFO仿真的結(jié)果。雙時鐘FIFO輸入為8位、輸出為32位,且FIFO兩端的讀寫時鐘頻率不同。


分析系統(tǒng)的吞吐率:由于A/D數(shù)據(jù)輸入端口的速度固定,數(shù)據(jù)按采樣頻率輸入FIFO,因此輸入數(shù)據(jù)的時間是不變的,而DSP一次訪問可取走4個有效數(shù)據(jù),大大增加DSP讀取數(shù)據(jù)的吞吐率,提高系統(tǒng)實時處理能力。

  4 基于FPGA的PLL設(shè)計

  Cyclone FPGA具有鎖相環(huán)(PLL)和全局時鐘網(wǎng)絡(luò),提供完整的時鐘管理方案。Cyclone PLL具有時鐘倍頻和分頻、相位偏移、可編程占空比和外部時鐘輸出,進(jìn)行系統(tǒng)級的時鐘管理和偏移控制。Altera Quattus II軟件無需任何外部器件,就可啟用Cyclone PLL和相關(guān)功能。PLL常用于同步內(nèi)部器件時鐘和外部時鐘,使內(nèi)部工作的時鐘頻率比外部時鐘更高,時鐘延遲和時鐘偏移最小,減小或調(diào)整時鐘到輸出(TCO)和建立(TSU)時間。PLL主要部分的框架如圖4所示。


PLL模塊接收來自全局時鐘輸入引腳的時鐘信號,經(jīng)鎖相環(huán)分/倍頻后作為異步FIFO的讀寫時鐘,也可以作為外部A/D轉(zhuǎn)換器采樣時鐘。Cyclone PLL中包含一個前置分頻器N和一個倍頻器M,設(shè)定范圍為1~32。輸入時鐘fin經(jīng)預(yù)分頻N后得到參考時鐘fref:


通過設(shè)置后置分頻器的G0、G1和E值實現(xiàn)分頻和倍頻。輸出的頻率為:


式中,fc0和fc1是全局時鐘,為邏輯陣列塊(LAB)提供時鐘;fE則通過I/O單元輸出。

  圖5為對PLL模塊仿真結(jié)果。外部晶振輸入高穩(wěn)定時鐘到inclk0引腳,經(jīng)PLL產(chǎn)生2倍頻時鐘c0、3倍頻時鐘cl及經(jīng)分頻的時鐘e0。

  可見使用FPGA內(nèi)部鎖相環(huán)能為高速雷達(dá)數(shù)據(jù)采集系統(tǒng)各部分產(chǎn)生時鐘源,也使作為高速緩存的雙時鐘FIF0可應(yīng)用于各種時鐘域場合。

  5 結(jié)論

  本文在CycloneⅢFPGA中實現(xiàn)異步FIFO和鎖相環(huán)(PLL)結(jié)構(gòu)的設(shè)計,避免復(fù)雜的時鐘管理,簡化電路設(shè)計,方便采集系統(tǒng)進(jìn)行升級維護(hù)。高速緩存的設(shè)計使采集數(shù)據(jù)能的安全地實現(xiàn)數(shù)據(jù)跨時鐘域的傳遞,提高了數(shù)據(jù)采集系統(tǒng)的可靠性。

 

本文來源于與非網(wǎng) http://www.eefocus.com
原文地址:http://www.eefocus.com/article/10-10/2075521287628827.html

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。