Mstar的Monitor方案笔记(七)——EDID基本数据结构

EDID基本数据结构

  • 1. 介绍几个组织
    • 1.1 ANSI
    • 1.2 VESA
    • 1.3 CEA
  • 2. EDID简介
    • 2.1 什么是EDID
    • 2.2 什么是E-EDID作用
    • 2.3 EDID作用
    • 2.4 什么是DDC
  • 3. EDID基本数据结构(Version 1.3)
    • 3.1 Header(头部):8 bytes
    • 3.2 Vendor/Product identification(厂商/产品标识):10 bytes
    • 3.3 EDID Structure Version/Revision(EDID结构版本/修正):2 bytes
    • 3.4 Basic Display Parameters/Features(基本显示参数/特性):5 bytes
    • 3.5 Color Characteristics(颜色特征):10 bytes
    • 3.6 Established Timing(固定时序):3 bytes
    • 3.7 Standard Timing Identification(标准时序定义):16 bytes
    • 3.8 Descriptors (描述符):72 bytes
    • 3.9 Extenslon Flag (扩展标志):1 byte
    • 3.10 Checksum (校验和):1 byte

1. 介绍几个组织

1.1 ANSI

在这里插入图片描述

美国国家标准协会 (ANSI) 是一个私营的非营利组织,负责管理和协调美国自愿性标准和合格评定系统。该研究所成立于 1918 年,与行业和政府的利益相关者密切合作,为国家和全球优先事项确定和开发基于标准和一致性的解决方案。

标准和技术法规共同影响全球贸易的 93%。全球相关标准和确保其有效使用的一致性措施有助于提高效率、开放市场、增强消费者信心并降低成本。ANSI 是美国的领导者,在为全球各个行业的企业和消费者培养这种潜力方面处于领先地位。


1.2 VESA

Mstar的Monitor方案笔记(七)——EDID基本数据结构_第1张图片
视频电子标准协会 (VESA) 是由代表来自世界各地的、享有投票权利的285多家成员公司的董事会领导的非盈利国际组织。
VESA致力于开发、制订和促进个人计算机(PC)、工作站以及消费类电子产品的视频接口标准,为显示及显示接口业界提供及时、开放的标准,保证其通用性并鼓励创新和市场发展。


1.3 CEA

Mstar的Monitor方案笔记(七)——EDID基本数据结构_第2张图片
消费电子协会 (CEA) 联合了消费技术行业的 2000+家公司。会员可利用宝贵且创新的会员专属资源:组织大型的展会、无与伦比的市场研究、与商业倡导者和领导者的交流机会、制定最新的教育计划和技术培训、广泛的促销计划,以此促进电子行业的发展,推进行业标准的制定。


2. EDID简介

2.1 什么是EDID

EDID:Extended Display Identification Data(扩展显示标识数据)
它是由VESA创造出来的一种数据结构。(128字节数据)
这种数据结构包含了显示器设备自身的基本信息、基本特性基本功能

Mstar的Monitor方案笔记(七)——EDID基本数据结构_第3张图片
目前主流使用的EDID是1.3版本

其中EDID 2.0是第二代的EDID,主要是用来取代第一代的EDID。
它是一个可变长度的新结构,最高可达256字节,因为不能兼容第一代的EDID,使用频率不高。


2.2 什么是E-EDID作用

E-EDID:Enhanced-EDID
E-EDID是基于当前EDID 1.3的版本,并在其基础上进行数据扩展。
每个扩展单元是128字节。

如果不扩展就同等于EDID 1.3
如果扩展1个单元,就达到256字节数据 (128字节基本数据 + 128扩展数据)
扩展2个单元就,就达到384字节数据 (128字节基本数据 + 256扩展数据)

关于扩展数据部分的介绍,在下一篇《EDID扩展数据结构》再来聊


2.3 EDID作用

前面介绍了EDID中包含了显示设备自身的基本信息,而信息就是要让别人了解你的。

因此EDID的作用就是告诉主机或其他的图像输出设备,该给显示器什么分辨率,什么时序,显示器支持的功能有哪些,如何才能显示最佳的效果等等。

现在的显示器常见接口有DVI、VGA、HDMI、DP等,由于每种接口的特性和带宽不同,不同接口的EDID也不尽相同。
因此软件需要给对应接口配置不同EDID,使用哪个接口,PC读到的就是哪个接口的EDID。

