《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的實(shí)時(shí)圖像處理實(shí)驗(yàn)平臺(tái)設(shè)計(jì)
基于FPGA的實(shí)時(shí)圖像處理實(shí)驗(yàn)平臺(tái)設(shè)計(jì)
2014年微型機(jī)與應(yīng)用第11期
張 歡,汪 紅,王芳芳
中南民族大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,湖北 武漢
摘要: 現(xiàn)場(chǎng)可編程門(mén)陣列FPGA(Field-Programmable Gate Array)是目前應(yīng)用十分廣泛的一種現(xiàn)場(chǎng)可編程邏輯器件,其性能優(yōu)越,資源豐富,采用并行處理方式,在數(shù)字信號(hào)處理領(lǐng)域具有很大的優(yōu)勢(shì)。數(shù)字圖像處理技術(shù)應(yīng)用廣泛,目前處理算法通常是由軟件串行計(jì)算來(lái)完成,但由于實(shí)時(shí)圖像數(shù)據(jù)量大,對(duì)于處理運(yùn)算的速度要求高,因此利用FPGA來(lái)對(duì)實(shí)時(shí)圖像進(jìn)行硬件處理成為一個(gè)新的發(fā)展趨勢(shì)。本文介紹了一種采用CMOS攝像頭作為視頻源輸入,SDRAM作為幀緩沖器,F(xiàn)PGA作為主控器和圖像處理模塊,ADV7123作為視頻D/A轉(zhuǎn)換器,UART和VGA作為輸入輸出接口的系統(tǒng)設(shè)計(jì)方案,對(duì)相關(guān)設(shè)計(jì)人員具有一定的參考價(jià)值。
Abstract:
Key words :

  摘  要: 結(jié)合FPGA高速并行、重配置靈活和實(shí)時(shí)圖像處理中數(shù)據(jù)吞吐量大、運(yùn)算速率要求高的特點(diǎn),設(shè)計(jì)了一種基于FPGA的實(shí)時(shí)圖像處理實(shí)驗(yàn)平臺(tái)。該平臺(tái)結(jié)構(gòu)簡(jiǎn)單、擴(kuò)展性較好,無(wú)需修改前端采集和終端顯示模塊,即可實(shí)現(xiàn)實(shí)時(shí)圖像處理的算法驗(yàn)證,適用于相關(guān)人員利用FPGA來(lái)進(jìn)行視頻圖像處理

  關(guān)鍵詞現(xiàn)場(chǎng)可編程門(mén)陣列;視頻圖像處理;硬件描述語(yǔ)言

  現(xiàn)場(chǎng)可編程門(mén)陣列FPGA(Field-Programmable Gate Array)是目前應(yīng)用十分廣泛的一種現(xiàn)場(chǎng)可編程邏輯器件,其性能優(yōu)越,資源豐富,采用并行處理方式,在數(shù)字信號(hào)處理領(lǐng)域具有很大的優(yōu)勢(shì)。數(shù)字圖像處理技術(shù)應(yīng)用廣泛,目前處理算法通常是由軟件串行計(jì)算來(lái)完成,但由于實(shí)時(shí)圖像數(shù)據(jù)量大,對(duì)于處理運(yùn)算的速度要求高,因此利用FPGA來(lái)對(duì)實(shí)時(shí)圖像進(jìn)行硬件處理成為一個(gè)新的發(fā)展趨勢(shì)。本文介紹了一種采用CMOS攝像頭作為視頻源輸入,SDRAM作為幀緩沖器,F(xiàn)PGA作為主控器和圖像處理模塊,ADV7123作為視頻D/A轉(zhuǎn)換器,UART和VGA作為輸入輸出接口的系統(tǒng)設(shè)計(jì)方案,對(duì)相關(guān)設(shè)計(jì)人員具有一定的參考價(jià)值。

  1 實(shí)時(shí)圖像處理實(shí)驗(yàn)平臺(tái)架構(gòu)

  本系統(tǒng)由視頻采集模塊、幀緩存模塊(處理前)、圖像處理模塊、幀緩存模塊(處理后)、視頻顯示模塊以及調(diào)試配置模塊組成。處理流程如下:FPGA上電配置后,利用SCCB通信協(xié)議對(duì)視頻采集單元OV7670進(jìn)行功能配置并捕獲視頻流,緩存到幀緩存模塊;配置調(diào)試模塊利用UART對(duì)參數(shù)配置寄存器進(jìn)行設(shè)置;FPGA圖像處理模塊讀取參數(shù)配置寄存器的值并從幀緩存模塊(處理前)中讀取圖像進(jìn)行處理,處理完后緩存到幀緩存模塊(處理后);視頻顯示模塊從幀緩存模塊(處理后)中讀取圖像送到ADV7123并根據(jù)VGA協(xié)議送出相應(yīng)的行同步和場(chǎng)同步信號(hào),實(shí)現(xiàn)實(shí)時(shí)圖像處理后的顯示。系統(tǒng)結(jié)構(gòu)設(shè)計(jì)如圖1所示。

