《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的高清視頻采集系統(tǒng)設(shè)計(jì)
基于FPGA的高清視頻采集系統(tǒng)設(shè)計(jì)
2019年電子技術(shù)應(yīng)用第7期
王少斌,蘇淑靖,,袁財(cái)源
中北大學(xué) 電子測(cè)試技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,,山西 太原030051
摘要: 設(shè)計(jì)了一種基于HDMI接口的全高清(分辨率1 920×1 080)視頻采集與顯示系統(tǒng),該系統(tǒng)以Xilinx公司Spartan6系列FPGA作為控制芯片,,采用500萬像素級(jí)別CMOS攝像頭OV5640作為前端數(shù)據(jù)源,,能夠采集全高清視頻信號(hào);為了解決由于高速大容量視頻數(shù)據(jù)緩存容量和速率不足導(dǎo)致的拖影現(xiàn)象,,該系統(tǒng)采用了一塊Micron公司4 Gbit容量的DDR3 SDRAM作為緩存介質(zhì),,再結(jié)合乒乓操作,能妥善解決高速大容量數(shù)據(jù)的緩存問題,;該系統(tǒng)選用Silion Image公司的SiI9134作為HDMI接口芯片,,能有效支持全高清視頻信號(hào)輸出。該系統(tǒng)可應(yīng)用于軍用監(jiān)控系統(tǒng),、民用多媒體系統(tǒng)以及醫(yī)學(xué)等領(lǐng)域,。
中圖分類號(hào): TN95
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.190262
中文引用格式: 王少斌,,蘇淑靖,袁財(cái)源. 基于FPGA的高清視頻采集系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,,2019,,45(7):63-66,71.
英文引用格式: Wang Shaobin,,Su Shujing,,Yuan Caiyuan. Design of high-definition video acquisition system based on FPGA[J]. Application of Electronic Technique,2019,,45(7):63-66,,71.
Design of high-definition video acquisition system based on FPGA
Wang Shaobin,Su Shujing,,Yuan Caiyuan
National Key Laboratory for Electronic Measurement Technology,,North University of China,Taiyuan 030051,,China
Abstract: With the rapid development of multimedia display and transmission technology, a full HD(resolution 1 920×1 080) video acquisition and display system based on HDMI interface is designed. The system uses 5 million pixel level CMOS camera OV5640 as front-end data source, and can gather full HD video signal, and uses Xilinx spartan6 series FPGA as control chip. In order to solve the drag-down phenomenon caused by the shortage of high speed and large capacity video data cache capacity and speed, the system adopts a piece of DDR3 SDRAM with 4 Gbit capacity of Micron company as buffer medium, and combines ping-pong operation. It can solve the cache problem of high speed and large capacity data. In this system, SIL9134 of Silion Image Company is chosen as the HDMI interface chip, which can effectively support the output of full HD video signal. The system can be applied to the fields of military monitoring system , civil multimedia system and medicine.
Key words : HDMI,;FPGA;smear phenomenon,;DDR3,;full HD

0 引言

    隨著視頻顯示技術(shù)的發(fā)展,視頻信號(hào)從之前的標(biāo)清發(fā)展到高清,,再發(fā)展到全高清,,其分辨越來越高,數(shù)據(jù)量也成倍增加,,這就推進(jìn)了顯示接口技術(shù)的高速發(fā)展,,顯示接口技術(shù)經(jīng)過了一個(gè)從模擬到數(shù)字、從并行到串行,、低速到高速的發(fā)展過程[1-3],。HDMI接口是最新的高清晰度多媒體接口,與DVI接口相比,,其尺寸更小,,帶寬更大,傳輸距離更遠(yuǎn),,支持的分辨率更高,,不僅能夠傳輸視頻信號(hào),還能傳輸音頻信號(hào),,且具備版權(quán)保護(hù)功能[4],。HDMI接口已成為液晶顯示器、平板帶腦,、筆記本電腦等設(shè)備的標(biāo)準(zhǔn)接口之一,,得到了廣泛應(yīng)用[5-6],。本系統(tǒng)中不僅實(shí)現(xiàn)了標(biāo)準(zhǔn)HDMI接口電路及其控制,并且還提供全高清視頻數(shù)據(jù)源,,選用500萬像素級(jí)別CMOS攝像頭OV5640,,輸出視頻信號(hào)分辨率可達(dá)2K級(jí)別,支持多種數(shù)據(jù)格式輸出,。為了解決由于視頻數(shù)據(jù)緩存速率和容量不足導(dǎo)致的拖影問題,,該系統(tǒng)選用容量為4 Gbit的DDR3 SDRAM作為換緩存介質(zhì),通過Xilinx公司的MIG IP和對(duì)其進(jìn)行控制,,再結(jié)合乒乓操作,,能有效解決高數(shù)大容量數(shù)據(jù)的緩存問題,使顯示質(zhì)量更高,。本系統(tǒng)實(shí)現(xiàn)了全高清視頻信號(hào)的采集及高質(zhì)量顯示,,其能應(yīng)用到多種領(lǐng)域,包括軍用監(jiān)控領(lǐng)域,、多媒體領(lǐng)域,、醫(yī)用領(lǐng)域等。