EDID一般在烧录程序时直接写入EEPROM 或CPU的RAM里,
主机启动时,通过DDC(下面介绍什么是DDC)读取显示器EDID数据,如果有EDID的话,主机将EDID数据传给显卡,主机根据EDID输出最匹配当前显示器的显示格式。


2.4 什么是DDC

DDC全称:Display Data Channel (显示数据通道)
它是由VESA制定的一条主机和显示器之间通信的数据通道。
有了这条通道,显示器就可以将EDID传输给主机

既然说到是通道,那这条通道到底在哪里?又是怎么样传输的呢?
DDC通道就存在于主机和显示器之间的连接线。
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第4张图片
DDC使用I2C总线协议进行通讯。
I2C总线中的3条线:
SDA<—>数据、SCL<—>时钟、+5V<—>供电
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第5张图片
DDC规范定义了一个+5V的电源连接,以提供电源给显示器的EDID电路,这样就算不打开显示器的电源也可以进行通讯。

DDC的通讯方式有多种,目前主流使用的是DDC2Bi传输。


3. EDID基本数据结构(Version 1.3)

Base Block的128 Byte,如下表所示。
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第6张图片
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第7张图片


3.1 Header(头部):8 bytes

Mstar的Monitor方案笔记(七)——EDID基本数据结构_第8张图片
这8个字节是EDID开始的标识,数据固定就是这样。
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第9张图片


3.2 Vendor/Product identification(厂商/产品标识):10 bytes

Mstar的Monitor方案笔记(七)——EDID基本数据结构_第10张图片


(1)ID Manufacturer name(制造商名称):2 bytes
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第11张图片
在这2 byte的数据格式下,厂商名称只能有3个字母, Character 1~3.
按Compressed ASCII格式转换(“00001”=“A”, “00010”=“B”…“11010”=“Z”)
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第12张图片
例如:当前填入3个字母为 “OOO”,得到:“01111 + 01111 + 01111”
→"00111101 11101111"(最高位补0)→"3DEFh"→"3Dh"+“EFh”


(2)ID Product code(产品代码):2 bytes
有需求的,自行修改产品代码
例如:当前填入0x1234,
EDID中的 0x0A存储0x34,0x0B存储0x12


(3)ID Serial number (产品序号):4 bytes
有需求的,自行修改产品序号
例如:当前填入“12345678”
EDID中的 0x0C存储0x78,0x0D存储0x56,0x0E存储0x34,0x0F存储0x12


(4)Week of Manufacture (制造周):1byte
有需求的,自行修改机器制造时候的周(一年52周)
例如:第16周→“10h”


(5)Year of manufacture (制造年份):1byte
有需求的,自行修改机器制造时候的年份
该字节根据公式:Value = (Year of manufacture - 1990)
例如:年份写2019年,则该字节应Value = 2019-1990 = 31 →“1Dh”
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第13张图片


3.3 EDID Structure Version/Revision(EDID结构版本/修正):2 bytes

在这里插入图片描述
当前为1.3版本:版本号Version = 1 →“01h”,修正号Revision = 3 →“03h”
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第14张图片


3.4 Basic Display Parameters/Features(基本显示参数/特性):5 bytes

Mstar的Monitor方案笔记(七)——EDID基本数据结构_第15张图片


(1)Video input Definition(视频输入定义):1 byte
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第16张图片
该字节定义输入信号为模拟信号还是数字信号
模拟信号中还有信号电平、分离、复合信号、是否支持sync on green功能等Video信号参数。
例如:当前byte为0x80, 转为二进制 --> 1000 000对应表格中bit 7-0为数字信号配置
这部分参数需要参考规格书。


(2)Max. Horizontal Image Size:1 byte
(3)Max. Vertical Image Size:1 byte
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第17张图片
这2字节定义行、场最大size,单位为cm;
这2个参数查看规格书
例如:最大行size 530mm → “35h”,最大场size 290mm →“1Dh”


(4)Display Transfer Characteristic(显示传输特性):1 byte
该字节根据公式”Value = (gamma x100)-100”。
例如:gamma为2.2,根据公式计算Value = (2.2×100) – 100 = 120 → "78h”


(5)Feature Support (支持特性):1 byte
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第18张图片
该字节定义显示器是否支持DPMS、Standby、Suspend、sRGB、GTF等功能。
例如:设置当前字节为0xEA 转为二进制 --> 1110 1010
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第19张图片
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第20张图片


