一種用于激光告警機(jī)的圖像采集與處理系統(tǒng)設(shè)計(jì)
可見(jiàn)復(fù)數(shù)乘法需要的實(shí)數(shù)乘法由原來(lái)的4個(gè)變?yōu)?個(gè),式中 因子可作為常數(shù)存入ROM,這樣復(fù)數(shù)乘法只需3個(gè)實(shí)數(shù)乘法3個(gè)實(shí)數(shù)加法就可完成。由上述算法編程得到的蝶形變換器經(jīng)綜合后生成的原理圖如圖3所示。原理圖中clk是時(shí)鐘輸入引腳;X_re,X_im,Y_re,Y_im分別是復(fù)數(shù)X,Y的實(shí)部和虛部;Cin代表 ;cms和cps分別表示 和 ;out1_re,out1_im,out2_re,out2_im代表蝶形變換后兩個(gè)輸出數(shù)據(jù)的實(shí)部和虛部。
地址產(chǎn)生及控制單元對(duì)整個(gè)參與FFT運(yùn)算的數(shù)據(jù)的存儲(chǔ)、讀寫(xiě)時(shí)序進(jìn)行控制,是 FFT 運(yùn)算器的重要組成部分。地址產(chǎn)生及控制單元將要產(chǎn)生每一階運(yùn)算單元輸入數(shù)據(jù)的讀寫(xiě)地址、存儲(chǔ)器的讀寫(xiě)、使能等控制信號(hào),同時(shí)還要產(chǎn)生旋轉(zhuǎn)因子系數(shù)的讀出地址,將配對(duì)的數(shù)據(jù)和旋轉(zhuǎn)因子系數(shù)按序送入蝶形運(yùn)算單元,從而實(shí)現(xiàn)每一階的蝶形運(yùn)算。地址產(chǎn)生及控制單元的設(shè)計(jì)方法主要是利用有限狀態(tài)機(jī)進(jìn)行設(shè)計(jì)。針對(duì)每一階運(yùn)算單元的運(yùn)算過(guò)程劃分成不同的狀態(tài),不同的狀態(tài)下輸出不同的數(shù)據(jù)地址和控制信號(hào)。
表1列出了計(jì)算一幀1024點(diǎn)FFT占用FPGA內(nèi)部資源的情況。經(jīng)后仿真時(shí)序分析,該激光告警系統(tǒng)在系統(tǒng)時(shí)鐘為50MHz的情況下,完成一幀1024點(diǎn) FFT只需110μs,加上數(shù)據(jù)載入時(shí)間和數(shù)據(jù)讀取時(shí)間只需230μs,滿足實(shí)時(shí)處理的要求。從表中可以看出, FFT子模塊完成后, FPGA還有大量資源可以利用,因此剩余資源可用于采集模塊,從而在一塊芯片上完成多種功能,有效減少了激光告警機(jī)的體積。
在信號(hào)處理前直接對(duì)FPGA的輸入信號(hào)用Matlab仿真的頻譜如圖4,可見(jiàn)激光信號(hào)的波長(zhǎng)峰值在523nm附近,數(shù)據(jù)在FPGA中進(jìn)行FFT之后輸出的數(shù)據(jù)經(jīng)過(guò)倒序后得到的頻譜結(jié)果如圖5,對(duì)比兩圖可知FPGA輸出與Matlab仿真結(jié)果基本相同,從而驗(yàn)證了告警系統(tǒng)的正確性。
4 總結(jié)
本文介紹了為激光告警機(jī)探測(cè)目標(biāo)激光的波長(zhǎng)所開(kāi)發(fā)的CCD相機(jī)信號(hào)采集與快速處理系統(tǒng)設(shè)備的設(shè)計(jì)。該系統(tǒng)利用FPGA實(shí)現(xiàn)對(duì)Atmel公司的AViiVA M2 CL型線陣CCD相機(jī)輸出數(shù)據(jù)的采集與處理,電路簡(jiǎn)單,可靠性強(qiáng),充分利用了FPGA支持多信號(hào)標(biāo)準(zhǔn)、支持流水作業(yè)工作模式、內(nèi)設(shè)塊存儲(chǔ)器等特點(diǎn)。
本文作者創(chuàng)新點(diǎn):在電路設(shè)計(jì)方面:擺脫了以往Cameralink接口型相機(jī)在與信號(hào)處理器進(jìn)行通信時(shí)必須在相機(jī)和處理器之間加入電平轉(zhuǎn)換芯片的做法,充分利用了FPGA支持LVDS電平的優(yōu)勢(shì),從而減小了告警系統(tǒng)的電路體積和復(fù)雜度,在硬件方面提高了系統(tǒng)的可靠性。在程序設(shè)計(jì)方面:充分利用FPGA內(nèi)部 RAM資源,多處用到FIFO存儲(chǔ)器,以流水作業(yè)為手段,縮短了系統(tǒng)響應(yīng)時(shí)間。
評(píng)論