摘要:本文結(jié)合HDMI接口規(guī)范中對EDID的要求,分析并正確設(shè)置EDID數(shù)據(jù)格式,實(shí)現(xiàn)HDMI設(shè)備收發(fā)雙方高清圖像的傳輸。
關(guān)鍵詞:HDMI;EDID

HDMI(High Definition MultimediaInterface),作為新一代數(shù)字多媒體接口,能夠傳輸高速率無壓縮的數(shù)字音頻、視頻數(shù)據(jù),HDMl1.2像素時(shí)鐘可達(dá)165MHz,數(shù)據(jù)速率達(dá)到4.95Gbps,而HDMl1.3像素時(shí)鐘則高達(dá)340MHz,數(shù)據(jù)速率達(dá)到10.2Gbps。目前高清1080p的數(shù)據(jù)帶寬是2.2Gbps,HDMI完全可以用在高清圖像傳輸中。事實(shí)上,目前高清圖像傳輸也大多數(shù)選用此接口。HDMI也已成為消費(fèi)類電子的接口標(biāo)準(zhǔn),在數(shù)字?jǐn)z像機(jī)以及數(shù)字電視中廣泛使用。
EDID是VESA組織制定的PC顯示器的顯示格式數(shù)據(jù)規(guī)范,是HDMI接口的一個(gè)重要組成部分。HDMI接口的發(fā)送端和接收端,通過EDID(Extended DisplavIdentification Data)來協(xié)商雙方傳輸?shù)膱D像格式。發(fā)送端通過讀取接收端的EDID數(shù)據(jù),來判斷接收端是否為HDMI設(shè)備。EDID發(fā)展到現(xiàn)在已有很多版本,EDID1.3是目前廣泛使用的數(shù)據(jù)格式。
本文結(jié)合HDMI規(guī)范,通過分析和設(shè)置EDID數(shù)據(jù),使HDMI設(shè)備收發(fā)雙方正確協(xié)商出高清圖像格式,實(shí)現(xiàn)高清圖像的傳輸。
HDMI介紹
一個(gè)HDMI系統(tǒng)包括發(fā)送裝置和接收裝置兩部分,圖1所示是HDMI系統(tǒng)結(jié)構(gòu)圖。通過3個(gè)TMDS通道,1個(gè)TMDS時(shí)鐘通道,實(shí)現(xiàn)HDMI收發(fā)設(shè)備問音頻、視頻數(shù)據(jù)以及輔助數(shù)據(jù)的傳輸。
TMDS(Transition MinimizedDifferential Signaling)的意思是傳輸最小化的差分信號。此技術(shù)在DVI設(shè)備中已經(jīng)被使用。TMDS運(yùn)用先進(jìn)的編碼算法把8bit數(shù)據(jù)(R、G、B中的每路基色信號)通過最小轉(zhuǎn)換編碼為10bit數(shù)據(jù)(包含行場同步信息、時(shí)鐘信息、數(shù)據(jù)DE、糾錯(cuò)等),經(jīng)過DC平衡后,采用差分信號傳輸數(shù)據(jù),接收端在收到信號后,再將10bit數(shù)據(jù)解碼成8bit的數(shù)據(jù)。它和LVDS、TTL相比有較好的電磁兼容性能,可以用低成本的專用電纜實(shí)現(xiàn)長距離、高質(zhì)量的數(shù)字信號傳輸。

