《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于FPGA的實時視頻圖像采集處理系統(tǒng)設(shè)計
基于FPGA的實時視頻圖像采集處理系統(tǒng)設(shè)計
2018年電子技術(shù)應(yīng)用第2期
高俊嶺,陳志飛,章佩佩
安徽理工大學 電氣與信息工程學院,安徽 淮南230001
摘要: 針對目前數(shù)字圖像采集處理技術(shù)的實時性、大容量、小型化等特點,設(shè)計了一種基于FPGA的實時視頻圖像采集處理電路系統(tǒng)。采用FPGA作為整個系統(tǒng)的控制和圖像數(shù)據(jù)處理中心。DDR2 SDRAM為高速儲存模塊核心器件,CMOS 7670為視頻圖像采集器件。并通過Quratus II和Modelsim等軟件對系統(tǒng)的邊緣檢測算法、控制過程、各個模塊等進行硬件工程設(shè)計和仿真,實現(xiàn)了視頻圖像從采集、存儲到處理、顯示的整個過程。實驗表明,視頻圖像采集處理的動態(tài)畫面流暢、清晰、實時性好。
中圖分類號: TN919.5
文獻標識碼: 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.

Design of real time video image acquisition and processing system based on FPGA
Gao Junling,Chen Zhifei,Zhang Peipei
School of Electrical and Information Engineering,An Hui University of Science and Technology,Huainan 236001,China
Abstract: Based on characteristics of instantaneously, large capacity and miniaturization of digital image acquisition and processing technology, a real-time video image acquisition and processing circuit system was designed,F(xiàn)PGA was used as the center of controlling the whole system and the center of processing image data. With DDR2 SDRAM the core component of high speed storage module, and CMOS 7670 the video image acquisition device. Through the Quratus II and Modelsim software for edge detection algorithm and the control process, each module of the hardware design and simulation, the realization of the video images from the collection and storage to the treating and display, which shows smooth, clear and real-time.
Key words : FPGA;image acquisition;large capacity;edge detection;real-time

0 引言

    隨著社會的不斷發(fā)展,視頻圖像采集處理技術(shù)在許多行業(yè)領(lǐng)域中扮演著非常重要的角色,如軍事、安全監(jiān)控、工業(yè)視覺等領(lǐng)域,而各行各業(yè)對于視頻圖像采集和處理技術(shù)的要求也越來越高。高速、實時性是主要發(fā)展趨勢之一。目前,視頻圖像采集與處理技術(shù)的發(fā)展主要分為兩類:一是基于PC在相關(guān)特定的PCIe采集板卡的基礎(chǔ)上,通過軟件對視頻圖像進行處理;二是利用相關(guān)的集成硬件如DSP、MCU、FPGA等對視頻圖像進行采集處理[1]。相對來講后者的處理效果不如前者,但實時性好、體積小、方便使用,更適合于工業(yè)的需求。

    FPGA現(xiàn)場可編程邏輯門列,采用并行運算模式,且工作頻率較高,可對大量數(shù)據(jù)進行實時操作與處理,在通信領(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é)議對攝像頭進行初始化配置,攝像頭對焦工作拍攝采集圖像,然后,采集的視頻數(shù)據(jù)通過FIFO緩存器不斷寫入到DDR2 SDRAM中存儲,再經(jīng)過FIFO緩存器讀出視頻數(shù)據(jù),接著,選擇性對讀出的視頻圖像數(shù)據(jù)進行處理,最后在VGA上顯示視頻圖像。系統(tǒng)的總體框圖如圖1所示。

wdz3-t1.gif

2 中央控制單元