001.jpg

  2 視頻采集模塊

  2.1 CMOS攝像頭OV7670

  本設(shè)計(jì)中采用的是OmniVison公司生產(chǎn)的CMOS圖像傳感器OV7670。圖像傳感器陣列為656×488(320 128像素),有效的為640×480(307 200像素),輸出格式有YUV(4∶2∶2)、YCbCr(4∶2∶2)、RGB(GRB4∶2∶2,RGB565/555/444)、Raw RGB,圖像尺寸支持VGA、CIF以及從CIF縮放至40×30的任意尺寸,標(biāo)準(zhǔn)的SCCB接口,兼容I2C接口。

  2.2 SCCB通信控制

  SCCB(Serial Camera Control Bus)是OmniVision公司定義的一種3線的總線,它由SCCB_E、SIO_C和SIO_D組成。為減少芯片引腳,縮減為兩根線,即SIO_C和SIO_D。

  在進(jìn)行讀寫(xiě)操作前后,需要有起始和終止信號(hào)。當(dāng)SIO_C為高電平時(shí),SIO_D出現(xiàn)下降沿跳變代表操作開(kāi)始,上升沿跳變代表操作結(jié)束,而在具體數(shù)據(jù)傳輸過(guò)程中,只有當(dāng)SIO_C為低電平時(shí),SIO_D才可以變化。起始信號(hào)產(chǎn)生的實(shí)現(xiàn)如下。

  0:begin

  done<=1′b0;isout<=1′b1;sclk<=1′b1;

  if(cnt==0)sdata<=1′b1;

  else if(cnt==SCCB_SPEED_HALF)sdata<=1′b0;

  if(cnt==SCCB_SPEED-1)begin state<=state+1′b1;cnt<=16′d0;sclk<=1′b0;end

  else cnt<=cnt+1′b1;end

  done<=0代表操作開(kāi)始;isout<=1是將SIO_D設(shè)置為FPGA輸出;sclk<=1是將SIO_C拉到高電平;state是狀態(tài)機(jī)標(biāo)識(shí);cnt是一個(gè)計(jì)數(shù)器,用來(lái)對(duì)25 MHz的輸入時(shí)鐘記數(shù),利用cnt可以形成100 kHz的工作時(shí)序;在0 ?滋s~5 ?滋s內(nèi)SIO_D為高電平,5 ?滋s~10 ?滋s內(nèi)SIO_D為低電平,而SIO_C一直保持為高電平。需要注意的是,在起始信號(hào)的最后一個(gè)時(shí)鐘周期,將SIO_C拉到低電平是為了下一個(gè)狀態(tài)即寫(xiě)設(shè)備地址時(shí)保證SIO_C為低。

  讀寫(xiě)操作由幾個(gè)步驟組成,每個(gè)步驟包括8 bit串行數(shù)據(jù)(MSB優(yōu)先)和1 bit X(Don′t care bit)或NA。寫(xiě)操作由3步構(gòu)成,先寫(xiě)設(shè)備地址,再寫(xiě)寄存器地址,最后寫(xiě)寄存器的值。讀操作由4步或5步構(gòu)成,因?yàn)樽x周期只有兩個(gè)階段,無(wú)法確定寄存器的地址,所以在此之前需要有兩個(gè)階段或者3個(gè)階段的寫(xiě)操作。需要注意的是,在讀周期結(jié)束時(shí)主機(jī)需要將NA拉高。本系統(tǒng)中采用的是4步讀,OV7670的設(shè)備地址為0x42,最后一位用來(lái)判斷讀寫(xiě),所以讀的時(shí)候?yàn)?x43。圖2是用邏輯分析儀捕獲到寫(xiě)、讀時(shí)序。

