文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.172946
中文引用格式: 高俊嶺,,陳志飛,章佩佩. 基于FPGA的實時視頻圖像采集處理系統(tǒng)設(shè)計[J].電子技術(shù)應(yīng)用,,2018,,44(2):10-12,19.
英文引用格式: Gao Junling,,Chen Zhifei,,Zhang Peipei. Design of real time video image acquisition and processing system based on FPGA[J]. Application of Electronic Technique,2018,,44(2):10-12,,19.
0 引言
隨著社會的不斷發(fā)展,視頻圖像采集處理技術(shù)在許多行業(yè)領(lǐng)域中扮演著非常重要的角色,,如軍事,、安全監(jiān)控、工業(yè)視覺等領(lǐng)域,,而各行各業(yè)對于視頻圖像采集和處理技術(shù)的要求也越來越高,。高速、實時性是主要發(fā)展趨勢之一,。目前,,視頻圖像采集與處理技術(shù)的發(fā)展主要分為兩類:一是基于PC在相關(guān)特定的PCIe采集板卡的基礎(chǔ)上,通過軟件對視頻圖像進(jìn)行處理,;二是利用相關(guān)的集成硬件如DSP,、MCU、FPGA等對視頻圖像進(jìn)行采集處理[1],。相對來講后者的處理效果不如前者,,但實時性好、體積小,、方便使用,,更適合于工業(yè)的需求。
FPGA現(xiàn)場可編程邏輯門列,,采用并行運(yùn)算模式,,且工作頻率較高,可對大量數(shù)據(jù)進(jìn)行實時操作與處理,,在通信領(lǐng)域,、圖像處理等方面上優(yōu)勢明顯[2]。因此,,本設(shè)計選用FPGA作為系統(tǒng)的控制和數(shù)據(jù)處理中心,。
1 系統(tǒng)總體概述
基于FPGA的視頻采集處理系統(tǒng)可分為:視頻采集模塊,、圖像存儲模塊,、數(shù)據(jù)處理模塊和圖像顯示模塊。工作過程為:首先,,F(xiàn)PGA通過IIC總線協(xié)議對攝像頭進(jìn)行初始化配置,,攝像頭對焦工作拍攝采集圖像,,然后,采集的視頻數(shù)據(jù)通過FIFO緩存器不斷寫入到DDR2 SDRAM中存儲,,再經(jīng)過FIFO緩存器讀出視頻數(shù)據(jù),,接著,選擇性對讀出的視頻圖像數(shù)據(jù)進(jìn)行處理,,最后在VGA上顯示視頻圖像,。系統(tǒng)的總體框圖如圖1所示。
2 中央控制單元
2.1 FPGA
從FPGA硬件開發(fā)的角度考慮,,利用EDA開發(fā)軟件和硬件描述語言Verilog編程,,對FPGA芯片進(jìn)行開發(fā),得到其工程要求的硬件功能,。對比傳統(tǒng)的硬件設(shè)計開發(fā),,減少了器件的浪費(fèi)和多次焊接的工作量,設(shè)計過程也更加靈活,、方便,、高效。
另外,,F(xiàn)PGA要實現(xiàn)對每個模塊的控制和處理,,除并行數(shù)據(jù)處理優(yōu)點外,自身必須擁有較多I/O口,,豐富的邏輯單元等,。鑒于此,選用了Alter公司研發(fā)的Cyclone IV系列的EP4CE617C8,。此款FPGA擁有179個I/O接口,,62 792個邏輯單元,392個乘法器,,且功耗低,。
2.2 視頻圖像采集模塊
CMOS OV7670圖像傳感器,其體積小,,工作電壓小,,640×380像素,可選用自帶的降噪,、數(shù)模轉(zhuǎn)換,、分頻等功能,是較好的視頻圖像采集選擇,。FPGA通過IIC總線協(xié)議與CMOS攝像頭進(jìn)行初始化配置,。IIC總線寫入前,CMOS攝像頭的SCLK和SDAT引腳必須帶上拉電阻。IIC總線寫入時,,首先寫入設(shè)備地址,,CMOS的初始地址為0x42,其次寫入寄存器地址,,最后寫入數(shù)據(jù),。其IIC總線數(shù)據(jù)寫入流程如圖2所示。
IIC總線與CMOS的數(shù)據(jù)通信后,,配置CMOS攝像頭控制寄存器,。時鐘配置使用外部時鐘即FPGA的工作時鐘頻率,目的是更好地控制CMOS攝像頭,。PLL寄存器配置零分頻,、使能內(nèi)部線性穩(wěn)壓器LDO,內(nèi)部電壓工作穩(wěn)定,。配置的Verilog部分代碼分別依次為:
SET_OV7670+19 : LUT_DATA=16'h1180,;
SET_OV7670:5 : LUT_DATA=16'h6b00;
其他相關(guān)控制寄存器中,,配置了水平鏡像,、關(guān)閉彩條、視頻格式RGB565等功能,。保證其能在系統(tǒng)高速運(yùn)行下采集到可靠度大,、信息性強(qiáng)的視頻圖像數(shù)據(jù)。
2.3 系統(tǒng)存儲模塊
2.3.1 DDR2 SDRAM
DDR2 SDRAM作為系統(tǒng)存儲器,,選用采用1 GB內(nèi)存的DDR2 800系列 SDRAM作為存儲器,。DDR2工作時鐘頻率為200 MHz[2],具有讀寫速度快,、集成度高,、存儲容量大以及成本低等特點。其操作速率是普通SDRAM的4倍,,能夠較好地達(dá)到系統(tǒng)實時性的要求,。
DDR2不僅能在系統(tǒng)時鐘控制下工作,也可以獨(dú)立的進(jìn)行操作,,如自刷新,、自預(yù)充電凈化等,其控制復(fù)雜[3],。因此,,利用Quartus II自帶的IP核構(gòu)建DDR2 SDRAM控制器。同時也生成了Altera數(shù)字PHY,。PHY是連接DDR2 內(nèi)核控制器和外部DDR2器件的橋梁,。PHY擁有四層接口,分別為帶local_*類的用戶邏輯接口、帶mem_*類的外部DDR2芯片接口,、帶ctl_*和ctl_mem_*的PHY與IP控制器相互連接的接口,。其功能框圖如圖3所示,。
IP內(nèi)核控制器的使用將DDR2復(fù)雜的控制操作轉(zhuǎn)變成用戶簡單的讀寫時序操作,,因此,DDR2存儲模塊可設(shè)計分為時鐘,、復(fù)位,、初始化、控制,、數(shù)據(jù)通道和仲裁等子模塊,。其中數(shù)據(jù)通道子模塊建立了DDR2連接FIFO緩存器的通道。
2.3.2 FIFO
FIFO是一種先入先出的存儲器,,沒有地址定義,,使用簡單。FIFO只能順序讀寫數(shù)據(jù),,確保了數(shù)據(jù)的安全性,。由此,在多數(shù)情況下作為系統(tǒng)數(shù)據(jù)緩沖器使用[5],。
在Quartus II的內(nèi)核中,,建立異步FIFO的控制器。異步FIFO,,即讀寫操作時鐘信號不一致,,有利于圖像數(shù)據(jù)的緩沖。wrusedw信號控制著數(shù)據(jù)的讀寫請求,。當(dāng)wrusedwd等于FIFO深度值4時(為方便說明,,仿真的FIFO深度為4),表示FIFO已空,,Write_Req信號有效,,只能寫入數(shù)據(jù)。wrusedw為0,,表示FIFO已滿,,Read_Req信號有效,只能讀出數(shù)據(jù),。wrusedwd為其余值,,則讀、寫數(shù)據(jù)請求都可執(zhí)行,。如圖4所示,。
3 視頻圖像處理模塊
本文通過Sobel邊緣檢測對圖像數(shù)據(jù)進(jìn)行處理。邊緣檢測意義在于能夠獲取目標(biāo)物體的邊緣信息,有利于目標(biāo)識別和追蹤[6],。Sobel邊緣檢測算法具有計算量小,、檢測精度高等優(yōu)點,也是最常用的圖像邊緣處理方法之一,。
Sobel邊緣檢測算法過程:首先,,確立Sobel算子模板,它包含了橫縱向兩組3×3運(yùn)算算子矩陣模板,。如下式:
其次,,利用水平和垂直方向的矩陣算子與原始圖像像素點進(jìn)行平面卷積分運(yùn)算,算出X,、Y兩個方向上的一階導(dǎo)數(shù)梯度值[7],,如下式:
然后,把計算出的X,、Y方向梯度值做平方求和后再開方,,得到中心點的梯度值。如下式:
最后,,中心點梯度值與設(shè)定的閾值互相比較,,大于閾值的為邊緣點,輸出為黑色,,小于閾值的為普通點,,輸出為白色[8-9]。
Sobel邊緣檢測的實現(xiàn)包括緩沖模塊,、計算卷積模塊和門級處理模塊,。其中,緩沖模塊使用基于RAM的移位寄存器altshift_taps,,卷積計算模塊使用6個可編程乘加器aitmult_add和2個并行加法器parallel_add計算出水平和垂直的梯度值,,再通過浮點平方根altfr_sqrt得到中心點值。門級處理模塊即閾值的比較[10],。原理過程如圖5所示,。
4 實驗
完成系統(tǒng)硬件設(shè)計后,保存工程文件,。并繪制電路原理圖和PCB圖,。最后,制作電路板,。完成所有工作后,,建立系統(tǒng),進(jìn)行實驗,。
實驗一:實時視頻圖像采集顯示實驗,。首先,,F(xiàn)PGA控制CMOS 7670采集圖像;然后,,F(xiàn)PGA對采集圖像數(shù)據(jù)傳輸和存儲,;最后,通過VGA顯示圖像,。其畫面清晰,、流暢。實驗結(jié)果如圖6所示,。
實驗二:Sobel邊緣檢測算法處理視頻圖像顯示實驗,。在實驗一的基礎(chǔ)上,,增加了對圖像數(shù)據(jù)的Sobel邊緣檢測處理,,再通過VGA進(jìn)行顯示。圖像中物體輪廓提取明顯,,且實時性較好,。實驗結(jié)果如圖7所示。
5 結(jié)論
實時視頻圖像采集與處理技術(shù)廣泛用于監(jiān)控,、工業(yè)視覺等領(lǐng)域,。本系統(tǒng)以FPGA核心,充分利用其高速,、大數(shù)據(jù)處理能力和硬件編程設(shè)計等特點,,結(jié)合相關(guān)器件,實現(xiàn)了對視頻圖像的采集,、處理和顯示,。實驗結(jié)果畫面清晰、流暢,,效果好,。同時在此基礎(chǔ)上,增加了對物體的邊緣檢測,,在物體追蹤和識別方面也具有一定的實用意義,。
參考文獻(xiàn)
[1] 田杰,玉廣龍,,喬中濤,,等.基于FPGA高速視頻圖像實時采集與處理系統(tǒng)設(shè)計[J].電子器件,2016,,39(3).
[2] 王誠,,蔡海寧,吳繼華.Alter FPGA/CPLD設(shè)計[M].北京:人民郵電出版社,,2011.
[3] 李原.DDR/DRR2接口的FIFO設(shè)計[D].西安:西安電子科技大學(xué),,2009.
[4] 吳厚航.例說FPGA:可直接用于工程項目的第一手經(jīng)驗[M].北京:機(jī)械工業(yè)出版社,,2016.
[5] 梅傲寒.基于FPGA的無線圖像采集傳輸系統(tǒng)的設(shè)計與研究[D].合肥:安徽大學(xué),2016.
[6] 丁繼生.基于FPGA的數(shù)字圖像處理算法研究及實現(xiàn)[D].合肥:合肥工業(yè)大學(xué),,2015.
[7] 羅琳.基于FPGA的快速圖像處理算法的研究與實現(xiàn)[D].重慶:重慶交通大學(xué),,2015.
[8] 馬苗,樊養(yǎng)余,,謝松元,,等.基于灰色系統(tǒng)理論的圖像邊緣檢測新算法[J].中國圖像圖形學(xué)報,2003,,10(10):1136-1139.
[9] 仝海峰.基于FPGA的視頻圖像邊緣檢測優(yōu)化設(shè)計[D].淮南:安徽理工大學(xué),,2016.
[10] 張麗紅,凌朝東.基于FPGA的Sobel邊緣檢測應(yīng)用[J].電子技術(shù)應(yīng)用,,2011,,37(8).