|
現(xiàn)在的顯示設(shè)備比如顯示器,電視等都HDMI接口,那通常每個HDMI接口都保留有一份EDID數(shù)據(jù),這個數(shù)據(jù)可以存在程序里面由系統(tǒng)啟動過程中來初始化,更常見的做法是每個HDMI口會有一個EEPROM來保存這份數(shù)據(jù),這個EEPROM也只是有256bytes大小。外接設(shè)備如DVD播放器在HDMI熱插拔的時候就會通過HDMI的DDC通道來讀取EDID數(shù)據(jù)。EDID里面主要是定義了這顯示設(shè)備所支持的圖像分辨率,支持的聲音格式,聲音通道,及3D等等,其目的是告訴外接設(shè)備我所支持的特性,讓外接設(shè)備輸出一個我所支持的timing,否則外接設(shè)備輸出的timing并不支持的話那就沒有圖像,聲音的顯示了。
EDID包含兩個部分,基本的EDID只有128個字節(jié),還有128字節(jié)的擴展EDID,擴展部分不是必須有的。那通常電視都有擴展EDID。那EDID的詳細定義在規(guī)范里面都可以找到,主要有以下幾部分:
(00H-07H)這8個字節(jié)是固定的,其必須等于0x00FFFFFFFFFFFFFF00;
(08H-08H)生產(chǎn)商的ID或者名字;
(0AH-0BH)產(chǎn)品ID;
(0CH-0FH)序列號;
(10H-11H)生產(chǎn)時間;
(12H-13H)版本號,比如1.3那就是01,03;
(14H)視頻輸入信號類型,數(shù)字還是模擬
(15H)橫向圖像的最大寬度
(16H)豎向圖像的最大寬度
(17H)顯示Gamma的版本,比如2.20
(18H)DPMS和支持的屬性,比如顯示類型是RGB
(19H-22H)色度信息
(23H)支持的基本timing表1,比如640x480@60HZ(IBM,VGA), 800x600@60HZ(VESA)
(24H)支持的基本timing表2,比如1024x768@60HZ(VESA)
(25H)生產(chǎn)商保留的timing信息
(26H-35H)支持的標(biāo)準(zhǔn)timing表
(36H-47H)timing的詳細信息描述1,這個段是一個timing的更詳細的描述,比如橫向,豎向圖像大小,刷新模式是隔行還是逐行等
(48H-59H)timing的詳細信息描述2
(5AH-6BH)timing的詳細信息描述3
(6CH-7DH)timing的詳細信息描述4,這四個段用來描述不同timing的詳細信息,描述1必須有,其它的可以為空
(7EH)擴展EDID的標(biāo)志位,如果為0則不存在擴展EDID,如果為1則后面還存在擴展EDID段
(7FH)CheckSum
擴展EDID主要包含幾個部分:
1.圖像和聲音模式,如模擬還是數(shù)字,
2.顏色模式,如YCbCr(4:4:4),YCbCr(4:2:2)
3.簡短的timing描述,這里指定了一些在段1里面沒有描述的timing信息。比如640x480p@60HZ 4:3等
4.聲音的簡短描述,比如PCM(2通道,32KHZ,44.1HZ,48HZ,16bit,20bit,24bit)
AC-3,Dolby Digital+(6通道,32KHZ,44.1KHZ,48KHZ,最大比特率640kbps)
喇叭(左右聲道)
5.VSDB:生產(chǎn)商特別信息,比如包含了CEC物理地址,3D信息,deep color信息等
6.CheckSum
二。CheckSum計算方法
Checksum的計算原則是前127個字節(jié)的和為0,所以比如第一塊的checksum=256-(byte0+byte1+...+byt127)%256
三。VSDB詳解
VSDB是EDID里面一個比較難懂的塊,通常的EDID編輯工具都沒有提供編輯這個塊的選項,但現(xiàn)在通常電視的EDID里面都有這個信息。
下圖是這個VSDB的基本結(jié)構(gòu)

(00H)這個字節(jié)的后5位表示這個VSDB的長度,但不包括本身。這個長度必須大于或者等于5
(01H-03H)24位的標(biāo)志符,必須等于0x000C03
(04H-05H)這兩個字節(jié)標(biāo)志這個HDMI口的CEC物理地址,比如1口是0x1000,2口是0x2000
(06H)bit7 SUPPORT_AI標(biāo)志位,如果為1表示這個設(shè)備支持ACP,ISRC1,ISRC2,不支持則應(yīng)當(dāng)置為0
bit3~bit6標(biāo)志是否支持deep color模式,支持哪些模式。比如DC_36bit表示輸出的每個像素由36位表示,顏色的精度更高。如果DC_YCBCR444置為1,那么其它3項也必須為1
bit0標(biāo)志是否支持DVI dual link模式。
(07H):MAX_TMDS_CLOCK,表示支持的最大TMDS率,等于MAX_TMDS_CLOCK*5MHZ。如果支持的比率大于165M,或者支持deep color,或者支持DVI DUAL LINK那么這個字節(jié)不能為0
(08H)bit6,bit7圖像和聲音的延時標(biāo)志,如果為1,那么(09H~12H)分別標(biāo)志逐行,隔行的圖像,聲音延時信息。如果為0,那就不存在這個信息
bit5:附加HDMI圖像格式,也就是除了之前定義的timing外,其它支持的格式。
包含了4個部分
1個字節(jié)3D_PRESENT表示是否支持3D信息
1個字節(jié)表示附加圖像格式信息和3D格式信息的長度
第三部分詳細說明了支持那些附加的HDMI格式,第四部分支持哪些3D格式
|
|