新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > HDMI前端設(shè)計(jì)與實(shí)現(xiàn)

HDMI前端設(shè)計(jì)與實(shí)現(xiàn)

作者: 時(shí)間:2016-10-16 來(lái)源:網(wǎng)絡(luò) 收藏

摘要:隨著高清影音時(shí)代的到來(lái),新的技術(shù)也漸趨成熟。本文研究了功能,并采用硬件描述語(yǔ)言實(shí)現(xiàn)規(guī)范定義的編功能。首先對(duì)高清多媒體接口的整體信道傳輸過(guò)程進(jìn)行了分析和分解,并闡述了三個(gè)數(shù)據(jù)周期傳輸時(shí)間及其方式的不同。在此基礎(chǔ)上對(duì)編解碼功能進(jìn)行了模塊劃分,采用分層及模塊復(fù)用的設(shè)計(jì)方法。最后通過(guò)NC—Verilog工具驗(yàn)證代碼功能的正確性。

本文引用地址:http://2s4d.com/article/201610/307870.htm

關(guān)鍵詞:高清多媒體接口;;解碼;;

0 引言

數(shù)字影音技術(shù)發(fā)展日新月異,多媒體視聽(tīng)領(lǐng)域正在進(jìn)行著一場(chǎng)革命,隨著生活水平的提高,普通影音己不能滿(mǎn)足人們的需求,追求高清晰畫(huà)質(zhì),立體感音質(zhì),已經(jīng)成為新一代人追求時(shí)尚的一種詮釋。

在過(guò)去相當(dāng)長(zhǎng)的一段時(shí)間,CRT(Cathode Ray Tube)為代表的模擬顯示設(shè)備主導(dǎo)了整個(gè)顯示設(shè)備市場(chǎng)。隨著高清視頻格式(720p/1080i/1080p)的確定,液晶電視、等離子電視等大尺寸數(shù)字化平板顯示設(shè)備的發(fā)明和普及,傳統(tǒng)模擬接口易受電磁干擾、傳輸速率低、帶寬小、傳輸損耗大等缺點(diǎn)已經(jīng)不能滿(mǎn)足海量數(shù)據(jù)流傳輸?shù)刃枨?同時(shí),影視等行業(yè)對(duì)版權(quán)意識(shí)越來(lái)越重視,數(shù)據(jù)傳輸?shù)募用茏兊糜l(fā)重要,傳輸更快更安全的全數(shù)字化接口代替模擬接口成為必然趨勢(shì)。于是第一個(gè)行業(yè)支持的、無(wú)壓縮的、全數(shù)字的音視頻接口 —HDMI誕生了。

HDMI的全稱(chēng)是“High Definition Multimedia Interface高清多媒體接口”。2002年4月,來(lái)自電子電器行業(yè)的7家公司——日立、松下、飛利浦、Silicon Image、索尼、湯姆遜、東芝共同組建了HDMI高清多媒體接口組織HDMI founders(HDMI論壇),HDMI founders在2002年12月9號(hào)正式發(fā)布HDMI1.0版標(biāo)準(zhǔn),標(biāo)志著HDMI技術(shù)正式進(jìn)入歷史舞臺(tái)。隨著HDMI標(biāo)準(zhǔn)本身的發(fā)展,1.3a版本和2.0等后續(xù)版本也陸續(xù)推出,不僅性能更加強(qiáng)大,兼容性也更加出色。

在HDMI標(biāo)準(zhǔn)制定之初,繼承了DVI標(biāo)準(zhǔn)中相對(duì)成熟且較容易實(shí)現(xiàn)的部分技術(shù)標(biāo)準(zhǔn)。整個(gè)傳輸原理依然是基于Silicon Image公司的TMDS(Transition Minimized Differential Sienaling)技術(shù)。

HDMI具有體積小、抗干擾強(qiáng)、兼容性好、智能連接、單線纜同時(shí)傳輸無(wú)壓縮音視頻等優(yōu)勢(shì)。因此,它已被廣泛地應(yīng)用到DVD、機(jī)頂盒等設(shè)備中,HDMI正在成為高清時(shí)代普及率最高、用途最廣泛的數(shù)字接口。

