EDID 详解

1 Instruction

在这里插入图片描述

EDID: Extended Display Identification Data(扩展显示标识数据)是一种VESA (Video Electronics Standards Association)标准数据格式,其中包含有关显示器及其性能的参数,包括供应商信息、最大图像大小、颜色设置、厂商预设置、频率范围的限制以及显示器名和序列号的字符串(摘自百度百科“EDID”词条)。Host Device通过读取Display中的EDID数据来“知道”Display的一些属性。简而言之,EDID就是Display的一个铭牌。EDID数据通常是由DDC通道来传输。

2 Overview

在这里插入图片描述

一份EDID数据是由128个字节的基本数据块(Block 0)和拓展数据块(Block 1)组成,Block 0是必须要有的,而Block 1是可选的。每一个字节都代表Display的相关信息,下面就详细讲一下里面数据的含义。

3 Block 0

在这里插入图片描述

上图是Block 0中的相关信息,最左边一列是数据的地址。

3.1 Header:8 Bytes(00H - 07H)

这8个字节中的值是固定的,不能做任何更改,内容如下图所示:

在这里插入图片描述

3.2 Vendor & Product ID:10 Bytes(08H-11H)

这10个字节中包含一些厂商和产品的一些信息,由分为几个代表不同信息的部分,如下图所示:

在这里插入图片描述

3.2.1 ID Manufacturer Name:2 Bytes(08H-09H)
这两个字节表示的是厂商ID,由微软注册管理,共有16bit,代表三个字母,这16bit是采用6+5+5的方式来划分的。例如, 【0x36, 0x74】表示的内容是:0011 0110 0111 0100.即 001101 + 10011 + 10100 = “M” + “S” + “T”. 即表示MSTAR公司。其中“00001”表示字母A,“00010”表示字母B,“00011”表示字母C,依次类推,“11010”表示Z。
3.2.2 ID Product Code:2 Bytes(0AH-0BH)
这两个字节表示产品ID,由厂商分配。
3.2.3 ID Serial Number:4 Bytes(0CH-0FH)
这两个字节表示产品序列号,有厂商分配。
3.2.4 ID Manufacturer Name:2 Bytes(10H-11H)
产品的制造日期,第一个字节表示一年中的第几周,第二个字节表示年份,这个年份是相对于1990年来说的。比如里面的数据为
0AH,16H,十进制为10和22,则表示1990+22=2012年的第10周。

3.3 EDID Structure Version & Revision:2 Bytes(12H-13H)

这两个字节表示EDID的版本,比如其中值为01H,03H就表示version1.3。目前EDID最高版本为1.4,下图是不同版本之间的区别。

在这里插入图片描述

3.4 Basic Display Parameter and Features:5Bytes(14H-18H)

这5个字节中包含了显示器的一些基本参数。
3.4.1 Video Input Definition:1Byte(14H)
这一个字节包含输入视频的一些基本参数。这个字节的最高位如果为0则表示输入的为模拟视频信号,其具体定义如下表:

在这里插入图片描述

如果最高位为1表示输入的是数字视频信号,其具体定义如下表:

在这里插入图片描述

3.4.2 Horizontal and Vertical Screen Size or Aspect Ratio: 2 Bytes(15H-16H)

在这里插入图片描述

这两个字节用来表示显示器的物理尺寸或者是宽高比。当15H(水平长度)和16H(垂直长度)中的值都不为0是就表示显示器的物理尺寸,单位为cm。 例如 ,该内容为0x73, 0x41,十进制为115, 65。表示该显示器尺寸为115cm x 65cm。如果其中一个字节中的值为零,另一个字节的值不为零,则表示宽高比。宽高比的技术公式如下:

Landscape Orientation mode(横屏模式):
Aspect Ratio = (Stored Value + 99) ÷ 100

Portrait Orientation mode(竖屏模式)
Aspect Ratio = 100 ÷ (Stored Value + 99)

3.4.3 Display Transfer Characteristics (GAMMA): 1 Byte(17H)
显示器伽马在不同的上下文环境中,有不同的含义,一个意思是指显示器的输出图像对输入信号的失真,另一个意思是指这种失真的具体数值。由于显示器伽马和文件伽马是固定不变的,伽马校正过程是校正计算机的系统伽马!,使得显示器伽马、系统伽马、文件伽马三个变换的叠加为1.0,从而使最终显示器的图像和原始场景一样,不存在失真。(摘自百度百科“伽马值”词条)

