【技术文章】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. Fixed Length(图2):

Fixed Length则为整个DisplayID 构造会有固定的长度,若Data Block之后至Checksum的Byte皆无使用则会用00h (Fill Data)填满。

图1: Variable Length DisplayID结构(出自DisplayID spec1.3)

 

图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会说明该显示器的类别为何。

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 – 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之间

  1. EDID Extension Block仅能含有一个DisplayID Extension。
  2. 若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 方面的问题,以顺利取得认证。

 

文章下载

 

关于GRL技流信息科技Granite River Labs

GRL技流信息科技创立于2010年初,为高速讯号传输测试界的领航者,在高速讯号发展快速且复杂的研发环境下以专业领先的技术为顾客所信赖。具有专业的技术人员、高性能的标准测试设备、自动化测试解决方案和便利的服务据点为基础,同时设计出简易操作的解决方案,提供客户完善且专业的服务,宗旨在与顾客一起克服挑战。

想了解更多相关测试服务,欢迎联系info_china@graniteriverlabs.com

 

 

本文件中规格特性及其说明若有修改恕不另行通知。     发布日期 2021/12/28 AN-211228-TW