1 HDMI概述

HDMI系統(tǒng)架構(gòu)由信源端和接收端組成。如圖1所示,HDMI提供四個(gè)獨(dú)立的TMDS(Transition Minimized Differential Signaling)通信通道:三個(gè)數(shù)據(jù)信道和一個(gè)時(shí)鐘信道,這些信道主要用于傳遞視頻、音頻和輔助數(shù)據(jù)。另外,HDMI提供一個(gè)VESADDC(Video Electronics Standards Association)(Display Data Channel)信道。DDC是用于配置和在一個(gè)單獨(dú)的信源端和一個(gè)單獨(dú)的接收端交換狀態(tài),讀取接收端的E-EDID數(shù)據(jù)結(jié)構(gòu)。CEC(Consumer Electronics Control)是一個(gè)可選信道,可選擇在用戶(hù)的各種不同的音視頻產(chǎn)品中,為高端用戶(hù)提供高水平的控制功能。可選擇的HDMI以太網(wǎng)和音頻返回(HEAC),在連接的設(shè)備中提供以太網(wǎng)兼容的網(wǎng)絡(luò)數(shù)據(jù)和一個(gè)和TMDS相對(duì)方向的音頻返回信道。

a.jpg

音頻,視頻和輔助數(shù)據(jù)都是在三個(gè)TMDS數(shù)據(jù)信道中相互交錯(cuò)傳輸。TMDS時(shí)鐘,即視頻像素速率傳輸時(shí)鐘,在TMDS時(shí)鐘信道中傳輸,它被接收端三個(gè) TMDS信道作為一個(gè)頻率參考,用于對(duì)三個(gè)TMDS數(shù)據(jù)信道的數(shù)據(jù)復(fù)原。在信源端,TMDS編碼將每個(gè)TMDS數(shù)據(jù)的8bits數(shù)據(jù)轉(zhuǎn)換成10bits的 DC-balanced數(shù)據(jù),10bits的DC-balanced數(shù)據(jù)將以每個(gè)TMDS時(shí)鐘周期串行地在差分線對(duì)上進(jìn)行傳輸。

視頻數(shù)據(jù)像素時(shí)鐘的TMDS時(shí)鐘上傳遞默認(rèn)值為24位色深,視頻數(shù)據(jù)還兼容30,36,48位像素的數(shù)據(jù)。更高的色深使用需要相應(yīng)的更高的TMDS時(shí)鐘率。視頻格式TMDS時(shí)鐘率低于25M可以運(yùn)用像素復(fù)用發(fā)送的策略來(lái)進(jìn)行傳輸。視頻像素支持多種編碼格式,可以是 RGB,YCbCr4:4:4,YCbCr4:2:2格式編碼。

TMDS信道傳輸音頻和輔助數(shù)據(jù)中,HDMI的信源端需要采取用包的格式來(lái)保證傳輸。為了保證音頻和控制信號(hào)的高保真度,音頻和輔助數(shù)據(jù)數(shù)據(jù)需要BCH糾錯(cuò)碼的編碼方式,且采取了一種10bits減少錯(cuò)誤編碼的特殊編碼方式?;镜囊纛l傳輸功能幾乎包括所有的普通的立體聲音頻,在采樣頻率分別為 32KHz,44.1KHz和48KHz情況下的IEC60958L—PCM音頻流。HDMI還可以傳輸采樣頻率高達(dá)192KHz,采用3到8個(gè)音頻通道的音頻流。HDMI同樣可以傳輸采樣頻率高達(dá)24.576MHz的IEC61937壓縮音頻。HDMI同樣可以傳輸2—8通道的OneBit音頻或者是一種被稱(chēng)為DST的壓縮的One Bit音頻。

2 HDMI編碼設(shè)計(jì)

