DDC的参数

  EDID是一种VESA 标准数据格式,其中包含有关监视器及其性能的参数,包括供应商信息、最大图像大小、颜色设置、厂商预设置、频率范围的限制以及显示器名和序列号的字符串。EDID数据标准:EDID(Extended Display Identification Data Standard)至今已发布到第三版本,即EDID Version 3,前面分别有EDID Version 1.0,Revision 0,EDID Version 1,Revision 1,EDID Version 2,Revision 0,EDID Version 2,Revision 1等版本。就数据信息量而分,EDID分为128 BYTE和256 BYTE,将来也许会有更多数据信息量的新版EDID公布

  由于显示类型和功能的不断增加,128个字节变得捉襟见肘起来,EDID和DDC都进行了扩展,因此多重128字节的数据块可以进行交换。这就是在众多消费品上所用到的E-EDID。E-EDID是基于EDID结构1.4的,允许附加数据存储在多个扩展数据块中。在最小的配置中,E-EDID只包含一个数据块,即基本EDID—数据块0。每一个数据块长度都是128个字节。扩展数据块被顺序附加在基本EDID后面。如Table2.4所示。目前已经有几个扩展数据块被指定了选定的功能。除了扩展数据块Map,所有的扩展数据块都应该包含一个字节用于扩展数据块修订版本号。

  E-EDID数据结构被HDMI采用,在HDMI规范中,同样使用DDC通道访问EDID存储器,以确定显示设备的功能和属性。因为 HDMI 标准要求每个 HDMI接口都保留有一份 EDID 数据,常见的做法是每个 HDMI口会有一个 EEPROM 来保存这份数据。外接 HDMI 主设备如 DVD 播放器在 HDMI 热插拔的时候就会通过 HDMI的DDC通道来读取EDID数据。EDID里面主要是定义了这显示设备所支持的图像分辨率,支持的声音格式,声音通道,及 3D 等等,其目的是告诉外接设备我所支持的特性,让 HDMI 主设备输出一个我所支持的时序。HDMI规范规定,EDID的第一个128Byte必须是符合EDID1.3的数据结构,第二个128Byte必须是符合EIA/CEA-861B的CEAEDID时序扩展数据结构。

  在HDMI IP中支持CEA-861-D定义的E-EDID数据结构。E-EDID的I2C的从机地址是0xA0/0xA1。在开发板上 DDC 信号通过电平转换直接连接到FPGA的 IO 上,即I2C的时钟和数据线。可以通过FPGA 程序实现这个 EEPROM 的功能。第一个E-EDID扩展,应该包含一个CEA 扩展版本3,它在CEA-861-D的7.5部分定义。但是不包含CEA扩展版本1和扩展版本2。

EDID 扩展版本3:(CEA-861-D的7.5部分定义)

下图是从HDMI接收部分查询到的数据,我们与上面的扩展版本3对照来分析下。

从57~64是video Data Block

从23~01是Audio Data Block

从7e~00是Vendor Specific Data Block

从67~03是Vendor Specific Data Block

从E2~4B是Use Extended Tag

从E4~60是Use Extended Tag

从56~1a是18个数据长度

从66~1e是18个数据长度

方框中的两个数据02正好是第129个数据,地址为128.正好与CEA-861-D中定义的扩展版本3一样。02表示Tag = 2 ,03表示扩展修定版本为3.字节3对就的数据4fh(79)就是后面提到的d。那我们先来分析下从地址4到地址d-1(也就是78)都有哪些参数(上面提到是数据块集)。根据图中提示我们找到图28.

从表28中可以看到这些数据图有视频数据块、音频数据块、厂商指定数据块和扬声器分配数据块。这些数据块的顺序是可调的。在这些数据块中第一个字节称为标签码,高3位表示数据块类型,低5位表示数据的字节长度,它不包括第一个字节在内。下面是数据块类型表示:

如果标签码是7,那在这个数据块中的第二个字节是一个扩展的标签码。并且这个扩展的标签码是算在长度之内的。数据块的长度指示为5位,所以从标签码0~6数据块的长度为31,而标签码为7的数据块长度为30个字节。下图是对扩展标签码的定义。

那这些数据块具体怎样呢,这由HDMI自己定义,我们可以再看HDMI H1.4b关于扩展部分的定义。H1.4b中提到第一个CEA扩展应该包含一个HDMI VSDB。

HDMI Vendor-Specific Data Block(HDMI VSDB)h1.4b

第一个CEA扩展包含一个HDMI VSDB.如上图中找到的03 0c 00部分,从03到00总共为30个数据,这是由7E来定义的。

8.3.4 Video Capability Data Block (VCDB)

HDMI Forum Vendor Specific Data Block(HF-VSDB)

HF-VSDB在H2.0中定义。HF-VSDB用于接收器件指示H2.0支持的特征。