DDC(Display Data Channel)通道用于HDMI發(fā)送和接收端之間交換一些配置信息。發(fā)送端通過DDC通道,讀取接收端保存在EEPROM中的EDID數(shù)據(jù),獲取接收端的信息,確認(rèn)接收端終端顯示的設(shè)置和功能,決定跟接收端之間以什么格式傳輸音視頻數(shù)據(jù)。
CEC(Consumer Electronics Contr01)通道是可選通道。通過CEC通道,可以實(shí)現(xiàn)一些音視頻設(shè)備間的高級控制功能,比如支持視頻源和數(shù)字電視間的雙向通信,實(shí)現(xiàn)單鍵按下同時(shí)開機(jī)、自動(dòng)上電、自動(dòng)信號路由、遠(yuǎn)程控制等功能。
E-EDID數(shù)據(jù)結(jié)構(gòu)
E-EDID是VESA組織定義的一種數(shù)據(jù)結(jié)構(gòu),是為PC顯示器設(shè)置的優(yōu)化顯示格式數(shù)據(jù)規(guī)范,它存儲在顯示器中專用的EEPROM存儲器中,數(shù)據(jù)結(jié)構(gòu)是128Byte,PC主機(jī)和顯示器通過DDC通道訪問存儲器中的數(shù)據(jù),以確定顯示器的顯示屬性,如分辨率、縱橫比等信息。此數(shù)據(jù)結(jié)構(gòu)被HDMI采用,在HDMI規(guī)范中,同樣使用DDC通道訪問EDID存儲器,以確定顯示設(shè)備的功能和屬性。
HDMI規(guī)范規(guī)定,EDID的第一個(gè)128Byte必須是符合EDID1.3的數(shù)據(jù)結(jié)構(gòu),第二個(gè)128Byte必須是符合EIA/CEA-861B的CEA EDID時(shí)序擴(kuò)展數(shù)據(jù)結(jié)構(gòu)。
1)E-EDID數(shù)據(jù)結(jié)構(gòu)
如圖2所示,是EDID1.3數(shù)據(jù)結(jié)構(gòu)及其字段詳細(xì)說明。
2)CEA-861B數(shù)據(jù)結(jié)構(gòu)
如圖3所示,是CEA 861B數(shù)據(jù)結(jié)構(gòu)各字段詳細(xì)說明。

EIA/CEA 861B規(guī)范規(guī)定,CEA EDID數(shù)據(jù)傳輸?shù)牡谝粋€(gè)時(shí)序擴(kuò)展段中要包含VSDB信號。就是HDMI Vendor SpecificData Block(HDMI VSDB)。這是一個(gè)EIA/CEA-861B Vendor Specific Data數(shù)據(jù)塊。包含一個(gè)24位的HDMI數(shù)據(jù)識別符(IEEERegistration Identifier)0x000C03,一個(gè)HDMI批準(zhǔn)、許可的數(shù)據(jù)值。為了測定接收端是否是HDMI設(shè)備,HDMI源設(shè)備需要檢測接收端設(shè)備的EDID數(shù)據(jù)傳輸擴(kuò)展時(shí)序中,是否存在這個(gè)VSDB數(shù)據(jù)塊(由HDMI設(shè)備制造廠商根據(jù)協(xié)議制定并提供的)。任何一個(gè)HDMI設(shè)備都會自動(dòng)響應(yīng)一個(gè)HDMIVSDB,這是一個(gè)合理長度的數(shù)據(jù)表述,含及IEEE注冊、登記的標(biāo)識符:0x000C03,只要HDMI源設(shè)備接到這個(gè)標(biāo)示符相關(guān)數(shù)據(jù)的響應(yīng),就將接收端設(shè)備認(rèn)定為HDMI設(shè)備。否則,HDMI規(guī)范指定:任何接收端設(shè)備在E-EDID數(shù)據(jù)傳輸時(shí)不回傳包含這個(gè)HDMIVSDB,即合理長度的HDMI數(shù)據(jù)標(biāo)識符的響應(yīng)。就會被認(rèn)為所連接的是DVI設(shè)備。
HDMI高清圖像傳輸中EDID的設(shè)置
HDMI接口具有熱插拔功能,發(fā)送設(shè)備檢測到HPD信號為低時(shí),去讀取EDID的數(shù)據(jù),來確認(rèn)接收裝置是否出現(xiàn)變化。
HDMI規(guī)范規(guī)定,發(fā)送設(shè)備要檢測接收設(shè)備的第一個(gè)CEA EDID擴(kuò)展塊中是否包含HDMI VSDB,這個(gè)HDMI VSDB中是否包含IEEE數(shù)據(jù)標(biāo)識符0x000C03,只有包含這個(gè)數(shù)據(jù)標(biāo)識符的設(shè)備,才會被認(rèn)為是HDMI設(shè)備,否則,被當(dāng)作DVI設(shè)備處理。
一個(gè)HDMI設(shè)備的EDID通常包含兩個(gè)模塊,第一個(gè)是EDIDl-3的數(shù)據(jù)模塊,第二個(gè)是CEA 861B模塊,這個(gè)861B模塊中,一定要包含數(shù)據(jù)標(biāo)示符0x000C03。
下面以實(shí)際工作中的EDID為例,對EDID來做一些說明。如圖4所示。

