一種用于激光告警機的圖像采集與處理系統設計
1引言
本文引用地址:http://www.j9360.com/article/191837.htm 激光告警機是被動光電偵查設備,其功能是探測目標激光信號的性質,如波長、方位等,本系統能夠完成探測并提取激光波長信息的功能。在激光波長測量系統中,激光信號從CCD相機輸出到信號處理器的時間和處理器的處理時間是能否做到實時監測激光波長的兩大關鍵,即使采用高速單片機也限于它的串行處理模式和較長的取指時間,無法滿足實時測量的目的,因此為實現在幾毫秒內就對目標激光信號的波長做出反應只能寄希望于高性能的DSP器件或FPGA器件了。告警系統中,相機的接口為器件的選擇則也提出要求:采集器件要支持LVDS 電平,否則要加入電平轉換芯片,這勢必會帶來數據傳輸的延時;此外應用FFT進行數據處理時,由于FFT在算法上具有可重復性和可并行處理的特點,為實現實時性處理,要求選擇具有并行處理功能的處理器。在設計中選用Xilinx公司的Sp3系列FPGA作為控制、處理器,將FPGA用在本系統中的好處有: (1)高密度FPGA可在一塊片子上實現多個子模塊,有效減小激光告警接收機的體積;(2)FPGA具有成熟的時鐘管理體系,和精確的時鐘控制體系,能夠實現采集與處理的無縫連接,從而提高系統可靠性;(3)FPGA支持多種信號標準,尤其在告警系統中FPGA可將接口設置為LVDS型,使得FPGA與相機的通信更加直接,避免了以往采用電平轉換芯片的相關工作;(4)FPGA具有并行處理功能,能夠實現流水作業,可減少信號處理時進行FFT運算的時間。
2原理概述
相機將探測到的激光信號通過Cameralink接口方式傳遞給FPGA,FPGA控制時序產生來完成以下工作:向CCD輸入時鐘信號;通過觸發端設置 CCD積分時間;倍頻相機的STROBE信號實現接收數據的串并轉換;將并行數據在讀使能的控制下從FIFO中轉入塊RAM。為提高激光告警機的響應時間該系統充分利用FPGA可流水作業這一功能,在數據接收端提供兩個1024個單元的數據存儲器交替工作,通過在軟件上設立標志位來實現對存儲區間進行切換。在數據存儲和數據處理時,當FPGA用1 區進行采集數據的第i幀時,同時2 區進行第i-1幀數據的處理,當兩者同時結束后,接著又用2 區進行第i+1幀數據的采集, 同時1 區進行第i 幀數據的處理, 這樣交替工作,形成流水線作業。由于相機采集速率和塊RAM寫入時間的不同,在FPGA內部采用IP 核生成兩個FIFO為兩路數據的接收實現緩沖來取得同步。塊RAM的寫入、讀出時序和地址發生器由VHDL語言編寫完成。數據的處理通過在時鐘的同步下逐一讀取RAM中的數據,采用十級流水基-2算法實現1024點的快速傅里葉變換,得出輸入激光信號的頻譜特性。激光告警機的采集和處理系統框圖如圖1所示。
3系統設計
整個系統由兩部分構成:數據采集模塊,數據處理模塊。
3.1 CCD相機數據采集模塊
在設計中采用ATMEl公司的AViiVA M2 CL相機,該相機采用Cameralink接口,Cameralink技術的核心是美國NS(National Semiconductor)提出的一種高速數據傳輸方法―Channel Link技術,該技術主要用于數字圖像數據的高速傳輸,采用LVDS信號模式,LVDS低電壓擺幅差分模式具有高速傳輸數據時交叉干擾小、EMI 干擾小等優點,最高傳輸率可達2.38Gb/s。該相機的接口定義為:四對LVDS線,用來做FPGA對相機的控制;兩對LVDS線,用于相機和FPGA 之間的通信,速度可達9600波特率;四對LVDS線,用于輸出數據和數據的位同步、幀同步信號。選用XC3S400型的FPGA,它具有豐富的接口標準尤其是支持LVDS 信號標準,可與Cameralink接口的相機直接連接。相機工作方式的設置由FPGA基于RS-232協議串行通信來實現,采用全雙工,沒有握手信號的異步串行方式,波特率固定在9600Hz,每幀數據由一個起始位,8個數據位,一個停止位組成。相機的積分時間和輸出增益都是可以根據需要設置為不同的值。對于相機工作的觸發方式由FPGA外部觸發,做到FPGA與相機共用同一個全局時鐘。
評論