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. MATLAB——矩阵排序详解

    <span style="font-size:18px;">(1)B=sort(A) 对一维或二维数组进行升序排序,并返回排序后的数组,当A为二维时,对数组每一列进行排 ...

  2. leetcode34

    class Solution { public: vector<int> searchRange(vector<int>& nums, int target) { ve ...

  3. C++ 日志生成 DLL

    示例: #define log_dbg(format,args...) \        printf("[DBG] [%s: %s() line:%d]: "format ,__ ...

  4. 在cxGrid表格中如何获得当前列的字段名

    var GridDBTableView:TcxGridDBTableView; ColIndex:Integer; FieldName:string; begin GridDBTableView := ...

  5. ELK6.0部署:Elasticsearch+Logstash+Kibana搭建分布式日志平台

    一.前言 1.ELK简介 ELK是Elasticsearch+Logstash+Kibana的简称 ElasticSearch是一个基于Lucene的分布式全文搜索引擎,提供 RESTful API进 ...

  6. ide调试

    F8:  程序向下执行一行(如果当前行有方法调用,这个方法将被执行完毕返回,然后到下一行) F7: 程序向下执行一行.如果该行有自定义方法,则运行进入自定义方法(不会进入官方类库的方法) Alt + ...

  7. 清理SqlServer日志

    最近做一个数据采集的项目,使用SQLSserver2014数据库 没想到数据才采集两三天,C盘空间已经剩下8M 连忙看了一下SQLSerevr数据库文件夹 位于 C:\Program Files\Mi ...

  8. windows 远程连接“发生身份验证错误 要求的函数不受支持”

    Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\P ...

  9. [SpringBoot]Web综合开发-笔记

    Web开发 Json接口开发 @RestController 给类添加 @RestController 即可,默认类中的方法都会以 json 的格式返回. 自定义filter filter作用: 用于 ...

  10. Python练习-迭代-2018.11.28

    #遍历list L=['a','b','c','d'] l=[] a=0 for n in L: l.insert(a,n) a=a+1 print(l) #遍历dict里的key,导出为list L ...