1 方案設(shè)計(jì)

    此視頻采集顯示系統(tǒng)原理框圖如圖1所示,,該系統(tǒng)主要包括視頻采集模塊,、FPGA主控模塊、數(shù)據(jù)緩存模塊和HDMI接口電路,。視頻采集模塊提供全高清視頻數(shù)據(jù)源,在其開始采集之前需要FPGA主控模塊通過SCCB(Serial Camera Control Bus)總線將攝像頭配置信息發(fā)送到攝像頭中的寄存器,;FPGA主控模塊是此系統(tǒng)的控制核心,,其控制著攝像頭、DDR3-SDRAM,、HDMI接口芯片以及視頻數(shù)據(jù)流,;數(shù)據(jù)緩存模塊以一塊4 Gbit容量的DDR3-SDRAM作為緩存介質(zhì),能有效解決高速大容量數(shù)據(jù)的緩存問題,;HDMI接口電路主要包含一塊HDMI接口芯片,,其作用是實(shí)現(xiàn)視頻數(shù)據(jù)的并串轉(zhuǎn)換;最后,,串行視頻數(shù)據(jù)通過HDMI傳輸線傳輸?shù)街С諬DMI接口的顯示器上,,就能實(shí)時(shí)顯示全高清視頻圖像。

ck3-t1.gif

2 主要硬件電路設(shè)計(jì)

2.1 視頻采集模塊

    視頻采集模塊選用OmniVision公司OV5640攝像頭,,其為500萬像素級(jí)別CMOS圖像傳感器,,支持分辨率可達(dá)2K級(jí)別,能輸出多種圖像格式數(shù)據(jù),,且支持多種自適應(yīng)調(diào)節(jié)功能,。此CMOS圖像傳感器支持DVP和MIPI兩種數(shù)據(jù)接口,,本系統(tǒng)中選擇DVP接口。在主控模塊獲取數(shù)據(jù)之前需要通過SCCB總線將傳感器寄存器信息配置給傳感器[7-8],。本系統(tǒng)中CMOS圖像傳感器圖像數(shù)據(jù)輸出格式配置為RGB24,,視頻分辨率配置為1 920×1 080(全高清),視頻幀率配置為30 f/s,,此模塊還包括數(shù)字和模擬供電電路,。

2.2 FPGA主控模塊

    系統(tǒng)控制核心選用的芯片是Xilinx公司Spartan6系列芯片XC6SLX45,第六代Spartan系列產(chǎn)品Spartan6 FPGA基于公認(rèn)的低功耗45 nm,、9-金屬銅層,、雙柵極氧化層工藝技術(shù),提供了高級(jí)功耗管理技術(shù),、150 000個(gè)邏輯單元,、硬核DRAM存儲(chǔ)器以及多種IP等,是Xlinx公司應(yīng)用最為廣泛,、技術(shù)非常成熟的一個(gè)FPGA系列[9-11],。FPGA主控模塊主要完成攝像頭的配置及視頻數(shù)據(jù)獲取、DDR3-SDRAM數(shù)據(jù)的存取以及HDMI接口芯片的配置以及視頻數(shù)據(jù)發(fā)送,,其硬件電路還包括供電電路,、復(fù)位電路、晶振電路,、下載電路和配置SPI Flash電路,。

