HDMI E-EDID 解析

HDMI接口中包含一个显示器数据通道(DDC,Display Data Channel),它通过 I2C 协  议通信,用于HDMI发送端和接收端之间交换一些配置信息。发送端通过DDC通道读取接收端保存在EEPROM中的EDID数据,从而了解接收端的显示能力和特性。

本章包括以下几个部分:
1.1 E-EDID 简介
1.2 参考资料
1.3 E-EDID Block结构
1.4 EDID 1.3 数据结构

1.1E-EDID 简介

        EDID的英文全称是“ Extended Display Identification Data ”,即“扩展显示器识别数据”。它是VESA(Video Electronics Standards Association 视频电气标准协会)在制定显示器数据通道(DDC)的通信协议时,制定的有关显示器识别数据的标准。
        EDID是一个数据结构(data structure),它有一些可选的变量,用于显示器通知主机 它的身份信息和显示能力。EDID数据结构是显示器和主机之间通信协议的实现。 随着显示器的性能及复杂度不断提高,EDID中需要包含的信息也不断增加。为了应对未来显示器不断增长的显示能力,在EDID 1.3的基础上创造了E-EDID(Enhanced EDID ),即增强的EDID。
        E-EDID(增强的EDID)定义了商业显示器必须支持的128字节的基础数据结构,与此同 时它还定义了如何向基础结构上添加扩展信息的规则。 E-EDID允许额外的信息以 EDID Extensions (EDID扩展)的形式存储,在最简单的配置下,E-EDID仅由一个数据结构组成
(EDID 1.3),即此时不包含扩展信息。

1.2参考资料

        本文主要参考了文档《VESA ENHANCED EXTENDED DISPLAY IDENTIFICATION DATA STANDARD》,即《E-EDID 标准》。如下图所示:

1.2.1 E-EDID 标准

        E-EDID标准定义了用于承载显示器配置信息的数据格式,使得显示器能够以最佳的效果   显示。标准中描述了基础的128字节的数据结构“EDID 1.3”,以及构成 “Enhanced EDID ” 的数据块的基本布局。

1.3E-EDID Block 结构

       E-EDID最常见的形式包含两个块(Block),第一个是基础数据结构块,第二个是扩展 块(extension block) 。如下图所示:
图 1.3.1 只包含一个扩展块的E-EDID Block结构

在图 1.3.1中,Block 0是必须存在的,而其他扩展块是可选的。所有Block的长度均为128字节。

如果E-EDID中包含不止一个扩展块,那么E-EDID的Block结构如下图所示:
图 1.3.2 包含多个扩展块的E-EDID Block结构
     

        如图 1.3.2所示,在包含多个扩展块时,block 1被用作block映射(Block Map),其中存储的是紧跟其后的126个扩展块的Extension Tags信息。如果E-EDID中Block的数目大于 128,那么block 128同样作为block映射,存储后续126个扩展块的Extension Tags信息。 另外,所有的扩展块必须是连续存放的,block之间不允许出现空缺。

接下来我们先看一下 Block Map扩展块 的格式,如下图所示:
1.3.3 Block Map 扩展块格式
        图 1.3.3为一个Block Map扩展块的内容格式,共128个字节。其中第一个字节为当前Block Map扩展块的Block Tag(块标签) ;最后一个字节为当前Block Map扩展块的 校验和 ; 剩下126个字节分别为后续126个扩展块的Extension Tag ,如果有扩展块没有用到,其对应的字节设置为0。
        Block Tag(块标签)为一个字节的数据,用于标识扩展块中存储的内容。然后再来看一下通用扩展块 的格式,如下图所示:
图 1.3.4 通用扩展块格式

        通用扩展块同样是128个字节,主要包含四个部分:第一个字节为Extension Tag,用于指示当前扩展块里存储的内容;第二个字节为当前tag的版本号;最后一个字节为当前扩展块的校验和;剩下的125个字节是存储的扩展信息。

最后还需要了解一下Block Tag的定义,VESA指定的Extension Tag/Block Tag如下图所示:
1.3.5 Extension Tag 的定义
        对于任意一个扩展块,第一个字节都是其Extension Tag,即用来标识扩展块中存储的是什么类型的数据。比如图 1.3.3中Block Map扩展块第一个字节为Block Map Tag,即F0h,说 明当前扩展块里存储的是扩展块映射信息。通用扩展块里常见的内容还有“LCD时序—— 01h”、“触摸屏数据——50h”,或者“显示器制造商自定义的扩展数据——FFh”等。

1.4EDID V1.3 数据结构

        E-EDID的第一个Block就是v1.3版本的EDID数据结构,它包含了E-EDID中最基础的,同时也是最关键的信息。由于EDID中的128个字节包含的信息比较多,我们可以借助E-EDID编辑工具对其进行分析。这里我们使用的工具为“Deltacast E-EDID Editor”,如下图所示:
图 1.4.1 E-EDID编辑工具

        双击图 1.4.1中的图标打开Deltacast E-EDID Editor,在菜单栏里选择“Tools ->ExtractRegistry E-EDID ”,如下图所示:

