【技術文章】VESA® DisplayID 1.3 Standard Overview

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)

 

» 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不等。

          圖9為由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,如下表。

Data Block Block Tag Bytes in length per Descriptor
Type I Timing – Detailed 03h 20
Type II Timing Detailed 04h 11
Type III Timing Short 05h 3
Type IV Timing – DMT ID Code 06h 1
Type V Timing – Short Descriptor 11h 7
Type VI Timing – Detailed Descriptor 13h 17 or 14

表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的測試經驗及觀察來看,目前許多廠商漸漸開始使用DisplayID的結構,尤其是電競相關的螢幕,主要原因是EDID結構無法滿足廠商所需的解析度與更新率,但透過DisplayID後就能夠滿足廠商的需求,相信未來看到使用DisplayID結構螢幕的比例會越來越高。

  • 差異

– HDMI

在HDMI現階段的規範是不允許Display Extension作為EDID的Extension block,以目前的規範還是多半使用CTA 861 Extension作為Extension Block,且必須遵守EDID1.3的規範去做設計。

– DisplayPort

相較於HDMI,Display Port在EDID CTS下是可以將DisplayID Extension作為EDID Base下的Extension Block,但有條件式的開放,以下為現階段若要使用DP-EDID- CTS對於DisplayID Extension的限制:

1. DisplayID Extension的長度必須為128 Bytes,而非規範裡可以自訂義長度。

2. 在Byte1 Version/Revision的描述必須為20h或是12h20h表示為使用DisplayID v2.1或v 2.0, 12h則為3或v1.2。

3. 除了前面章節敘述DisplayID Extension必須含有5個強制性的Bytes,作為EDID extension也必須含有EDID Extension block tagEDID Checksum,因此在Section Size的值必須為79h

4. 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之間

5. EDID Extension Block僅能含有一個DisplayID Extension。

6. 若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為顯示器及廠商相關訊息,以*代替

 

 

參考文獻

  1. VESA® Display Identification Data (DisplayID) Standard version 1.3
  2. VESA DisplayPort EDID Compliance Test Specification Version 1.2

 

文章下載

文章下載連結

 

作者
GRL 台灣測試工程師 楊昕叡 Ray Yang

畢業於國立台灣科技大學化學工程學系。

在 GRL 累積三年多的 HDMI 相關測試經驗,熟悉 HDMI、MIPI、V by One 等測試規範。目前在 GRL 台灣主要負責HDMI 測試,樂於協助客戶釐清 HDMI 方面的問題,以順利取得認證。

 

想瞭解更多相關服務,歡迎聯絡:

11493台北市內湖區內湖路一段516號4樓
電話: +886 (2) 2657-2199 #105
Email: info_taiwan@graniteriverlabs.com
官網: www.graniteriverlabs.com.tw

 

本文件中規格特性及其說明若有修改恕不另行通知。                         發佈日期 2021/12/28 AN-211228-TW