2.3 數(shù)據(jù)緩存模塊

    為了解決高速大容量視頻數(shù)據(jù)的緩存問題,此系統(tǒng)選用Micron公司4 Gbit容量DDR3-SDRAM存儲(chǔ)芯片MT41J256M16HA-125作為緩存介質(zhì),,其與FPAG的硬件連接示意圖如圖2所示,。A0~A14為地址總線,B0~B3為Bank地址,,F(xiàn)PGA通過控制地址總線和Bank地址就能控制數(shù)據(jù)在DDR3-SDRAM中的存儲(chǔ)位置,;D0~D15為數(shù)據(jù)總線,與FPGA并行連接,;CLK-N和CLK-P為差分時(shí)鐘輸入端口,,本系統(tǒng)中設(shè)定時(shí)鐘頻率為312.5 MHz;FPGA通過列地址選擇信號(hào)(CAS),、行地址選擇信號(hào)(RAS),、寫使能信號(hào)(WE)對(duì)DDR3-SDRAM進(jìn)行讀寫控制,通過控制ODT使能片內(nèi)電阻優(yōu)化性能來防止數(shù)據(jù)線中斷反射[12],;DQS為DDR3-SDRAM與控制器之間的同步信號(hào),,其為雙向信號(hào),當(dāng)寫入數(shù)據(jù)時(shí),,其由控制器發(fā)出,,當(dāng)讀取數(shù)據(jù)時(shí),,其由存儲(chǔ)器發(fā)出;DM為數(shù)據(jù)屏蔽信號(hào)[13],。由于Spartan6系列FPAG只有Bank1和Bank3有MCB硬核,,在本系統(tǒng)中選擇FPGA中Bank3與DDR3-SDRAM連接,端口電壓標(biāo)準(zhǔn)為1.5 V,,且在FPAG UCF中,,需要設(shè)定IO標(biāo)準(zhǔn)為SSTL15_II。

ck3-t2.gif

2.4 HDMI接口模塊

    本系統(tǒng)中選用SiI9134作為HDMI輸出接口芯片,,其和FPAG的硬件連接關(guān)系如圖3所示,。在芯片工作之前,需要通過I2C(SCL,、SDA)總線將寄存器信息配置到芯片里,,配置過程中頻率為100 kHz,數(shù)據(jù)輸入格式配置為RGB24,,視頻輸出分辨率配置為1 920×1 080,;CLK為視頻數(shù)據(jù)同步時(shí)鐘,此芯片1080p視頻格式的時(shí)鐘為148.5 MHz,,DE為數(shù)據(jù)有效信號(hào),,高電平有效;HS,、VS分別為行同步信號(hào)和場(chǎng)同步信號(hào),;D[23:0]為RGB24數(shù)據(jù)輸入總線,從上到下依次為R,、G,、B分量數(shù)據(jù)總線,為了支持其他視頻數(shù)據(jù)格式,,SiI9134的總線寬度為36 bit,此系統(tǒng)中只使用24 bit,,其余的數(shù)據(jù)總線引腳接地,;SiI9134支持多種數(shù)字音頻信號(hào)輸入接口,包括S/PDIF,、I2S等,,本系統(tǒng)中不使用音頻接口。RGB24格式視頻數(shù)據(jù)經(jīng)SiI9134編碼后,,轉(zhuǎn)換成串行數(shù)據(jù)后通過連接器和傳輸線將數(shù)據(jù)發(fā)送給顯示器,,最終顯示出全高清視頻。

ck3-t3.gif