注意HF-VSDB不能与H14b VSDB相混淆。即使接收端支持HDMI2.0版本,也必须包含H14b VSDB(由HDMI H1.4b定义),在E-EDID中是否包含是可选的,除非接收端支持Table10-5中一项或者多项特性。

从上图方框中的D8 5D C4可以看出。

HDMI EDID 处理过程的更多相关文章

  1. (转)Hdmi edid 数据解析

    Hdmi edid 数据解析    (转自:http://blog.chinaunix.net/uid-20672559-id-3384035.html) 一.EDID数据格式: EDID 1.3 d ...

  2. HDMI EDID解读

    现在的显示设备比如显示器,电视等都HDMI接口,那通常每个HDMI接口都保留有一份EDID数据,这个数据可以存在程序里面由系统启动过程中来初始化,更常见的做法是每个HDMI口会有一个EEPROM来保存 ...

  3. HDMI SCDC处理过程

    SCDC       State and Control Data Channel 接收端如果有SCDC,应该在E-EDID中包含一个有效的HF-VSDB,并且把SCDC_Present位设置为1.在 ...

  4. learning hdmi edid protocol

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

  5. HDMI接口与协议

    深入了解HDMI接口 一.HDMI接口的工作原理这张图是HDMI接口的架构示意图.从左边的信号源中你可以看到,HDMI接口的信源可以是任何支持HDMI输出的设备,而接入端也可以是任何带有HDMI输 入 ...

  6. HDMI介绍与流程

    HDMI接口 http://baike.c114.net/view.asp?id=17671-21565442 DDC(Display Data Channel)通道用于HDMI发送和接收端之间交换一 ...

  7. EDID:识别和解决常见问题指南

    随着 HDMI.DVI 和 DisplayPort 的迅速采用,专业视音频行业正继续从模拟向数字视频技术转换.虽然在很大程度上取得了成功,但在向最终用户提供稳定.无故障的视频系统时,这种转变仍带来了诸 ...

  8. 【转】 HDMI介绍与流程

    转自:https://www.cnblogs.com/TaigaCon/p/3840653.html HDMI,全称为(High Definition Multimedia Interface)高清多 ...

  9. 转:HDMI介绍与流程

    HDMI介绍与流程   HDMI,全称为(High Definition Multimedia Interface)高清多媒体接口,主要用于传输高清音视频信号. HDMI引脚: HDMI有A,B,C, ...

随机推荐

  1. 经典技术之URL

    SpringBoot入门 (十) 发送邮件 图表算法—最短路径 三个好用的并发工具类 跨应用Session共享: https://www.cnblogs.com/websharing/p/849586 ...

  2. background-position,有逗号和没逗号:截然不同的结果

    写星级评分demo的时候,发现background-position这个属性有点神奇 如上图,在其值中加“,”与不加“,”会带来截然不同的结果,来研究一哈,顺便把这个属性复习一下 1.backgrou ...

  3. python print格式化输出。

    python print格式化输出. 1. 打印字符串 print ("His name is %s"%("Aviad")) 效果: 2.打印整数 print ...

  4. leetcode85

    class Solution { public int maximalRectangle(char[][] matrix) { if(matrix == null || matrix.length = ...

  5. tensorflow实战系列(四)基于TensorFlow构建AlexNet代码解析

    整体流程介绍: 我们从main函数走,在train函数中,首先new了一个network;然后初始化后开始训练,训练时设定设备和迭代的次数,训练完后关闭流程图. 下面看network这个类,这个类有许 ...

  6. Elasticsearch 整合spring(不是sprig boot)

    公司做统计任务,有使用Es做聚合操作,使用的是自己封装的版本,这边整合下原生spring,做下学习记录,随便看一下,发现差不多都是spring boot的案例...我该怎么办,...发现整合的过程其实 ...

  7. layer.js 中弹框显示不全的问题

    在使用 layer.js 做弹框的时候,遇到在浏览器缩小时,弹框显示不全的问题,如下: 这是不行的,因为我们有的时候想缩小浏览器视窗,但是一旦缩小到一定程度,就会把弹窗的关闭按钮遮住一部分,并且主体弹 ...

  8. 转: rem与px的转换

    rem是相对于根元素<html>,这样就意味着,我们只需要在根元素确定一个参考值,这个参考值设置为多少,完全可以根据您自己的需求来定.· 我们知道,浏览器默认的字号16px,来看一些px单 ...

  9. linux环境下tomcat安装

    1.安装tomcat前安装jdk(前提下) 2.下载安装包apache-tomcat-8.0.36.tar.gz    解压:tar -zxvf apache-tomcat-8.0.36.tar.gz ...

  10. 42 【docker】run命令

    最常用的两个option是,网络端口映射,和文件共享 最基本的启动命令(从image创建一个container并启动):docker run -d <image-name> -d:表示守护 ...