本設(shè)計(jì)是基于HDMI 1.4版本的編解碼設(shè)計(jì)。主要分為兩個(gè)大模塊設(shè)計(jì),即HDMI TX編碼模塊和HDMI RX解碼模塊。TX編碼模塊主要實(shí)現(xiàn)把視頻、音頻數(shù)據(jù)通過(guò)編碼傳輸給Rx解碼模塊。RX解碼模塊主要把視頻、音頻數(shù)據(jù)解碼后傳輸給外置設(shè)備。

如圖2所示,HDMI有三種處理數(shù)據(jù)的操作模式:視頻數(shù)據(jù)周期,數(shù)據(jù)島周期,控制周期。在視頻數(shù)據(jù)周期,傳輸每一個(gè)有效的視頻像素行。在數(shù)據(jù)島周期中,音頻和輔助數(shù)據(jù)使用一系列數(shù)據(jù)包來(lái)傳輸。在音頻和視頻周期的兩個(gè)非控制周期之間要插入控制周期。

b.jpg

視頻數(shù)據(jù)周期采用最小化差分傳輸編碼(TMDS)的編碼方式,對(duì)每個(gè)8bits傳輸信道進(jìn)行編碼,三個(gè)傳輸信道共24bits數(shù)據(jù)。

數(shù)據(jù)島周期采用TMDS糾錯(cuò)編碼(TERC4)的編碼方式,每個(gè)4bits傳輸信道進(jìn)行編碼,三個(gè)傳輸信道共12bits數(shù)據(jù)。

控制周期采用最大化傳輸編碼的編碼方式,對(duì)每個(gè)2bits傳輸信道進(jìn)行編碼,三個(gè)傳輸信道共6bits。這6bits數(shù)據(jù)包括HSYNC、VSYNC、CTL0、CTL1、CTL2、CTL3。在每個(gè)控制周期的末尾有一個(gè)報(bào)文頭,使用CTLx bits數(shù)據(jù)組成的preamble,指示下一個(gè)數(shù)據(jù)周期是視頻周期還是數(shù)據(jù)島周期。

每一個(gè)數(shù)據(jù)島周期起始于前導(dǎo)保護(hù)帶(Leading Guard Band),結(jié)束于后置保護(hù)帶(Training Guard Band);而視頻數(shù)據(jù)周期只始于前導(dǎo)保護(hù)帶,沒(méi)有后置保護(hù)帶。保護(hù)邊界兩個(gè)特殊字符組成,設(shè)計(jì)目標(biāo)是提供從控制周期到數(shù)據(jù)周期或從數(shù)據(jù)周期向控制周期轉(zhuǎn)化的魯棒決策。

下表2.3展示在數(shù)據(jù)傳輸中每種操作模式的編碼類(lèi)型。

c.jpg

2. 1 編碼器TX模塊

TX(信源端)發(fā)射模塊,包括時(shí)鐘模塊(由Timing和Timing_dly兩個(gè)模塊組成)、以及編碼模塊。時(shí)鐘模塊主要為視頻音頻交錯(cuò)相傳產(chǎn)生時(shí)鐘,編碼模塊實(shí)現(xiàn)對(duì)視頻音頻數(shù)據(jù)編碼傳輸。

d.jpg

2. 1.1 時(shí)鐘模塊

(1)Timing模塊

Timing模塊是HDMI編碼器的基礎(chǔ),它產(chǎn)生720*480p、1280*720p、1920*1080i等視頻格式的行信號(hào)hsync_pr、場(chǎng)信號(hào)vsync_pr、行無(wú)效信號(hào)hblnk_pr和場(chǎng)無(wú)效信號(hào)vblnk_pr。如圖2所示,hsync_pr、vsync_pr分別為HSYNC、 VSYNC;hblnk_pr為每行前138 pixels置高位,vblnk_pr為每幀前42行和后3行共45行置高位(注:具體定義以CEA-861-D中規(guī)定的720*480p的標(biāo)準(zhǔn)視頻格式為準(zhǔn))。

(2)Timing_dly模塊