3 控制邏輯設(shè)計(jì)

    本系統(tǒng)控制邏輯設(shè)計(jì)中,,包括OV5640配置及視頻數(shù)據(jù)獲取邏輯,、DDR3-SDRAM數(shù)據(jù)存取控制邏輯,、SiI9134配置及視頻數(shù)據(jù)發(fā)送邏輯。系統(tǒng)通過DVP口接收RGB24格式的視頻數(shù)據(jù),,然后將視頻數(shù)據(jù)分區(qū)域存入DDR3-SDRAM中,,再將視頻數(shù)據(jù)從中讀出發(fā)送給HDMI接口芯片供顯示屏顯示。系統(tǒng)工作流程如圖4所示,,上電后系統(tǒng)先進(jìn)行復(fù)位操作,,然后進(jìn)入初始化狀態(tài),系統(tǒng)給OV5640和SiI9134發(fā)送配置信息,,DDR3-SDRAM也開始進(jìn)入初始化和校驗(yàn)過程,。所有初始化工作完成后,系統(tǒng)判斷OV5640是否配置結(jié)束,,如果配置結(jié)束,,系統(tǒng)將獲取視頻數(shù)據(jù),并將其存入DDR3-SDRAM中,。當(dāng)緩存區(qū)有數(shù)據(jù)且SiI9134配置結(jié)束后,,系統(tǒng)將緩存區(qū)的視頻數(shù)據(jù)讀出發(fā)送給SiI9134。

ck3-t4.gif

3.1 視頻采集控制部分

    OV5640對(duì)上電的時(shí)序有一定的要求,,所以滿足此上電時(shí)序的模塊是必不可少的,,完成初始化后,先確定OV5640的工作模式,,通過SCCB總線就能完成,,此系統(tǒng)中配置了303個(gè)寄存器;待OV5640配置完成和DDR3-SDRAM初始化和校準(zhǔn)完成后,,就可獲取視頻數(shù)據(jù),;控制OV5640需要先提供一個(gè)系統(tǒng)時(shí)鐘XVCLK,為192 MHz,,然后識(shí)別像素輸出時(shí)鐘(PCLK),、場(chǎng)同步信號(hào)(VSYNC)、行同步信號(hào)(HREF)來獲取數(shù)據(jù),。場(chǎng)同步信號(hào)下降沿表示一幀數(shù)據(jù)的開始,,行同步信號(hào)為高電平時(shí)為有效數(shù)據(jù)輸出,在場(chǎng)同步信號(hào)低電平之間,,行同步信號(hào)會(huì)出現(xiàn)1 080次高電平,,代表一幀數(shù)據(jù)有1 080行數(shù)據(jù);在行同步信號(hào)處于高電平期間會(huì)持續(xù)1 920個(gè)像素輸出時(shí)鐘,,代表每一行有1 920個(gè)像素點(diǎn),。

3.2 DDR3-SDRAM緩存控制部分

    DDR3-SDRAM數(shù)據(jù)的存取使用了Spartan6系列FPGA提供的MIG IP核,同時(shí)也需要MCB硬核與外部的SDRAM芯片進(jìn)行數(shù)據(jù)交換。在Xilinx編譯環(huán)境ISE中生成SDRAM控制器后,,就可運(yùn)用MIG IP核用戶接口進(jìn)行數(shù)據(jù)存取,,本系統(tǒng)中MIG IP核配置成兩個(gè)位寬為64 bit的雙向端口,一個(gè)端口用于寫數(shù)據(jù),,一個(gè)端口用于讀數(shù)據(jù),。其工作狀態(tài)示意圖如圖5所示,在MIG IP核的前端和后端分別加入一個(gè)寫數(shù)據(jù)FIFO和讀數(shù)據(jù)FIFO,,對(duì)于調(diào)用此緩存模塊的邏輯來說,,就相當(dāng)于一個(gè)大容量的FIFO。在MIG IP核內(nèi)部,,采用乒乓操作的方式來提高緩存效率,,在緩存的過程中,將4 Gbit容量的存儲(chǔ)區(qū)域分為N個(gè)區(qū)域,,每個(gè)區(qū)域的容量為一幀視頻數(shù)據(jù)的容量,,在寫入過程中,先將數(shù)據(jù)寫入第1區(qū)域,,第1區(qū)域?qū)憹M后開始寫下一區(qū)域(為第2區(qū)域,,寫下一區(qū)域時(shí)確保該區(qū)域數(shù)據(jù)為空),此時(shí)就可以讀取第1區(qū)域的數(shù)據(jù),,第1區(qū)域讀完再讀下一區(qū)域(為第2區(qū)域,,在讀下一區(qū)域時(shí)確保該區(qū)域數(shù)據(jù)已滿)數(shù)據(jù),依此順序循環(huán)讀寫,,完成乒乓操作,。這種緩存方式可極大提高視頻數(shù)據(jù)緩存效率,有效解決高速大容量數(shù)據(jù)的緩存問題,,一幀視頻數(shù)據(jù)連續(xù)且不會(huì)出現(xiàn)數(shù)據(jù)交叉的情況(地址不會(huì)交叉),,避免了視頻顯示的拖影現(xiàn)象

