閱讀 | 訂閱
閱讀 | 訂閱
電子加工新聞

一種用於激光告警機的圖像采集與處理係統設計

星之球科技 來源:新華網2011-10-26 我要評論(0 )   

1引言 激光告警機是被動光電偵(zhen) 查設備,其功能是探測目標激光信號的性質,如波長、方位等,本係統能夠完成探測並提取激光波長信息的功能。在激光波長測量係統中,激光信...

1引言

  激光告警機是被動光電偵(zhen) 查設備,其功能是探測目標激光信號的性質,如波長、方位等,本係統能夠完成探測並提取激光波長信息的功能。在激光波長測量係統中,激光信號從(cong) CCD相機輸出到信號處理器的時間和處理器的處理時間是能否做到實時監測激光波長的兩(liang) 大關(guan) 鍵,即使采用高速單片機也限於(yu) 它的串行處理模式和較長的取指時間,無法滿足實時測量的目的,因此為(wei) 實現在幾毫秒內(nei) 就對目標激光信號的波長做出反應隻能寄希望於(yu) 高性能的DSP器件或FPGA器件了。告警係統中,相機的接口為(wei) 器件的選擇則也提出要求:采集器件要支持LVDS 電平,否則要加入電平轉換芯片,這勢必會(hui) 帶來數據傳(chuan) 輸的延時;此外應用FFT進行數據處理時,由於(yu) FFT在算法上具有可重複性和可並行處理的特點,為(wei) 實現實時性處理,要求選擇具有並行處理功能的處理器。在設計中選用Xilinx公司的Sp3係列FPGA作為(wei) 控製、處理器,將FPGA用在本係統中的好處有: (1)高密度FPGA可在一塊片子上實現多個(ge) 子模塊,有效減小激光告警接收機的體(ti) 積;(2)FPGA具有成熟的時鍾管理體(ti) 係,和精確的時鍾控製體(ti) 係,能夠實現采集與(yu) 處理的無縫連接,從(cong) 而提高係統可靠性;(3)FPGA支持多種信號標準,尤其在告警係統中FPGA可將接口設置為(wei) LVDS型,使得FPGA與(yu) 相機的通信更加直接,避免了以往采用電平轉換芯片的相關(guan) 工作;(4)FPGA具有並行處理功能,能夠實現流水作業(ye) ,可減少信號處理時進行FFT運算的時間。

  2原理概述

  相機將探測到的激光信號通過Cameralink接口方式傳(chuan) 遞給FPGA,FPGA控製時序產(chan) 生來完成以下工作:向CCD輸入時鍾信號;通過觸發端設置 CCD積分時間;倍頻相機的STROBE信號實現接收數據的串並轉換;將並行數據在讀使能的控製下從(cong) FIFO中轉入塊RAM。為(wei) 提高激光告警機的響應時間該係統充分利用FPGA可流水作業(ye) 這一功能,在數據接收端提供兩(liang) 個(ge) 1024個(ge) 單元的數據存儲(chu) 器交替工作,通過在軟件上設立標誌位來實現對存儲(chu) 區間進行切換。在數據存儲(chu) 和數據處理時,當FPGA用1 區進行采集數據的第i幀時,同時2 區進行第i-1幀數據的處理,當兩(liang) 者同時結束後,接著又用2 區進行第i+1幀數據的采集, 同時1 區進行第i 幀數據的處理, 這樣交替工作,形成流水線作業(ye) 。由於(yu) 相機采集速率和塊RAM寫(xie) 入時間的不同,在FPGA內(nei) 部采用IP 核生成兩(liang) 個(ge) FIFO為(wei) 兩(liang) 路數據的接收實現緩衝(chong) 來取得同步。塊RAM的寫(xie) 入、讀出時序和地址發生器由VHDL語言編寫(xie) 完成。數據的處理通過在時鍾的同步下逐一讀取RAM中的數據,采用十級流水基-2算法實現1024點的快速傅裏葉變換,得出輸入激光信號的頻譜特性。激光告警機的采集和處理係統框圖如圖1所示。

 3係統設計

   整個(ge) 係統由兩(liang) 部分構成:數據采集模塊,數據處理模塊。

  3.1 CCD相機數據采集模塊

  在設計中采用ATMEl公司的AViiVA M2 CL相機,該相機采用Cameralink接口,Cameralink技術的核心是美國NS(National Semiconductor)提出的一種高速數據傳(chuan) 輸方法—Channel Link技術,該技術主要用於(yu) 數字圖像數據的高速傳(chuan) 輸,采用LVDS信號模式,LVDS低電壓擺幅差分模式具有高速傳(chuan) 輸數據時交叉幹擾小、EMI 幹擾小等優(you) 點,最高傳(chuan) 輸率可達2.38Gb/s。該相機的接口定義(yi) 為(wei) :四對LVDS線,用來做FPGA對相機的控製;兩(liang) 對LVDS線,用於(yu) 相機和FPGA 之間的通信,速度可達9600波特率;四對LVDS線,用於(yu) 輸出數據和數據的位同步、幀同步信號。選用XC3S400型的FPGA,它具有豐(feng) 富的接口標準尤其是支持LVDS 信號標準,可與(yu) Cameralink接口的相機直接連接。相機工作方式的設置由FPGA基於(yu) RS-232協議串行通信來實現,采用全雙工,沒有握手信號的異步串行方式,波特率固定在9600Hz,每幀數據由一個(ge) 起始位,8個(ge) 數據位,一個(ge) 停止位組成。相機的積分時間和輸出增益都是可以根據需要設置為(wei) 不同的值。對於(yu) 相機工作的觸發方式由FPGA外部觸發,做到FPGA與(yu) 相機共用同一個(ge) 全局時鍾。

  在數據的采集過程中,數據傳(chuan) 送的同步信號由 STROBE引腳產(chan) 生,當數據在一個(ge) 數據區存滿時,通過LVAL引腳通知FPGA 轉到另一數據存儲(chu) 區。圖2 給出了數據采集的時序圖。其中CLK_IN是由FPGA的內(nei) 核數字時鍾管理模塊DCM 來實現倍頻得到。在時鍾控製和管理方麵DCM比DLL功能更強大,使用更靈活。DCM的主要功能包括消除時鍾時延、頻率綜合和時鍾相位的調整。在本設計中對輸入時鍾STROBE作8倍頻處理,以實現數據一轉八串並轉換的鎖存輸出。#p#分頁標題#e#

  高速采集程序的設計主要有接口匹配、采集狀態機和數據存儲(chu) 三部分。在接口匹配中由於(yu) LVDS 的輸入與(yu) 輸出都是內(nei) 匹配的,所以LVDS 間可直接連接。在FPGA 內(nei) ,需對差分輸入時鍾緩衝(chong) 器(IBUFDS)、差分輸入的全局時鍾緩衝(chong) 器(IBUFGDS)和差分輸出時鍾緩衝(chong) 器(OBUFDS) 例化。

  FPGA 的部分代碼如下:
