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 沟通过程:
- 当输出端连结上显示器后,显示器确认链接成功会将 HPD 电压拉高。
- 输出端确认 HPD 电压状态后,会透过 SDA/SCL 两条数据线,向显示器要求 EDID 信息读取。值得注意的是,HDMI规范允许产品透过硬件设计,让显示器关机时能藉由输出端给提供的5V将 HPD 拉高,这使得输出端能在显示器关机时也能读取 EDID。
- 当输出端能正确的读取 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 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也有相同的规定。
- EDID 中的 VRR 相关信息要如何填写?
VRRmin 以及 VRRmax 需以产品能力去做填写,但注意 VRRmax 需要与 EDID 内写入的分辨率的最大更新率一致。例如在DTD 内写入 3840x2160p120Hz,VRRmax 则不能填写大于 120 的数值。
- 什么是 HF-SCDB, 与常见的 HF-VSDB 格式有何差异?
HF-SCDB是HF-VSDB的一种替代写法,两者内容大致上相同,Byte4后均放置SCDS,用来描述Sink支持的HDMI2.1功能。唯一差异只在于前四个Byte,HF-SCDB使用Extension tag,而HF-VSDB则使用Vendor specific data block格式填写。
- 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种类。
参考文献
- VESA ENHANCED EXTENDED DISPLAY. IDENTIFICATION DATA STANDARD. (Defines EDID Structure Version 1, Revision 4)
- CTA-861-G
作者
GRL台湾测试工程师 李清宇 Peter Lee
国立成功大学材料系硕士毕业。两年 HDMI 测试经验,熟悉 HDMI2.1 与 HDCP 技术测试。GRL 技术文章作者及演讲讲师。
本文件中规格特性及其说明若有修改恕不另行通知。
发布日期 2021/12/16 AN-211216-TW