002.jpg

  由圖可知,寫(xiě)操作由起始信號(hào)、8′h42、1′b0、8′h1e、1′b0、8′h1f、1′b0和結(jié)束信號(hào)組成;而隨后的讀操作由起始信號(hào)、8′h42、1′b0、8′h1e、1′b0、結(jié)束信號(hào)、起始信號(hào)、8′h43、1′b0、8′h1f、1′b1、結(jié)束信號(hào)組成。整體功能是對(duì)0x1e寄存器寫(xiě)0x1f,隨后從0x1e寄存器中讀出數(shù)據(jù)0x1f,跟寫(xiě)入的數(shù)據(jù)一致,即SCCB讀寫(xiě)功能正常。

  2.3 CMOS圖像捕獲

  設(shè)置好OV7670的工作模式后,就可以對(duì)圖像進(jìn)行捕獲了。本系統(tǒng)配置的是VGA 30FPS,分辨率為640×480,輸出格式為RGB565。要捕獲圖像數(shù)據(jù),只需要在VSYNC為0,HREF為1,PCLK上升沿時(shí)對(duì)D[7:0]進(jìn)行采樣即可,具體實(shí)現(xiàn)如下。

  if(!i_vsync && i_href && i_start)begin

  if(i==0)begin rgb565_buf[7:0]<=i_data[7:0];o_valid<=0;end

  else begin o_rgb565[15:0]<={rgb565_buf[7:0],i_data[7:0]};o_valid<=1;end

  i<=~i;

  end else o_valid<=0;

  圖像捕獲單元直接把RGB565的信號(hào)輸出到異步FIFO中緩存,需要注意的是,這里需要根據(jù)VSYNC信號(hào)從一幀的起始來(lái)進(jìn)行圖像的緩存,否則緩存到幀緩沖區(qū)的圖像數(shù)據(jù)會(huì)出錯(cuò)。

  3 幀緩存模塊(處理前,處理后)

  幀緩存模塊(處理前)完成從異步FIFO中讀取圖像數(shù)據(jù),并實(shí)現(xiàn)幀緩存的功能。當(dāng)圖像處理模塊需要圖像數(shù)據(jù)進(jìn)行處理時(shí),可以通過(guò)FIFO獲取幀緩存中的圖像數(shù)據(jù)。幀緩存由SDRAM和FPGA內(nèi)部的SDRAM控制器實(shí)現(xiàn)。

  SDRAM選用的是韓國(guó)三星公司生產(chǎn)的K4S641632K-UC60,刷新周期為64 ms,CAS latency設(shè)置為3和2時(shí),最高可達(dá)166 MHz和100 MHz工作頻率。本系統(tǒng)設(shè)置CL為3,工作頻率為100 MHz。SDRAM控制器由FPGA實(shí)現(xiàn),主要完成對(duì)SDRAM的初始化以及讀、寫(xiě)和自動(dòng)刷新操作。SDRAM初始化包括4階段:(1)上電保持時(shí)鐘穩(wěn)定,空指令200 ?滋s以上;(2)對(duì)所有的Bank進(jìn)行預(yù)充電;(3)8個(gè)以上自動(dòng)刷新命令;(4)模式寄存器設(shè)置命令。

003.jpg

  初始化如圖3所示,其中TRP為40 ns(4 cycles),TRFC為80 ns(8 cycles),TMRD為50 ns(5 cycles),BL為8 Words,BT為sequential,CL為3 cycles,OP為burst write & burst read。

