蔡鐵根, 黃明輝, 李成祥, 楊志軍
(廣東工業(yè)大學(xué) 機(jī)電工程學(xué)院,廣東 廣州 510006)
?
基于FPGA的精密光柵尺圖像采集與預(yù)處理設(shè)計(jì)
蔡鐵根, 黃明輝, 李成祥, 楊志軍
(廣東工業(yè)大學(xué) 機(jī)電工程學(xué)院,廣東 廣州 510006)
摘要:針對目前利用圖像的方法來分析精密光柵尺位移采集速度不高的問題,設(shè)計(jì)了一種以現(xiàn)場可編程門陣列(Field Programmable Gate Array, FPGA)為主控器件對光柵尺進(jìn)行圖像編解碼和預(yù)處理的系統(tǒng).系統(tǒng)主要包括SDRAM控制模塊、CMOS傳感器驅(qū)動模塊、VGA顯示模塊以及圖像算法模塊.整個(gè)模塊以Altera公司的Cyclone IV系列EP4CE10E22C8N作為主控芯片,Quartus II 15.0軟件為開發(fā)平臺,并經(jīng)過反復(fù)測試實(shí)現(xiàn)各個(gè)模塊功能,最終通過VGA實(shí)時(shí)顯示預(yù)處理后的圖像,為下一步DSP實(shí)現(xiàn)光柵尺位移的測量提供了可靠的預(yù)處理數(shù)據(jù).
關(guān)鍵詞:FPGA; 光柵尺; 圖像采集; 圖像預(yù)處理
目前的機(jī)械制造業(yè)在涉及到高速高精密的位移測量場合中,大多數(shù)采用光柵尺作為位移反饋裝置[1-4].光柵是目前應(yīng)用最廣泛的柵式傳感器,精度高,但仍有一些缺點(diǎn),其根本原因在于柵線數(shù)難以提高,只能依靠電子細(xì)分,從而導(dǎo)致成本、可靠性、抗干擾能力等方面的問題[5].一方面,光柵尺在一定的刻線密度情況下,想要提高分辨力就必須依靠復(fù)雜的電子細(xì)分,除結(jié)構(gòu)復(fù)雜技術(shù)封鎖外,還對光柵的運(yùn)動附加了限制,要求運(yùn)行平穩(wěn)、相對低速等,可靠性降低;另一方面,如果想提高刻線密度,除工藝變得復(fù)雜、成本提高外,還更容易受到生產(chǎn)現(xiàn)場微小粉塵、油污等的污染,抗干擾能力降低[6].針對上述光柵尺存在的問題,文獻(xiàn)[6]提出了一種空間均勻分布、時(shí)序相互錯(cuò)開的CCD勻速掃描的測量方式,設(shè)計(jì)了一種基于線陣CCD的靜態(tài)光場式時(shí)柵傳感器,文獻(xiàn)[7]中提出了一種單道編碼方法,采用CCD線陣電荷耦合細(xì)分的直線編碼器.但是以上方法在高精度測量以及實(shí)時(shí)性處理方面還不能滿足要求.由于光柵尺編碼圖像的編解碼過程是決定光柵尺測量效率的決定因素,高速采集到的圖像經(jīng)過數(shù)據(jù)總線傳輸進(jìn)入后臺處理,此類數(shù)據(jù)中包含了大量的位置信息,必須經(jīng)過快速、可靠的處理才能得到需要的結(jié)果,所以對圖像采集的實(shí)時(shí)性提出了一定的要求.本文針對圖像采集的實(shí)時(shí)性,采用現(xiàn)場可編程門陣列FPGA進(jìn)行圖像的編解碼,利用FPGA的并行處理特性實(shí)現(xiàn)硬件加速,并通過圖像算法得到了更優(yōu)的圖像.
1圖像采集硬件系統(tǒng)框圖
圖像采集的整個(gè)系統(tǒng)結(jié)構(gòu)框圖如圖1所示.圖中光柵尺選用的是增量式,柵距為20 μm,為了達(dá)到精確細(xì)分,必須經(jīng)過光學(xué)放大系統(tǒng)對光柵條紋進(jìn)行放大,這里采用金相物鏡,放大倍數(shù)為20倍.整個(gè)系統(tǒng)是以Altera FPGA為主控元件,通過SCCB總線協(xié)議驅(qū)動CMOS傳感器去捕獲放大后的條紋并進(jìn)行圖像處理,處理后的數(shù)據(jù)送給SDRAM.FPGA通過仲裁模塊對SDRAM進(jìn)行初始化、讀寫、刷新等操作,SDRAM將圖像處理后的數(shù)據(jù)再送給VGA,進(jìn)行圖像的實(shí)時(shí)顯示.VGA部分采用視頻專用芯片ADV7123[8],將SDRAM傳送的數(shù)據(jù)轉(zhuǎn)換為模擬信號輸出到顯示設(shè)備,得到最終的光柵尺條紋圖像.
圖1 系統(tǒng)結(jié)構(gòu)框圖
2圖像采集軟件模塊設(shè)計(jì)
2.1攝像頭驅(qū)動及圖像捕獲模塊
文中所使用CMOS傳感器的驅(qū)動遵循SCCB協(xié)議,需要在FPGA中模擬出SCCB協(xié)議并對傳感器的寄存器進(jìn)行初始化配置[9],配置的方式主要是通過FPGA對傳感器進(jìn)行地址和寄存器值的讀寫.圖2是SCCB總線寄存器的寫入時(shí)序,在第1階段是寫入設(shè)備地址,第2階段寫入寄存器地址,第3階段寫入寄存器的值,完成寄存器的寫入配置.圖3為SCCB總線寄存器的讀取時(shí)序,第1階段寫入CMOS Sensor的唯一ID地址,ID為0x42; 第2階段寫入需要讀取的寄存器地址; 第3階段讀取CMOS Sensor的唯一ID地址,ID為0x43; 第4階段讀取CMOS Sensor發(fā)送的指定寄存器的值.通過FPGA對傳感器的寄存器配置后,需要將所獲得的數(shù)據(jù)送給圖像捕獲模塊.利用signal tap II抓取捕獲后的圖像數(shù)據(jù)如圖4所示,當(dāng)行信號為高電平時(shí)開始捕獲數(shù)據(jù),期間場信號保持高電平.
圖2 寄存器寫入時(shí)序
圖3寄存器讀取時(shí)序
Fig.3Register of reading timing
圖4 捕獲后的視頻數(shù)據(jù)
2.2圖像處理模塊
2.2.1圖像灰度化處理
系統(tǒng)中FPGA驅(qū)動CMOS傳感器所輸出的視頻格式為RGB,由于RGB格式數(shù)據(jù)量大且光柵條紋是亮暗相間的,只需提取亮度信息就能分辨條紋.為了提高處理數(shù)據(jù)的實(shí)時(shí)性,減少數(shù)據(jù)量傳輸且增加檢測精度,需將視頻RGB格式轉(zhuǎn)換成YCbCr格式[10-11],方便FPGA對數(shù)據(jù)進(jìn)行實(shí)時(shí)處理[12],轉(zhuǎn)換公式為
Y=0.299R+0.587G+0.114B,
(1)
Cb=-0.172R-0.339G+0.511B+128,
(2)
Cr=0.511R-0.428G-0.083B+128.
(3)
以上是理論上的變換公式,若是直接在FPGA上面進(jìn)行處理,會消耗大量FPGA邏輯單元,同時(shí)也不能保證對數(shù)據(jù)進(jìn)行快速實(shí)時(shí)處理,所以需要對上述公式進(jìn)行變換,分別對式⑴、⑵、⑶進(jìn)行放大256倍然后再右移8位的方式來操作,具體變換公式為
Y=((77R+150G+29B)?8),
(4)
Cb=((-43R-85G+128B)?8)+128,
(5)
Cr=((128R-107G-21B)?8)+128.
(6)
由于視頻格式Y(jié)CbCr中的Y代表圖像的亮度
分量,Cb和Cr分別代表色彩和飽和度,所以在數(shù)據(jù)輸出時(shí)只輸出Y通道的數(shù)據(jù)即可.
2.2.2中值濾波處理
在圖像采集和處理過程中會帶入各種噪聲,而且傳感器本身也會產(chǎn)生一定的噪聲影響,所以必須對采集后的圖像進(jìn)行降噪處理[13-14].中值濾波處理的結(jié)構(gòu)框圖如圖5所示,先求出每一行的最大值、中值、最小值,然后再對每一列最大值中求出最小值,在中值中求出中值,在最小值中求出最大值,圖6是利用modelsim進(jìn)行仿真后的中值濾波結(jié)果.
圖5 中值濾波框圖
圖6 仿真后的結(jié)果
2.3SDRAM仲裁模塊
傳感器捕獲后的數(shù)據(jù)為640像素×480像素,每個(gè)數(shù)據(jù)單元占用16 bit,那么攝像頭傳送的數(shù)據(jù)是將近30萬個(gè)16 bit,為達(dá)到最大數(shù)據(jù)流的傳送,設(shè)置SDRAM為順序讀/寫模式,同時(shí)以全頁讀/寫的方式進(jìn)行突發(fā)讀/寫操作,并采用SDRAM內(nèi)部乒乓機(jī)制,實(shí)現(xiàn)最大視頻流的傳送,圖7為SDRAM模塊結(jié)構(gòu)框架.為了保持時(shí)鐘的全局性,采用外部PLL來生成SDRAM驅(qū)動時(shí)鐘和SDRAM控制時(shí)鐘,其中兩個(gè)時(shí)鐘均為100 MHz,相位差在-3 ns~+1 ns之間.由于數(shù)據(jù)讀入與數(shù)據(jù)讀出來自兩個(gè)不同的時(shí)鐘域,RD_FIFO讀模塊和WR_FIFO寫模塊用來作為跨時(shí)鐘域數(shù)據(jù)緩存模塊.SDRAM邏輯控制模塊中,實(shí)現(xiàn)乒乓操作,達(dá)到最大數(shù)據(jù)流傳送.SDRAM命令接口和控制接口在外部PLL的控制下,完成SDRAM初始化、預(yù)充電、讀寫控制,以及刷新等操作,最后將數(shù)據(jù)送給VGA顯示模塊[15-17].
2.4VGA控制模塊
經(jīng)光學(xué)放大系統(tǒng)后采集到的圖像,需要實(shí)時(shí)觀
察采集到的條紋是否有失真現(xiàn)象,所以系統(tǒng)采用專用視頻編碼芯片ADV7123,其能夠?qū)D像數(shù)據(jù)轉(zhuǎn)換成模擬信號,并且最大限度地還原原始信號.所設(shè)計(jì)的測試ADV7123模塊的RTL視圖如圖8所示.
圖7 SDRAM模塊結(jié)構(gòu)框圖
圖8 ADV7123測試模塊
3系統(tǒng)調(diào)試與驗(yàn)證
整個(gè)精密光柵尺圖像采集系統(tǒng)如圖9所示,增量式光柵尺固定在支架上,數(shù)據(jù)采集卡主控芯片采用Altera公司的Cyclone IV系列EP4CE10E22C8N,并搭載Quartus II 15.0軟件開發(fā)平臺進(jìn)行程序的編寫,配備金相物鏡及CMOS傳感器對光柵尺條紋進(jìn)行放大及圖像處理,在直線電機(jī)運(yùn)動控制平臺的驅(qū)動下,隨著鏡頭的緩慢移動,能保持圖像清晰可見、不失真.
圖9 光柵圖像采集實(shí)驗(yàn)平臺
4結(jié)論
本文以增量式光柵尺作為圖像采集對象,以提高圖像采集的實(shí)時(shí)性為前提,設(shè)計(jì)了精密光柵尺圖像采集系統(tǒng),并對圖像進(jìn)行預(yù)處理.文中對系統(tǒng)各個(gè)模塊的設(shè)計(jì)與原理進(jìn)行了詳細(xì)的說明,并在FPGA上進(jìn)行實(shí)現(xiàn),得到了放大后的清晰圖像.文中的設(shè)計(jì)方法具有一定的通用性,易于實(shí)現(xiàn),為下一步DSP實(shí)施精確位置距離算法方案提供了準(zhǔn)確的數(shù)據(jù).
參考文獻(xiàn):
[1] KIMURA A, GAO W, KIM W, et al. A sub-nanometric three-axis surface encoder with short-period planar gratings for stage motion measurement[J]. Precision Engineering. 2012, 36(4): 576-585.
[2] SHINNO H, YOSHIOKA H, GOKAN T.A newly developed three-dimensional profile scanner with nanometer spatial resolution[J].CIRP Annals-Manufacturing Technology, 2010, 1(59):525-528.
[3] BUICE E S, OTTEN D, YANG R H. Design evaluation of a single-axis precision controlled positioning stage[J].Precision Engineering, 2010, 4(33):418-424.
[4] LIU C H, JYWE W Y, JENG Y R. Design and control of a long-traveling nano-positioning stage[J].Precision Engineering, 2010, 3(34):497-506.
[5] 彭東林.時(shí)柵位移傳感器與新型機(jī)床動態(tài)檢測系統(tǒng)[M].北京:科學(xué)出版社, 2010.
[6] 付敏.新型光場式時(shí)柵位移傳感器原理與實(shí)驗(yàn)研究[D].重慶:重慶大學(xué)機(jī)械工程學(xué)院, 2014.
[7] 鄭洪. 單道編碼CCD細(xì)分直線編碼器的研究[J]. 中國機(jī)械工程, 2003,31(3): 21-23.
ZHENG H. Study on single-channel coding CCD linear encoder segments[J]. China Mechanical Engineering, 2003,31(3): 21-23.
[8] 鄧春健,王琦,徐秀知,等.基于FPGA和ADV7123的VGA顯示接口的設(shè)計(jì)和應(yīng)用[J].電子器件,2006,4(29):1325-1328.
DENG C J, WANG Q, XU X Z, et al. Design and application of VGA display interface based on FPGA and ADV7123[J].Chinese Journal of Electron Devices, 2006,4(29):1325-1328.
[9] 應(yīng)小軍,李瑜煜.基于FPGA的CMOS圖像傳感器驅(qū)動電路設(shè)計(jì)[J].廣東工業(yè)大學(xué)學(xué)報(bào), 2015, 32(1):71-74.
YING X J, LI Y Y. Design of drive circuit of CMOS image sensor based on FPGA[J]. Journal of Guangdong University of Technology, 2015, 32(1):71-74.
[10] 向方明,朱遵義,許敬,等. YUV到RGB顏色空間轉(zhuǎn)換算法研究[J].現(xiàn)代電子技術(shù), 2012, 35(22):65-68.
XIANG F M, ZHU Z Y, XU J, et al. Research on algorithms of color space conversion from YUV to RGB[J]. Modern Electronics Technique, 2012, 35(22):65-68.
[11] 宋冠群,段哲民,馮飛.基于FPGA的色度空間轉(zhuǎn)換設(shè)計(jì)[J].電子測量技術(shù), 2007, 30(1):178-180.
SONG G Q, DUAN Z M, FENG F. Design of color space transform based on FPGA[J]. Electronic Measurement Technology, 2007, 30(1):178-180.
[12] 金曉冬,常青.基于FPGA的RGB到Y(jié)CbCr色空間轉(zhuǎn)換[J].現(xiàn)代電子技術(shù), 2009,16(18):73-75.
JIN X D, CHANG Q. RGB to YCbCr color space transform based on FPGA[J]. Modern Electronics Technique, 2009,16(18):73-75.
[13] 楊晶,王元慶.實(shí)時(shí)高速實(shí)現(xiàn)改進(jìn)型中值濾波算法[J].計(jì)算機(jī)與現(xiàn)代化, 2013,20(8):30-32.
YANG J, WANG Y Q. Implementation of improved median filter algorithm in real-time and high-speed[J]. Computer and Modernization, 2013(8):30-32.
[14] 李飛飛,劉偉寧,王艷華.改進(jìn)的中值濾波算法及其FPGA快速實(shí)現(xiàn)[J].計(jì)算機(jī)工程, 2009, 35(14):175-177.
LI F F, LIU W N, WANG Y H. Improved median filtering algorithm and its fast implementation in FPGA[J]. Computer Engineering, 2009, 35(14):175-177.
[15] 丁昊杰,劉敬彪,盛慶華.基于CMOS圖像傳感器的視頻采集系統(tǒng)設(shè)計(jì)[J]. 現(xiàn)代電子技術(shù). 2012, 35(14): 178-181.
DING H J, LIU J B, SHENG Q H. Design of video acquisition system based on CMOS image sensor[J]. Modern Electronics Technique. 2012, 35(14): 178-181.
[16] 鄧興漢,楊恢東.基于FPGA的視頻圖像采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 微計(jì)算機(jī)信息. 2010, 26(32): 138-139.
DENG X H, YANG H D. Design and implementation of a video image acquisition module based on FPGA[J]. Control & Automation. 2010, 26(32): 138-139.
[17] 杜玉曉,張浩騰,陳汶育,等.基于FPGA的高速多通道實(shí)時(shí)同步采集傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].廣東工業(yè)大學(xué)學(xué)報(bào), 2013, 30(3):37-44.
DU Y X, ZHANG H T, CHEN W Y, et al. The design and implementation of high-speed multi-channel and real-time synchronous acquisition transmission system based on FPGA[J]. Journal of Guangdong University of Technology, 2013, 30(3):37-44.
Design of Image Acquisition and Preprocessing of Precise Linear Encoder Based on FPGA
Cai Tie-gen, Huang Ming-hui, Li Cheng-xiang, Yang Zhi-jun
(School of Electromechanical Engineering, Guangdong University of Technology, Guangzhou 510006, China)
Abstract:According to the method of image acquisition for analyzing precision linear encoder displacement with the problem of low acquisition speed, an image and pre-processing system of encoding and decoding is designed in which FPGA is the core device. All modules are accomplished by taking Altera’s Cyclone IV series EP4CE10E22C8N as the main control chip, designed on Quartus II 15.0 which is software development platform. Each module has repeating tests to accomplish the function. The result is real-time displayed on VGA monitor and provides a reliable pretreatment data for next DSP realization of linear encoder displacement measurement.
Key words:field programmable gate array(FPGA); linear encoder; image acquisition; image pre-processing
收稿日期:2015- 06- 17
基金項(xiàng)目:廣東省自然科學(xué)基金資助項(xiàng)目(408224931073)
作者簡介:蔡鐵根(1991-),男,碩士研究生,主要研究方向?yàn)橐曨l圖像處理.通信作者: 楊志軍(1977-),男,教授,主要研究方向?yàn)闄C(jī)械系統(tǒng)動力學(xué)建模仿真與優(yōu)化、界面動力學(xué)、微流固耦合建模. E-mail:yangzj@gdut.edu.cn
doi:10.3969/j.issn.1007- 7162.2016.03.011
中圖分類號:TP212
文獻(xiàn)標(biāo)志碼:A
文章編號:1007-7162(2016)03- 0060- 05