劉媛媛 馮宏偉
(1.無錫科技職業學院機電學院,江蘇 無錫 214028;2.江南大學,江蘇 無錫 214122;3.無錫格林通安全裝備有限公司,江蘇 無錫 214073)
目前,常見的數字視頻接口方式有LVDS、DVI及HDMI等。LVDS是一種低壓差分信號接口,其支持速率僅有230Mbit/s(即SXGA分辨率);而且,LVDS視頻接口無法提供內容保護機制。因此,LVDS視頻接口主要應用在便攜系統的小尺寸顯示器上,不適用于大尺寸高分辨率的桌面顯示器。
相對于LVDS,DVI/HDMI視頻接口可達到UXGA分辨率,高于高清電視所需分辨率。同時,DVI可由HDCP實現內容保護功能,而HDMI自身包含HDCP內核。因此,DVI/HDMI視頻接口已廣泛應用于DVD播放器、有線/衛星電視機頂盒及高清電視等設備[1]。
筆者針對LVDS數字視頻信號傳輸速率和分辨率不高的問題,以Cyclon4系列EP4CE40的FPGA為主控器件,結合DVI/HDMI的視頻編碼芯片TFP410PAP和AD9889B,設計LVDS到DVI/HDMI的高清視頻轉換器。
高清視頻轉換器整體方案如圖1所示。該視頻轉換器以24位雙通道LVDS信號作為待轉視頻源,采用雙路方式傳輸,奇數路和偶數路數據各24位(即RGB數據共計48位),每個RGB基色信號為8位數據。

圖1 高清視頻轉換器整體方案
該視頻轉換器是以FPGA為主控芯片的硬件電路。FPGA內部的LVDS接收器實現對24位雙通道LVDS低壓差分信號的接收,然后把解碼出來的并行圖像數據按照對應關系將每個像素的色彩值解析到RGB空間,實現色彩空間的轉換,并將每個像素轉換后的RGB值存儲在SDRAM中,依照視頻輸出所要求的分辨率,再從SDRAM中讀取像素的RGB值,并將RGB值轉換為TMDS的碼元串行序列。由于TMDS鏈路是串行信息編碼,根據TMDS鏈路的編碼規則,鏈路上的碼元傳輸率高達1Gbit/s,因此必須使用TMDS專用的發送芯片發送TMDS數據流,即像素的RGB值由FPGA從SDRAM中讀取出來,依據標準VGA時序發送到TMDS專用發送芯片,然后經該芯片完成對每個像素RGB值的編碼和并行到串行的轉換,再將其發送到TMDS鏈路,最終提供給DVI/HDMI視頻端口顯示[2]。
視頻轉換器的硬件結構如圖2所示。24位雙通道LVDS信號通過輸入接口送入FPGA主控芯片,FPGA主控芯片對該信號使用內部鎖相環模塊按1∶7的比率進行頻率提升,并用串并轉換器模塊對其進行串并轉換。當輸入LVDS信號與標準LVDS視頻信號校對相符且都有效時開始接收數據,在時鐘對位后開始采集LVDS信號,并通過串并轉換成兩組24位RGB數據。

圖2 視頻轉換器的硬件結構
考慮到DVI/HDMI的圖像分辨率較高,必須保證TMDS發送芯片與FPGA之間的傳輸帶寬在100MHz以上,因此FPGA的運行速率要足夠快。同時因FPGA和外圍設備之間的交互比較多,所以要求FPGA有足夠多的引腳。由于采用的晶體振蕩器的時鐘頻率為27MHz,無法滿足傳輸速率所要求的100MHz以上,因此需要FPGA內部帶有鎖相環。此外,為滿足轉換器的脫機工作,需要保證FPGA具備配置芯片。另外,考慮到轉換器的占用面積和版本升級,要求FPGA具有足夠豐富的內部資源。
綜合考慮,最終選用Cyclon4系列型號為EP4CE40的FPGA。該FPGA具有高速LVDS I/O端口,其運行速率可達640Mbit/s,低速LVDS I/O端口的運行速率也有311Mbit/s;共有484個引腳,其中包括328個可用引腳;4個鎖相環;支持串行配置芯片;邏輯單元有39 600個;存儲空間為1 161 216bit[3],完全滿足視頻轉換器對FPGA的要求。該FPGA還具有濾波器、顏色空間轉換及圖像編碼器等成熟的IP內核,相比于純軟件的串行工作方式,該FPGA硬件的流水線和并行工作方式在速度上有很大優勢。同時,采用該FPGA作為主控器件,可極大地提高視頻轉換器的靈活性,不僅可以實現數字信號的轉換,還可以利用FPGA的可配置性輕松實現在線升級和維護,能夠極大地提升視頻轉換器的實用價值[4,5]。
HDMI發送芯片采用高清多媒體HDMI1.3接口發送芯片AD9889B。AD9889B支持像素帶寬在25~165MPixel/s的TMDS鏈路,支持高達1 080p的高清電視格式和高達UXGA分辨率(1 600×1 200,60Hz)的圖像。該芯片具備HDCP支持功能,可實現對HDCP1.2協議所規定的受保護內容的傳輸。另外,其外圍配置電路較少,設計靈活性較高,通過配置引腳連接到FPGA,即可完成在不同工作方式下的多種配置。AD9889B的外圍電路如圖3所示。