Stored Value = (GAMMA x 100) – 100

要的到gamma 值,通过存储的值反向计算就可得到。

3.4.4 Feature Support: 1 Byte: 1 Byte(18H)
这一个字节中包含了一些显示器支持的功能和色彩空间,如下表所示:

在这里插入图片描述

下面对每一位作一个说明:
bit[7,6,5]:Display Power Management(电源管理)
Standby Mode : 待机模式
Suspend Mode:暂停模式
Active Off:休眠/唤醒模式(低功耗模式)
如果在EDID 地址为14H中表明输入的为模拟信号时则:
bit[4,3]:Display Color Type
如果在EDID 地址为14H中表明输入的为数字信号时则:
bit[4,3]:Supported Color Encoding Format/s
最后三位表示
bit[2,1,0]:Other Feature Support Flags
sRGB Standard : RGB(standard Red Green Blue)是由Microsoft影像巨擎共同开发的一种彩色语言协议,微软联合爱普生、HP惠普等提供一种标准方法来定义色彩,让显示、打印和扫描等各种计算机外部设备与应用软件对于色彩有一个共通的语言。(摘自百度百科sRGB词条)

3.5 Display x, y Chromaticity Coordinates: 10 Bytes(19H-22H)

这10个字节是用来表示显示器支持的色彩范围,没一个值是采用10bit来表示的,其中低位的2个bit为19H和1AH中的值,高位的8个bit为1BH-22H中的值。10bytes总共表示8个参数,这8个参数为四个点坐标,其中三个用来表示色彩范围坐标,另一个是白色点的坐标。如下图所示:

在这里插入图片描述
在这里插入图片描述

3.6 Established Timings I & II: 3 bytes(23H-25H)

在这里插入图片描述

相应位置置1,表示支持这个Timing。这个时序块中定义的时序是EDID标准出现还早的一些时序。

3.9 Standard Timing:16Bytes(26H-35H)

在这里插入图片描述

这里面定义了从Standard Timing 1- Standard Timing 8总共8个Standard Timing,每个Timing用两个字节来描述,Timing的格式参照表中Standard Timing 1。里面包括宽高像素值,宽高比,刷新率等参数。如果不是用,则将第一个字节设置为01H第二个为0。

3.10 Detailed Timing Blocks - 72 Bytes(36H-7DH)

在这里插入图片描述

这72个字节分为4组,每18个字节用来描述一个Timing。第一个18Bytes block必须用来表示详细时序(Detailed Timing),第二到第四个除了可以表示Detailed Timing之外,还可以用来表示显示器描述符(Display Description)。
3.10.1 Detailed Timing Descriptor-18Bytes
这18个被分成两个Part,Part 1里面包括了视频时序的一些非常详细的参数,每一个参数的含义参考下列视频时序图:

在这里插入图片描述

里面的参数如下表所示:

在这里插入图片描述

Part 2中有一些与音视频相关的设置,内容如下表:

在这里插入图片描述

3.10.2 Display Descriptor Definitions-18Bytes
在3.10节中讲到,第一个block(36H-47H)必须是detailed timing descriptor,而第二到第四个(48H-7DH)block可以是detailed timing descriptor也可以是display descriptor definition。Display Descriptor Definition中的内容如下表:

在这里插入图片描述


前3个字节(Byte 0-Byte 2)都为0,表示着是一个Display Descriptor Definition 而不是Detailed Timing Descriptor;第4个字节(Byte 3)为要描述的参数的代号(Tag),比如为FFH,则表示这18个Bytes是用来描述Display Product Serial Number。第5个字节为00H,从第6个字节到第18个字节则是第4个字节表示的参数的具体值。Tag表示的含义如下表:

在这里插入图片描述

下面就每个参数的含义做详细说明

3.10.2.1 Display Product Serial Number
产品序列号,采用ASCII码存储,比如:S/N:A0123456789,则后13个字节为:41h 30h 31h 32h 33h 34h 35h 36h 37h 38h 39h 0Ah 20h,不够13个字节的在后面加一个0AH(换行),后面填充20H(空格)。

在这里插入图片描述

3.10.2.2 Alphanumeric Data String Descriptor Definitionr

这里面存的是一个用ASCII码表示的字符串,具体用来干啥的我还不是很懂。

在这里插入图片描述

3.10.2.3 Display Range Limits & Additional Timing Descriptor Definition

这里面有一些显示器频率范围限制