004.jpg

  讀仿真如圖4所示,其中TRCD為20 ns(2 cycles),CL為30 ns(3 cycles),采用自動(dòng)預(yù)充電。

005.jpg

  寫(xiě)仿真如圖5所示,其中TRCD為20 ns(2 cycles),采用自動(dòng)預(yù)充電。

  幀緩存模塊(處理后)與幀緩存模塊(處理前)類(lèi)似,完成從異步FIFO中讀取圖像數(shù)據(jù),并實(shí)現(xiàn)幀緩存的功能。當(dāng)視頻顯示模塊需要圖像數(shù)據(jù)進(jìn)行顯示時(shí),可以通過(guò)FIFO獲取幀緩存中的圖像數(shù)據(jù),此處不再贅述。

  4 調(diào)試配置模塊和視頻顯示模塊

  調(diào)試配置模塊實(shí)現(xiàn)的功能是通過(guò)PC的UART接口對(duì)FPGA圖像處理模塊進(jìn)行參數(shù)配置,以獲得不同的處理結(jié)果,可以利用該模塊對(duì)二值化的閾值進(jìn)行設(shè)置以實(shí)現(xiàn)對(duì)應(yīng)操作。

  視頻顯示模塊產(chǎn)生VGA協(xié)議所需的行場(chǎng)同步信號(hào),并通過(guò)異步FIFO請(qǐng)求圖像處理模塊的幀數(shù)據(jù),送到ADV7123完成RGB數(shù)據(jù)的D/A轉(zhuǎn)換,從而在VGA顯示器上完成實(shí)時(shí)圖像處理后的顯示。VGA(640×480@60 Hz)行周期由96個(gè)同步信號(hào),48個(gè)消隱后肩,640個(gè)行有效數(shù)據(jù),16個(gè)消隱前肩的像素構(gòu)成;場(chǎng)周期由兩個(gè)同步信號(hào),33個(gè)消隱后肩,480個(gè)場(chǎng)有效數(shù)據(jù),10個(gè)消隱前肩的行周期構(gòu)成。相關(guān)時(shí)序如圖6、圖7所示。

006.jpg

  圖6展示了VGA的行周期,實(shí)現(xiàn)了紅、綠、藍(lán)、青、黑、白、黃,品紅8色顯示,每一色是80個(gè)像素,共640個(gè)像素。圖7展示了VGA的場(chǎng)周期,由480個(gè)有效行組成。

  5 圖像處理模塊

  圖像處理模塊完成圖像處理工作,通過(guò)異步FIFO從幀緩存模塊(處理前)取數(shù)據(jù),處理以后,再通過(guò)異步FIFO把處理后的數(shù)據(jù)流存到幀緩存模塊(處理后)。由于該模塊與整個(gè)系統(tǒng)的接口簡(jiǎn)單(輸入是流式讀FIFO,輸出是流式寫(xiě)FIFO),并且與其他模塊耦合性極小,因此該模塊很容易擴(kuò)展,基于流水線和并行操作的圖像處理算法基本上都可以通過(guò)此模塊實(shí)現(xiàn)。圖8是對(duì)實(shí)時(shí)圖像(上半部分)640×240區(qū)域進(jìn)行RGB到Y(jié)CbCr色彩空間轉(zhuǎn)換后,取閾值分別為50、100、150進(jìn)行二值化處理后的效果。