ck3-t5.gif

3.3 HDMI接口控制部分

    在HDMI工作之前,,需要通過I2C總線給寄存器配置數(shù)據(jù),,數(shù)據(jù)格式配置為RGB24,分辨率為1 920×1 080,,視頻幀率為30 f/s,。配置完成后,緩存區(qū)一數(shù)據(jù)滿時(shí),,就可讀取視頻數(shù)據(jù)按照特定時(shí)序發(fā)送給SiI9134,SiI9134數(shù)據(jù)發(fā)送時(shí)序如圖6所示,,行同步信號(hào)的下降沿代表一幀視頻數(shù)據(jù)的開始,,上升沿代表一幀數(shù)據(jù)的結(jié)束,當(dāng)一行數(shù)據(jù)發(fā)送完后開始發(fā)送下一行數(shù)據(jù),當(dāng)一幀數(shù)據(jù)最后一行發(fā)送完成后再發(fā)送下一幀畫面的第一行數(shù)據(jù),。以此重復(fù)循環(huán)發(fā)送數(shù)據(jù),,DE為數(shù)據(jù)有效信號(hào),高電平有效,。

ck3-t6.gif

4 測(cè)試結(jié)果

    硬件電路電氣性能測(cè)試完成后,,開始進(jìn)行整體性能的測(cè)試,在整體性能測(cè)試之前,,還需要對(duì)FPGA程序進(jìn)行功能仿真和時(shí)序仿真,,再對(duì)各個(gè)功能模塊分別進(jìn)行測(cè)試,確保代碼準(zhǔn)確無誤,。

4.1 DDR3-SDRAM測(cè)試

    利用Xilinx公司提供的ChipScope Pro工具對(duì)DDR3-SDRAM代碼進(jìn)行測(cè)試,,測(cè)試過程中,由系統(tǒng)內(nèi)部產(chǎn)生遞增數(shù)寫入到寫數(shù)據(jù)FIFO中,,然后從讀數(shù)據(jù)FIFO中讀取數(shù)據(jù),,將寫入的數(shù)據(jù)和讀出的數(shù)據(jù)通過ChipScope Pro工具抓取,再對(duì)抓取結(jié)果繪出波形并進(jìn)行比對(duì),,測(cè)試結(jié)果如圖7所示,。從測(cè)試結(jié)果來看,讀寫速度快且沒有出現(xiàn)數(shù)據(jù)亂碼情況,,符合系統(tǒng)要求,。

ck3-t7.gif

4.2 HDMI接口測(cè)試

    HDMI接口模塊測(cè)試結(jié)果如圖8所示,測(cè)試過程中,,視頻數(shù)據(jù)源由系統(tǒng)內(nèi)部產(chǎn)生,,包括三基色、棋盤格,、彩色條等數(shù)據(jù),,最后將串行數(shù)據(jù)發(fā)送到支持1080p分辨率的顯示器上。從測(cè)試結(jié)果來看,,顯示效果符合要求,。

ck3-t8.gif