圖3 HDMI發送芯片AD9889B的外圍電路
DVI發送芯片采用可兼容DVI1.0規范的視頻編碼芯片TFP410PAP。與發送芯片AD9889B一樣,TFP410PAP支持像素帶寬在25~165MPixel/s的TMDS鏈路。通過接收FPGA發送的24位并行視頻數據、時鐘和控制信號,TFP410PAP內部的TMDS模塊將其轉換成3路RGB數據信號和一路時鐘信號。TFP410PAP具有狀態引腳配置和I2C總線配置,其外圍電路如圖4所示。
根據VSEA標準的數據時序(圖5),輸入處理模塊在檢測到HSYNC同步信號后開始計數,并開始計算Backporch的長度,由于每種圖像格式的Backporch長度是確定的,計算得到Backporch的值也就可以確定輸入視頻的格式。在Backporch計數后,便可以得到一幀視頻的有效像素,此時處理模塊會將有效數據存入緩存[6]。
傳入FPGA的LVDS視頻信號是一對4組7位信號,信號要在SDRAM中緩存,然后再對其進行數據讀取。在內部頻率進行倍頻后,在串并轉換器的作用下,將解串器所接收的重復串行模式的每種組合傳送至FPGA內部,來讀取LVDS視頻信號。從兩組28位信號中依次讀取像素時鐘信號、行場同步信號、數據使能信號和兩組24bit的RGB數據信號,完成對LVDS信號的RGB解析。
SDRAM讀寫控制模塊負責在系統上電時初始化SDRAM。待SDRAM初始化后,控制模塊再接收外圍模塊的控制信號,并根據信號向SDRAM發出相應的讀寫操作命令,保證數據的正確寫入、讀出和SDRAM的刷新。

圖4 DVI發送芯片TFP410PAP的外圍電路

圖5 VSEA標準的數據時序
首先將LVDS信號經過串并轉換后的第一幀圖像的奇數場數字視頻信號數據依次存入SDRAM1中,如圖6中的W1,同時FPGA通過算法的控制,對輸入的每行數字信號進行復制,此時SDRAM2處于視頻輸出狀態R1。若SDRAM2中無數據,輸出狀態表示等待,同時也不進行數據寫入。然后,當奇數場數據寫入SDRAM1完成時,控制切換到對SDRAM1的數據進行讀取,即圖6中的R2狀態;接著將偶數場數據寫入SDRAM2中,即圖6中的W2,在偶數行視頻數據輸入的同時對數據進行復制,使偶數場轉換為一幀完整的圖像。依此類推,通過這種“乒乓操作”的方式使SDRAM1和SDRAM2分別工作在讀與寫的狀態,并通過FPGA對視頻數據進行復制處理,從而確保視頻場數據為逐行的幀數據。

圖6 雙SDRAM讀寫控制示意圖
DVI/HDMI發送模塊分別根據DVI/HDMI行同步信號的時序,向SDRAM控制器發出讀入RGB像素信號請求,通過“乒乓操作”讀寫的控制,兩個SDRAM中存儲的RGB值交替向DVI/HDMI發送模塊輸出[7]。發送模塊發送的RGB數據,一路送DVI發送芯片TFP410PAP并轉換為TMDS信號輸出,另一路送HDMI發送芯片AD9889B并轉換為TMDS信號輸出。TMDS數據鏈路的結構如圖7所示。

圖7 TMDS數據鏈路結構
在TMDS數據鏈路結構中,FPGA將R、G、B共3組各8位的視頻數據、時鐘和控制信號傳送給包含3個獨立編碼器的TMDS發送芯片,每個編碼器負責對一組視頻數據進行編碼。10bit編碼后的碼元從并行數據轉換到串行數據,然后按最低位到最高位的順序被發送到TMDS鏈路上,從而保證視頻數據、時鐘和控制信號可同步發送給顯示終端。
Cyclon4系列EP4CE40的FPGA作為DVI/HDMI高清視頻轉換器的主控器件,承擔LVDS視頻數據流的解析、色彩空間轉換、存儲器的讀寫控制及DVI/HDMI發送芯片的控制等多種任務,提高了系統的集成度。筆者提出的視頻轉換器DVI/HDMI視頻接口可達UXGA分辨率,高于高清電視所需分辨率,確保了高清信號的輸出。另外,視頻轉換器接口采用信號差分對傳輸,發送和接收數據都為壓差信號,傳輸線纜的長度對信號影響較小,具備遠距離傳輸及抗干擾能力強等優點,具有較高的實用價值。
[1] 張彥梅,柴芳嬌.基于FPGA的高速圖像采集系統[J].北京理工大學學報,2010,30(9):1117~1120.
[2] 向守坤,黃啟俊,江冠群,等.基于FPGA的ITU-R BT.656數字視頻轉換接口系統[J].電子測量技術,2009,32(4):113~117.
[3] 趙東方,李雄,于心亮,等.基于FPGA的數字視頻轉換接口的設計與實現[J].電子產品世界,2007,(10):160~161.
[4] 何振琦,李光明,張慧琳,等.高速圖像采集系統的研究及FPGA實現[J].計算機應用,2010,30(11):3094~3096.
[5] 梁義濤,唐垚,史衛亞,等.基于Cyclone IV的Camera Link-HDMI高清視頻轉換器設計[J].電子技術應用,2013,39(5):12~14.
[6] 卿啟新.基于FPGA的LVDS視頻信號轉換系統設計實現[D].廣州:華南理工大學,2011.
[7] 劉翠萍.長線傳輸中數字視頻格式轉換接口的設計[D].哈爾濱:哈爾濱理工大學,2009.