黃志斌
(江蘇無線電廠有限公司,江蘇 南京 210012)
基于FPGA的視頻采集顯示系統(tǒng)設(shè)計(jì)及研究
黃志斌
(江蘇無線電廠有限公司,江蘇 南京 210012)
文章首先對FPGA技術(shù)及其特點(diǎn)進(jìn)行了簡要闡述,在此次基礎(chǔ)上,基于FPGA技術(shù),對視頻采集顯示系統(tǒng)的相關(guān)設(shè)計(jì)問題進(jìn)行了研究。文章期望能對視頻采集顯示系統(tǒng)設(shè)計(jì)水平的提升及系統(tǒng)性能的完善有所幫助。
FPGA;視頻采集;顯示;系統(tǒng)設(shè)計(jì)
1.1 FPGA的構(gòu)成
現(xiàn)場可編邏輯門陣列(Field programmable gate array,F(xiàn)PGA)是在PAL,GAL,GPLD基礎(chǔ)上發(fā)展起來的一種現(xiàn)場可編程門陣列,適用于內(nèi)部硬件邏輯更改,具備較強(qiáng)的設(shè)計(jì)靈活性。FPGA內(nèi)部的組成部分包括嵌入式RAM、可編程邏輯單元、布線、專用硬盤、功能單元等,其中可編程邏輯單元極為豐富,能夠滿足設(shè)計(jì)者的多種系統(tǒng)設(shè)計(jì)需求。器件內(nèi)部周邊為可編程輸入/輸出單元,用于連接外部芯片輸入輸出管腳與內(nèi)部控制模塊,可編程輸入/輸出單元由可編程連線資源連接起來,使FPGA具備強(qiáng)大的邏輯功能。
1.2 FPGA的應(yīng)用優(yōu)勢
與CPLD,PAL/GAL相比,F(xiàn)PGA的優(yōu)勢更為明顯,具體表現(xiàn)為:
(1)邏輯功能強(qiáng)大。FPGA采用SRAM編程技術(shù)實(shí)現(xiàn)系統(tǒng)的快速運(yùn)行,增強(qiáng)其邏輯功能;布線資源豐富,只需擦除更改程序,即可滿足系統(tǒng)設(shè)計(jì)所需的不同邏輯功能;可編程I/O資源豐富,可滿足復(fù)雜數(shù)字邏輯設(shè)計(jì)。
(2)設(shè)計(jì)靈活。FPGA內(nèi)部的嵌入式RAM支持多種操作模式,異步先入先出(First Input First Out,F(xiàn)IFO)數(shù)據(jù)緩沖器可拓展FPGA的設(shè)計(jì)范圍,使設(shè)計(jì)選擇更加靈活;FPGA內(nèi)部包含的邏輯門數(shù)較多,可滿足復(fù)雜設(shè)計(jì)要求[1]。
(3)操作簡便。為保證FPGA系統(tǒng)的可靠性,在使用FPGA芯片之前需進(jìn)行穩(wěn)定性測試,在此之后設(shè)計(jì)者只要利用軟硬件環(huán)境便可設(shè)計(jì)系統(tǒng)功能;在實(shí)現(xiàn)FPGA系統(tǒng)不同邏輯功能時(shí),設(shè)計(jì)者可通過多次反復(fù)編程予以實(shí)現(xiàn),無需更改硬件電路。
2.1 系統(tǒng)總體設(shè)計(jì)方案
視頻采集顯示系統(tǒng)由兩片F(xiàn)PGA、視頻解碼芯片、外存儲器件SRAM等組成。其中,F(xiàn)PGA采集前端圖像、處理后端數(shù)據(jù);視頻解碼芯片將模擬信號轉(zhuǎn)換為數(shù)據(jù)信號;存儲器緩存數(shù)據(jù)[2]。在該系統(tǒng)中,由FPGA控制的視頻解碼芯片通過I2C總線進(jìn)行初始化配置,輸入8位視頻數(shù)據(jù)、同步HS、場同步VS等。將視頻數(shù)據(jù)轉(zhuǎn)換成標(biāo)準(zhǔn)RGB格式的數(shù)據(jù),在FPGA的控制下,配合時(shí)序信號,截圖顯示所需的像素,將其存入到SRAM中,顯示在LCD/VGA屏幕上。視頻采集系統(tǒng)的模塊與功能具體包括:
(1)視頻采集模塊。采用4片視頻解碼芯片采集4路模擬視頻信號,分離信號中的亮度與色度,獲取同步信號和YUV分量。
(2)中央控制單元。這是視頻采集顯示系統(tǒng)的核心,由FPGA和外部晶振電路構(gòu)成。FPGA負(fù)責(zé)采集視頻信號,整合和存儲視頻數(shù)據(jù),實(shí)現(xiàn)SRAM讀寫操作切換,連接外圍電路進(jìn)行通信。
(3)存儲器模塊。該模塊將視頻解碼芯片輸出的場同步信號周期作為切換的時(shí)間間隔,SRAM按照存儲單元地址分為4個(gè)空間,用于4路視頻信號存儲,保證各路信號均可正常顯示。
(4)電源模塊。接入外部5 V電源,為內(nèi)部芯片工作提供5 V電壓,并將5 V電源進(jìn)行低壓處理,獲得3.3 V和2.5 V電源,提供給其他器件使用。
(5)FPGA配置模塊。每次啟動系統(tǒng)后需加載相應(yīng)程序,采用主動配置與被動配置相結(jié)合的方式重新配置FPGA,利用串行配置器件完成配置。
2.2 系統(tǒng)的具體工作流程
系統(tǒng)上電后,由配置芯片重新配置FPGA;配置完成后,F(xiàn)PGA對視頻解碼芯片進(jìn)行初始化;視頻解碼芯片進(jìn)入工作狀態(tài),采集4路模擬視頻信號;FPGA初步處理4路數(shù)字視頻信號;處理后,將4路視頻數(shù)據(jù)存儲到SRAM中;在TFTLCD上顯示所采集的數(shù)字化視頻信息;利用IO口,可在外部切換采集通道,對系統(tǒng)進(jìn)行復(fù)位操作。具體工程流程如圖1所示。
2.3 系統(tǒng)硬件與軟件的設(shè)計(jì)方案
2.3.1 硬件設(shè)計(jì)方案
①視頻解碼。利用CCD攝像頭采集模擬視頻信號,包括亮度、色差、同步信號等。由于FPGA不能直接采集處理模擬視頻信號,所以必須通過模數(shù)轉(zhuǎn)換模塊將其轉(zhuǎn)換為數(shù)字視頻信號。在轉(zhuǎn)換過程中,需要先分離模擬信號中的亮度和色度,獲取YUV分量,而后對YUV分量進(jìn)行數(shù)字化,轉(zhuǎn)換成RGB空間。
②視頻緩沖。由FPGA負(fù)責(zé)檢測和采集視頻解碼芯片輸出的數(shù)字視頻數(shù)據(jù),F(xiàn)PGA是半定制電路,可彌補(bǔ)定制電路的缺陷,免除傳統(tǒng)可編程器件門電路數(shù)的限制。FPGA采用邏輯單元列陣,內(nèi)部包括輸入輸出模塊、邏輯模塊和內(nèi)部連線。FPGA利用嵌入式平臺保證運(yùn)行的可靠性和穩(wěn)定性,所以視頻采集顯示系統(tǒng)可利用FPGA檢測和緩沖控制數(shù)字視頻信號[3]。
圖1 視頻采集顯示系統(tǒng)工作流程
2.3.2 軟件程序設(shè)計(jì)方案
本系統(tǒng)的軟件設(shè)計(jì)采用Quartus6.0作為開發(fā)平臺,通過該平臺來完成程序邏輯設(shè)計(jì)、仿真分析及下載等工作。
3.1 系統(tǒng)硬件的實(shí)現(xiàn)
本系統(tǒng)的硬件主要由兩大部分組成,一部分是采集模塊,另一部分是FPGA模塊,下面分別對其實(shí)現(xiàn)過程進(jìn)行論述。
3.1.1 采集模塊的實(shí)現(xiàn)
①視頻解碼芯片。本系統(tǒng)的在對采集模塊進(jìn)行實(shí)現(xiàn)的過程中,選用了國內(nèi)某公司自主研發(fā)的GM7113C視頻解碼芯片,之所以選用該芯片是因?yàn)樗捎昧水?dāng)前較為流行的CMOS工藝,芯片能夠?qū)σ曨l信號進(jìn)行有效的解碼,同時(shí)還能與DSP相接組成應(yīng)用系統(tǒng)[4]。
②解碼電路的設(shè)計(jì)。本次設(shè)計(jì)中選用的視頻解碼芯片的供電電壓為3.3 V,屬于低壓供電,由此確保了芯片運(yùn)行過程中的低能耗,各個(gè)電源可以通過100 nF的電容與地線進(jìn)行可靠連接,這樣能將高頻干擾有效濾除掉。SDA和SCL接口為總線接口,其能夠與FPGA相連接,由于這兩個(gè)接口屬于雙向接口,故此需要在電路設(shè)計(jì)中分別在兩個(gè)接口上各接一個(gè)上拉電阻,電阻值可控制在4.7 K。
3.1.2 FPGA模塊的實(shí)現(xiàn)
①選型。本系統(tǒng)設(shè)計(jì)中,F(xiàn)PGA芯片選用的是EP2C8Q208芯片,由于該芯片采用的是全銅層工藝,故此其裸片尺寸相對較小。
②FPGA與SRAM接口電路的設(shè)計(jì)。本系統(tǒng)在設(shè)計(jì)時(shí),圖像緩存選用了IS61LV51216AL-10T,這是一個(gè)靜態(tài)且高速的RAM,它的容量可以達(dá)到512 Kb,讀寫時(shí)間均為10 ns,符合系統(tǒng)的應(yīng)用需要。
③FPGA與顯示模塊接口電路的設(shè)計(jì)。本系統(tǒng)在顯示模塊選用的是TFT-LCD液晶顯示屏,分辨率為640*480,其所顯示的圖像格式為標(biāo)準(zhǔn)的RGB666格式,所需的數(shù)據(jù)線條數(shù)為18根,系統(tǒng)顯示緩存的數(shù)據(jù)線為16位,在FPGA與顯示模塊進(jìn)行連接時(shí),可以采用565的電路連接方式,并通過低位補(bǔ)0的方法對差的3位數(shù)據(jù)信號進(jìn)行補(bǔ)充。
3.2 系統(tǒng)軟件的設(shè)計(jì)
3.2.1 LCD顯示控制器
在本系統(tǒng)中,LCD控制器是通過硬件描述語言編程來實(shí)現(xiàn)的,它由以下幾個(gè)部分組成:緩存讀寫控制、數(shù)據(jù)格式處理、時(shí)序產(chǎn)生。同時(shí),外圍接口包括微控制器接口、SRAM接口、LCD顯示屏接口。
3.2.2 圖像防抖動
對圖像抖動問題的解決方法較為常用的有兩種,一種是在系統(tǒng)設(shè)計(jì)中加如緩沖機(jī)制,借助FIFO的數(shù)據(jù)存儲特性,實(shí)現(xiàn)數(shù)據(jù)在異步時(shí)鐘間的無縫傳輸;另一種是同步時(shí)鐘。鑒于第二種方法實(shí)現(xiàn)過程更加簡單,所以設(shè)計(jì)時(shí)選用同步時(shí)鐘進(jìn)行圖像防抖動。
綜上所述,F(xiàn)PGA技術(shù)以其自身所具備的邏輯功能強(qiáng)大、設(shè)計(jì)靈活、操作簡便等優(yōu)點(diǎn),在相關(guān)系統(tǒng)的設(shè)計(jì)開發(fā)中獲得應(yīng)用。本文基于FPGA技術(shù),對視頻采集顯示系統(tǒng)的設(shè)計(jì)進(jìn)行了分析,通過FPGA技術(shù)的運(yùn)用,使整個(gè)系統(tǒng)的設(shè)計(jì)過程得以簡化,縮短了設(shè)計(jì)周期,提高了設(shè)計(jì)效率和質(zhì)量。
[1]貢鎮(zhèn).基于FPGA的實(shí)時(shí)視頻圖像采集與顯示系統(tǒng)的研究與實(shí)現(xiàn)[D].淮南:安徽理工大學(xué),2013.
[2]岳振國.基于FPGA的視頻采集與預(yù)處理系統(tǒng)的研究與設(shè)計(jì)[D].南京:南京郵電大學(xué),2014.
[3]馬超.基于FPGA的多通道視頻圖像采集預(yù)處理系統(tǒng)設(shè)計(jì)[D].北京:中國科學(xué)院研究生院,2014.
[4]時(shí)旭.基于FPGA的視頻圖像采集系統(tǒng)的設(shè)計(jì)[D].吉林:吉林大學(xué),2016.
Design and research of video capture and display system based on FPGA
Huang Zhibin
(Jiangsu Radio Power Plant Co., Ltd., Nanjing 210012, China)
In this paper, the FPGA technology and its characteristics are briefly described in this paper, on the basis of the FPGA technology, the design of the video capture display system is studied. Through the discussion of this paper, aiming at improve the design level of the video capture display system and the performance of the system.
FPGA; video capture; display; system design
黃志斌(1987— ),男,江西撫州,本科;助理工程師;研究方向:基于FPGA的產(chǎn)品開發(fā)及應(yīng)用。