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. Docker系列07:Docker-compose

    1  什么是Docker-Compose Compose项目来源于之前的fig项目,使用python语言编写,与docker/swarm配合度很高. Compose 是 Docker 容器进行编排的工 ...

  2. dubbo使用简介

    ---------------------------------------------------------------------------------------------------- ...

  3. java中存在三种调用机制

    1:同步调用:一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用 2:回调:一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口: 3:异步调用:一种类似消息或事件的机制 ...

  4. leetcode148

    class Solution { public: ListNode* sortList(ListNode* head) { multimap<int,ListNode*> mul; whi ...

  5. JSONObject.fromObject--JSON与对象的转换

    1. List集合转换成json代码 List list = new ArrayList(); list.add( "first" ); list.add( "secon ...

  6. 制造业期刊-ZT

    小虫一名英国博后,前阵发书,认识了很多机械制造领域的伙伴.得知我录用了多篇顶刊后,很多人私聊我求经验. 哎,哪里那么容易.回想过去5年,制造领域的期刊基本都被拒过一圈.当年自己投稿时就发现,制造顶刊的 ...

  7. Controller层aop

    利用@Around通知修改Controller的返回值 自定义一个注解@OperationBtn 在切入点Controller上加上自定义注解 接下来就是重点了,AspectJ写切面类,对该Contr ...

  8. MySQL存储过程定义中的特性(characteristic)的含义

    MySQL的存储过程蛮啰嗦的,与MSSQL或者Oracle的存储过程相比,如果没有显式指定,他会隐含地指定一系列特性(characteristic)的默认值来创建存储过程 通常在使用图形界面工具进行存 ...

  9. python 关于文件的操作

    1.打开文件: f=open(r'E:\PythonProjects\test7\a.txt',mode='rt',encoding='utf-8') 以上三个单引号内分别表示:要打开的文件的路径,m ...

  10. IntelliJ IDEA——SVN的配置及使用

    服务端:VisualSVN-Server-3.9.1-x64 下载地址:https://www.visualsvn.com/server/download/ TortoiseSVN 安装 下载地址:h ...