component IBUFDS - - 差分輸入時鍾緩衝(chong) 器( IBUFDS)
port (O : out STD_ULOG;
I : in STD_ULOGIC;
IB : in STD_ULOGIC) ;
end component ;
IBUFDS_INSTANCE_NAME: IBUFDS
port map (O=>user_O,I=> user_I,IB =>user_IB) ;

  3.2數據處理模塊

  Spartan3係列FPGA有豐(feng) 富的乘法器資源,在不使用任何優(you) 化算法的情況下每一個(ge) 蝶形運算需要4個(ge) 實數乘法器,因此在FPGA中每個(ge) 蝶形運算可以用 4個(ge) 乘法器在一個(ge) 時鍾周期內(nei) 完成。豐(feng) 富的RAM資源便於(yu) 實現數據的流水操作,即對於(yu) 輸入、輸出數據以及中間變量可以開辟不同的存儲(chu) 區,例如當計算第i組數據時,第i-1組計算結果正在輸出,第i+1組數據正在輸入。

  由於(yu) 在FFT運算中必然產(chan) 生複數,因此為(wei) 使計算方便,在設計之初就將FFT變換器的數據輸入口分為(wei) 實數和虛數。1024點複數FFT運算,按照基-2頻率抽取運算分成10級,每級包括1個(ge) 雙端RAM,1個(ge) 地址發生器,一個(ge) ROM用於(yu) 存儲(chu) 旋轉因子表,1個(ge) 蝶形運算單元,2個(ge) 選擇緩衝(chong) 單元。為(wei) 了簡化地址單元電路,將複數數據的實部虛部組合成一個(ge) 數據存儲(chu) 在RAM中。由於(yu) 使用雙口RAM ,當一個(ge) 存儲(chu) 單元中的數據讀出做運算時,該存儲(chu) 單元就能夠存儲(chu) 上一級來的數據,因此這種結構的FFT 可以進行流水線操作,能夠對信號樣本進行實時連續的運算。選擇緩衝(chong) 器的用途是拉齊數據,將RAM 輸出的2個(ge) 複數數據拆成4個(ge) 實數數據輸入到蝶形運算單元,完成蝶形運算後的數據進入選擇緩衝(chong) 器組合成2個(ge) 複數數據輸出。

  可見複數乘法需要的實數乘法由原來的4個(ge) 變為(wei) 3個(ge) ,式中  因子可作為(wei) 常數存入ROM,這樣複數乘法隻需3個(ge) 實數乘法3個(ge) 實數加法就可完成。由上述算法編程得到的蝶形變換器經綜合後生成的原理圖如圖3所示。原理圖中clk是時鍾輸入引腳;X_re,X_im,Y_re,Y_im分別是複數X,Y的實部和虛部;Cin代表 ;cms和cps分別表示 和 ;out1_re,out1_im,out2_re,out2_im代表蝶形變換後兩(liang) 個(ge) 輸出數據的實部和虛部。

 地址產(chan) 生及控製單元對整個(ge) 參與(yu) FFT運算的數據的存儲(chu) 、讀寫(xie) 時序進行控製,是 FFT 運算器的重要組成部分。地址產(chan) 生及控製單元將要產(chan) 生每一階運算單元輸入數據的讀寫(xie) 地址、存儲(chu) 器的讀寫(xie) 、使能等控製信號,同時還要產(chan) 生旋轉因子係數的讀出地址,將配對的數據和旋轉因子係數按序送入蝶形運算單元,從(cong) 而實現每一階的蝶形運算。地址產(chan) 生及控製單元的設計方法主要是利用有限狀態機進行設計。針對每一階運算單元的運算過程劃分成不同的狀態,不同的狀態下輸出不同的數據地址和控製信號。

  表1列出了計算一幀1024點FFT占用FPGA內(nei) 部資源的情況。經後仿真時序分析,該激光告警係統在係統時鍾為(wei) 50MHz的情況下,完成一幀1024點 FFT隻需110μs,加上數據載入時間和數據讀取時間隻需230μs,滿足實時處理的要求。從(cong) 表中可以看出, FFT子模塊完成後, FPGA還有大量資源可以利用,因此剩餘(yu) 資源可用於(yu) 采集模塊,從(cong) 而在一塊芯片上完成多種功能,有效減少了激光告警機的體(ti) 積。

  在信號處理前直接對FPGA的輸入信號用Matlab仿真的頻譜如圖4,可見激光信號的波長峰值在523nm附近,數據在FPGA中進行FFT之後輸出的數據經過倒序後得到的頻譜結果如圖5,對比兩(liang) 圖可知FPGA輸出與(yu) Matlab仿真結果基本相同,從(cong) 而驗證了告警係統的正確性。 #p#分頁標題#e#

  4 總結

  本文介紹了為(wei) 激光告警機探測目標激光的波長所開發的CCD相機信號采集與(yu) 快速處理係統設備的設計。該係統利用FPGA實現對Atmel公司的AViiVA M2 CL型線陣CCD相機輸出數據的采集與(yu) 處理,電路簡單,可靠性強,充分利用了FPGA支持多信號標準、支持流水作業(ye) 工作模式、內(nei) 設塊存儲(chu) 器等特點。

  本文作者創新點:在電路設計方麵:擺脫了以往Cameralink接口型相機在與(yu) 信號處理器進行通信時必須在相機和處理器之間加入電平轉換芯片的做法,充分利用了FPGA支持LVDS電平的優(you) 勢,從(cong) 而減小了告警係統的電路體(ti) 積和複雜度,在硬件方麵提高了係統的可靠性。在程序設計方麵:充分利用FPGA內(nei) 部 RAM資源,多處用到FIFO存儲(chu) 器,以流水作業(ye) 為(wei) 手段,縮短了係統響應時間。
 

轉載請注明出處。

免責聲明

① 凡本網未注明其他出處的作品,版權均屬於(yu) fun88网页下载,未經本網授權不得轉載、摘編或利用其它方式使用。獲本網授權使用作品的,應在授權範圍內(nei) 使 用,並注明"來源:fun88网页下载”。違反上述聲明者,本網將追究其相關(guan) 責任。
② 凡本網注明其他來源的作品及圖片,均轉載自其它媒體(ti) ,轉載目的在於(yu) 傳(chuan) 遞更多信息,並不代表本媒讚同其觀點和對其真實性負責,版權歸原作者所有,如有侵權請聯係我們(men) 刪除。
③ 任何單位或個(ge) 人認為(wei) 本網內(nei) 容可能涉嫌侵犯其合法權益,請及時向本網提出書(shu) 麵權利通知,並提供身份證明、權屬證明、具體(ti) 鏈接(URL)及詳細侵權情況證明。本網在收到上述法律文件後,將會(hui) 依法盡快移除相關(guan) 涉嫌侵權的內(nei) 容。

網友點評
0相關評論
精彩導讀