劉媛媛 馮宏偉
(1.無錫科技職業(yè)學(xué)院機(jī)電學(xué)院,江蘇 無錫 214028;2.江南大學(xué),江蘇 無錫 214122;3.無錫格林通安全裝備有限公司,江蘇 無錫 214073)
目前,常見的數(shù)字視頻接口方式有LVDS、DVI及HDMI等。LVDS是一種低壓差分信號(hào)接口,其支持速率僅有230Mbit/s(即SXGA分辨率);而且,LVDS視頻接口無法提供內(nèi)容保護(hù)機(jī)制。因此,LVDS視頻接口主要應(yīng)用在便攜系統(tǒng)的小尺寸顯示器上,不適用于大尺寸高分辨率的桌面顯示器。
相對(duì)于LVDS,DVI/HDMI視頻接口可達(dá)到UXGA分辨率,高于高清電視所需分辨率。同時(shí),DVI可由HDCP實(shí)現(xiàn)內(nèi)容保護(hù)功能,而HDMI自身包含HDCP內(nèi)核。因此,DVI/HDMI視頻接口已廣泛應(yīng)用于DVD播放器、有線/衛(wèi)星電視機(jī)頂盒及高清電視等設(shè)備[1]。
筆者針對(duì)LVDS數(shù)字視頻信號(hào)傳輸速率和分辨率不高的問題,以Cyclon4系列EP4CE40的FPGA為主控器件,結(jié)合DVI/HDMI的視頻編碼芯片TFP410PAP和AD9889B,設(shè)計(jì)LVDS到DVI/HDMI的高清視頻轉(zhuǎn)換器。
高清視頻轉(zhuǎn)換器整體方案如圖1所示。該視頻轉(zhuǎn)換器以24位雙通道LVDS信號(hào)作為待轉(zhuǎn)視頻源,采用雙路方式傳輸,奇數(shù)路和偶數(shù)路數(shù)據(jù)各24位(即RGB數(shù)據(jù)共計(jì)48位),每個(gè)RGB基色信號(hào)為8位數(shù)據(jù)。
圖1 高清視頻轉(zhuǎn)換器整體方案
該視頻轉(zhuǎn)換器是以FPGA為主控芯片的硬件電路。FPGA內(nèi)部的LVDS接收器實(shí)現(xiàn)對(duì)24位雙通道LVDS低壓差分信號(hào)的接收,然后把解碼出來的并行圖像數(shù)據(jù)按照對(duì)應(yīng)關(guān)系將每個(gè)像素的色彩值解析到RGB空間,實(shí)現(xiàn)色彩空間的轉(zhuǎn)換,并將每個(gè)像素轉(zhuǎn)換后的RGB值存儲(chǔ)在SDRAM中,依照視頻輸出所要求的分辨率,再從SDRAM中讀取像素的RGB值,并將RGB值轉(zhuǎn)換為TMDS的碼元串行序列。由于TMDS鏈路是串行信息編碼,根據(jù)TMDS鏈路的編碼規(guī)則,鏈路上的碼元傳輸率高達(dá)1Gbit/s,因此必須使用TMDS專用的發(fā)送芯片發(fā)送TMDS數(shù)據(jù)流,即像素的RGB值由FPGA從SDRAM中讀取出來,依據(jù)標(biāo)準(zhǔn)VGA時(shí)序發(fā)送到TMDS專用發(fā)送芯片,然后經(jīng)該芯片完成對(duì)每個(gè)像素RGB值的編碼和并行到串行的轉(zhuǎn)換,再將其發(fā)送到TMDS鏈路,最終提供給DVI/HDMI視頻端口顯示[2]。
視頻轉(zhuǎn)換器的硬件結(jié)構(gòu)如圖2所示。24位雙通道LVDS信號(hào)通過輸入接口送入FPGA主控芯片,F(xiàn)PGA主控芯片對(duì)該信號(hào)使用內(nèi)部鎖相環(huán)模塊按1∶7的比率進(jìn)行頻率提升,并用串并轉(zhuǎn)換器模塊對(duì)其進(jìn)行串并轉(zhuǎn)換。當(dāng)輸入LVDS信號(hào)與標(biāo)準(zhǔn)LVDS視頻信號(hào)校對(duì)相符且都有效時(shí)開始接收數(shù)據(jù),在時(shí)鐘對(duì)位后開始采集LVDS信號(hào),并通過串并轉(zhuǎn)換成兩組24位RGB數(shù)據(jù)。
圖2 視頻轉(zhuǎn)換器的硬件結(jié)構(gòu)
考慮到DVI/HDMI的圖像分辨率較高,必須保證TMDS發(fā)送芯片與FPGA之間的傳輸帶寬在100MHz以上,因此FPGA的運(yùn)行速率要足夠快。同時(shí)因FPGA和外圍設(shè)備之間的交互比較多,所以要求FPGA有足夠多的引腳。由于采用的晶體振蕩器的時(shí)鐘頻率為27MHz,無法滿足傳輸速率所要求的100MHz以上,因此需要FPGA內(nèi)部帶有鎖相環(huán)。此外,為滿足轉(zhuǎn)換器的脫機(jī)工作,需要保證FPGA具備配置芯片。另外,考慮到轉(zhuǎn)換器的占用面積和版本升級(jí),要求FPGA具有足夠豐富的內(nèi)部資源。
綜合考慮,最終選用Cyclon4系列型號(hào)為EP4CE40的FPGA。該FPGA具有高速LVDS I/O端口,其運(yùn)行速率可達(dá)640Mbit/s,低速LVDS I/O端口的運(yùn)行速率也有311Mbit/s;共有484個(gè)引腳,其中包括328個(gè)可用引腳;4個(gè)鎖相環(huán);支持串行配置芯片;邏輯單元有39 600個(gè);存儲(chǔ)空間為1 161 216bit[3],完全滿足視頻轉(zhuǎn)換器對(duì)FPGA的要求。該FPGA還具有濾波器、顏色空間轉(zhuǎn)換及圖像編碼器等成熟的IP內(nèi)核,相比于純軟件的串行工作方式,該FPGA硬件的流水線和并行工作方式在速度上有很大優(yōu)勢(shì)。同時(shí),采用該FPGA作為主控器件,可極大地提高視頻轉(zhuǎn)換器的靈活性,不僅可以實(shí)現(xiàn)數(shù)字信號(hào)的轉(zhuǎn)換,還可以利用FPGA的可配置性輕松實(shí)現(xiàn)在線升級(jí)和維護(hù),能夠極大地提升視頻轉(zhuǎn)換器的實(shí)用價(jià)值[4,5]。
HDMI發(fā)送芯片采用高清多媒體HDMI1.3接口發(fā)送芯片AD9889B。AD9889B支持像素帶寬在25~165MPixel/s的TMDS鏈路,支持高達(dá)1 080p的高清電視格式和高達(dá)UXGA分辨率(1 600×1 200,60Hz)的圖像。該芯片具備HDCP支持功能,可實(shí)現(xiàn)對(duì)HDCP1.2協(xié)議所規(guī)定的受保護(hù)內(nèi)容的傳輸。另外,其外圍配置電路較少,設(shè)計(jì)靈活性較高,通過配置引腳連接到FPGA,即可完成在不同工作方式下的多種配置。AD9889B的外圍電路如圖3所示。
圖3 HDMI發(fā)送芯片AD9889B的外圍電路
DVI發(fā)送芯片采用可兼容DVI1.0規(guī)范的視頻編碼芯片TFP410PAP。與發(fā)送芯片AD9889B一樣,TFP410PAP支持像素帶寬在25~165MPixel/s的TMDS鏈路。通過接收FPGA發(fā)送的24位并行視頻數(shù)據(jù)、時(shí)鐘和控制信號(hào),TFP410PAP內(nèi)部的TMDS模塊將其轉(zhuǎn)換成3路RGB數(shù)據(jù)信號(hào)和一路時(shí)鐘信號(hào)。TFP410PAP具有狀態(tài)引腳配置和I2C總線配置,其外圍電路如圖4所示。
根據(jù)VSEA標(biāo)準(zhǔn)的數(shù)據(jù)時(shí)序(圖5),輸入處理模塊在檢測(cè)到HSYNC同步信號(hào)后開始計(jì)數(shù),并開始計(jì)算Backporch的長(zhǎng)度,由于每種圖像格式的Backporch長(zhǎng)度是確定的,計(jì)算得到Backporch的值也就可以確定輸入視頻的格式。在Backporch計(jì)數(shù)后,便可以得到一幀視頻的有效像素,此時(shí)處理模塊會(huì)將有效數(shù)據(jù)存入緩存[6]。
傳入FPGA的LVDS視頻信號(hào)是一對(duì)4組7位信號(hào),信號(hào)要在SDRAM中緩存,然后再對(duì)其進(jìn)行數(shù)據(jù)讀取。在內(nèi)部頻率進(jìn)行倍頻后,在串并轉(zhuǎn)換器的作用下,將解串器所接收的重復(fù)串行模式的每種組合傳送至FPGA內(nèi)部,來讀取LVDS視頻信號(hào)。從兩組28位信號(hào)中依次讀取像素時(shí)鐘信號(hào)、行場(chǎng)同步信號(hào)、數(shù)據(jù)使能信號(hào)和兩組24bit的RGB數(shù)據(jù)信號(hào),完成對(duì)LVDS信號(hào)的RGB解析。
SDRAM讀寫控制模塊負(fù)責(zé)在系統(tǒng)上電時(shí)初始化SDRAM。待SDRAM初始化后,控制模塊再接收外圍模塊的控制信號(hào),并根據(jù)信號(hào)向SDRAM發(fā)出相應(yīng)的讀寫操作命令,保證數(shù)據(jù)的正確寫入、讀出和SDRAM的刷新。
圖4 DVI發(fā)送芯片TFP410PAP的外圍電路
圖5 VSEA標(biāo)準(zhǔn)的數(shù)據(jù)時(shí)序
首先將LVDS信號(hào)經(jīng)過串并轉(zhuǎn)換后的第一幀圖像的奇數(shù)場(chǎng)數(shù)字視頻信號(hào)數(shù)據(jù)依次存入SDRAM1中,如圖6中的W1,同時(shí)FPGA通過算法的控制,對(duì)輸入的每行數(shù)字信號(hào)進(jìn)行復(fù)制,此時(shí)SDRAM2處于視頻輸出狀態(tài)R1。若SDRAM2中無數(shù)據(jù),輸出狀態(tài)表示等待,同時(shí)也不進(jìn)行數(shù)據(jù)寫入。然后,當(dāng)奇數(shù)場(chǎng)數(shù)據(jù)寫入SDRAM1完成時(shí),控制切換到對(duì)SDRAM1的數(shù)據(jù)進(jìn)行讀取,即圖6中的R2狀態(tài);接著將偶數(shù)場(chǎng)數(shù)據(jù)寫入SDRAM2中,即圖6中的W2,在偶數(shù)行視頻數(shù)據(jù)輸入的同時(shí)對(duì)數(shù)據(jù)進(jìn)行復(fù)制,使偶數(shù)場(chǎng)轉(zhuǎn)換為一幀完整的圖像。依此類推,通過這種“乒乓操作”的方式使SDRAM1和SDRAM2分別工作在讀與寫的狀態(tài),并通過FPGA對(duì)視頻數(shù)據(jù)進(jìn)行復(fù)制處理,從而確保視頻場(chǎng)數(shù)據(jù)為逐行的幀數(shù)據(jù)。
圖6 雙SDRAM讀寫控制示意圖
DVI/HDMI發(fā)送模塊分別根據(jù)DVI/HDMI行同步信號(hào)的時(shí)序,向SDRAM控制器發(fā)出讀入RGB像素信號(hào)請(qǐng)求,通過“乒乓操作”讀寫的控制,兩個(gè)SDRAM中存儲(chǔ)的RGB值交替向DVI/HDMI發(fā)送模塊輸出[7]。發(fā)送模塊發(fā)送的RGB數(shù)據(jù),一路送DVI發(fā)送芯片TFP410PAP并轉(zhuǎn)換為TMDS信號(hào)輸出,另一路送HDMI發(fā)送芯片AD9889B并轉(zhuǎn)換為TMDS信號(hào)輸出。TMDS數(shù)據(jù)鏈路的結(jié)構(gòu)如圖7所示。
圖7 TMDS數(shù)據(jù)鏈路結(jié)構(gòu)
在TMDS數(shù)據(jù)鏈路結(jié)構(gòu)中,F(xiàn)PGA將R、G、B共3組各8位的視頻數(shù)據(jù)、時(shí)鐘和控制信號(hào)傳送給包含3個(gè)獨(dú)立編碼器的TMDS發(fā)送芯片,每個(gè)編碼器負(fù)責(zé)對(duì)一組視頻數(shù)據(jù)進(jìn)行編碼。10bit編碼后的碼元從并行數(shù)據(jù)轉(zhuǎn)換到串行數(shù)據(jù),然后按最低位到最高位的順序被發(fā)送到TMDS鏈路上,從而保證視頻數(shù)據(jù)、時(shí)鐘和控制信號(hào)可同步發(fā)送給顯示終端。
Cyclon4系列EP4CE40的FPGA作為DVI/HDMI高清視頻轉(zhuǎn)換器的主控器件,承擔(dān)LVDS視頻數(shù)據(jù)流的解析、色彩空間轉(zhuǎn)換、存儲(chǔ)器的讀寫控制及DVI/HDMI發(fā)送芯片的控制等多種任務(wù),提高了系統(tǒng)的集成度。筆者提出的視頻轉(zhuǎn)換器DVI/HDMI視頻接口可達(dá)UXGA分辨率,高于高清電視所需分辨率,確保了高清信號(hào)的輸出。另外,視頻轉(zhuǎn)換器接口采用信號(hào)差分對(duì)傳輸,發(fā)送和接收數(shù)據(jù)都為壓差信號(hào),傳輸線纜的長(zhǎng)度對(duì)信號(hào)影響較小,具備遠(yuǎn)距離傳輸及抗干擾能力強(qiáng)等優(yōu)點(diǎn),具有較高的實(shí)用價(jià)值。
[1] 張彥梅,柴芳嬌.基于FPGA的高速圖像采集系統(tǒng)[J].北京理工大學(xué)學(xué)報(bào),2010,30(9):1117~1120.
[2] 向守坤,黃啟俊,江冠群,等.基于FPGA的ITU-R BT.656數(shù)字視頻轉(zhuǎn)換接口系統(tǒng)[J].電子測(cè)量技術(shù),2009,32(4):113~117.
[3] 趙東方,李雄,于心亮,等.基于FPGA的數(shù)字視頻轉(zhuǎn)換接口的設(shè)計(jì)與實(shí)現(xiàn)[J].電子產(chǎn)品世界,2007,(10):160~161.
[4] 何振琦,李光明,張慧琳,等.高速圖像采集系統(tǒng)的研究及FPGA實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2010,30(11):3094~3096.
[5] 梁義濤,唐垚,史衛(wèi)亞,等.基于Cyclone IV的Camera Link-HDMI高清視頻轉(zhuǎn)換器設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2013,39(5):12~14.
[6] 卿啟新.基于FPGA的LVDS視頻信號(hào)轉(zhuǎn)換系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)[D].廣州:華南理工大學(xué),2011.
[7] 劉翠萍.長(zhǎng)線傳輸中數(shù)字視頻格式轉(zhuǎn)換接口的設(shè)計(jì)[D].哈爾濱:哈爾濱理工大學(xué),2009.