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