Granite River Labs, GRL
楊昕叡 Ray Yang
DisplayID全名為Display Identification Data,又稱第二世代的EDID。此標準推出目的是為了取代早期EDID標準,而DisplayID比起EDID更加有彈性,在規範下可延長Display ID內容來符合自身顯示器的需求。如EDID一樣,DisplayID透過合適的溝通管道(如AUX Channel、I2C)提供Source顯示器的相關訊息如產品名稱、色域、支援功能、支援解析度等等資訊,使Source輸出調整至顯示器最佳的顯示功能。
DisplayID和EDID最明顯的差異在於DisplayID應用了「模組化結構」,該結構是參考「Data Block」的概念加以獨立定義來去提供特定的資訊。所有的Data Block內容可以根據自身需求來修改或是增加,除此之外VESA以及CEA等相關組織也提供諸多已定義好的Data Block供廠商使用,因此使用上不會像過往EDID有諸多限制。
DisplayID 架構介紹
如同EDID,DisplayID所有的資訊都寫在一個或多個連續的Section裡面(過往EDID 稱作 ”Block”,在DisplayID裡則為 “Section”),而DisplayID最多可以支援到256個Section,每一個Section最多可寫至256 Bytes。第一個Section為"Base DisplayID",隨後的Section都稱作"Extension"。DisplayID必須包含至少一個Video timing mode,也需詳述該Timing的參數並當作該產品的Preferred timing。
DisplayID分為以下兩大類:
1. Variable Length(圖1):
Variable Length為Checksum會直接填寫在Data Block的最後一個Byte之後。
圖1: Variable Length DisplayID結構(出自DisplayID spec1.3)
2. Fixed Length(圖2):
Fixed Length則為整個DisplayID 構造會有固定的長度,若Data Block之後至Checksum的Byte皆無使用則會用00h (Fill Data)填滿。
圖2: Fixed Length DisplayID結構(出自DisplayID spec1.3)
每一個DisplayID Section不管Variable Length或是Fixed Length的架構下必須包含以下五個Byte:
- Display structure version & revision
- Section size
- Product type identifier
- Extension count
- Checksum
而Base DisplayID跟Extension Section最大的差別在於Extension Section的"Extension count"以及"Product type identifier"皆為00h。圖3及圖4分別為Base DisplayID以及Extension Section的構造。
圖3: Base DisplayID結構(出自DisplayID spec1.3)
圖4: DisplayID Extension 結構(出自DisplayID spec1.3)
以下我們會針對這五個必須包含的Bytes做詳細的說明:
1. Structure version & revision
任何Section的第一個Byte必須包含可辨別Version以及Revision的數字,對於DisplayID的version必須為”1”而Revision為”2”,因此該Byte即為12h。
圖5: Display structure version & revision (出自DisplayID spec1.3)
2. Section size
任何Section的第二個Byte需指出整個Section剩餘多少個Bytes,這個數目並未包含先前所提到的五個強制要求的Byte。一個Section最多可有256個Bytes,因此Section Byte的數目可由0至251。
圖6: Section Size (出自DisplayID spec1.3)
3. Product type identifier
在Base DisplayID的第三個Byte會說明該顯示器的類別為何。
圖7: Product type identifier (出自DisplayID spec1.3)
4. Extension count/Section flag
在Base DisplayID的第四個Byte會明確指出共有多少個Extension Section接在Base DisplayID之後,這個數值會從0~255。
圖8: Extension count/Section flag(出自DisplayID spec1.3)
5. Checksum
任何Section的最後一個Byte皆須表示整個Section的Checksum。
圖9: Extension count/Section flag(出自DisplayID spec1.3)
DisplayID - Data Block
在DisplayID裡的所有資訊幾乎都包含在"Data Block"裡面,Data Block大部分已經是被VESA或是CEA定義好的模組,各家廠商可以自由的選擇使用Data Block來去描述自家的產品。
VESA或是CEA定義的Data Block基本上是不會有固定的長度,端看廠商使用了多少個Descriptor去做描述,Data Block的基本結構如下圖:
圖10: Data Block Format(出自DisplayID spec1.3)
每個Data Block都會有三個必須含有的Byte,第一個Byte為Block Tag,分辨該Data Block為哪一種Data Block,而第二個Byte為Block revision and Other Data,最後一個用來描述此Data Block的長度,而這個長度並不包含三個強制含有的Byte,因此該值為0至248不等。
下圖為由VESA以及CEA所制定好的各種不同Data Block,Block Tag從00h到7Fh為VEAS定義的Data Block,80h至FFh則為CEA所定義。如前文所述在Base DisplayID Section會描述該產品屬於哪一類別,而在每個不同類別的產品都會有必須具備的Data Block,如每個產品類別都必須含有00h Product Identification Data Block。其餘的Data Block在介紹詳細內容時會詳述哪些類別必須具備該Data Block,本文會針對目前較常見到的Data Block內容、必備性以及使用加以說明。
圖11: Data Block Tag Allocation(出自DisplayID spec1.3)
Product Identification Data Block
前面章節提到Base DisplayID的02h必須說明該產品的類別,不論哪一種類別的產品,在Base DisplayID下一定要將Product Identification Data Block作為第一個Data Block,除此之外整個DisplayID structure僅能有一個Product Identification Data Block,圖12為該Data Block的結構。
第一個Byte為Product Identification Data Block的Block Tag “00h”,隨後的Byte會詳細的說明該產品的製造日、Vendor ID、Product code、Serial number等等的詳細資訊。要注意的是除了Serial number以及Product ID String是optional,其餘的Descriptor都是Mandatory。
圖12: Product Identification Data Block(出自DisplayID spec1.3)
Video Timing Mode Data Block
Video Timing Mode Data Block可以使用多個Descriptor來描述多個解析度,而此Data Block又可向下細分六種不同的Video Timing Mode,如下表。
表1: Video Timing Mode subcategories
以下對Type I Timing – Detailed進行簡單地說明:
Type I Timing Data Block可以寫在Base Section 或是Extension,且也沒有數量上的限制,Type I Timing Data Block是參考EDID規格裡 18 Byte的Detailed timing的架構,因此基本上大部分的參數都和EDID極為相似。而最大的不同是為了與CEA的detailed timing 相容,因此在DisplayID裡是可以支援Interlace的解析度。除此之外也多了一個bit去設定該timing是否為”Preferred Timing”。圖13及圖14為Type I Timing Data Block以及Descriptors的架構。
圖13: Type I “Detailed” Timing Data Block(出自DisplayID spec1.3)
圖14: Type I Detailed Timing Descriptor(出自DisplayID spec1.3)
除了前文所述的不同外,在Type I Detailed Timing Descriptor裡對於Pixel Clock可描述的Byte數量也比EDID的Detailed Timing多了一個Byte,因此比起EDID可以將更高頻寬的解析度(如4k2k144Hz)寫進Detailed timing,這也是目前諸多顯示器廠商會想要使用DisplayID作為Extension Block的原因。
結論
依據GRL的測試經驗及觀察,雖目前市面上多數產品仍採用EDID標準,但已有許多廠商逐漸開始使用DisplayID的結構,尤其為電競螢幕;目前有使用DisplayID架構的螢幕多為EDID基礎再加上一個DisplayID Extension,極少數產品有完整的DisplayID架構 (Base DisplayID +DisplayID Extension),但透過DisplayID能夠滿足廠商所需的解析度與更新率,因此我們相信未來看到使用DisplayID結構螢幕的比例會越來越高。
最後,根據我們的測試經驗,以下分享DisplayPort及HDMI在使用DIsplayID的規範。
DisplayPort與HDMI的DIsplayID差異
– HDMI
若要將DisplayID做為CTA-861 Extension block以外的Extension Block需使用HF-EEODB的架構來做描述,無法使用Mapping Block的架構,因Mapping Block必須標記所有Extension Block的Tag於Mapping Block中,而DisplayID Extension Block的Tag並未定義在HDMI的規範內,因此在進行Compliance test的過程中會使測試儀器無法辨識而造成Fail的結果。
– DisplayPort
相較於HDMI,Display Port在EDID CTS下是可以將DisplayID Extension作為EDID Base下的Extension Block,但有條件式的開放,以下為現階段若要使用DP-EDID- CTS對於DisplayID Extension的限制:
- DisplayID Extension的長度必須為128 Bytes,而非規範裡可以自訂義長度。
- 在Byte1 Version/Revision的描述必須為20h或是12h, 20h表示為使用DisplayID v2.1或v 2.0, 12h則為3或v1.2。
- 除了前面章節敘述DisplayID Extension必須含有5個強制性的Bytes,作為EDID extension也必須含有EDID Extension block tag及EDID Checksum,因此在Section Size的值必須為79h。
- DisplayID Extension的內容若小於126 Bytes時未使用的Byte都必須用00h(又稱Fill Data)填滿,而填寫的方式又分為以下兩種,目前CTS規定皆須使用Exterior Fill以滿足條件3。
- Interior Fill:將Fill Data填寫在DID Checksum之前,DID Checksum隨後即為EDID Checksum
- Exterior Fill:將Fill Data填寫在DID Checksum及EDID Checksum之間
- EDID Extension Block僅能含有一個DisplayID Extension。
- 若EDID Extensio同時包含CEA Extension Block及DisplayID Extension,建議將DisplayID Extension放在CEA Extension Block之後。
接下來附上DisplayID Extension實例如下頁表二,該DisplayID Extension為接續在EDID base之後,也是符合目前Display Port的EDID CTS規範。
表2: DisplayID Extension to Base EDID
Note: Byte 03h為顯示器及廠商相關訊息,以*代替
參考文獻
- VESA® Display Identification Data (DisplayID)Standard version 1.3
- VESA DisplayPort EDID Compliance Test Specification Version 1.2
作者
GRL 台灣測試工程師 楊昕叡 Ray Yang
畢業於國立台灣科技大學化學工程學系。
在 GRL 累積三年多的 HDMI 相關測試經驗,熟悉 HDMI、MIPI、V by One 等測試規範。目前在 GRL 台灣主要負責HDMI 測試,樂於協助客戶釐清 HDMI 方面的問題,以順利取得認證。
本文件中規格特性及其說明若有修改恕不另行通知。
發佈日期 2021/12/28 AN-211228-TW