(第二章)HDMI基本工作原理
2.1 HDMI物理特性
2.1.1連接器和線纜概述
一個設備對外的HDMI連接可以通過以下五種連接器中的一種:A型,B型,C型,D型和E型。這個連接器可以直接和設備相連,也可以通過和設備一起發布的線纜適配器相連。
B型連接器稍微大些,A和C型信號相同,適合移動設備,D型相對C型更加小巧。E型為汽車應用而設計。
2.1.2 連接器管腳定義[4]
表2.2 B型管腳定義
表2.3 C型管腳定義
表2.4 D型管腳定義
2.2 HDMI傳輸機制
2.2.1 TMDS差分傳輸原理
HDMI標準沿用了DVI采用的TMDS最小變換差分信號傳輸技術。TMDS最小變換差分信號傳輸技術主要包括三大部分,TMDS差分傳輸技術是TMDS技術中的一部分,另外傳輸最小化和直流平衡會在視頻編碼部分講到。
TMDS是一種利用2個引腳間的電壓差來傳送信號的技術,傳輸的數字信號(0或者1)由兩腳間的電壓正負極性和大小決定,也就是說當發送端要發送“1”的時候,將TMDS DATAX+(X代表不同的TMDS通道)引腳設為高電平,TMDS DATAX-引腳設為低電平,如果發送“0”時,將TMDS DATAX+引腳設為低電平,TMDS DATAX-引腳設為高電平,接收端利用TMDS DATAX+ 與TMDS DATAX-的電壓差來確定發送端發送的邏輯是“1”還是“0”
圖2.1 TMDS差分傳輸概念圖
TMDS技術之所以采取差分傳輸的方法,在于差分傳輸相對于單線傳輸有很大的好處:
抗干擾能力強。因為采用單線傳輸信號時,當傳輸過程遇到電磁干擾時,可能辨別不出邏輯信號時“1”還是“0”,差分傳輸方式的受到干擾時,兩條信號幾乎受到同等程度的干擾,接收端就可以通過讓一根線上的信號減去另一根線上的信號的方式來屏蔽電磁干擾,從而得到正確的信號。
圖2.2差分傳輸
2.2.2 HDMI傳輸總覽
HDMI采用TMDS傳輸通道,包含3路TMDS數據通道和1路TMDS時鐘通道,每個通道都有正負兩條信號,用于差分傳輸。音頻,視頻和控制信號都是在三個TMDS數據信道中相互交錯傳輸,分別對應數據島周期,視頻周期,控制周期。TMDS時鐘,即視頻像素速率傳輸時鐘,在TMDS時鐘信道中傳輸,它被接收端當做三個TMDS信道的參考頻率,用于對三個TMDS數據的復原。
圖2.3 HDMI系統框架
在視頻周期,視頻信號的RGB三個分量,每個原始分量8bit,TMDS將其編碼成10bit的DC-balance(直流平衡)數據,一個TMDS時鐘周期內10bit DC-balance數據串行的在信道上傳輸。HDMI1.0規定TMDS時鐘為25MHz-165MHz之間,所以理論上HDMI每秒可以傳輸的數據量為:165MHz X 10bit = 1.65Gbit,三個信道可以傳輸1.65Gbit X 3 = 4.95Gbit,如果用像素點表示,可以傳輸1.65G個像素點(一個像素點由RGB三個分量構成)。
在數據島周期,TMDS傳輸音頻和輔助信號,HDMI采用數據包的格式來傳輸數據島信號,為保證音頻信號的不失真,音頻和輔助數據需要BCH糾錯碼進行編碼(該編碼方式后續會講解)。數據島周期的原始數據是4bit,通過糾錯編碼(TERC4)編碼成10bit數據在TMDS通道上進行傳輸。
控制信號總共有六種符號,包括HSYNC、VSYNC、CTL0、CTL1、CTL2、CTL3,每個原始符號占用1bit,用于控制行同步和場同步以及指示下一周期是視頻周期還是數據島周期。
不同的TMDS周期傳輸不同的數據,每兩個有效數據周期(數據島周期、視頻周期)之間必須有一個控制周期。不同周期的數據都通過三個TMDS通道進行傳輸。
對于視頻周期,三原色B分量8bit數據放在TMDS通道0上,即channel0,G分量放在channel1上,R分量放在channel2上。
對于數據島周期,由于數據島周期是以包數據的格式傳輸的,數據島包由包頭和包體構成,包頭用于指定包體的類型,包體是具體數據島周期中的音頻信號,分為四個子包,每個子包56位,加上BCH校驗碼,總共64位。在數據島周期中,TMDS通道0的位0位1傳輸HSYNC和VSYNC形式的編碼,TMDS通道0的位2傳輸包頭信息,TMDS通道1和通道2的0-3bit用來傳輸包體的四個子包數據。
對于控制周期,HSYNC和VSYNC在channel0上傳輸,CTL0和CTL1在channel1上傳輸,CTL2和CTL3在channel2上傳輸。不同傳輸周期的數據分配如下圖:
圖2.4 HDMI數據分配
2.2.3 HDMI輔助功能
2.2.3.1 DDC通道
DDC(Display Data Channel)通道,實質上是IIC通道,發送設備通過它可以與顯示終端通信,通過對接收設備內部 EDID 數據的訪問,發送設備可以獲得接受器終端的相關參數信息,如顯示設備所支持的圖像分辨率,支持的聲音格式,聲音通道,及3D等等。其目的是告訴外接設備我所支持的特性,讓外接設備輸出一個我所支持的timing(如640x480@60HZ),否則外接設備輸出的timing并不支持的話那就沒有圖像、聲音的顯示了。
對于EDID,在EDID規范里有詳細講解,這里簡要介紹EDID的主要參數。
EDID包含兩個部分,基本的EDID只有128個字節,還有128字節的擴展EDID,擴展部分不是必須有的。通常電視都有擴展EDID。EDID主體部分:[5]
2.2.3.2 CEC通道
HDMI CEC功能,大致都是借著CEC信號讓用戶可以控制HDMI接口上所連接的裝置。如單鍵播放(One Touch Play),系統待機(System Standby)。即是如果用戶將影碟放進藍光播放器時,電視會由于CEC信號的通知而自動開機,然后視頻通道亦會自動切換到播放器連接的通道上。而當用戶關掉電視時,CEC信號亦會通知HDMI相連接的裝置一同進入待機。由于這樣,所以就可以完全變成單一遙控器控制所有HDMI連接的裝置。CEC在HDMI接口中是可以選配的。
2.2.3.3 HDCP協議
HDCP(High-bandwidth Digital Content Protection)在 HDMI 發送器和接收器之間提供版權保護,系統需要在發送器和接收器兩邊都有 HDCP 的硬件來實現保護功能。
發送端在數據傳送之前需對數據進行 HDCP 的加密,接收端則需要一組密鑰來開鎖解密。目前 HDCP 功能大多已經集成在 HDMI 芯片中。
發送端音視頻采集電路得到的音視頻信號在放到TMDS調制器進行編碼之前需要進行HDCP加密處理,如下圖所示,發送端和接收端都將24bit視頻信號與HDCP加密器產生的24bit隨機數進行異或運算,只是發送端是加密處理,而接收端是解密處理,假如原始圖像為A,發送端和接收端的隨機數為B,則解密得到的信號為(A XOR B)XOR B = A,則完成解密,這里的問題是如何保持發送端和接收端的隨機數B一樣呢?首先發送端產生一個隨機數An,另外,每一個支持HDCP的設備都有一個唯一的密鑰集,其中有一個40bit的密鑰選擇向量Ksv,假設發送端和接收端的Ksv分別為AKsv和BKsv,發送端在加密前先讀取接收端的BKsv,再將An和AKsv發送給接收端,這樣雙方有了一組共同的輸入數據:An、AKsv、BKsv,HDCP加密器就可產生相同的24bit隨機數。
圖2.5 HDCP加密
2.2.3.4 HPD
HPD技術用于熱插拔檢測,即主機通過熱插拔引腳檢測是否有接收設備接入HDMI接口。在HDMI標準A型接口中,19pin作為熱插拔引腳。HPD信號的具體實現過程要靠19pin和18pin腳協同工作。
如下圖所示,當主機通過HDMI接口與顯示器相連接時,主機通過HDMI的第18腳(PWR_CON_PIN18)將+5V電壓加到顯示器的DDC存儲器(EDID數據存儲器)向DDC存儲器供電,確保即使顯示器不開機,計算機主機也能通過HDMI接口讀取EDID數據。
主機開機后產生5V_SYS并通過第18腳向顯示器供電,此時顯示器接收到5V電壓后通過內部電路使HDMI接口第19腳HPD轉變為高電平,并驅動Q1使CE導通,致使HDMI_HPD也轉變為高電平,主機(顯卡控制器)檢測到HPD為高電平時,判斷顯示器通過HDMI與主機連接,并通過HDMI接口的第15、16腳DDC通道(IIC)讀取顯示器中的EDID數據,并使主機顯卡中的TMDS信號發送電路開始工作。當顯示器與主機之間的HDMI連接斷開時,主機一側的HPD信號為低電平,主機顯卡中的TMDS信號發送電路停止工作。
圖2.5 HDMI主機和接收端電路連接
當計算機主機上的顯卡檢測到HPD引腳電壓大于2V時,判斷為顯示器通過HDMI接口與主機連接,當檢測到HPD引腳電壓小于0.8V時,則判斷為顯示器與主機之間的HDMI連接已經斷開。
2.3 HDMI工作周期
在上一小節中我們已經認清了HDMI三個周期的不同作用,在這一節中,將對三個周期進行詳細的論述。
2.3.1 控制周期
控制周期信號用于控制行同步和場同步以及指明下一周期是視頻周期還是數據島周期。行同步場同步用HSYNC、VSYNC來控制,CTL0、CTL1、CTL2、CTL3作為前導信號用于指明下一數據周期。以下是兩種合法的前導信號
每個 TMDS 通道都有兩個控制信號,他們在控制周期被編碼成 10 位。每個TMDS周期每個通道傳輸這10位數據。
三個通道都按照如下固定方式進行編碼并在對應通道上傳輸10位數據。
2.3.2 視頻數據周期
視頻周期用于傳輸視頻信號,原始的RGB三原色每個分量8位數據,經過TMDS最小轉換編碼后成為10位數據,在對應的信道上在一個TMDS周期中傳輸。視頻周期的前導信號時0b1000,前導之后是視頻首保護帶,稱之為“Guard Band”,保護帶由兩位特殊的字符構成。保護帶也要經過TMDS編碼成為10位數據,才能在HDMI上傳輸。設計保護帶的目的在于提供從控制周期到視頻周期一個有效判斷。
保護帶的編碼方式根據不同信道而定。
以下是視頻周期數據格式:
2.3.3 數據島周期
數據島周期用于傳輸音頻采樣數據和輔助數據的信息包。數據島包由包頭和主體構成,包頭占3個字節,用于指明主體的數據類型和參數信息。主體分為四個子包,每個子包56位,加上用于糾錯的8位BCH ECC 奇偶校驗碼,總共64位。同視頻周期一樣,數據島周期開始于首保護帶,不同的是數據島周期還有尾保護帶。
對于數據島周期中的首保護和尾保護,通道0的數據被編碼成0xC、0xD、0xE和0xF中的一個,具體根據通道0的HSYNC和VSYNC而定。
表2.8 數據島保護帶
總結
以上是生活随笔為你收集整理的(第二章)HDMI基本工作原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一条sql语句在mysql中如何执行的
- 下一篇: linux 服务器的性能考核指标QPS、