黃志斌
(江蘇無線電廠有限公司,江蘇 南京 210012)
基于FPGA的視頻采集顯示系統設計及研究
黃志斌
(江蘇無線電廠有限公司,江蘇 南京 210012)
文章首先對FPGA技術及其特點進行了簡要闡述,在此次基礎上,基于FPGA技術,對視頻采集顯示系統的相關設計問題進行了研究。文章期望能對視頻采集顯示系統設計水平的提升及系統性能的完善有所幫助。
FPGA;視頻采集;顯示;系統設計
1.1 FPGA的構成
現場可編邏輯門陣列(Field programmable gate array,FPGA)是在PAL,GAL,GPLD基礎上發展起來的一種現場可編程門陣列,適用于內部硬件邏輯更改,具備較強的設計靈活性。FPGA內部的組成部分包括嵌入式RAM、可編程邏輯單元、布線、專用硬盤、功能單元等,其中可編程邏輯單元極為豐富,能夠滿足設計者的多種系統設計需求。器件內部周邊為可編程輸入/輸出單元,用于連接外部芯片輸入輸出管腳與內部控制模塊,可編程輸入/輸出單元由可編程連線資源連接起來,使FPGA具備強大的邏輯功能。
1.2 FPGA的應用優勢
與CPLD,PAL/GAL相比,FPGA的優勢更為明顯,具體表現為:
(1)邏輯功能強大。FPGA采用SRAM編程技術實現系統的快速運行,增強其邏輯功能;布線資源豐富,只需擦除更改程序,即可滿足系統設計所需的不同邏輯功能;可編程I/O資源豐富,可滿足復雜數字邏輯設計。
(2)設計靈活。FPGA內部的嵌入式RAM支持多種操作模式,異步先入先出(First Input First Out,FIFO)數據緩沖器可拓展FPGA的設計范圍,使設計選擇更加靈活;FPGA內部包含的邏輯門數較多,可滿足復雜設計要求[1]。
(3)操作簡便。為保證FPGA系統的可靠性,在使用FPGA芯片之前需進行穩定性測試,在此之后設計者只要利用軟硬件環境便可設計系統功能;在實現FPGA系統不同邏輯功能時,設計者可通過多次反復編程予以實現,無需更改硬件電路。
2.1 系統總體設計方案
視頻采集顯示系統由兩片FPGA、視頻解碼芯片、外存儲器件SRAM等組成。其中,FPGA采集前端圖像、處理后端數據;視頻解碼芯片將模擬信號轉換為數據信號;存儲器緩存數據[2]。在該系統中,由FPGA控制的視頻解碼芯片通過I2C總線進行初始化配置,輸入8位視頻數據、同步HS、場同步VS等。將視頻數據轉換成標準RGB格式的數據,在FPGA的控制下,配合時序信號,截圖顯示所需的像素,將其存入到SRAM中,顯示在LCD/VGA屏幕上。視頻采集系統的模塊與功能具體包括:
(1)視頻采集模塊。采用4片視頻解碼芯片采集4路模擬視頻信號,分離信號中的亮度與色度,獲取同步信號和YUV分量。
(2)中央控制單元。這是視頻采集顯示系統的核心,由FPGA和外部晶振電路構成。FPGA負責采集視頻信號,整合和存儲視頻數據,實現SRAM讀寫操作切換,連接外圍電路進行通信。
(3)存儲器模塊。該模塊將視頻解碼芯片輸出的場同步信號周期作為切換的時間間隔,SRAM按照存儲單元地址分為4個空間,用于4路視頻信號存儲,保證各路信號均可正常顯示。
(4)電源模塊。接入外部5 V電源,為內部芯片工作提供5 V電壓,并將5 V電源進行低壓處理,獲得3.3 V和2.5 V電源,提供給其他器件使用。
(5)FPGA配置模塊。每次啟動系統后需加載相應程序,采用主動配置與被動配置相結合的方式重新配置FPGA,利用串行配置器件完成配置。
2.2 系統的具體工作流程
系統上電后,由配置芯片重新配置FPGA;配置完成后,FPGA對視頻解碼芯片進行初始化;視頻解碼芯片進入工作狀態,采集4路模擬視頻信號;FPGA初步處理4路數字視頻信號;處理后,將4路視頻數據存儲到SRAM中;在TFTLCD上顯示所采集的數字化視頻信息;利用IO口,可在外部切換采集通道,對系統進行復位操作。具體工程流程如圖1所示。
2.3 系統硬件與軟件的設計方案
2.3.1 硬件設計方案
①視頻解碼。利用CCD攝像頭采集模擬視頻信號,包括亮度、色差、同步信號等。由于FPGA不能直接采集處理模擬視頻信號,所以必須通過模數轉換模塊將其轉換為數字視頻信號。在轉換過程中,需要先分離模擬信號中的亮度和色度,獲取YUV分量,而后對YUV分量進行數字化,轉換成RGB空間。
②視頻緩沖。由FPGA負責檢測和采集視頻解碼芯片輸出的數字視頻數據,FPGA是半定制電路,可彌補定制電路的缺陷,免除傳統可編程器件門電路數的限制。FPGA采用邏輯單元列陣,內部包括輸入輸出模塊、邏輯模塊和內部連線。FPGA利用嵌入式平臺保證運行的可靠性和穩定性,所以視頻采集顯示系統可利用FPGA檢測和緩沖控制數字視頻信號[3]。

