王艷維,楊朋利,付曉慶,馬愛秋,王 浩,李四維,楊旸,任江濤,任 猛(.西安應用光學研究所,西安,70065;.陜西化工集團有限公司,榆林,799;.中鐵二十局集團第一工程公司,蘇州,55)
基于FPGA+ARM的激光器圖像自動測量系統設計
王艷維1,楊朋利1,付曉慶1,馬愛秋1,王 浩1,李四維1,楊旸1,任江濤2,任 猛3
(1.西安應用光學研究所,西安,710065;2.陜西化工集團有限公司,榆林,719319;3.中鐵二十局集團第一工程公司,蘇州,215151)
目前的激光器測量需要測試人員肉眼判斷激光器輸出的光斑的亮度、形狀、間距等信息。測試人員判斷具有主觀性、易受環境影響等特點。本文設計了一個激光器自動化測量系統,該系統可以實現對激光器系統的自動化測試,具有測量效率高,測試結果一致性好等優點。
FPGA;ARM;自動測量
在我所某激光器測量系統中,需要由測試人員根據激光器輸出的光斑的形狀、間距、亮度等信息判斷激光器工作是否正常。由于人的判斷標準具有主觀性、無法定量分析等劣勢,因此有必要開發一套圖像采集與分析的自動化系統完成整個測量。因此我們設計一套圖像采集、分析與顯示系統。完成對激光器輸出圖像的采集,將采集圖像在LCD屏上顯示,并自動分析圖像特征,根據采集圖像判斷激光器是否正常。

圖1 激光器圖像示例
圖1為一個激光器示例圖像。激光器標準輸出為5個白色亮斑。判斷激光器好壞一般從以下幾個方面入手:
圖像處理流程圖如圖2所示。
本系統設計的核心在于激光器圖像的讀取和分析。激光器圖像由CCD攝像頭采集,圖像速率為25幀/秒。由于圖像數據量大,速率高,采取FPGA控制AD進行圖像的采集工作。由于對圖像處理的實時性要求不高,我們使用ARM實現第二節的圖像處理算法。
為了方便測試人員操作,我們設計一個矩陣式鍵盤做命令輸入,實現測試人員對系統的控制;同時為了保證測試數據的可追溯性,我們使用SD卡做數據存儲,存儲圖像格式為標準bmp格式,測試數據為txt文檔格式存儲,這樣就做到了測試數據可以在計算機上進行回讀和分析,有利于歸納和總結激光器的同類型或批次性問題。

圖2 圖像處理流程圖