在这里插入图片描述

3.10.2.4 Display Product Name (ASCII) String Descriptor Definition
这里面是表示产品名称字符串的ASCII码。

在这里插入图片描述

下面的内容由于我不常用到,所以就不讲了,有兴趣的读者可以自行查阅EDID标准文档。
3.10.2.5 Color Point Descriptor Definition
3.10.2.6 Standard Timing Identifier Definition
3.10.2.7 Color Management Data Definition
3.10.2.8 CVT 3 Byte Code Descriptor Definition
3.10.2.9 Established Timings III Descriptor Definition
3.10.2.10 Unused – Reserved Data Tag Numbe
3.10.2.11 Dummy Descriptor Definition
3.10.2.12 Manufacturer Specified Data Tag Numbers

3.11 Timing Information Priority Order

在EDID中定义了四种Timing,分别是Established Timing、Standard Timing、Preferred Timing还有一些额外的Timing,比如GTF和CVT Timing。对于显示器来说,支持的这些Timing有一个优先级,如下图:

在这里插入图片描述

优先级:Preferred Timing > Detailed Timing > Extension Block中的Detailed Timing>CVT > Standard Timing > Established Timing

3.12 Extension Block Count N - 1 Bytes(7EH)

这一个字节表示除了Block 0之外还有多少个拓展的Block,一般为1,即还存在Block 1

3.13 Checksum - 1 Bytes(7F)

校验和

4 Block 1(这一部分属于CEA-861标准的内容)

拓展部分由三个版本的格式分别为Version 1、Version 2和Version 3

4.1 CEA Extension Version 1

在这里插入图片描述

CEA对Version 1是不推荐使用的,它已经被Version 3替代了。

在这里插入图片描述

Version 2 也被弃用了,所以,目前常见的EDID extension block 采用的是version 1.3,其数据结构如下图所示:

在这里插入图片描述

Byte0和Byte1是拓展数据块的版本号;
Byte2是偏移量d,当d=4时,表示没有数据,d=0是表示没有详细时序;
Byte3;
Byte4-Byte(d-1)是CEA Data Block Collection,里面的内容如下图所示:

在这里插入图片描述

在这一个数据块中,第一个Byte的高3bit用来表示Tag Code,不同的Tag Code表示不同的参数,其具体定义如下表:

在这里插入图片描述


当Tag Code为7时,表示后面还有拓展的Tag。后面紧跟着的一个字节则用来表拓展的Tag Code,如下图:

在这里插入图片描述


由于表示的Block太多,在这就不一一讲解了,每一个Block的具体信息请查阅CEA-861标准文档。
后面没有用到的字节填充0,最后一个为检验和。


