By GRL team on Dec 16, 2021

显示器的身份证 – EDID 是什么?

   

Granite River Labs, GRL
Peter Lee 李清宇

 

EDID全名为Extended Display Identification Data,是由VESA协会制定的显示器标准信息格式。具体来说,EDID其实就像是显示器的身分证,其内容会包含显示器的相关信息,如显示器名称、产品序号、支持分辨率、声音格式等等。目的为告诉输出端显示器支持的能力,确保计算机或是机顶盒等影音输出装置,在连接上显示器后,能根据信息输出正确的影音格式,因此可以避免无法显示或显示比例不正常等状况发生,带给消费者更佳的娱乐体验。

目前此项技术已广泛应用于影音显示接口如 DisplayPort、HDMI。在实作上,为了要容纳先前提到的EDID信息于显示器中,一般会使用储存装置如 ROM 来进行储存,并且在HDMI接口会利用I2C的接口来进行双向的数据传输。

 

WPC – Wireless Power Consortium

WPC无线充电联盟,成立于2008年,其主要目的为推广无线充电产品,尽可能地使世界上所有应用无线充电技术的产品皆可兼容。目前的会员人数已经超过400名,会员据点遍布世界各地,公司性质也不尽相同,可以看出无线充电技术在各行各业已被广泛应用,因此WPC依照瓦数及使用范围制定了多种无线充电标准:

  • Qi standard:以中低瓦数(5W~15W)之可携式手机及其周边产品为主,目标为达成安全性以及全面兼容性。
  • Ki Cordless Kitchen standard:以高瓦数(2200W以上)之烹饪用具为主,目标为推广无线功率输出应用更加融入生活。
  • Light Electric Vehicle:以电动脚踏车或电动机车市场为主,目标为提供电动载具市场更快速、便捷和安全的充电环境。
  • Industry standard:以工业应用之自动化机器为主,主要为提供更安全且有效率的充电方式。

上述无线充电标准,又以Qi standard最广为人知,目前在市场上通过Qi认证的产品已经超过5000个,且为了防范未达标准却宣称有Qi功能的产品扰乱市场,WPC更是规定,只有通过Qi认证之产品,才能使用Qi Logo,而且会定期在市场抽查拥有Qi Logo的产品是否仍符合标准,亦或是有违规使用Qi Logo的情形,以此达到推广无线充电技术的最终目的;以下为Qi以及WPC无线充电联盟之标志(图一 ):

图1: EDID 传输架构

(VESA ENHANCED EXTENDED DISPLAY IDENTIFICATION DATA STANDARD, Version 1, Revision 4)

本文将以HDMI接口为例,介绍完整的 EDID 沟通过程:

  1. 当输出端连结上显示器后,显示器确认链接成功会将 HPD 电压拉高。
  2. 输出端确认 HPD 电压状态后,会透过 SDA/SCL 两条数据线,向显示器要求 EDID 信息读取。值得注意的是,HDMI规范允许产品透过硬件设计,让显示器关机时能藉由输出端给提供的5V将 HPD 拉高,这使得输出端能在显示器关机时也能读取 EDID。
  3. 当输出端能正确的读取 EDID 格式时,就会根据双方能力做出预设影音输出。但若EDID格式有误,或是显示适配器无法正确理解EDID信息,此时会依据各家显示适配器厂商设计方式不同,计算机有可能会将屏幕识别为 Non-PNP,并会输出大部分显示器所支持的分辨率,如HDMI最低要求的 640x480p60Hz。其余状况显示适配器有可能会显示Inactive并呈现反灰,代表不会有任何画面输出。
 

EDID 架构介绍

EDID的相关标准在这二十年间不断进行修改,从下表可以看到EDID的版本由EDID1.0演进至E-EDID1.4,再到最新的DisplayID 2.0格式。这些版本的更改主要是因应了娱乐产业的蓬勃发展,因为随着科技进步,出现越来越多的显示格式、声音格式、甚至传输技术也有所不同,这一方面代表着要有更大的容量来存放这些讯息,另外也要有相关的格式规范来描述这些新技术。所以EDID就从原先只能容纳单一个128Byte的Block的EDID1.0版本,到目前发展到能利用Extension Block格式在EDID内放置多个Block,最多可放置256个Block的E-EDID1.4版本。而在现今 HDMI 接口中,并非使用最新的DisplayID格式,因协会为确保与旧有产品间的兼容性,目前仍采用 E-EDID1.3架构。

表1: EDID版本更动历史

https://en.wikipedia.org/wiki/Extended_Display_Identification_Data

 

1. EDID Block0

接着对HDMI的EDID 内容进一步解说,以下图的EDID为例,首先EDID基础由一个Base Block组成,称为 Block0,内部总共能容纳128Byte,且每个Byte采用16进位格式进行数据填写。

图2: EDID Block0

Block0前20Byte称为Header,前8个Byte为固定格式需填写00FFFFFFFFFFFF00,接下来的10个Byte则须填写制造厂商相关信息,如厂商名称以及生产日期等等。最后2个Byte填写使用的EDID版本,如前文提及,HDMI目前采用E-EDID1.3架构,因此字段只能填写0103,若填写0104或更高的版本皆会无法通过HDMI1.4b的Compliance测试。