4.3 系統(tǒng)整體測(cè)試

    圖9所示為系統(tǒng)整體測(cè)試結(jié)果,測(cè)試過程中,,視頻數(shù)據(jù)源為攝像頭采集的視頻數(shù)據(jù),,數(shù)據(jù)經(jīng)過DDR3-SDRAM緩存,再發(fā)送到HDMI接口芯片,,然后通過HDMI連接器和傳輸線將差分?jǐn)?shù)據(jù)傳輸給顯示器,。從測(cè)試結(jié)果來看,如圖9(a)所示,,視頻顯示清晰完整,;當(dāng)攝像頭移動(dòng)時(shí),,如圖9(b)所示,圖像顯示無拖影現(xiàn)象,,證明通過DDR3-SDRAM高效緩存和乒乓操作結(jié)合的方式,,能夠有效解決高速大容量數(shù)據(jù)的緩存問題。

ck3-t9.gif

5 結(jié)論

    為了滿足人們對(duì)視頻顯示質(zhì)量的需求,,本系統(tǒng)設(shè)計(jì)了一種全高清視頻采集顯示系統(tǒng),,系統(tǒng)以O(shè)miniVision公司的500萬像素級(jí)別CMOS圖像傳感器OV5640為前端采集攝像頭,以Xilinx公司Spartan6系列FPGA作為主控芯片,,以4 Gbit容量DDR3-SDRAM作為緩存芯片,,再結(jié)合MCB硬核、MIG IP核以及乒乓操作,,實(shí)現(xiàn)視頻數(shù)據(jù)的高效緩存,;同時(shí)以Silion Image公司的SiI9134為HDMI芯片,能有效支持全高清視頻,。系統(tǒng)能夠穩(wěn)定采集顯示全高清視頻,,顯示質(zhì)量高且無拖影現(xiàn)象,該系統(tǒng)可應(yīng)用于軍用監(jiān)控系統(tǒng),、民用多媒體系統(tǒng)以及醫(yī)學(xué)等領(lǐng)域,。

參考文獻(xiàn)

[1] 黃慶敏,羅鍵.HDMI接口標(biāo)準(zhǔn)及應(yīng)用設(shè)計(jì)[J].電視技術(shù),,2007(2):32-34.

[2] 顧海峰,,夏寧,吳杰.一種基于CH7301C的顯示接口電路設(shè)計(jì)[J].信息化研究,,2012,,38(6):30-34.

[3] 劉佳.數(shù)字圖像高速采集和傳輸技術(shù)的研究與實(shí)現(xiàn)[D].天津:天津大學(xué),2014.

[4] 李先友,,趙曙光,段永成,,等.基于FPGA的實(shí)時(shí)MIPI CSI-2圖像采集與處理系統(tǒng)[J].電子技術(shù)應(yīng)用,,2019,,45(1):97-100.

[5] 潘磊,,葛中芹,,莊建軍,等.基于FPGA的HDMI視頻流圖像處理的系統(tǒng)設(shè)計(jì)[J].實(shí)驗(yàn)室研究與探索,,2015,,34(10):76-80.

[6] 向梓豪,陸安江.基于FPGA的HDMI多模式顯示模塊設(shè)計(jì)[J].電子技術(shù)應(yīng)用,,2017,,43(12):48-51.

[7] 陳一波,,楊玉華,,王紅亮,,等.基于DDR3-SDRAM的圖像采集與顯示系統(tǒng)[J].電子器件,,2017,40(3):702-707.

[8] 周浩,王浩全,,任時(shí)磊.基于FPGA和NAND Flash的便攜式信號(hào)采集系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2018,,44(9):82-86.

[9] 林謀錦,,林子威.DVI接口與HDMI接口的比較[J].中國(guó)有線電視,2005(6):581-582.

[10] 楊帆,,張皓,馬新文,,等.基于FPGA的圖像處理系統(tǒng)[J].華中科技大學(xué)學(xué)報(bào)(自然科學(xué)版),,2015,43(2):119-123.

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

[12] 李華.基于FPGA的高精度圖像采集系統(tǒng)設(shè)計(jì)[J].電子器件,2014,,37(5):840-843.

[13] 潘明,,陳元枝,,李強(qiáng).基于FPGA的圖像采集系統(tǒng)的設(shè)計(jì)[J].國(guó)外電子測(cè)量技術(shù),2012,,31(3):58-61.



作者信息:

王少斌,,蘇淑靖,袁財(cái)源

(中北大學(xué) 電子測(cè)試技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,,山西 太原030051)

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