圖4 FPGA系統框圖
系統工作流程為:上電后ARM(STM32F103RE)首先對FPGA (EP1C12Q240C8)和AD(ADV7180)進行配置。配置完畢后AD接收來自CCD攝像頭采集的激光器圖像,經過AD轉換后送往FPGA。由于圖像為電視圖像格式,圖像分為奇場圖像和偶場圖像,FPGA對圖像進行拼接,將圖像拼接為像素值為720*576的幀圖像。拼接完畢的圖像存入SDRAM。
鍵盤使用5*5矩陣式鍵盤。鍵盤包括10個數字鍵及上移、下移鍵及5個操作指令鍵。操作指令包括圖像顯示、圖像采集、圖像分析、結果存儲,結果回讀。由ARM解析鍵盤命令,觸發相應操作。
1)圖像顯示。ARM指示FPGA將采集的圖像在LCD上實時顯示。這個時候測試人員可以調整激光器位置、光強、攝像頭的位置,調整測試環境;
2)圖像采集。ARM指示FPGA停止圖像采集,將采集的最后一幅圖像顯示在LCD上,測試人員可以用于輔助判斷采集的圖像質量;
3)圖像分析。ARM通過并行總線接口從FPGA外接的SDRAM存儲器中取出圖像,放入到外接SRAM中。使用圖像處理算法從圖像中搜索光斑,分析光斑圖像的亮度、形狀、間距信息。并將分析結果在LCD上顯示,如果激光器不合格,在LCD上顯示告警信息,并給出不合格的條目信息。
4)結果存儲。ARM將采集的圖像和分析結果存到SD卡中,存儲文件名默認從0001開始命名,支持測試人員使用數字鍵盤命名。存儲圖像格式為bmp格式,測試數據格式為txt文檔格式,為了使測試數據和測試圖像關聯,默認二者命名相同。
5)結果回讀。結果回讀有兩種形式:計算機回讀和使用LCD顯示。計算機回讀時使用USB接口直接訪問SD卡,由于數據存儲形式為標準圖形和文檔格式。因此不需要再開發上位機軟件。LCD顯示時ARM將FLASH中儲存的文件信息在LCD上顯示。測試人員通過上下鍵選擇以前存儲的測試結果和圖像信息,選擇后ARM將儲存的對應的圖像和數據寫入FPGA緩存中,由FPGA將數據和圖像在LCD上顯示。
如第3節所述,FPGA完成AD數據采集、圖像數據存儲,LCD屏顯示等功能。FPGA設計框圖如圖4所示。
如圖4所示,FPGA由鎖相環電路,AD接口電路、SDRAM控制電路,LCD控制電路,圖像接口FIFO,ARM接口電路組成。
1)鎖相環(PLL)電路。AD接口速率為27MHz,FPGA通過內部鎖相環將時鐘倍頻,將主時鐘倍頻到54MHz。作為SDRAM控制器及全片主控時鐘。
2)AD接口電路。AD接口電路完成兩個主要功能。一是根據電視圖像時序接收圖像,由于電視圖像信息625(行)*1728(列),其中包含場消隱信號和行消隱信號,實際有效圖像為576(行)*1440(列)。AD接口電路將行場消隱信號去除,保留有效圖像。但是電視圖像信息包含亮度(Y)、藍色差(Cb)、紅色差(Cr),比例為4:2:2。我們做圖像分析時只需要亮度信息,因此AD接口的第二個功能就是保留亮度信息,去除其他信息。
3)SDRAM接口電路。SDRAM接口電路將奇偶場圖像信息拼接成一幀圖像存入到SDRAM中。由于SDRAM依靠電容保持信息,因此除了正常的讀寫操作外,還需要對SDRAM定時進行刷新以保持數據。實際上,SDRAM控制器分為上電初始化、刷新、讀操作和寫操作幾個功能。其中SDRAM寫操作由AD接口電路觸發,SDRAM讀操作由LCD控制電路觸發。需要注意的是,在不需要實時顯示時,SDRAM控制器不對SDRAM進行讀寫操作。
4)LCD控制電路。實際上系統選擇的液晶屏為800(列)*600(行),比電視圖像稍大一些。我們在邊緣部分插入黑色邊緣,中間部分放入正常圖像。并根據ARM的指令,在圖像上疊加圖像分析的結果。在不進行圖像實時顯示時,LCD從圖像接口FIFO中取出要顯示的圖像,在LCD上顯示。
5)圖像接口FIFO。圖像接口FIFO有兩個功能。一是在圖像分析時,SDRAM接口電路取出圖像放入圖像接口FIFO中。ARM從圖像接口FIFO中取出圖像進行分析。二是在顯示各種控制界面時,ARM將要顯示的圖像信息放入到圖像接口FIFO中。由于圖像背景簡單,為了節約存儲空間,實際放入FIFO中的為二值化圖像。
6)ARM接口電路。FPGA和ARM之間為并行接口,數據線為8根、地址線為12根,共4k的尋址空間。ARM通過類似SRAM接口時序對FPGA寄存器進行讀寫。以控制FPGA功能選擇,獲取工作狀態。
本自動化測量系統綜合了圖像采集、顯示、分析、存儲等多項功能。可以方便實現激光器的自動測試與分析,并且測試結果可記錄,可回讀,可驗證。試驗證明,本系統能很大程度提高激光器測試的效率和準確性,并可以簡單串口擴展實現計算機控制測試, 實現測試全程自動化。
[1] Analog Devices.ADV7180 datasheet.January 2006
[2] STMicroelectronics. STM32 Reference Manual (RM0008),June 2009
[3] 徐志軍,徐光輝.CPLD/FPGA 的開發與應用[M].北京:電子工業出版社,2002
Automatic laser measurement system design based on FPGA + ARM image
Wang Yanwei1,Yang Pengli1,Fu Xiaoqing1,Ma Aiqiu1,Wang Hao1,Li Siwei1,Yang Yang1,Ren Jiangtao2,Ren Meng3
(1.Xi'an Institute of Applied Optics,Xi'an,710065,China;2.Shaanxi Chemical Industry Group Limited,yulin,719319,China;3.China Railway 20th Bureau Group first engineering company,suzhou 215151,China)
Current lasers require testers judged visually measuring the brightness of a spot of the laser output,shape,spacing,and other information.Testers subjective judgment,environmentally sensitive features. This design of the automated measurement of a laser system that can realize the laser test automation system,the measurement with high efficiency,and good consistency of the test results.
FPGA;ARM;Automatic Measurement