基于FPGA+DSP的雷達高速數(shù)據(jù)采集系統(tǒng)的實現(xiàn)
摘要:激光雷達的發(fā)射波及回波信號經(jīng)光電器件轉(zhuǎn)換形成的電信號具有脈寬窄,幅度低,背景噪聲大等特點,對其進行低速數(shù)據(jù)采集存在數(shù)據(jù)精度不高等問題。同時,A/D轉(zhuǎn)換器與數(shù)字信號處理器直接連接會導(dǎo)致數(shù)據(jù)傳輸不及時,影響系統(tǒng)可靠性、實時性。針對激光雷達回撥信號,提出基于FPGA與DSP的高速數(shù)據(jù)采集系統(tǒng),利用FPGA內(nèi)部的異步FIFO和DCM實現(xiàn)A/D轉(zhuǎn)換器與DSP的高速外部存儲接口(EMIF)之間的數(shù)據(jù)傳輸。介紹了ADC外圍電路、工作時序以及DSP的EMIF的設(shè)置參數(shù),并對異步FIFO數(shù)據(jù)讀寫進行仿真,結(jié)合硬件結(jié)構(gòu)詳細地分析設(shè)計應(yīng)注意的問題。系統(tǒng)采樣率為30 MHz,采樣精度為12位。
0 引言
隨著雷達數(shù)據(jù)處理技術(shù)的快速發(fā)展,需要高速采集雷達回波信號。然而激光雷達的發(fā)射波及回波信號經(jīng)光電器件轉(zhuǎn)換后,形成的電信號脈寬窄,幅度低,而且背景噪聲大,如采用低速的數(shù)據(jù)采集系統(tǒng)進行采集,存在數(shù)據(jù)精度不高等問題。同時,為避免數(shù)據(jù)傳輸不及時,發(fā)生數(shù)據(jù)丟失,影響系統(tǒng)的可靠性和實時性,需設(shè)計開發(fā)高速數(shù)據(jù)采集系統(tǒng)。
設(shè)計中針對前端輸出約-25~25 mV,帶寬為20 MHz的信號,采用高帶寬,低噪聲,高數(shù)據(jù)傳輸率,高分辨率數(shù)模轉(zhuǎn)換芯片AD9235;利用XC2V250內(nèi)部的大小為6 KB的異步FIFO實現(xiàn)AD9235轉(zhuǎn)換器與TMS320C6201間的高速數(shù)據(jù)傳輸。采集系統(tǒng)的采樣率為30 MHz,分辨率為12位,內(nèi)部異步緩存FIFO為6 KB,滿足高速數(shù)據(jù)采集要求。
1 系統(tǒng)設(shè)計
如果A/D直接與DSP的外部存儲接口EMIF連接,會使DSP的負荷過重,另一方面DSP還需擴展外設(shè),與采樣輸入共用一條外部總線,進行外部設(shè)備的讀寫,不允許數(shù)據(jù)采集始終占用外部總線。如果不能及時接收數(shù)據(jù),上次存儲的數(shù)據(jù)會被覆蓋,造成數(shù)據(jù)丟失。異步FIFO能實現(xiàn)不同時鐘域的數(shù)據(jù)傳輸,可將它作為A/D轉(zhuǎn)換器和EMIF之間的橋梁,每寫入一塊數(shù)據(jù),便通知EMIF從FIFO取走數(shù)據(jù)?;谝陨戏治觯瑘D1為高速數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)框圖。
圖1 高速數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)框圖
FPGA內(nèi)部DCM為A/D轉(zhuǎn)換器和DSP提供采樣時鐘和外部振蕩源,A/D轉(zhuǎn)換器與DSP工作在不同時鐘,在FPGA內(nèi)部生成一個異步FIFO作為數(shù)據(jù)傳輸緩存。A/D轉(zhuǎn)換器把采樣值寫入FIFO,F(xiàn)IFO寫使能WR_EN一直有效,系統(tǒng)上電后,A/D轉(zhuǎn)換器一直處于工作狀態(tài),每寫入一塊數(shù)據(jù)便向DSP發(fā)出中斷信號,在中斷中讀取FIFO中的數(shù)據(jù)。FIFO輸入數(shù)據(jù)寬度12位,輸出數(shù)據(jù)寬度為24位,F(xiàn)IFO讀時鐘高于寫時鐘,DSP讀取數(shù)據(jù)比A/D向FIFO寫數(shù)據(jù)快,而且DSP內(nèi)部數(shù)據(jù)處理時間較快,可保證系統(tǒng)高速實時采集。
2 A/D轉(zhuǎn)換電路
A/D轉(zhuǎn)換電路是整個系統(tǒng)的重要組成部分。對前端輸出約-25~25 mV,帶寬為20 MHz的射頻信號數(shù)字化,設(shè)計采用模數(shù)轉(zhuǎn)換器芯片AD9235,最大采樣率40 Mb/s,12 bit數(shù)據(jù)輸出,信噪比RSN=70 dB。AD9235是差分輸入,單端信號輸入需要A/D驅(qū)動芯片,選用低失真差分A/D驅(qū)動芯片AD8138,圖2為A/D轉(zhuǎn)換電路,AD9235模擬輸入設(shè)置在2VPP,參考電壓VREF采用內(nèi)部1 V參考電壓,同時還作為驅(qū)動芯片AD8138的共模電壓。利用AD8138對輸入信號進行放大,放大倍數(shù)RF/RG=2.49 kΩ/820 Ω≈3。因此,經(jīng)過AD8138單端差分轉(zhuǎn)換及放大輸入信號范圍為25~175 mV。
圖2 A/D轉(zhuǎn)換電路
3 FPGA接口設(shè)計
3.1 時鐘設(shè)計
采用30 MHz外部晶振作為整個系統(tǒng)的時鐘源,利用XCV250內(nèi)部的時鐘管理器DCM,分別為AD9235、異步FIFO、TMS320C6201提供時鐘源。 DCM輸出CLK0的30 MHz時鐘作為AD9235采樣時鐘和異步FIFO的寫周期WR_CLK。
利用DCM數(shù)字頻率合成器輸出CLKFX作為TMS320C6201的時鐘源。公式:DCM輸出CLKFX的頻率=輸入時鐘CLKIN的頻率×(M/D),取M/D=5/3。這樣DCM為TMS320C6201提供50 MHz時鐘,經(jīng)過4倍頻,DSP系統(tǒng)時鐘為200 MHz,外部存儲EMIF時鐘CLKOUT1為200 MHz。設(shè)置CE0空間控制寄存器的參數(shù),使FIFO讀時序SETUP、HOLD等于一個CLKOUT1周期,STROPE等于兩個CLKOUT1周期,讀時序如圖3所示,讀第一個數(shù)時,EMIF會自動維護最小2個時鐘周期的建立時間,后續(xù)數(shù)據(jù)讀取,建立時間為1個時鐘周期。FIFO讀時鐘周期約為50 MHz,比A/D向FIFO寫數(shù)據(jù)時間快,保證系統(tǒng)實時采集。
圖3 讀FIFO數(shù)據(jù)時序
3.2 異步FIFO接口時序
AD9235與FPGA接口設(shè)計應(yīng)仔細考慮ADC轉(zhuǎn)換時鐘、FIFO寫時鐘及所選中間邏輯器件的時序和延時特性,以保證正確地設(shè)置采樣時鐘。AD-9235的采樣數(shù)據(jù)在延時7個采樣周期后出現(xiàn)在數(shù)據(jù)線上,圖4為A/D與FIFO接口時序。
圖4 A/D與FIFO接口時序
讀FIFO操作,利用EMIF外部存儲器的控制信號,包含有:輸出使能位和讀使能以及外部空間片選信號。讀寫時序如圖3,輸出使能和外部空間片選信號低時,異步FIFO讀使能RD_EN有效,當讀使能位為低時,待讀出的數(shù)據(jù)進行初始化,隨后會跳變?yōu)楦唠娖?,異步RD_CLK端產(chǎn)生上升沿,此時異步FIFO中數(shù)據(jù)被讀出。圖1中的HALF_FULL位直接與TMS320C6201外部存儲區(qū)域中斷EXT-INT5觸發(fā)連接,當FIFO緩存達到半滿時,上升沿觸發(fā)DSP外部中斷,DSP啟動DMA(直接數(shù)據(jù)存儲)以突發(fā)方式讀取FIFO數(shù)據(jù),在時鐘CLOCKOUT1下讀取FIFO存儲數(shù)據(jù)。EMIF與FIFO的讀邏輯關(guān)系為;。
圖5為異步FIFO仿真圖,輸入數(shù)據(jù)寬度12位,輸出數(shù)據(jù)寬度為24位。讀時鐘為50置MHz,寫時鐘為30 MHz。
和讀使能以及外部空間片選信號。讀寫時序如圖3,輸出使能和外部空間片選信號低時,異步FIFO讀使能RD_EN有效,當讀使能位為低時,待讀出的數(shù)據(jù)進行初始化,隨后會跳變?yōu)楦唠娖?,異步RD_CLK端產(chǎn)生上升沿,此時異步FIFO中數(shù)據(jù)被讀出。圖1中的HALF_FULL位直接與TMS320C6201外部存儲區(qū)域中斷EXT-INT5觸發(fā)連接,當FIFO緩存達到半滿時,上升沿觸發(fā)DSP外部中斷,DSP啟動DMA(直接數(shù)據(jù)存儲)以突發(fā)方式讀取FIFO數(shù)據(jù),在時鐘CLOCKOUT1下讀取FIFO存儲數(shù)據(jù)。EMIF與FIFO的讀邏輯關(guān)系為;。
圖5為異步FIFO仿真圖,輸入數(shù)據(jù)寬度12位,輸出數(shù)據(jù)寬度為24位。讀時鐘為50置MHz,寫時鐘為30 MHz。
圖5 異步FIFO仿真圖
4 設(shè)計應(yīng)注意問題
若用異步FIFO中的FULL信號作為中斷源,滿信號位FULL有效,觸發(fā)DMA開始傳輸,在滿信號和DMA傳輸之間,A/D采集時鐘仍然驅(qū)動A/D轉(zhuǎn)換器,會覆蓋之前存儲的采集數(shù)據(jù),造成數(shù)據(jù)丟失;若采用HALF-FULL信號作信號標志位,半滿時候,開始DMA傳輸,不用中斷數(shù)據(jù)采集,由于A/D寫入速度低于EMIF讀出速度,也不會造成數(shù)據(jù)覆蓋。
FPGA內(nèi)部的異步FIFO數(shù)據(jù)總線與TMS320C6201的數(shù)據(jù)總線相連,應(yīng)注意數(shù)據(jù)采集與TMS320C6201訪問外設(shè)間的總線沖突。應(yīng)保證沒有長時間占用數(shù)據(jù)總線的外部設(shè)備,否則造成采集數(shù)據(jù)丟失。
5 結(jié)論
針對雷達的回波信號,設(shè)計基于FPGA與DSP的高速數(shù)據(jù)采集系統(tǒng),介紹了雷達前端信號A/D外圍轉(zhuǎn)換電路,利用DCM和異步FIFO實現(xiàn)ADC與高速DSP間的數(shù)據(jù)緩沖,以保證采集數(shù)據(jù)的有效傳輸。系統(tǒng)采樣率為30 MHz,采樣精度為12位,異步存儲緩沖FIFO大小為6 kbits,能較好地滿足高速采集要求。FIFO與DSP采用24位數(shù)據(jù)接口,讀取FIFO采用DMA數(shù)據(jù)傳輸,較充分利用DSP資源,提高了系統(tǒng)實時處理的能力。