吳明鋒
?
基于FPGA的高速數(shù)據(jù)采集系統(tǒng)設計與實現(xiàn)
吳明鋒
丹東百特儀器有限公司,遼寧 丹東 118009
為了實現(xiàn)頻譜數(shù)據(jù)的高速采集和頻譜信息的快速提取,研究了一種基于FPGA的靜態(tài)干擾結構的高速頻譜采集系統(tǒng)。通過濾波、傅立葉變換和光譜校正,得到了靜態(tài)干涉條紋的光譜分布信息。實驗對655?nm半導體激光器進行了光譜分析,并對不同深度條件下的傅立葉變換產生的光譜進行了比較。當固定點為12位時,譜數(shù)據(jù)反演完成,轉化率高。同時,將測試數(shù)據(jù)與MATLAB的仿真數(shù)據(jù)進行了比較。實驗結果表明,系統(tǒng)的光譜反演結果與MATLAB基本一致。
光譜數(shù)據(jù)處理;高速采集;FPGA;點位值
隨著光譜技術的不斷發(fā)展,越來越多的應用程序已經通過光譜分析設備來檢測未知光源光譜特性,所以對光譜分析設備性能得要求也越來越高,包括干涉條紋數(shù)據(jù)的采集以及高速處理[1]。光譜測試系統(tǒng)主要分為光柵衍射和靜態(tài)干擾兩大類。由于光柵衍射圖中存在入射狹縫,光通量低,靜態(tài)干涉圖更適合于室外光譜識別。為了開發(fā)和設計一種能夠高速采集和處理干涉條紋的處理系統(tǒng),需要選擇合適的數(shù)字處理器。FPGA作為一種由硬件編程的高速加工芯片,非常適合高速光譜數(shù)據(jù)的處理。因此,采用FPGA實現(xiàn)干涉條紋和傅立葉變換的實時處理,不僅速度快,而且穩(wěn)定,對其他處理系統(tǒng)具有無可比擬的優(yōu)勢。
測光從準直透鏡準直后,進入干涉棱鏡。通過干涉棱鏡,初始光被干擾。通過高速采集電路將干涉條紋的數(shù)據(jù)信息導入FPGA,然后通過FPGA獲得頻譜分布。根據(jù)傅立葉光學理論,當被測光通過準直透鏡進入干涉棱鏡時,它被分成兩束。兩個光束被一個分束鏡分開,然后再次聚集在一起。然后對靜態(tài)干涉條紋進行濾波、裁剪、FFT和FPGA標定,將空間信息轉化為光譜信息[2]。其中,F(xiàn)PGA設計分為三個區(qū)域:靜態(tài)干涉條紋的采集區(qū)、光譜分布的反演區(qū)和光譜分布的顯示區(qū)。
為了實時獲取光譜數(shù)據(jù)信息,需要以高于處理速度的速度采集干涉條紋,同時要求采集模塊與處理模塊之間的速率匹配。因此,在傅立葉變換之前,應加快數(shù)據(jù)傳輸速率。在本系統(tǒng)中,如果輸入傅立葉變換的1幀數(shù)據(jù)可以連續(xù)讀取,轉換速率應為0.5?MHz,轉換速率應在兩個不同的時鐘域中工作。因此,設計了一個讀寫異步數(shù)據(jù)存儲模塊。讀取時鐘為1.0?MHz,寫入時鐘為0.5?MHz,數(shù)據(jù)深度為1?024。
靜態(tài)干涉條紋是一種通過空間分布來傳輸光譜信息的方法。與傳統(tǒng)的邁克耳遜干涉系統(tǒng)不同,它的光譜分布數(shù)據(jù)在空間分布干涉條紋同時不受時間的影響,非常適合高速光譜數(shù)據(jù)采集系統(tǒng)。以2為基數(shù)提取的形式,將N個點轉化為兩個N/2點序列,分別完成數(shù)據(jù)轉換。根據(jù)這種方法,兩個分解后的序列可以再分解為4個N/4點序列,直到分解到最后一層,通過Butterfly操作將干涉條紋轉換為光譜信息。
該模塊根據(jù)采集靜態(tài)干涉條紋的要求和探測器的特點,采用1024點流水線,采用Xilinxvirtex2-pro系列處理系統(tǒng),構建了實時靜態(tài)干涉條紋采集和光譜分布反演的硬件結構。該模塊使用IP核完成FFT,其轉換形式基于基本的-2時間模型。FFT中的蝶式操作位深度由控制位設置,控制位由1?024點單通道管道結構組成,選擇10?bit數(shù)據(jù)位。在本計算裝置中,使用兩個輔助RAM存儲中間變量的結果,以減少FPGA資源占用RAM,提高系統(tǒng)的處理速度。最后,系統(tǒng)實現(xiàn)了兩個硬件乘法器和四個RAM存儲器的數(shù)據(jù)操作和處理,保證了系統(tǒng)的數(shù)據(jù)處理速度。在80?MHz的基本頻率條件下,只需要32?s就可以完成1?024點的FFT。同時,不同深度數(shù)據(jù)的FFT測試的仿真分析,分別結果表明,針對處理速度的影響比較明顯,8位最快,10位快,12位慢,但8位的中心波長反演結果振幅小,信噪比低,和10位和12位振幅譜信噪比更高,是類似的,推理的準確性和實時性為了保證光譜反演的同時,選擇10位深度,在接下來的實驗中還將進行進一步的對比分析。
FPGA芯片中的固件控制邏輯指的是通過將開發(fā)軟件中編寫好的VerilogHDL代碼在開發(fā)軟件中進行綜合布局布線之后,將生成的流文件燒寫到FPGA芯片中,使芯片中形成產生特定控制作用的電路。固件控制邏輯的設計是整個基于PCE的高速數(shù)據(jù)采集系統(tǒng)功能實現(xiàn)的核心部分。本系統(tǒng)的固件控制邏輯分為ADC控制器、DDR3控制器、POE總線傳輸控制器和進行跨時鐘域和跨數(shù)據(jù)位寬轉換的前后端FIFO。針對實現(xiàn)DDR3控制器高效讀寫的難點,通過連續(xù)讀寫的方式設計DDR3控制器固件控制邏輯,包括MIG模塊配置設計和用戶讀寫接口模塊設計,實現(xiàn)高效緩存讀寫功能;針對PCIE總線傳輸控制器設計集成度低、時序處理復雜的難點,通過理解PCIE總線的體系結構,進行級聯(lián)結構DMA接口實現(xiàn)的設計,實現(xiàn)高速數(shù)據(jù)傳輸功能。
在無人機定位與入侵檢測、超聲波無損檢測和風洞測試等領域,常使用多通道的ADC進行采樣。就100?MSPS采樣率的ADC控制器而言,在48通道情況下,ADC控制器可達到48?GB/s的輸出帶寬。根據(jù)1.2的敘述,PCIER*8通道總線的傳輸帶寬理論最大值為32?GB/s,因此出于數(shù)據(jù)傳輸完整性的考慮,需要DDR3大容量緩存模塊進行緩存。本設計通過設計DDR3緩存控制器,來驗證整個系統(tǒng)的緩存和傳輸能力,從而使系統(tǒng)能夠滿足無人機定位與入侵檢測、超聲波無損檢測和風洞測試等場景中多通道采樣和數(shù)據(jù)預處理之后產生的大量數(shù)據(jù)高速傳輸需求。如何通過DDR3控制器實現(xiàn)數(shù)據(jù)從FPGA芯片到DDR3 SDRAM的高速讀寫,是DDR3控制器中設計的難點所在。
為了更好地處理光測量的光譜分布,利用MATLAB對同一組干涉條紋進行分析比較。在實驗中,采用850?nm半導體激光器作為光源、Virtex-II系列FPGA處理系統(tǒng)、干涉棱鏡等,利用系統(tǒng)模塊對相同的干涉條紋數(shù)據(jù)進行分析,并分別對數(shù)據(jù)進行8?bit、10?bit和12?bit深度的測試。隨著位深度設置的增加,F(xiàn)FT后的峰值振幅也隨之增大,信噪比也隨之增大[3]。當比特深度增加時,中心波長的峰值變尖,半寬度變窄。三種情況下,雖然波形發(fā)生變化,但是中心波長的位置保持不變,中心波長的峰值變尖,半寬變窄。這三個案例雖然波形變化,但中心波長位置是相同的,不同深度條件下積累的數(shù)據(jù)結果表明,該位深度增加了信號疊加效應,以提高信噪比,但沒有影響波長分辨率、波長分辨率在這里主要是由靜態(tài)決定的等效角棱鏡干涉。為了提高信噪比可以增加適當?shù)纳疃?,但隨著深度的增加也帶來了一些問題:深度系統(tǒng)數(shù)據(jù)量越大,越大處理速度比較慢,大大影響了實時測試的能力,所以我們需要在實際的過程中選擇位深度妥協(xié),比較8位、10位、12位的結果,10位采用硬件編程設計標準。
兩種方法得到的激光光譜中心波長為655?nm,但光譜形態(tài)不同。傳統(tǒng)的MATLAB反演方法在低頻噪聲和峰值低的情況下得到的結果比較大。
本文設計了一種快速光譜采集和處理的結構,并完成了一個由FPGA控制的高速數(shù)據(jù)處理系統(tǒng)。為了實現(xiàn)靜態(tài)干涉條紋的高速處理,采用硬件編程方法完成堆積和蝴蝶操作,最后通過光譜標定再現(xiàn)光譜分布。利用Moswlaim完成采集和光譜反射率的仿真分析,并與MATLAB軟件進行光譜重構進行對比。結果表明,該系統(tǒng)能較好地完成光譜分布的重構,同時運行速度快,適用于高速數(shù)據(jù)處理系統(tǒng)。
[1]郭柳柳,甄國涌,劉東海. 基于FPGA高速圖像數(shù)據(jù)的存儲及顯示設計[J]. 電子技術應用,2014,40(11):75-77,84.
[2]龔壘. 基于FPGA的高速光纖通信數(shù)據(jù)傳輸技術的研究與實現(xiàn)[D]. 西安:西安電子科技大學,2014.
[3]劉吉,楊德偉,文懷濤,等. 基于USB通信的FPGA高速數(shù)據(jù)采集系統(tǒng)[J]. 現(xiàn)代電子技術,2011,34(10):186-188,192.
Design and Implementation of High-Speed Data Acquisition System Based on FPGA
Wu Mingfeng
Dandong Bettersize Instrument Co., Ltd., Liaoning Dandong 118009
In order to achieve high speed acquisition of spectrum data and the rapid extraction of spectrum information, a high-speed spectrum acquisition system based on static interference structure of FPGA is studied. The spectral distribution information of static interference fringes is obtained through filtering, Fourier transform and spectral correction. Spectral analysis of 655?nm semiconductor lasers is carried out, and the spectra produced by Fourier transform at different depths are compared. When the fixed point is 12 bits, the inversion of spectral data is completed and the conversion rate is high. At the same time, the test data are compared with the simulation data of MATLAB. The experimental results show that the spectral inversion results of the system are basically the same as those of MATLAB.
spectral data processing; high speed acquisition; FPGA; spot value
TP274+.2
A