图 1.4.2 导出注册表中的E-EDID
        执行该步骤可从Windows注册表中将显示器的E-EDID信息导出到工具中,这里以笔者使用的AOC显示器为例。导出完成后,在菜单栏里选择“Tools -> Hexa Editor”可以查看128字节的EDID数据,如下图所示:
1.4.3 查看 EDID 原始数据
        图 1.4.3中的数据需要对照着本章1.2节介绍的文档《E-EDID 标准》进行理解,不过Deltacast E-EDID Editor工具给出了更直观的分析方法。

1.4.1 General / Video Input Definition / Feature

       在菜单栏里选择“Tools -> Hexa Viewer”,此时工具界面如图 1.4.4所示。需要注的是,由于软件问题,部分参数可能显示不完全,可以通过在参数栏中单击鼠标,然后按快捷键Ctrl+A全选,再Ctrl+C把参数拷贝出来进行查看。
1.4.4 General / Video Input Definition / Feature 界面
      首先我们分析上图红色圆圈所标注的参数,它们与原始EDID数据的对应关系如下图所示:
1.4.5 AOC 显示器参数(一)
        在图 1.4.5中,我们重点介绍一下物理参数“Active Off/Very Low Power”和 “Preferred Timing Mode”的概念。
        Active Off/Very Low Power 的含义是:当显示器接收到的时序信号不在它声明的有效操作范围内时(比如没有同步信号,或者没有DE信号等),显示器将处于低功耗状态,该状态下显示消耗的电量将大幅减小。当时序信号回到正常操作范围,显示器也将恢复到正常模式。
         Preferred Timing Mode 的含义是:当该位置1时,显示器推荐的(preferred)最佳时序模式会在第一个“Detailed Timing Block”中进行说明。
上面列出的参数对应EDID数据结构中地址为00h至18h的数据,如下图所示:
图 1.4.6 EDID数据定义(一)

1.4.2 Color / Established Timings

然后在工具中切换到“Color/Established Timings I & II”标签页,如下图所示:
图 1.4.7 Color/stablished Timings I & II 界面
上图红色圆圈所标注的参数,它们与原始EDID数据的对应关系如下图所示:
图 1.4.8 AOC显示器参数(二)
       在图 1.4.8中,颜色特征( color characteristics )指的是RGB三种颜色以及白色是如何定义的。具体的x/y坐标对应色度图中的纵横坐标,如下图所示:
1.4.9 色度图
       例如,笔者所用的AOC显示器认为,图 1.4.9中位于坐标点(0.646,0.334)处的颜色为 红色,坐标点(0.302,0.636)处的颜色为绿色,以此类推。
       在图 1.4.8中, Established Timings 由3个字节组成,其中每个bit代表一个标志信号,用于标识显示器是否支持一些通用的时序。第3个字节的bit6至bit0是预留的,因此一共可以表示17(17 = 24 - 7)种通用时序,如图 1.4.7所示。
以上参数对应EDID数据结构中地址为19h至25h的数据,如下图所示:
1.4.10 EDID 数据定义(二)

1.4.3 Standard Timings

然后在工具中切换到“Standard Timings”标签页,如下图所示:
1.4.11 Standard Timings 界面
上图红色圆圈所标注的参数,它们与原始EDID数据的对应关系如下图所示:
图 1.4.12 AOC显示器参数(三)
        Standard Timings是对Established Timings的补充,它提供了额外的8种时序,每种时 序使用两个字节的数据(timing identifier)来表示。2个字节的timing identifier包含3 个参数,水平方向上的有效像素数、宽高比(Aspect ratio)以及刷新率(Refresh Rate)。从宽高比可计算出竖直方向上的有效像素数。
以上参数对应EDID数据结构中地址为26h至35h的数据,如下图所示:
1.4.13 EDID 数据定义(三)

1.4.4 Detailed Timings / Display Descriptors

然后在工具中切换到“Detailed Timings / Display Descriptors”标签页,如下图所示:
1.4.14 Detailed Timings / Display Descriptors 界面 block 1
       Block1中描述的是显示器的最佳时序的“详细时序说明(detailed timings)”,其参数与原始EDID数据的对应关系如下图所示:
图 1.4.15 AOC显示器参数(四)
详细时序中的各参数含义如下图所示:
1.4.16 显示器时序图

         除block1之外,剩余的3个block既可以用作detailed timings,也可以用MonitorDescriptors。需要注意的是,必须有一个“Monitor Name Descriptor”和一个“Monitor Range Limits Descriptor”。如下图所示:

1.4.17 Detailed Timings / Display Descriptors 界面 block 2
图 1.4.18 Detailed Timings / Display Descriptors 界面 block 3
1.4.19 Detailed Timings / Display Descriptors 界面 block 4
以上参数对应EDID数据结构中地址为36h至7Dh的数据,如下图所示:
图 1.4.20 EDID数据定义(四)
最后还剩了两个字节的数据,如下图所示:
图 1.4.21 EDID最后两个字节
其定义如下所示:
图 1.4.22 EDID数据定义(五)
交流学习可加V:DaLei_FPGA      加Q:3183701261~~~~~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值