分析 EDID 的小工具 生成如下形式的说明文档: Adr Value Remark Description 00h 00h 01h FFh 02h FFh 03h FFh 04h FFh 05h FFh 06h FFh 07h 00h 08h 34h MAG EISA Manufacturer ID (high) 09h 27h EISA Manufacturer ID (low) 0Ah 17h 0717h EISA Product ID(low) 0Bh 07h EISA Product ID(high) 0Ch 02h 2 Serial Number 0Dh 00h Serial Number 0Eh 00h Serial Number 0Fh 00h Serial Number 10h 0Dh 13 Week of Manufacture 11h 0Eh 2004 Year of Manufacture 12h 01h 1 EDID Version 13h 03h 3 EDID Revision 14h 08h Video Input Definition Bit 7 : 0 = Analog signal Bit 6,5: 00 = 0.700,0.300(1.000Vpp) Bit 4 : 0 = No blank-to-black setup Bit 3 : 1 = Separate sync supported Bit 2 : 0 = No composite sync supported Bit 1 : 0 = No sync on green supported Bit 0 : 0 = No serration of the Vsync required 15h 22h 34 Max. Horizontal Image Size 16h 1Bh 27 Max. Vertical Image Size 17h 96h 2.5 Display Transfer Characteristic (Gamma) 18h 28h Feature Support (DPMS) Bit 7 : 0 = No stand-by mode Bit 6 : 0 = No suspend mode Bit 5 : 1 = Active off Bit 4,3: 01 = R/G/B color display Bit 2 : 0 = No standard default color space Bit 1 : 0 = No preferred timing mode Bit 0 : 0 = No GTF supported 19h 67h Red / Green Low Bits 1Ah 55h Blue/ White Low Bits 1Bh A5h 0.646 Red X 1Ch 5Bh 0.357 Red X 1Dh 47h 0.278 Green X 1Eh 9Ch 0.612 Green Y 1Fh 25h 0.146 Blue X 20h 1Eh 0.118 Blue Y 21h 4Fh 0.31 White X 22h 54h 0.329 White Y 23h BFh Established Timings 1 Bit 7 : 1 = 720 x 400 : 70 Hz Bit 6 : 0 Bit 5 : 1 = 640 x 480 : 60 Hz Bit 4 : 1 = 640 x 480 : 67 Hz Bit 3 : 1 = 640 x 480 : 72 Hz Bit 2 : 1 = 640 x 480 : 75 Hz Bit 1 : 1 = 800 x 600 : 56 Hz Bit 0 : 1 = 800 x 600 : 60 Hz 24h EFh Established Timings 2 Bit 7 : 1 = 800 x 600 : 72 Hz Bit 6 : 1 = 800 x 600 : 75 Hz Bit 5 : 1 = 832 x 624 : 75 Hz Bit 4 : 0 Bit 3 : 1 = 1024 x 768 : 60 Hz Bit 2 : 1 = 1024 x 768 : 70 Hz Bit 1 : 1 = 1024 x 768 : 75 Hz Bit 0 : 1 = 1280 x1024 : 75 Hz 25h 00h Manufacturers Timings 26h 31h 640 x 480 27h 40h 60 Hz 28h 45h 800 x 600 29h 40h 60 Hz 2Ah 61h 1024 x 768 2Bh 40h 60 Hz 2Ch 81h 1280 x 1024 2Dh 80h 60 Hz 2Eh 31h 640 x 480 2Fh 4Fh 75 Hz 30h 45h 800 x 600 31h 4Fh 75 Hz 32h 61h 1024 x 768 33h 4Fh 75 Hz 34h 81h 1280 x 1024 35h 8Fh 75 Hz 36h 30h 108Mhz Pixel Clock (low) 37h 2Ah Pixel Clock (high) 38h 00h 1280 Horizontal Active (low) 39h 98h 408 Horizontal Blank (low) 3Ah 51h H.Active/H.Blank (high) 3Bh 00h 1024 Vertikal Active (low) 3Ch 2Ah 42 Vertikal Blank (low) 3Dh 40h V.Active/V.Blank (high) 3Eh 30h 48 H.Front Porch (low) 3Fh 70h 112 H.Sync Pulse Width (low) 40h 13h 1/3 V.Front Porch/V.Sync PW (low) 41h 00h H/V Sync (high) 42h 51h 337 H.Image Size (low) 43h 0Eh 270 V.Image Size (low) 44h 11h H/V Smage Size (high) 45h 00h 0 H.Border 46h 00h 0 H.Border 47h 1Eh Flags 48h 00h Flag = 0000h 49h 00h 4Ah 00h Reserved = 00h 4Bh FFh Tag=Monitor S/N String 4Ch 00h Flag = 00h 4Dh 31h '1' 4Eh 0Ah 4Fh 20h 50h 20h 51h 20h 52h 20h 53h 20h 54h 20h 55h 20h 56h 20h 57h 20h 58h 20h 59h 20h 5Ah 00h Flag = 0000h 5Bh 00h 5Ch 00h Reserved = 00h 5Dh FCh Monitor Name 5Eh 00h Flag = 00h 5Fh 50h 'P' 60h 53h 'S' 61h 2Dh '-' 62h 37h '7' 63h 37h '7' 64h 36h '6' 65h 49h 'I' 66h 0Ah 67h 20h 68h 20h 69h 20h 6Ah 20h 6Bh 20h 6Ch 00h Flag = 0000h 6Dh 00h 6Eh 00h Reserved = 00h 6Fh FDh Tag=Monitor Range Limits 70h 00h Flag = 00h 71h 3Ch 60 Min. vert. Frequency [Hz] 72h 4Bh 75 Max. vert. Frequency [Hz] 73h 1Eh 30 Min. hor. Frequency [kHz] 74h 50h 80 Max. hor. Frequency [kHz] 75h 0Eh 140 Max. Pixel Frequency [MHz/10] 76h 00h Reserved for VESA GTF (=00) 77h 0Ah Set to 0Ah 78h 20h 79h 20h 7Ah 20h 7Bh 20h 7Ch 20h 7Dh 20h 7Eh 00h EDID Ext. Flag 7Fh 15h Checksum
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值