007.jpg

  本文采用Altera公司的Cyclone II EP2C35系列FPGA設(shè)計(jì)并實(shí)現(xiàn)了一種視頻圖像處理實(shí)驗(yàn)平臺(tái),該平臺(tái)具有結(jié)構(gòu)簡(jiǎn)單、擴(kuò)展性好等優(yōu)勢(shì)。在該系統(tǒng)的具體實(shí)現(xiàn)當(dāng)中,所有的數(shù)據(jù)流處理和控制均采用FPGA硬件邏輯實(shí)現(xiàn),因此該系統(tǒng)具有數(shù)據(jù)處理效率高的特點(diǎn),但也因此引入了對(duì)FIFO和SDRAM的控制難點(diǎn),這是相關(guān)設(shè)計(jì)人員最需要注意的。由于視頻處理前和處理后均引入了SDRAM幀緩存,因此對(duì)于各種視頻圖像處理算法,只需在FPGA內(nèi)對(duì)圖像處理模塊作相應(yīng)修改,而前端采集模塊和終端顯示模塊無(wú)需任何改變就可實(shí)現(xiàn)實(shí)時(shí)圖像的各種不同的數(shù)據(jù)處理與相關(guān)驗(yàn)證。由于目前該系統(tǒng)中沒(méi)有涉及到復(fù)雜的圖像處理算法,所以下一步的工作是研究如何在該平臺(tái)上實(shí)現(xiàn)更多的圖像處理算法。

  參考文獻(xiàn)

  [1] 祝長(zhǎng)鋒,肖鐵軍.基于FPGA的視頻圖像采集系統(tǒng)的設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(17):4404-4407.

  [2] 李衛(wèi),王杉.SDRAM控制器的FPGA設(shè)計(jì)與實(shí)現(xiàn)[J].電子工程師,2004,30(10):29,32.

  [3] 宋還吒,唐立軍.基于FPGA和OV7620的圖像采集及VGA顯示[J].電視技術(shù),2011,35(5):45-47.

  [4] Samsung Electronics. 64 Mb K-die SDRAM Specification ds_k4s64xx32k_rev11[Z]. 2006.

  [5] JEDEC Standard No.21-c [S]. JEDEC, Page3.11.5.1(1-19).

  [6] OmniVision Technologies. OV7670 datasheet[Z].2006.

  [7] OmniVision Technologies. OminiVision serial camera control bus(SCCB) functional specification[Z]. 2003.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲伊人伊色伊影伊综合网| 亚洲精品美女免费| 一区二区亚洲精品| 国产一区二区在线观看免费播放| 国产精品腿扒开做爽爽爽挤奶网站| 欧美日韩国产在线播放| 欧美精品日韩一本| 欧美激情在线观看| 欧美日韩国产色站一区二区三区| 欧美激情在线| 欧美日韩国产电影| 欧美日韩在线不卡一区| 欧美性猛交视频| 欧美性大战xxxxx久久久| 欧美午夜视频| 国产精品日韩| 国产女优一区| 国产亚洲精品v| 狠狠色综合色综合网络| 亚洲国产精选| 亚洲精品一区二区三区在线观看| 99riav久久精品riav| 亚洲神马久久| 午夜精品久久久久久久久| 欧美专区在线观看| 亚洲欧洲一区二区在线播放| 艳女tv在线观看国产一区| 一区二区三区久久久| 亚洲先锋成人| 欧美影院在线| 久久亚洲精品一区二区| 欧美激情按摩| 国产精品99一区二区| 国产欧美日韩在线观看| 激情六月综合| 日韩天天综合| 亚洲综合色丁香婷婷六月图片| 欧美中文字幕久久| 亚洲精品一区在线| 亚洲欧美日韩精品久久久| 久久久久久综合网天天| 欧美二区在线播放| 国产精品久久国产愉拍 | 久久精品一区二区三区四区| 亚洲国产成人一区| 在线一区免费观看| 欧美一区二区网站| 欧美sm极限捆绑bd| 国产精品久久午夜| 在线播放国产一区中文字幕剧情欧美| 亚洲乱码国产乱码精品精可以看| 亚洲欧美电影院| 亚洲精品美女免费| 欧美亚洲一区二区在线| 牛牛国产精品| 国产精品天天摸av网| 亚洲国内精品| 亚洲女人av| 亚洲久久视频| 久久精品国产精品亚洲综合| 欧美另类99xxxxx| 国产在线视频欧美| 99精品免费| 亚洲国产精品免费| 午夜久久电影网| 欧美精品三级| 国产综合色精品一区二区三区| 99精品国产一区二区青青牛奶| 久久成人羞羞网站| 亚洲一区二区精品在线| 鲁大师影院一区二区三区| 国产精品免费区二区三区观看| 亚洲国产成人精品久久久国产成人一区| 在线亚洲成人| 日韩一级黄色大片| 久久一区二区三区四区| 国产精品日韩欧美一区二区| 亚洲全黄一级网站| 久久高清国产| 欧美在线短视频| 国产精品v日韩精品v欧美精品网站| 尤物九九久久国产精品的分类| 亚洲欧美日韩国产成人精品影院| 日韩一区二区精品视频| 久久先锋影音| 国产区欧美区日韩区| 一二三区精品| 99精品欧美一区二区三区综合在线| 久久免费视频观看| 国产目拍亚洲精品99久久精品 | 久久综合激情| 国产亚洲成av人在线观看导航| 一区二区三区高清在线| 亚洲伦理在线免费看| 久久中文字幕一区| 国产亚洲va综合人人澡精品| 亚洲素人在线| 亚洲一区在线观看免费观看电影高清| 欧美国产视频日韩| 亚洲承认在线| 亚洲精品1区| 免费在线成人av| 在线观看91精品国产麻豆| 欧美在线视频一区二区| 欧美在线影院| 国产日韩欧美精品| 亚洲欧美www| 欧美一区二区三区免费观看视频| 国产精品第13页| 一区二区三区国产在线观看| 一区二区久久| 欧美日韩国产一级| 亚洲美女淫视频| 一区二区三区产品免费精品久久75| 欧美精品18| 日韩特黄影片| 亚洲校园激情| 国产精品99一区| 亚洲一区二区三区精品在线观看| 亚洲一区精品视频| 欧美无砖砖区免费| 亚洲一区二区三区涩| 午夜精品久久久久久久白皮肤| 国产精品一区二区久久国产| 亚洲欧美成人一区二区在线电影| 欧美一区二区播放| 国产一区二区| 亚洲黄色毛片| 欧美精品一区三区在线观看| 亚洲欧洲日产国产综合网| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 亚洲第一精品福利| 亚洲精品一区二区三区不| 欧美伦理91| 一个色综合av| 欧美亚洲综合久久| 国产亚洲欧美日韩精品| 久久精品亚洲一区二区| 欧美风情在线观看| 一区二区三区回区在观看免费视频| 亚洲欧美日韩天堂| 国产亚洲精品自拍| 91久久精品一区二区别| 欧美日韩黄色一区二区| 亚洲一区在线看| 久久久噜噜噜久噜久久| 在线日韩欧美| 亚洲视频999| 国产日产欧产精品推荐色| 亚洲第一天堂av| 欧美精品尤物在线| 亚洲综合日韩在线| 美女视频黄 久久| 99精品国产在热久久下载| 欧美影院成人| 亚洲黄色在线| 欧美亚洲专区| 亚洲国产欧美一区二区三区久久 | 欧美丰满高潮xxxx喷水动漫| 宅男精品视频| 久久久精品网| 亚洲另类一区二区| 性久久久久久久| 亚洲春色另类小说| 亚洲欧美国产一区二区三区| 国内精品一区二区三区| 亚洲最快最全在线视频| 国产日韩欧美在线观看| 99精品国产99久久久久久福利| 国产乱码精品一区二区三区不卡| 亚洲精品1区2区| 国产精品美女主播| 亚洲国产精品一区二区三区| 欧美视频一区二区三区…| 久久精品人人做人人爽| 欧美四级电影网站| 亚洲国产精品尤物yw在线观看| 国产精品成人一区二区艾草| 亚洲第一区色| 国产精品久久毛片a| 亚洲欧洲在线免费| 国产午夜一区二区三区| 在线视频精品| 黄色成人av网站| 午夜精品久久久| 亚洲精品麻豆| 久久一区精品| 亚洲欧美日韩视频二区| 欧美日韩国产精品自在自线| 久久精品国产成人| 国产精品美女一区二区在线观看 | 亚洲网在线观看| 伊人久久大香线蕉av超碰演员| 亚洲欧美影院| 日韩视频免费观看高清完整版| 久久综合999| 午夜精品一区二区三区四区| 欧美午夜不卡视频| 99热这里只有精品8| 亚洲二区在线|