新聞中心

EEPW首頁 > 模擬技術 > 設計應用 > HDMI前端設計與實現(xiàn)

HDMI前端設計與實現(xiàn)

作者: 時間:2016-10-16 來源:網(wǎng)絡 收藏

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

本文引用地址:http://butianyuan.cn/article/201610/307870.htm

關鍵詞:高清多媒體接口;;解碼;;

0 引言

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

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

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

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

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

1 HDMI概述

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

a.jpg

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

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

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

2 HDMI編碼設計

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

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

b.jpg

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

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

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

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

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

c.jpg

2. 1 編碼器TX模塊

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

d.jpg

2. 1.1 時鐘模塊

(1)Timing模塊

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

(2)Timing_dly模塊

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

e.jpg

主要端口定義:

hsync_pr、vsync_pr;行信號和場信號。

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

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

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

2.1.2 encoder模塊

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

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

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

f.jpg

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

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

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

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

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

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

g.jpg

h.jpg

2.2 解碼器RX模塊

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

圖6 TMDS解碼原理

i.jpg

3 HDMI功能仿真驗證

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

3.1 時鐘模塊的功能仿真驗證

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

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

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

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

j.jpg

3.2 HDMI模塊仿真

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

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

k.jpg

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

l.jpg

4 結論

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



評論


相關推薦

技術專區(qū)

關閉