3.5 Color Characteristics(颜色特征):10 bytes

Mstar的Monitor方案笔记(七)——EDID基本数据结构_第21张图片
这10个字节提供R,G,B色度坐标及白点坐标值。
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第22张图片
这部分参数一般用不到,随便参照一组参数来填即可
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第23张图片
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第24张图片


3.6 Established Timing(固定时序):3 bytes

Mstar的Monitor方案笔记(七)——EDID基本数据结构_第25张图片
这3个bytes提供一些基本固定的VESA, Apple, Mac, IBM VGA等常用的Timing,可根据显示器的特性在提供VESA EDID Spec Timing list中选择所支持的Timing.

一般参考下图配置即可:
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第26张图片
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第27张图片


3.7 Standard Timing Identification(标准时序定义):16 bytes

Mstar的Monitor方案笔记(七)——EDID基本数据结构_第28张图片

这16个bytes提供8个额外的支持VESA mode和GTF Mode的Timing
每个标识由一个独特的2字节编码组成,该编码来自模式格式和刷新率,
这些都是不在Established Timing中的

Mstar的Monitor方案笔记(七)——EDID基本数据结构_第29张图片

一个Timing占2个 byte,不使用的可以将对应2个byte填充为 [01h, 01h]
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第30张图片
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第31张图片


3.8 Descriptors (描述符):72 bytes

Descriptors部分总共72 bytes,被分为4个部分,每部分有18 bytes,里面需要包含显示器的最佳分辨率、频率范围、显示器名称等信息
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第32张图片

使用详细时序部分应满足以下要求
①:这4部分都应使用对应的格式(下面会介绍)填充有效的数据,不允许使用数据填充模式。
②:时序数据必须支持最少一种显示模式。
③:描述时序的符块的顺序应是放在其他类型的描述符块之前。
④:第一个描述时序的符块应该是该显示器的最佳显示模式
⑤:必须包含一个显示器频率范围限制描述符块
⑥:必须包含一个显示器名称描述符块

注:上述第4、5和6项在EDID结构版本3之前是允许的,但不是必须的,主机可能会遇到使用EDID版本0-2的显示器不符合所有这些要求。

Descriptors符块配置
参考例子A:
第一部分:首选的最佳详细时序(第一项必须显示器最佳时序
第二部分:详细时序2(可填其他格式
第三部分:显示器名称(必须包含
第四部分:显示器范围限制(必须包含
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第33张图片
参考例子B:
第一部分:首选的最佳详细时序(第一项必须显示器最佳时序
第二部分:显示器名称(必须包含
第三部分:显示器范围限制(必须包含
第四部分:显示器序列号(可填其他格式


(1)详细时序描述符块 – 18 bytes
详细时序仅用于指示显示器供应商确定提供最佳图像的模式。
对于 LCD 显示器,这在大多数情况下是panel的“本机时序”和“本机分辨率”。
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第34张图片
Flags byte中的 Bit[6-5-0] 参考table
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第35张图片
Flags byte中的 Bit[2-1] 参考table
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第36张图片
当前的详细时序描述符块
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第37张图片


(2)显示器描述符块 – 18 bytes
其他部分可根据需要放置显示器频率范围、显示器名称、显示器序列号.
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第38张图片
至于如何放置对应内容,主要取决于开头前5个 byte
当前显示器描述符块中的数据类型标记是FC显示器名字
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第39张图片

后面13 bytes的数据类型的说明如下图:
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第40张图片
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第41张图片


3.9 Extenslon Flag (扩展标志):1 byte

在这里插入图片描述
扩展标志: 除主块128字节外,如果有扩展的EDID字节数,则该字节置1。VGA和DVI的值置0,HDMI一般都会有扩展字节。
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第42张图片


3.10 Checksum (校验和):1 byte

校验和:用来确认EDID信息传输是否正确。
Mstar的Monitor方案笔记(七)——EDID基本数据结构_第43张图片
校验和的计算方式:前127个字节的和 + Checksum字节 = 0x00
也就是说这128个数的总和,是0x100的整数倍,即256的整数倍.
所以Checksum = 256 – (前127字节的和 % 256)

你可能感兴趣的:(Mstar的Monitor方案,嵌入式)