圖4中,0x00-0x7F,這是EDID第一段,EDID1.3的數(shù)據(jù)結(jié)構(gòu),從最后兩個(gè)字節(jié)看,0x7E地址處的數(shù)據(jù)01H表明其后還有一個(gè)擴(kuò)展段,0x7F處的81H則是第一段EDID的校驗(yàn)字段,第一段EDID所有128Byte加起來為0。
0x00-0x07處的字段,是EDID的數(shù)據(jù)頭,0x12-0x13處的01 03表明EDID version 1,revision 30x36-0x47的字段,是第一個(gè)詳細(xì)時(shí)序描述,01 1D 80….這是1080i的詳細(xì)描述符。0x48-0x59,這是第二個(gè)詳細(xì)時(shí)序描述,8C,0A…這是480p的詳細(xì)描述符。從0x5A開始是非時(shí)序描述塊。00 00 00 FC 00表明接下來的數(shù)據(jù)是監(jiān)視器的描述,此處的48444D49表明是HDMI。接下來0000 00 00 FD00表明是監(jiān)視器可接收信號范圍描述符,這是在GTF標(biāo)準(zhǔn)里要求的。FC、FD標(biāo)志表明的數(shù)據(jù)塊,必須是13個(gè)字節(jié),如果不夠13個(gè)字節(jié),則最后一個(gè)有用字節(jié)后緊跟0AH,其余填充20H,比如這里0x66-0x68的數(shù)據(jù)。
0x80-0xFF,這是EDID第二段,也是CEA 861B模塊。從圖上可以看出,包含有0x 000C03的標(biāo)識符。EDID第二段,必須包含此字符,否則,此設(shè)備會被當(dāng)作DVI設(shè)備處理。同第一個(gè)EDID模塊,0xFF處的1A是第二段EDID的校驗(yàn):手段,第二段EDID所有128Byte加起來為0。同第一段的EDIDl.3不同的是,在CEA 861B模塊中,不用的字段可以填充0。所以從圖上看,第二段EDID數(shù)據(jù)有很多O。
0x83字段的19H,表明視頻格式詳細(xì)描述符的開始是從0x19處開始的。0x85處的數(shù)據(jù)85H,表明1080i圖像格式,是此接收設(shè)備固有的特性,其中5,是1080i視頻格式的短描述符。
結(jié)語
HDMI以其優(yōu)異的性能被廣泛使用在高清圖像傳輸中,HDMI雙方以什么方式傳輸圖像,依賴于接收端EDID數(shù)據(jù)結(jié)構(gòu)的內(nèi)容。EDID數(shù)據(jù)決定了接收端顯示設(shè)備的屬性。發(fā)送端靠從接收設(shè)備讀來的EDID,判斷監(jiān)視器的屬性,決定用什么方式傳輸圖像。如果EDID設(shè)置不正確,系統(tǒng)就有可能不能識別HDMI設(shè)備,不能以高清格式傳輸圖像。因此,EDID的設(shè)置至關(guān)重要。