圖1 視頻采集顯示系統工作流程
2.3.2 軟件程序設計方案
本系統的軟件設計采用Quartus6.0作為開發平臺,通過該平臺來完成程序邏輯設計、仿真分析及下載等工作。
3.1 系統硬件的實現
本系統的硬件主要由兩大部分組成,一部分是采集模塊,另一部分是FPGA模塊,下面分別對其實現過程進行論述。
3.1.1 采集模塊的實現
①視頻解碼芯片。本系統的在對采集模塊進行實現的過程中,選用了國內某公司自主研發的GM7113C視頻解碼芯片,之所以選用該芯片是因為它采用了當前較為流行的CMOS工藝,芯片能夠對視頻信號進行有效的解碼,同時還能與DSP相接組成應用系統[4]。
②解碼電路的設計。本次設計中選用的視頻解碼芯片的供電電壓為3.3 V,屬于低壓供電,由此確保了芯片運行過程中的低能耗,各個電源可以通過100 nF的電容與地線進行可靠連接,這樣能將高頻干擾有效濾除掉。SDA和SCL接口為總線接口,其能夠與FPGA相連接,由于這兩個接口屬于雙向接口,故此需要在電路設計中分別在兩個接口上各接一個上拉電阻,電阻值可控制在4.7 K。
3.1.2 FPGA模塊的實現
①選型。本系統設計中,FPGA芯片選用的是EP2C8Q208芯片,由于該芯片采用的是全銅層工藝,故此其裸片尺寸相對較小。
②FPGA與SRAM接口電路的設計。本系統在設計時,圖像緩存選用了IS61LV51216AL-10T,這是一個靜態且高速的RAM,它的容量可以達到512 Kb,讀寫時間均為10 ns,符合系統的應用需要。
③FPGA與顯示模塊接口電路的設計。本系統在顯示模塊選用的是TFT-LCD液晶顯示屏,分辨率為640*480,其所顯示的圖像格式為標準的RGB666格式,所需的數據線條數為18根,系統顯示緩存的數據線為16位,在FPGA與顯示模塊進行連接時,可以采用565的電路連接方式,并通過低位補0的方法對差的3位數據信號進行補充。
3.2 系統軟件的設計
3.2.1 LCD顯示控制器
在本系統中,LCD控制器是通過硬件描述語言編程來實現的,它由以下幾個部分組成:緩存讀寫控制、數據格式處理、時序產生。同時,外圍接口包括微控制器接口、SRAM接口、LCD顯示屏接口。
3.2.2 圖像防抖動
對圖像抖動問題的解決方法較為常用的有兩種,一種是在系統設計中加如緩沖機制,借助FIFO的數據存儲特性,實現數據在異步時鐘間的無縫傳輸;另一種是同步時鐘。鑒于第二種方法實現過程更加簡單,所以設計時選用同步時鐘進行圖像防抖動。
綜上所述,FPGA技術以其自身所具備的邏輯功能強大、設計靈活、操作簡便等優點,在相關系統的設計開發中獲得應用。本文基于FPGA技術,對視頻采集顯示系統的設計進行了分析,通過FPGA技術的運用,使整個系統的設計過程得以簡化,縮短了設計周期,提高了設計效率和質量。
[1]貢鎮.基于FPGA的實時視頻圖像采集與顯示系統的研究與實現[D].淮南:安徽理工大學,2013.
[2]岳振國.基于FPGA的視頻采集與預處理系統的研究與設計[D].南京:南京郵電大學,2014.
[3]馬超.基于FPGA的多通道視頻圖像采集預處理系統設計[D].北京:中國科學院研究生院,2014.
[4]時旭.基于FPGA的視頻圖像采集系統的設計[D].吉林:吉林大學,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的產品開發及應用。