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. 实验五:Xen环境下多虚拟机的桥接配置

    实验名称: Xen环境下多虚拟机的桥接配置 实验环境: 这里我们首先需要有一台已经安装好的虚拟机机,能够正常运行,且网卡正常,如下图: 实验需求: 进行虚拟机的复制,并添加新的网桥配置,然后将两台虚拟 ...

  2. java多线程—Runnable、Thread、Callable区别

    多线程编程优点 进程之间不能共享内存,但线程之间共享内存非常容易. 系统创建线程所分配的资源相对创建进程而言,代价非常小. Java中实现多线程有3种方法: 继承Thread类 实现Runnable接 ...

  3. sysctl-p报错:error: "net.bridge.bridge-nf-call-ip6ta

    1.刚配置完sysctl,加载时报错:[root@itpux1 yum.repos.d]# sysctl -pnet.ipv4.ip_forward = 0net.ipv4.conf.default. ...

  4. android toolbar使用记录

    1.打开Project structure,选择app modules,切换到Dependencies添加com.android.support.design.26.0.0.alpha1 2.在lay ...

  5. Rhythmk 一步一步学 JAVA(6): JSP 语法学习笔记

    1.修改JSP页面模版: 找到MyEclips安装目录,搜索“Jsp.vtl”,找到该文件修改编码,以及一些不需要用到的代码. 2.查找项目生成的Servlet文件路径: 查看当前项目父级目录搜索 . ...

  6. Eclipse 安装中文简体语言包

    Installing the language packs Open the install wizard with 'Help' > 'Install new software...' Add ...

  7. V2Ray断流异常

    V2Ray断流异常   1. 问题描述 最近一段时间发现,代理十分不稳定,经常出现“断流”,具体表现为:打开需要代理的站点,需要访问两次,第一次访问失败,需要再刷新一次.查看错误日志内容: Proxy ...

  8. LevelDB源码分析-TableBuilder生成sstable

    TableBuilder生成sstable(include/table_builder.h table/table_builder.cc) LevelDB使用TableBuilder来构建sstabl ...

  9. Spark SQL例子

    综合案例分析 现有数据集 department.json与employee.json,以部门名称和员工性别为粒度,试计算每个部门分性别平均年龄与平均薪资. department.json如下: {&q ...

  10. Java学习笔记(二十二):打包程序

    加入一个程序测试完毕,我们就可以将它打包,就可以放到服务器上运行了 找到左下角的终端 点击 输入命令: mvnw clean package -DskipTests=true clean:清除以前生成 ...