2.1 FPGA

    從FPGA硬件開發(fā)的角度考慮,利用EDA開發(fā)軟件和硬件描述語言Verilog編程,對FPGA芯片進行開發(fā),得到其工程要求的硬件功能。對比傳統(tǒng)的硬件設(shè)計開發(fā),減少了器件的浪費和多次焊接的工作量,設(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攝像頭進行初始化配置。IIC總線寫入前,CMOS攝像頭的SCLK和SDAT引腳必須帶上拉電阻。IIC總線寫入時,首先寫入設(shè)備地址,CMOS的初始地址為0x42,其次寫入寄存器地址,最后寫入數(shù)據(jù)。其IIC總線數(shù)據(jù)寫入流程如圖2所示。

wdz3-t2.gif

    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)高速運行下采集到可靠度大、信息性強的視頻圖像數(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倍,能夠較好地達到系統(tǒng)實時性的要求。

    DDR2不僅能在系統(tǒng)時鐘控制下工作,也可以獨立的進行操作,如自刷新、自預(yù)充電凈化等,其控制復雜[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所示。

wdz3-t3.gif

    IP內(nèi)核控制器的使用將DDR2復雜的控制操作轉(zhuǎn)變成用戶簡單的讀寫時序操作,因此,DDR2存儲模塊可設(shè)計分為時鐘、復位、初始化、控制、數(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ù)的讀寫請求。當wrusedwd等于FIFO深度值4時(為方便說明,仿真的FIFO深度為4),表示FIFO已空,Write_Req信號有效,只能寫入數(shù)據(jù)。wrusedw為0,表示FIFO已滿,Read_Req信號有效,只能讀出數(shù)據(jù)。wrusedwd為其余值,則讀、寫數(shù)據(jù)請求都可執(zhí)行。如圖4所示。

wdz3-t4.gif

3 視頻圖像處理模塊

    本文通過Sobel邊緣檢測對圖像數(shù)據(jù)進行處理。邊緣檢測意義在于能夠獲取目標物體的邊緣信息,有利于目標識別和追蹤[6]。Sobel邊緣檢測算法具有計算量小、檢測精度高等優(yōu)點,也是最常用的圖像邊緣處理方法之一。

    Sobel邊緣檢測算法過程:首先,確立Sobel算子模板,它包含了橫縱向兩組3×3運算算子矩陣模板。如下式:

    wdz3-gs1.gif

    其次,利用水平和垂直方向的矩陣算子與原始圖像像素點進行平面卷積分運算,算出X、Y兩個方向上的一階導數(shù)梯度值[7],如下式:

     wdz3-gs2.gif

    然后,把計算出的X、Y方向梯度值做平方求和后再開方,得到中心點的梯度值。如下式:

    wdz3-gs3.gif

    最后,中心點梯度值與設(shè)定的閾值互相比較,大于閾值的為邊緣點,輸出為黑色,小于閾值的為普通點,輸出為白色[8-9]。

    Sobel邊緣檢測的實現(xiàn)包括緩沖模塊、計算卷積模塊和門級處理模塊。其中,緩沖模塊使用基于RAM的移位寄存器altshift_taps,卷積計算模塊使用6個可編程乘加器aitmult_add和2個并行加法器parallel_add計算出水平和垂直的梯度值,再通過浮點平方根altfr_sqrt得到中心點值。門級處理模塊即閾值的比較[10]。原理過程如圖5所示。

wdz3-t5.gif

4 實驗

    完成系統(tǒng)硬件設(shè)計后,保存工程文件。并繪制電路原理圖和PCB圖。最后,制作電路板。完成所有工作后,建立系統(tǒng),進行實驗。

    實驗一:實時視頻圖像采集顯示實驗。首先,F(xiàn)PGA控制CMOS 7670采集圖像;然后,F(xiàn)PGA對采集圖像數(shù)據(jù)傳輸和存儲;最后,通過VGA顯示圖像。其畫面清晰、流暢。實驗結(jié)果如圖6所示。

wdz3-t6.gif

    實驗二:Sobel邊緣檢測算法處理視頻圖像顯示實驗。在實驗一的基礎(chǔ)上,增加了對圖像數(shù)據(jù)的Sobel邊緣檢測處理,再通過VGA進行顯示。圖像中物體輪廓提取明顯,且實時性較好。實驗結(jié)果如圖7所示。

wdz3-t7.gif

5 結(jié)論

    實時視頻圖像采集與處理技術(shù)廣泛用于監(jiān)控、工業(yè)視覺等領(lǐng)域。本系統(tǒng)以FPGA核心,充分利用其高速、大數(shù)據(jù)處理能力和硬件編程設(shè)計等特點,結(jié)合相關(guān)器件,實現(xiàn)了對視頻圖像的采集、處理和顯示。實驗結(jié)果畫面清晰、流暢,效果好。同時在此基礎(chǔ)上,增加了對物體的邊緣檢測,在物體追蹤和識別方面也具有一定的實用意義。

參考文獻

[1] 田杰,玉廣龍,喬中濤,等.基于FPGA高速視頻圖像實時采集與處理系統(tǒng)設(shè)計[J].電子器件,2016,39(3).

[2] 王誠,蔡海寧,吳繼華.Alter FPGA/CPLD設(shè)計[M].北京:人民郵電出版社,2011.

[3] 李原.DDR/DRR2接口的FIFO設(shè)計[D].西安:西安電子科技大學,2009.

[4] 吳厚航.例說FPGA:可直接用于工程項目的第一手經(jīng)驗[M].北京:機械工業(yè)出版社,2016.

[5] 梅傲寒.基于FPGA的無線圖像采集傳輸系統(tǒng)的設(shè)計與研究[D].合肥:安徽大學,2016.

[6] 丁繼生.基于FPGA的數(shù)字圖像處理算法研究及實現(xiàn)[D].合肥:合肥工業(yè)大學,2015.

[7] 羅琳.基于FPGA的快速圖像處理算法的研究與實現(xiàn)[D].重慶:重慶交通大學,2015.

[8] 馬苗,樊養(yǎng)余,謝松元,等.基于灰色系統(tǒng)理論的圖像邊緣檢測新算法[J].中國圖像圖形學報,2003,10(10):1136-1139.

[9] 仝海峰.基于FPGA的視頻圖像邊緣檢測優(yōu)化設(shè)計[D].淮南:安徽理工大學,2016.

[10] 張麗紅,凌朝東.基于FPGA的Sobel邊緣檢測應(yīng)用[J].電子技術(shù)應(yīng)用,2011,37(8).

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。