EDID: Extended Display Identification Data(擴展顯示標識數(shù)據(jù))是一種VESA (Video Electronics Standards Association)標準數(shù)據(jù)格式,其中包含有關(guān)顯示器及其性能的參數(shù),包括供應(yīng)商信息、最大圖像大小、顏色設(shè)置、廠商預(yù)設(shè)置、頻率范圍的限制以及顯示器名和序列號的字符串(摘自百度百科“EDID”詞條)。Host Device通過讀取Display中的EDID數(shù)據(jù)來“知道”Display的一些屬性。簡而言之,EDID就是Display的一個銘牌。EDID數(shù)據(jù)通常是由DDC通道來傳輸。
一份EDID數(shù)據(jù)是由128個字節(jié)的基本數(shù)據(jù)塊(Block 0)和拓展數(shù)據(jù)塊(Block 1)組成,Block 0是必須要有的,而Block 0是可選的。每一個字節(jié)都代表Display的相關(guān)信息,下面就詳細講一下里面數(shù)據(jù)的含義。
上圖是Block 0中的相關(guān)信息,最左邊一列是數(shù)據(jù)的地址。
這8個字節(jié)中的值是固定的,不能做任何更改,內(nèi)容如下圖所示:
這10個字節(jié)中包含一些廠商和產(chǎn)品的一些信息,由分為幾個代表不同信息的部分,如下圖所示:
3.2.1 ID Manufacturer Name:2 Bytes(08H-09H)
這兩個字節(jié)表示的是廠商ID,由微軟注冊管理,共有16bit,代表三個字母,這16bit是采用6+5+5的方式來劃分的。例如, 【0x36, 0x74】表示的內(nèi)容是:0011 0110 0111 0100.即 001101 + 10011 + 10100 = “M” + “S” + “T”. 即表示MSTAR公司。其中“00001”表示字母A,“00010”表示字母B,“00011”表示字母C,依次類推,“11010”表示Z。
3.2.2 ID Product Code:2 Bytes(0AH-0BH)
這兩個字節(jié)表示產(chǎn)品ID,由廠商分配。
3.2.3 ID Serial Number:4 Bytes(0CH-0FH)
這兩個字節(jié)表示產(chǎn)品序列號,有廠商分配。
3.2.4 ID Manufacturer Name:2 Bytes(10H-11H)
產(chǎn)品的制造日期,第一個字節(jié)表示一年中的第幾周,第二個字節(jié)表示年份,這個年份是相對于1990年來說的。比如里面的數(shù)據(jù)為
0AH,16H,十進制為10和22,則表示1990+22=2012年的第10周。
這兩個字節(jié)表示EDID的版本,比如其中值為01H,03H就表示version1.3。目前EDID最高版本為1.4,下圖是不同版本之間的區(qū)別。
這5個字節(jié)中包含了顯示器的一些基本參數(shù)。
3.4.1 Video Input Definition:1Byte(14H)
這一個字節(jié)包含輸入視頻的一些基本參數(shù)。這個字節(jié)的最高位如果為0則表示輸入的為模擬視頻信號,其具體定義如下表:
如果最高位為1表示輸入的是數(shù)字視頻信號,其具體定義如下表:
3.4.2 Horizontal and Vertical Screen Size or Aspect Ratio: 2 Bytes(15H-16H)
這兩個字節(jié)用來表示顯示器的物理尺寸或者是寬高比。當(dāng)15H(水平長度)和16H(垂直長度)中的值都不為0是就表示顯示器的物理尺寸,單位為cm。 例如 ,該內(nèi)容為0x73, 0x41,十進制為115, 65。表示該顯示器尺寸為115cm x 65cm。如果其中一個字節(jié)中的值為零,另一個字節(jié)的值不為零,則表示寬高比。寬高比的技術(shù)公式如下:
Landscape Orientation mode(橫屏模式):
Aspect Ratio = (Stored Value + 99) ÷ 100
Portrait Orientation mode(豎屏模式)
Aspect Ratio = 100 ÷ (Stored Value + 99)
3.4.3 Display Transfer Characteristics (GAMMA): 1 Byte(17H)
顯示器伽馬在不同的上下文環(huán)境中,有不同的含義,一個意思是指顯示器的輸出圖像對輸入信號的失真,另一個意思是指這種失真的具體數(shù)值。由于顯示器伽馬和文件伽馬是固定不變的,伽馬校正過程是校正計算機的系統(tǒng)伽馬!,使得顯示器伽馬、系統(tǒng)伽馬、文件伽馬三個變換的疊加為1.0,從而使最終顯示器的圖像和原始場景一樣,不存在失真。(摘自百度百科“伽馬值”詞條)
Stored Value = (GAMMA x 100) – 100
要的到gamma 值,通過存儲的值反向計算就可得到。
3.4.4 Feature Support: 1 Byte: 1 Byte(18H)
這一個字節(jié)中包含了一些顯示器支持的功能和色彩空間,如下表所示:
下面對每一位作一個說明:
bit[7,6,5]:Display Power Management(電源管理)
Standby Mode : 待機模式
Suspend Mode:暫停模式
Active Off:休眠/喚醒模式(低功耗模式)
如果在EDID 地址為14H中表明輸入的為模擬信號時則:
bit[4,3]:Display Color Type
如果在EDID 地址為14H中表明輸入的為數(shù)字信號時則:
bit[4,3]:Supported Color Encoding Format/s
最后三位表示
bit[2,1,0]:Other Feature Support Flags
sRGB Standard : RGB(standard Red Green Blue)是由Microsoft影像巨擎共同開發(fā)的一種彩色語言協(xié)議,微軟聯(lián)合愛普生、HP惠普等提供一種標準方法來定義色彩,讓顯示、打印和掃描等各種計算機外部設(shè)備與應(yīng)用軟件對于色彩有一個共通的語言。(摘自百度百科sRGB詞條)
這10個字節(jié)是用來表示顯示器支持的色彩范圍,沒一個值是采用10bit來表示的,其中低位的2個bit為19H和1AH中的值,高位的8個bit為1BH-22H中的值。10bytes總共表示8個參數(shù),這8個參數(shù)為四個點坐標,其中三個用來表示色彩范圍坐標,另一個是白色點的坐標。如下圖所示:
相應(yīng)位置置1,表示支持這個Timing。這個時序塊中定義的時序是EDID標準出現(xiàn)還早的一些時序。
這里面定義了從Standard Timing 1- Standard Timing 8總共8個Standard Timing,每個Timing用兩個字節(jié)來描述,Timing的格式參照表中Standard Timing 1。里面包括寬高像素值,寬高比,刷新率等參數(shù)。如果不是用,則將第一個字節(jié)設(shè)置為01H第二個為0。
里面的參數(shù)如下表所示:
Part 2中有一些與音視頻相關(guān)的設(shè)置,內(nèi)容如下表:
3.10.2 Display Descriptor Definitions-18Bytes
在3.10節(jié)中講到,第一個block(36H-47H)必須是detailed timing descriptor,而第二到第四個(48H-7DH)block可以是detailed timing descriptor也可以是display descriptor definition。Display Descriptor Definition中的內(nèi)容如下表:
下面就每個參數(shù)的含義做詳細說明
3.10.2.1 Display Product Serial Number
產(chǎn)品序列號,采用ASCII碼存儲,比如:S/N:A0123456789,則后13個字節(jié)為:41h 30h 31h 32h 33h 34h 35h 36h 37h 38h 39h 0Ah 20h,不夠13個字節(jié)的在后面加一個0AH(換行),后面填充20H(空格)。
3.10.2.2 Alphanumeric Data String Descriptor Definitionr
這里面存的是一個用ASCII碼表示的字符串,具體用來干啥的我還不是很懂。
3.10.2.3 Display Range Limits & Additional Timing Descriptor Definition
這里面有一些顯示器頻率范圍限制
3.10.2.4 Display Product Name (ASCII) String Descriptor Definition
這里面是表示產(chǎn)品名稱字符串的ASCII碼。
下面的內(nèi)容由于我不常用到,所以就不講了,有興趣的讀者可以自行查閱EDID標準文檔。
3.10.2.5 Color Point Descriptor Definition
3.10.2.6 Standard Timing Identifier Definition
3.10.2.7 Color Management Data Definition
3.10.2.8 CVT 3 Byte Code Descriptor Definition
3.10.2.9 Established Timings III Descriptor Definition
3.10.2.10 Unused – Reserved Data Tag Numbe
3.10.2.11 Dummy Descriptor Definition
3.10.2.12 Manufacturer Specified Data Tag Numbers
在EDID中定義了四種Timing,分別是Established Timing、Standard Timing、Preferred Timing還有一些額外的Timing,比如GTF和CVT Timing。對于顯示器來說,支持的這些Timing有一個優(yōu)先級,如下圖:
優(yōu)先級:Preferred Timing > Detailed Timing > Extension Block中的Detailed Timing>CVT > Standard Timing > Established Timing
這一個字節(jié)表示除了Block 0之外還有多少個拓展的Block,一般為1,即還存在Block 1
校驗和
拓展部分由三個版本的格式分別為Version 1、Version 2和Version 3
CEA對Version 1是不推薦使用的,它已經(jīng)被Version 3替代了。
Version 2 也被棄用了,所以,目前常見的EDID extension block 采用的是version 1.3,其數(shù)據(jù)結(jié)構(gòu)如下圖所示:
Byte0和Byte1是拓展數(shù)據(jù)塊的版本號;
Byte2是偏移量d,當(dāng)d=4時,表示沒有數(shù)據(jù),d=0是表示沒有詳細時序;
Byte3;
Byte4-Byte(d-1)是CEA Data Block Collection,里面的內(nèi)容如下圖所示:
在這一個數(shù)據(jù)塊中,第一個Byte的高3bit用來表示Tag Code,不同的Tag Code表示不同的參數(shù),其具體定義如下表: