趙漢青 郎寶華
(西安工業(yè)大學電子信息工程學院 西安 710021)
?
基于FPGA的灰度圖像采集系統(tǒng)設計*
趙漢青郎寶華
(西安工業(yè)大學電子信息工程學院西安710021)
摘要圖像采集是視頻監(jiān)控、圖像識別、多媒體數據分析等常用圖像處理系統(tǒng)的前端基礎,而采集灰度圖像可以更加便捷地進行后端復雜的圖像算法處理。于是設計實現一種基于FPGA的灰度圖像采集系統(tǒng),系統(tǒng)主要采用OV7670圖像傳感器采集圖像數據,并在主控FPGA內部配合SDRAM緩存,經過系統(tǒng)圖像預處理,采集得到所需的灰度圖像并顯示。該系統(tǒng)有性能穩(wěn)定、成本低、可靠性高等優(yōu)點,在工業(yè)生產、醫(yī)療視頻等領域具有良好的應用價值。
關鍵詞FPGA; 圖像采集; 圖像預處理
Design of Gray Image Acquisition System Based on FPGA
ZHAO HanqingLANG Baohua
(School of Electronic Information Engineering, Xi’an Technological University, Xi’an710021)
AbstractImage acquisition is the front-end basis of video monitoring, image recognition, multimedia data analysis and other common image processing system, and gray image acquired can be more easily used in the back-end complex image algorithm processing. Then a gray image acquisition system is designed and implemented based on FPGA, the OV7670 image sensor will be mainly used in the system to capture image data, and the FPGA will be taken as the master chip, with the SDRAM as data buffer, through the system image data pretreatment, the desired gray image will be acquired and displayed. The system has the advantages of stable performance, low cost and high reliability, and it has great applicable value in industrial production, medical video and other fields.
Key WordsFPGA, image acquisition, image data pretreatment
Class NumberTP391.41
1引言
近年來隨著集成電路技術和圖像處理技術的迅速發(fā)展,圖像采集及相應處理技術在工農業(yè)生產、交通運輸、環(huán)境監(jiān)測、軍事防護、醫(yī)療設施以及人們日常安防中有了非常廣泛的應用。在圖像處理領域,灰度圖像被廣泛使用作為圖像處理的源圖像,因此,采集灰度圖像作為圖像處理的前提步驟,具有很大的研究意義。FPGA作為當今主流的大規(guī)??删幊碳呻娐?采用硬件邏輯實現數據處理和運算,具有集成度高、速度快、性能穩(wěn)定、開發(fā)周期短、體積小、便于升級等特點,適用于灰度圖像的高速采集處理。因此,設計一種基于FPGA的灰度圖像采集系統(tǒng),可為后續(xù)復雜的圖像處理工作打好扎實的基礎。
2系統(tǒng)總體設計
系統(tǒng)設計的主要內容是基于FPGA的灰度圖像采集系統(tǒng),該系統(tǒng)要求前端采集時能夠高速、準確地采集灰度圖像。設計該系統(tǒng)以FPGA作為核心控制器,控制片外各個接口電路,將圖像信號采集、預處理以及控制集中在一起,通過VGA驅動在顯示器上顯示采集到的灰度圖像。
基于FPGA的灰度圖像采集系統(tǒng)結構如圖1所示。整個系統(tǒng)的硬件組成部分包括:圖像傳感器采集電路、FPGA主控制電路、SDRAM緩存電路和VGA顯示電路等。它的基本工作原理是:以FPGA作為主控芯片,利用內部各軟件模塊來控制片外接口電路,通過SCCB配置接口設置圖像傳感器進行高速采集,初始化圖像輸出格式為YUV4:2:2,圖像采集模塊通過實時讀出的行、場同步信號以及像素時鐘,按照使用手冊的采集時序將8位圖像數據信號接收到FPGA中,FPGA將讀入的8位圖像數據轉換成16位YUV數據,即可得到兩個像素的YUV值。SDRAM將采集到的YUV圖像進行緩存,由于OV7670、SDRAM和VGA數據傳輸不同步,因此需要依靠寫FIFO和讀FIFO進行數據緩沖。圖像預處理模塊將Y分量提取得到所需的灰度圖像,通過圖像顯示模塊在VGA顯示電路驅動顯示。
圖1 采集系統(tǒng)結構
2.1FPGA選型
FPGA(Field-Programmable Gate Array)即現場可編程門陣列,具有性價比高、開發(fā)周期短、反復現場編程修改、速度快、集成度高、低功耗等特點。考慮到設計需要低成本、高性能、低功耗,本設計FPGA選用美國Altera公司的CycloneIV E系列FPGA EP4CE6F17C8,使用Verilog硬件描述語言在Quartus Ⅱ軟件平臺進行代碼編寫。硬件設計了FPGA主控制電路,FPGA主控制電路由FPGA芯片、時鐘電路、復位電路、電源電路、配置電路等部分構成,保證系統(tǒng)可以正常的工作,完成灰度圖像采集功能。
2.2圖像傳感器選擇
圖像傳感器通常分為CCD傳感器或者CMOS傳感器。相比CCD傳感器,CMOS傳感器的優(yōu)點是幾何尺寸小、集成性高、外圍電路簡單、功耗低、編程方便、成本低。設計時選擇美國Omnivision公司的CMOS圖像傳感器OV7670。它體積小,工作電壓低,價格低廉,提供單片VGA攝像頭和影像處理器的所有功能。其VGA圖像采集速率最高達到30幀/s,感光陣列共有656*488個像素,其中有效像素為640*480個。通過SCCB(Serial Camera Control Bus)總線控制,可以輸出Raw RGB, RGB 5∶6∶5/5∶5∶5/4∶4∶4,YCbCr(YUV) 4∶2∶2等數據格式,并具有曝光控制、伽馬曲線、白平衡、增益控制、飽和度、色度調整等圖像處理功能。
3系統(tǒng)功能模塊設計
在FPGA內部均采用Verilog硬件描述語言在Quartus Ⅱ軟件中進行功能模塊設計,各個模塊間相互配合,完成所需功能。
1) 圖像數據采集模塊:FPGA對OV7670進行初始化,即按照SCCB總線時序協(xié)議配置OV7670內部200多個寄存器,對圖像數據的格式參數進行設置。SCCB總線協(xié)議與I2C總線協(xié)議相似,如圖2所示,因此適當修改I2C總線協(xié)議即可編寫SCCB總線配置模塊。寄存器配置如圖3所示,SCCB總線協(xié)議的第一個字節(jié)是ID地址,第二個字節(jié)是選擇配置OV7670芯片中的寄存器地址,第三個字節(jié)寫入對應的配置參數,結束時從SDAT線上讀取應答信號。
圖2 SCCB總線協(xié)議
圖3 SCCB配置數據
設計選擇圖像輸出格式YUV 4∶2∶2格式,且輸出順序為UYVY,通過SCCB總線協(xié)議配置相應的寄存器。幾個重要的寄存器配置如表1所示。圖像數據采集模塊分為兩個小模塊,分別是根據SCCB協(xié)議和寄存器參數配置編寫的SCCB總線配置模塊,以及根據圖像采集時序編寫的圖像采集控制模塊,根據圖4的時序可以準確接收采集的圖像數據。
表1 重要寄存器配置
圖4 圖像采集時序
Quartus Ⅱ軟件平臺集成了Signal Tap Ⅱ邏輯分析儀,利用FPGA內部剩余RAM資源可以捕獲和顯示實時信號,圖5就是實際對圖像采集時的數據輸出情況。調試CMOS圖像傳感器時設置為固定UV輸出,調試結果與時序圖相同,當VSYNC場有效信號后,行有效信號HERF上升沿開始采集,PCLK是連續(xù)的,每個時鐘采集一次。采集圖像的每一個像素的YUV要分兩次采集,第一次采集U0Y0,第二次采集V0Y1,亮度信號Y0和Y1共用色度信號U0V0。
圖5 SignalTap Ⅱ調試結果
2) SDRAM控制模塊:在各種存儲器中,SDRAM以其體積小、容量大、速度快、價格低,適合前端圖像數據的采集。SDRAM主要用于16位像素信息的讀寫,實現對圖像數據的緩沖。SDRAM的初始化過程為如圖6所示。首先上電后需要200μs的延時達到輸入穩(wěn)定期,在這個時間內不可以對SDRAM的接口做任何操作;200μs以后對所有的L-Bank預充電,之后SDRAM進行8次刷新命令;最后對SDRAM的模式寄存器進行設置。在進行完初始化過程以后就可以正常對SDRAM進行讀寫,SDRAM的讀寫可以通過配置寄存器實現突發(fā)長度和突發(fā)類型的設置。SDRAM正常讀寫狀態(tài)由如圖7所示SDRAM控制狀態(tài)機順序執(zhí)行。
圖6 SDRAM初始化過程
圖7 SDRAM控制狀態(tài)機
由于SDRAM的讀寫時鐘為100MHz,而OV7670和VGA的時鐘為25MHz,數據傳輸不同步。為了保證數據完整、準確,因此需要兩個FIFO(First Input First Output)進行數據緩沖來實現在不同時鐘域之間的數據傳輸,預防亞穩(wěn)態(tài)問題。使用FIFO很好地實現了異步時鐘數據交換的問題,FIFO模塊由Quartus Ⅱ集成的IP核生成。寫FIFO模塊由OV7670采集模塊控制,將圖像信號寫入SDRAM,讀FIFO模塊由VGA顯示模塊控制,讀取SDRAM中的圖像信息。
3) 圖像預處理模塊:YUV格式的圖像是由Y(亮度)、U(色彩)、V(飽和度)復合而成,它有4∶4∶4、4∶2∶2、4∶2∶0等數據格式。設計的圖像傳感器輸出為YCbCr(YUV) 4∶2∶2格式,即水平方向上UV的采樣速度為Y的一半,相當于每兩個點采集一個U、V,每一個點采樣一個Y,通過犧牲色度的采樣率達到圖像數據壓縮的目的。設計中對圖像傳感器傳輸的圖像數據進行預處理,將YUV格式的圖像數據去除UV色度分量,單獨將Y亮度分量分離出來,即可得到所需的灰度圖像,進而傳輸給VGA顯示模塊正常顯示。
4) 圖像顯示模塊:設計中圖像VGA顯示采用640*480@60Hz顯示標準,根據如圖8所示VGA的工業(yè)時序標準設計VGA顯示模塊,按照表2的各個時間參數,產生VGA顯示所用行同步信號、場同步信號以及顯示所需的行坐標、列坐標。在VGA顯示數據有效時期內,通過圖像行列坐標控制預處理過的灰度圖像數據讀出,然后將圖像數據及部分控制信號輸入VGA驅動電路對應的接口,灰度圖像數據最終經D/A轉換,從VGA接口傳送到顯示器中進行顯示。
圖8 VGA工業(yè)時序
顯示標準時鐘(Mhz)行時序場時序abcdeopqrs640*480@60Hz25.17596486401680023348010525
4系統(tǒng)測試結果
圖9 灰度圖像采集測試平臺
通過Verilog硬件描述語言在Quartus Ⅱ軟件平臺上進行編寫了各軟件模塊并下載配置到FPGA開發(fā)板上,對主要模塊都進行了相關調試,尤其是對圖像傳感器的多個相關寄存器進行了一一設置,使其可以采集到清晰、對比度較高的灰度圖像。灰度圖像采集系統(tǒng)測試平臺如圖9所示,測試結果如圖10所示,可見系統(tǒng)FPGA通過圖像傳感器采集到了圖像數據,經過圖像預處理,獲得所需的灰度圖像,最后在顯示器上顯示出來。
圖10 灰度圖像采集測試結果
5結語
本文設計了一種基于FPGA的灰度圖像采集系統(tǒng),并且在開發(fā)板上采用Verilog硬件描述語言編寫模塊實現了灰度圖像的采集以及顯示。設計該系統(tǒng)硬件結構簡單、系統(tǒng)穩(wěn)定、速度快,為后續(xù)的復雜圖像算法處理做好基礎,具有一定的實用價值。同時,采用可編程邏輯器件FPGA作為主控芯片,通過部分模塊的開發(fā)與升級,還可以擴展其他相應功能。
參 考 文 獻
[1] 宋宜良.基于FPGA和DSP的實時圖像處理系統(tǒng)設計[D].大連:大連理工大學,2009.
SONG Yiliang. Design of Real Time Image Processing System Based on FPGA and DSP[D]. Dalian: Dalian University of Technology,2009.
[2] 丁昊杰,劉敬彪,盛慶華.基于CMOS圖像傳感器的視頻采集系統(tǒng)設計[J].現代電子技術,2012(14):178-181.
DING Haojie, LIU Jingbiao, SHENG Qinghua. Design of Video Capture System Based on CMOS Image Sensor[J]. Modern Electronics Technique,2012(14):178-181.
[3] 楊麗杰.基于FPGA的快速圖像處理系統(tǒng)[D].哈爾濱:哈爾濱工業(yè)大學,2012.
YANG Lijie. Fast Image Processing System Based on FPGA[D]. Harbin: Harbin Institute of Technology,2012.
[4] 焦文喆,翟正軍,任嵐昆.基于FPGA的圖像采集卡及其驅動設計[J].國外電子測量技術,2010,29(3):57-58.
JIAO Wenzhe, ZHAI Zhengjun, REN Lankun. Image Acquisition Card and Driver Design Based on FPGA[J]. Foreign Electronic Measurement Technology,2010,29(3):57-58.
[5] 熊文彬,蔣泉,曲建軍,等.基于FPGA實現的視頻顯示系統(tǒng)[J].液晶與顯示,2011,26(1):92-95.
XIONG Wenbin, JIANG Quan, QU Jianjun, et al. The Video Display System Based on FPGA[J]. Chinese Journal of Liquid Crystals and Displays,2011,26(1):92-95.
[6] 蘆薇,徐磊.基于FPGA的OV7620視頻信息獲取系統(tǒng)[J].光學與光電技術,2010(3):49-53.
LU Wei, XU Lei. The OV7620 Video Information Acquisition System Based on FPGA[J]. Optics & Optoelectronic Technology,2010(3):49-53.
[7] 李德明,韓建,江國強.基于OV7670的圖像采集及顯示系統(tǒng)設計[J].儀器儀表學報,2010(8):30-33.
LI Deming, HAN Jian, JIANG Guoqiang. Image Acquisition and Display System Design Based on OV7670[J]. Chinese Journal of Scientific Instrument,2010(8):30-33.
[8] 王紹雷,趙進創(chuàng).基于FPGA的圖像邊緣檢測系統(tǒng)的設計[J].電子技術應用,2007(6):40-42.
WANG Shaolei, ZHAO Jinchuang. Design of Image Edge Detection System Based on FPGA[J]. Application of Electronic Technique,2007(6):40-42.
[9] 胡瑤榮.基于FPGA的實時視頻采集系統(tǒng)[J].電視技術,2005,29(2):81-83.
HU Yaorong. A Real Time Video Acquisition System Based on FPGA[J]. Video Engineering,2005,29(2):81-83.
[10] 宋海吒,唐立軍,謝新輝.基于FPGA和OV7620的圖像采集及VGA顯示[J].電視技術,2011,35(5):45-47.
SONG Haizha, TANG Lijun, XIE Xinhui. Image Acquisition and VGA Display Based on FPGA and OV7620[J]. Video Engineering,2011,35(5):45-47.
中圖分類號TP391.41
DOI:10.3969/j.issn.1672-9722.2016.03.033
作者簡介:趙漢青,男,碩士研究生,研究方向:圖像采集及圖像處理等。郎寶華,男,博士,副教授,研究方向:高精度交流電機控制、嵌入式系統(tǒng)等。
收稿日期:2015年9月10日,修回日期:2015年10月26日