Chinaunix首页 | 论坛 | 博客
  • 博客访问: 445875
  • 博文数量: 293
  • 博客积分: 4204
  • 博客等级: 上校
  • 技术积分: 3060
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-21 10:27
个人简介

nobody

文章分类

全部博文(293)

文章存档

2014年(27)

2013年(105)

2012年(41)

2011年(109)

2010年(11)

分类: 嵌入式

2012-04-12 09:04:31

EDID V1.3
[0-7] HeaderInfo 固定值为:00  FF  FF FF FF FF FF 00
[8-11]VendorInfo :
                            [8 9]为Vendor ID 
                            [A B]为Product Code
                            [C D E F]为Serial Number
                            [10 ],一个字节,Week Manufacture
                            [11 ],一个字节,Year Manufacture ,1990+
[12-13]VersionInfo:EDID version,这里固定为 01 03
[14-18]BasicDispPara:
[19-22]Chromaticity:
[23]
[24]
[25]
[26-35]Standard Timing
[36-47]Detailed Timing  optimal image mode;
[48-59]Detailed Timing 前四个字节的值为 00 00 00 FD ,说明该descriptor 描述了Monitor range limits;
[5A-6B]Detailed Timing 前四个字节的值为 00 00 00 FC,  说明该descriptor 描述了 Monitor name;
[6C-7D]Detailed Timing 前四个字节值为 00 00 00 FF ,说明该descriptor 描述了Monitor Serial Number;


------------------------------------------------------------------------
在最近的测试中发现一个问题:
将DVD 的输出通过 HDMI 接入引擎,在启动引擎后,发现图像、声音均
正常。但在热插拔后发现,只有图像没有声音,而且引擎检测到的信号源的信息为DVI 信号。
显然,单纯的DVI信号是没有音频的。之后将该DVD输出的信号接入一台支持HDMI 输入的电视, 发现电视可以正常输出图像、音频。因为在DVD 通过HDMI 输出信号之前,DVD 会读入HDMI sink 设备的DDC 数据(也就是HDMI 通道的EDID),之后source设备(也就是这里的DVD)将根据EDID 信息决定输出信号的格式。这说明引擎HDMI 通道的EDID 数据很可能有问题。
之后检查了code中HDMI的EDID 数据,发现其size 为256 byte。
并且之后得知,HDMI 设备的EDID 应该在前128之外包括所谓的HDMI Vendor Specific Data Block。只要HDMI 源设备接到这个标示符相关数据的响应,就将接收端设备认定为HDMI 设备。否则, HDMI 规范指定:任何接收端设备在 E-EDID 数据传输时不回传包含 这个HDMI VSDB ,即合理长度的HDMI 数据标识符的响应,就会被认为所连接的是 DVI 设备。
之后通过修改HDMI 通道的EDID 数据,该问题解决。
-----------------------------------------------------------------------------------------------
在测试时发现的另一个问题为:
使用PC 的显卡输出HDMI 信号,在使用视频播放器播放视频文件时,热插拔HDMI线,之后发现引擎可以正常输出图片但没有声音。
之后换了一台支持HDMI的电视,发现也是如此。感觉问题在N卡的控制程序。在检查N卡的控制程序时发现了热插拔前后音频输出设备的变化:
这是热插拔之前可以选择的声音输出设备
这是热插拔之后的可以选择的声音输出设备
看来是显卡的控制程序的问题。
------------------------------------------------------------------------------------------------------------

A Vendor Specific Data Block (if any) contains as its first three bytes the vendor's IEEE 
24-bit registration number, LSB first. For HDMI, it is always 00-0C-03 for HDMI Licensing, LLC.
It is followed by a two byte source physical address, LSB first. The source physical address
provides the CEC physical address for upstream CEC devices. 
The remainder of the Vendor Specific Data Block is the "data payload",which can be anything the
vendor considers worthy of inclusion in this EDID extension block. HDMI 1.3a specifies some
requirements for the data payload.  See that spec for detailed info on these bytes:
    VSD Byte 1-3 IEEE Registration Identifier (LSB First)
    VSD Byte 4-5 Components of Source Physical Address (See section 8.7 of HDMI 1.3a)
    VSD Byte 6 (optional) (bits are set if sink supports...):
         bit 7: Supports_AI (...a function that needs info from ACP or ISRC packets)
         bit 6: DC_48bit (...16-bit-per-channel deep color)
         bit 5: DC_36bit (...12-bit-per-channel deep color)
         bit 4: DC_30bit (...10-bit-per-channel deep color)
         bit 3: DC_Y444  (...4:4:4 in deep color modes)
         bit 2: Reserved (0)
         bit 1: Reserved (0)
         bit 0: DVI_Dual (...DVI Dual Link Operation)
    VSD Byte 7 (optional) If non-zero (Max_TMDS_Frequency / 5mhz)
    VSD Byte 8 (optional) (latency fields indicators):
         bit 7: latency_fields (set if latency fields are present)
         bit 6: i_latency_fields (set if interlaced latency fields are present; if set
                four latency fields will be present, 0 if bit 7 is 0)
         bits 5-0: Reserved (0)
    VSD Byte  9 (optional) Video Latency (if indicated, value=1+ms/2 with a max of 251 meaning 500ms)
    VSD Byte 10 (optional) Audio Latency (video delay for progressive sources, same units as above)
    VSD Byte 11 (optional) Interlaced Video Latency (if indicated, same units as above)
    VSD Byte 12 (optional) Interlaced Audio Latency (video delay for interlaced sources, same units as above)
Additional bytes may be present, but the HDMI spec says they shall be zero.
=========================================================================================
0x02,0x3A,0x80,0x18,0x71,0x38,0x2D,0x40,0x58,0x2C,0x45,0x00,0xC4,0x8E,0x21,0x00,0x00,0x9E
这组 Detailed Timing Descriptor 被解释为1920*2160i ?????
阅读(3914) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~