《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的高清視頻采集系統(tǒng)設計
基于FPGA的高清視頻采集系統(tǒng)設計
2019年電子技術應用第7期
王少斌,蘇淑靖,袁財源
中北大學 電子測試技術國家重點實驗室,山西 太原030051
摘要: 設計了一種基于HDMI接口的全高清(分辨率1 920×1 080)視頻采集與顯示系統(tǒng),該系統(tǒng)以Xilinx公司Spartan6系列FPGA作為控制芯片,采用500萬像素級別CMOS攝像頭OV5640作為前端數(shù)據(jù)源,能夠采集全高清視頻信號;為了解決由于高速大容量視頻數(shù)據(jù)緩存容量和速率不足導致的拖影現(xiàn)象,該系統(tǒng)采用了一塊Micron公司4 Gbit容量的DDR3 SDRAM作為緩存介質,再結合乒乓操作,能妥善解決高速大容量數(shù)據(jù)的緩存問題;該系統(tǒng)選用Silion Image公司的SiI9134作為HDMI接口芯片,能有效支持全高清視頻信號輸出。該系統(tǒng)可應用于軍用監(jiān)控系統(tǒng)、民用多媒體系統(tǒng)以及醫(yī)學等領域。
中圖分類號: TN95
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.190262
中文引用格式: 王少斌,蘇淑靖,袁財源. 基于FPGA的高清視頻采集系統(tǒng)設計[J].電子技術應用,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 引言

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

1 方案設計

    此視頻采集顯示系統(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作為緩存介質,能有效解決高速大容量數(shù)據(jù)的緩存問題;HDMI接口電路主要包含一塊HDMI接口芯片,其作用是實現(xiàn)視頻數(shù)據(jù)的并串轉換;最后,串行視頻數(shù)據(jù)通過HDMI傳輸線傳輸?shù)街С諬DMI接口的顯示器上,就能實時顯示全高清視頻圖像。

ck3-t1.gif

2 主要硬件電路設計

2.1 視頻采集模塊

    視頻采集模塊選用OmniVision公司OV5640攝像頭,其為500萬像素級別CMOS圖像傳感器,支持分辨率可達2K級別,能輸出多種圖像格式數(shù)據(jù),且支持多種自適應調(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基于公認的低功耗45 nm、9-金屬銅層、雙柵極氧化層工藝技術,提供了高級功耗管理技術、150 000個邏輯單元、硬核DRAM存儲器以及多種IP等,是Xlinx公司應用最為廣泛、技術非常成熟的一個FPGA系列[9-11]。FPGA主控模塊主要完成攝像頭的配置及視頻數(shù)據(jù)獲取、DDR3-SDRAM數(shù)據(jù)的存取以及HDMI接口芯片的配置以及視頻數(shù)據(jù)發(fā)送,其硬件電路還包括供電電路、復位電路、晶振電路、下載電路和配置SPI Flash電路。

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

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

ck3-t2.gif

2.4 HDMI接口模塊

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

ck3-t3.gif

3 控制邏輯設計

    本系統(tǒng)控制邏輯設計中,包括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)先進行復位操作,然后進入初始化狀態(tài),系統(tǒng)給OV5640和SiI9134發(fā)送配置信息,DDR3-SDRAM也開始進入初始化和校驗過程。所有初始化工作完成后,系統(tǒng)判斷OV5640是否配置結束,如果配置結束,系統(tǒng)將獲取視頻數(shù)據(jù),并將其存入DDR3-SDRAM中。當緩存區(qū)有數(shù)據(jù)且SiI9134配置結束后,系統(tǒng)將緩存區(qū)的視頻數(shù)據(jù)讀出發(fā)送給SiI9134。

ck3-t4.gif

3.1 視頻采集控制部分

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

3.2 DDR3-SDRAM緩存控制部分

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

ck3-t6.gif

4 測試結果

    硬件電路電氣性能測試完成后,開始進行整體性能的測試,在整體性能測試之前,還需要對FPGA程序進行功能仿真和時序仿真,再對各個功能模塊分別進行測試,確保代碼準確無誤。

4.1 DDR3-SDRAM測試

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

ck3-t7.gif

4.2 HDMI接口測試

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

ck3-t8.gif

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

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

ck3-t9.gif

5 結論

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

參考文獻

[1] 黃慶敏,羅鍵.HDMI接口標準及應用設計[J].電視技術,2007(2):32-34.

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

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

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

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

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

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

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

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

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

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

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

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



作者信息:

王少斌,蘇淑靖,袁財源

(中北大學 電子測試技術國家重點實驗室,山西 太原030051)

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