Timing_dly模塊是HDMI高速數(shù)據(jù)傳輸?shù)暮诵?,按照TMDS通道的視頻音頻交錯(cuò)傳輸數(shù)據(jù)要求,分配視頻數(shù)據(jù)、音頻數(shù)據(jù)和輔助數(shù)據(jù),以及控制數(shù)據(jù)的傳輸時(shí)間周期,并為編碼模塊提供控制信號(hào)。

e.jpg

主要端口定義:

hsync_pr、vsync_pr;行信號(hào)和場(chǎng)信號(hào)。

aux_rdy:當(dāng)輸出是“1”,則外部數(shù)據(jù)緩存音頻數(shù)據(jù)準(zhǔn)備完畢,可以傳輸音頻數(shù)據(jù);否則,音頻數(shù)據(jù)未完成打包,終止傳輸音頻數(shù)據(jù)。

aux_admit:當(dāng)輸出是“1”,則傳輸音頻數(shù)據(jù);否則終止接受音頻包數(shù)據(jù)。

ade、vde:分別表示傳輸音、視頻數(shù)據(jù)標(biāo)志位,為高時(shí)表示進(jìn)入數(shù)據(jù)島或視頻數(shù)據(jù)周期。

2.1.2 encoder模塊

timing模塊采用TMDS編碼、TERC4編碼和最大化傳輸編碼三種編碼形式,對(duì)視頻數(shù)據(jù)、音頻數(shù)據(jù)包和輔助數(shù)據(jù)、控制數(shù)據(jù)編碼傳輸。

視頻像素?cái)?shù)據(jù)的編碼可分為兩個(gè)階段:第一個(gè)階段是輸入音頻的8bits像素?cái)?shù)據(jù)轉(zhuǎn)換成9bits數(shù)據(jù);第二階段是把9bit數(shù)據(jù)轉(zhuǎn)換成TMDS傳輸10bits。

實(shí)現(xiàn)的TMDS編碼算法如圖5所示。

f.jpg

D:輸入8 bits視頻數(shù)據(jù)。

cnt:計(jì)算編碼數(shù)據(jù)中0和1個(gè)數(shù)的差值。若cnt為正值表示發(fā)送1的數(shù)量超過(guò)0的數(shù)量,負(fù)值則表示發(fā)送0的數(shù)量多于1的數(shù)量。cnt{t-1}表示相對(duì)于輸入數(shù)據(jù)的前一個(gè)周期的cnt的值,cnt{t}表示本周期的值。

q_m:第一階段的9 bits輸出數(shù)據(jù)。

q_out:第二階段的10 bits輸出數(shù)據(jù),即編碼器輸出值。

N1{x}:這個(gè)操作符返回參數(shù)x中的1的個(gè)數(shù)。

N0{x}:這個(gè)操作符返回參數(shù)x中的0的個(gè)數(shù)部分核心代碼如下:

g.jpg

h.jpg

2.2 解碼器RX模塊

解碼器模塊較容易實(shí)現(xiàn),只需依據(jù)preamble控制位判斷接下來(lái)傳輸?shù)臄?shù)據(jù)類(lèi)型,即音頻或視頻數(shù)據(jù),然后解碼即可。解碼同樣分兩個(gè)階段,如圖5所示,第一階段由10bits數(shù)據(jù)轉(zhuǎn)為9bits數(shù)據(jù),第二階段由9bits數(shù)據(jù)轉(zhuǎn)為8bits數(shù)據(jù)。

圖6 TMDS解碼原理

i.jpg

3 HDMI功能仿真驗(yàn)證

在HDMI功能驗(yàn)證采用分層驗(yàn)證法,根據(jù)Spec1.4的編碼解碼的要求,制定驗(yàn)證計(jì)劃,設(shè)計(jì)各種激勵(lì),實(shí)現(xiàn)近百分之百的覆蓋率。本文運(yùn)用的工具是Cadence NC—Verilog,文中介紹部分驗(yàn)證計(jì)劃,以及驗(yàn)證的結(jié)果。