图3: EDID Header 架构 (VESA ENHANCED EXTENDED DISPLAY IDENTIFICATION DATA STANDARD, Version 1, Revision 4)

14h至18h,描述显示器支持的影像输入格式(模拟或数字),显示器尺寸以及Gamma值设定。

图4: 显示器影像输入格式 (VESA ENHANCED EXTENDED DISPLAY IDENTIFICATION DATA STANDARD, Version 1, Revision 4)

19h至22h,描述显示器支持的色域范围。

图5: 显示器色域范围设定 (VESA ENHANCED EXTENDED DISPLAY IDENTIFICATION DATA STANDARD, Version 1, Revision 4)

23h至25h为Established timing,填写显示器支持的分辨率,每个bit都对应到一个特定格式,格式均为早期显示器支持的分辨率,主要提供给VSEA、IBM、APPLE等Source使用。由于在HDMI接口中,显示器必须支持640x480p60Hz (VGA)格式,因此建议可在Established timing I 中支持该分辨率。

图6: Established timing I & II

(VESA ENHANCED EXTENDED DISPLAY IDENTIFICATION DATA STANDARD, Version 1, Revision 4)

26h至35为Standard timing,填写显示器支持的分辨率,最多可以填写8个分辨率,会用2个byte描述支持分辨率的宽像素值、画面长宽比例、屏幕更新率。如果在此不需要填写支持分辨率,可将剩余的byte设置为01。

图7: Standard timing (VESA ENHANCED EXTENDED DISPLAY IDENTIFICATION DATA STANDARD, Version 1, Revision 4)

 

36h至7DH合计72个Byte,可被分为四组18byte的descriptors,其目的是对显示器的功能进一步补充。首先第一组descriptor根据HDMI规范必须为Detailed timing descriptor,用来填写支持分辨率,但是相较于前面提到的established timing和standard timing,它使用较多的影像参数来描述:如影像的时钟频率、长宽像素、空白区长宽等等,也因为这样的特性,这组descriptor可用来填写一些特殊、并非列在CEA-861文件的分辨率。剩余的三组descriptors,根据HDMI规范,需要至少包含一组Monitor range descriptor 和 Monitor name descriptor,分别描述显示器支持的垂直、水平更新率以及产品名称。Block0最后的2个byte,7E代表除了Block0以外的extension block数量,7F则为校验值。

Block0已对显示器的功能进行基本的描述,像是产品信息和支持的分辨率等等,但如果显示器要额外支持一些HDMI进阶功能:如色深、音讯格式、3D,此时就需要使用Extension block 来描述。Extension block的格式总共有下列几种,但由于在HDMI规范中必须至少使用一个CEA-EXT,下文将只针对其进行介绍,其余格式不在本文讨论范围。

图8: EDID Extension Block 格式

(VESA ENHANCED EXTENDED DISPLAY IDENTIFICATION DATA STANDARD, Version 1, Revision 4)

在Block0后置入的第一个CEA-EXT称为Block1,前2个Byte分别代表这是CEA-EXT以及使用的CEA版本,使用版本如果晚于CEA-861B均填写03。第三个Byte代表的是DTD offset,描述在Block1何处开始列出DTD,以下图为例51即是DTD起始的位置。第四个Byte中填写显示器是否支持基本音讯输出、以及Ycbcr色彩格式。

 

2. EDID Block1

图9: EDID Block1

在header之后,CEA-EXT采用多个Data block的方式来描述支持的能力,根据CEA-861G文件的规范,仅有下列的Data block能使用:

图10: HDMI可使用的Data Block 种类(CTA-861-G, November 2016)

 

Data Block 种类

1.Audio data block:描述待测物支持的音讯能力,内容包含显示器支持的声音格式、声道数目、音频采样率、音频比特率。如果HDMI显示器支持音讯输出,根据规范须支持LPCM音讯,且同时支持32kHz,44.1kHz,48kHz的音频采样率。

图11: Audio Data Block 格式(LPCM)(CTA-861-G, November 2016)

 

2. Speaker allocation data block:如果显示器支持声道数目大于二,就必须使用此格式来描述多声道的支持配置。

图12 Allocation Data Block 格式(CTA-861-G, November 2016)

3. Video data block:使用VIC code描述显示器支持的分辨率,如果DTD中有列出CEA的分辨率,在Video data block中也需同步列出。

4. Vendor specific data block:提供给各影像协会使用,内容会因使用的影像接口不同而异。像是HDMI协会自定义HDMI VSDB以及HDMI HF-VSDB两种格式,来描述专属于HDMI的相关功能。

如果显示器支持HDMI1.4b,则必须含有HDMI VSDB,格式如下:Byte1至Byte3为IEEE提供给HDMI的数值,代表显示器为HDMI 装置,若产品没有HDMI VSDB则会被输出端判定为DVI装置。Byte4至Byte5代表显示器输入端的物理地址,一般会由1.0.0.0开始,若显示器具有多个输入端,为了进行区别,不同输入端对应的地址需分别填写为2.0.0.0, 3.0.0.0….以此类推,以上为HDMI VSDB最少要填写的内容,总长为5个Bytes。Byte6开始为额外内容,如果待测物有支持不同色深、3D、4K分辨率才需要进行填写。

图13: HDMI VSDB 格式(HDMI Specification Version 1.4b)

若显示器支持最新的HDMI2.1,除了HDMI VSDB也必须含有HDMI HF-VSDB,格式如下:Byte1至Byte3同样为IEEE提供给HDMI的数值,Byte5之后可填写显示器支持的2.1 TMDS/FRL功能:如DSC、VRR、ALLM等等。

图14: HDMI HF-VSDB 格式(HDMI Specification Version 2.1)

5. Extended Tag:上述Data block未提及的HDMI功能,均定义于Extended tag格式中,以下仅对常见的data block进行介绍。

图15: HDMI可使用的 Extended tag 格式(CTA-861-G, November 2016)

  • Video capability data block:QY,QS描述显示器分别在Ycbcr以及RGB色彩格式下是否支持full range灰阶模式,Byte3的bit0~5则用来表示显示器在接收PT/IT/CE 等影像格式时,是采用overscan还是underscan方式显示。

图16: Video capability data block 格式(CTA-861-G, November 2016)

  • Ycbcr420 Video data block如果特定分辨率只支持Ycbcr420,不支持Ycbcr444以及RGB色彩格式时,要在此data block列出该分辨率的VIC值。

图17: Ycbcr 4:2:0 Video Data Block 格式(CTA-861-G, November 2016)

  • Ycbcr420 Capability map data block此格式会列出VDB中额外支持Ycbcr420的分辨率,因此使用Ycbcr420 CMAB代表这些分辨率仍同时支持Ycbcr444和RGB,与前述的Ycbcr420 VDB用法不同。

图18: Ycbcr 4:2:0 Capability Map Data Block 格式(CTA-861-G, November 2016)

 

EDID 常见问题

最后,GRL列出客户常见的HDMI EDID问题:

  1. 我的示器品只支持1 TMDS模式,且支持输速率最高至 6Gps甚么在EDID中不能支持YCbCr420色彩格式的4K120/4K100,即使分辨率所需的输速率不到6Gps

根据 HDMI 2.1 Spec Erratum No.E3 文件, 若 Sink 要支持 4K120 影像格式,则必须同时支持以下其中一种格式:1. 未压缩的 YCbCr420 4K120 10 bit 分辨率 2. 压缩的 YCbCr444 4K120 10bit 分辨率。由于以上两种分辨率速率均大于 6Gps,已经超出 HDMI2.1 TMDS 模式的速率上限,因此代表产品需支持更高速的 HDMI 2.1 FRL 模式才能支持4K120输入,同理4K100也有相同的规定。

  1. EDID 中的 VRR 信息要如何填?

VRRmin 以及 VRRmax 需以产品能力去做填写,但注意 VRRmax 需要与 EDID 内写入的分辨率的最大更新率一致。例如在DTD 内写入 3840x2160p120Hz,VRRmax 则不能填写大于 120 的数值。

  1. 什么是 HF-SCDB, 与常见的 HF-VSDB 格式有何差异?

HF-SCDB是HF-VSDB的一种替代写法,两者内容大致上相同,Byte4后均放置SCDS,用来描述Sink支持的HDMI2.1功能。唯一差异只在于前四个Byte,HF-SCDB使用Extension tag,而HF-VSDB则使用Vendor specific data block格式填写。

  1. HF-EEODB 种新格式的 Data Block ?

HF-EEODB这种新的 Data block格式,通常放置于Block1的Byte4至Byte6,内容用来表示EDID的EXT-Block 数量,是一种Block map的替代写法。其格式总共由3个Byte组成,Byte1至Byte2为固定参数,代表此为HF-EEODB,Byte3则填写在此EDID中的EXT-Block数量。HF-EEODB写法相较于Block map有两点差异,一是容量差异,HF-EEODB只使用三个Byte,而Block map 则需使用一整个Block来描述 (128byte),因此在ROM容量有限时,建议优先使用HF-EEODB。二是内容差异,HF-EEODB只能描述EXT-Block的数量,但Block map则除了数量以外,也能同时描述使用的EXT-Block种类。

 

参考文献

  1. VESA ENHANCED EXTENDED DISPLAY. IDENTIFICATION DATA STANDARD. (Defines EDID Structure Version 1, Revision 4)
  2. CTA-861-G
 

作者

GRL台湾测试工程师 李清宇 Peter Lee

国立成功大学材料系硕士毕业。两年 HDMI 测试经验,熟悉 HDMI2.1 与 HDCP 技术测试。GRL 技术文章作者及演讲讲师。

 

联系我们了解更多

本文件中规格特性及其说明若有修改恕不另行通知。

发布日期 2021/12/16 AN-211216-TW

Published by GRL team Dec 16, 2021

Related Post