3.1 時(shí)鐘模塊的功能仿真驗(yàn)證

按Spec1.4要求,給定仿真必需激勵(lì)信號(hào),仿真數(shù)據(jù)島周期及視頻數(shù)據(jù)周期的每個(gè)像素時(shí)鐘的功能分布是否符合Spec1.4的要求。比如驗(yàn)證ctl[3:0]的正確性,如圖4所示,在3個(gè)blanking、8個(gè)preamble、2個(gè)leading guard band的時(shí)鐘周期之后,進(jìn)入下一個(gè)狀態(tài),ctl[3:0]的值與狀態(tài)所表示的值對(duì)比便可驗(yàn)證。

在驗(yàn)證數(shù)據(jù)島周期:在ade_pr置高位后,經(jīng)過(guò)4個(gè)blanking+8個(gè)preamble+2個(gè)leading guard band。packet傳輸結(jié)束后置低位。ade置高位進(jìn)入data island period,再經(jīng)過(guò)2個(gè)leading guard band+N個(gè)32位的packets+trialing guard band。trialing guard band后置低位。在8個(gè)preamble時(shí),ctl[3:0]=4’b0101。

在驗(yàn)證視頻數(shù)據(jù)周期時(shí):vde_pr置高位后,經(jīng)過(guò)4個(gè)blanking+8個(gè)preamble+2個(gè)leading guard band。video data傳輸結(jié)束后置低位。vde置高位進(jìn)入video data period,再經(jīng)過(guò)2個(gè)leading guard band+active video pixels。video data傳輸完后置低位。在8個(gè)preamble時(shí),ctl[3:0]=4’b0001。

圖7數(shù)據(jù)島周期和視頻數(shù)據(jù)周期仿真圖

j.jpg

3.2 HDMI模塊仿真

把時(shí)鐘模塊和encoder模塊整合成TX模塊,其中encoder模塊分別實(shí)例為Encdr、Encdg、Encdb三個(gè)信道的編碼模塊。將TX和RX模塊,即hdmi_encoder和hdmi_decoder,組合在一起仿真。

如圖8所示,輸入的音頻、視頻數(shù)據(jù)用random函數(shù)隨機(jī)產(chǎn)生,且在固定的時(shí)間周期輸入,將輸出與輸入對(duì)比,得出HDMI整個(gè)編解碼模塊是否正確。

k.jpg

如圖9所示,第一組為7bits視頻數(shù)據(jù)輸入,第二組為編碼后的10bits視頻數(shù)據(jù)輸出,第三組為解碼后的7bits視頻數(shù)據(jù)輸出。視頻數(shù)據(jù)編碼需要三個(gè)時(shí)鐘,解碼需要兩個(gè)時(shí)鐘,所以每間隔五個(gè)時(shí)鐘輸入7bits數(shù)據(jù)等于輸出的7bits數(shù)據(jù),即從編碼到解碼一共需要五個(gè)時(shí)鐘。

l.jpg

4 結(jié)論

進(jìn)入21世紀(jì),在帶寬、音頻、傳輸安全等方面具有優(yōu)越性的HDMI的出現(xiàn),滿(mǎn)足了數(shù)字高清時(shí)代海量數(shù)據(jù)流傳輸?shù)男枨蟆1驹O(shè)計(jì)運(yùn)用 verilog HDL實(shí)現(xiàn)HDMI編碼及解碼功能,通過(guò)寫(xiě)仿真測(cè)試激勵(lì)及運(yùn)用NC—Verilog工具仿真代碼邏輯的正確性。從子模塊、模塊、系統(tǒng)仿真驗(yàn)證自底向上的方法來(lái)進(jìn)行,最終根據(jù)仿真驗(yàn)證結(jié)果確認(rèn)實(shí)現(xiàn)編解碼功能。非常感謝芯珠微電子林泉工程師及梁文鋒、黎偉蓮、洪傳練、楊家昌等同事的幫助,本設(shè)計(jì)的不足之處將在后續(xù)工作中改進(jìn)。



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