EDID在HDMI高清设备中的应用说明

来源:互联网 发布:心知天气~查气压 编辑:程序博客网 时间:2024/04/30 06:48
       HDMI(High Definition Multimedia Interface),作为新一代数字多媒体接口,能够传输高速率无压缩的数字音频、视频数据,HDMI1.2 像素时钟可达165M,数据速率达到 4.95Gbps,而HDMI1.3 像素时钟则高达340M, 数据速率达到10.2Gbps。 目前高清1080p的数据带宽是2.2Gbps,HDMI完全可以用在高清图像传输中。事实上,目前高清图像传输也大多数选用此接口。HDMI也已成为消费类电子的接口标准,在数字摄像机以及数字电视中广泛使用。
      EDID是VESA组织制定的PC显示器的显示格式数据规范,是HDMI接口的一个重要组成部分。HDMI接口的发送端和接收端,通过EDID(Extended Display Identification Data)来协商双方传输的图像格式。发送端通过读取接收端的EDID数据,来判断接收端是否为HDMI设备。EDID发展到现在已有很多版本,EDID1.3 是目前广泛使用的数据格式。
     本文结合HDMI规范,通过分析和设置EDID数据,使HDMI设备收发双方正确协商出高清图像格式,实现高清图像的传输。

HDMI介绍
      一个HDMI系统包括发送装置和接收装置两部分,图一所示是HDMI 系统结构图。通过3 个TMDS 通道,1个TMDS时钟通道,实现HDMI收发设备间音频、视频数据以及辅助数据的传输。
      TMDS(Transition Minimized Differential Signaling)的意思是传输最小化的差分信号。此技术在DVI设备中已经被使用。TMDS运用先进的编码算法把8bit数据(R、G、B中的每路基色信号)通过最小转换编码为10bit数据(包含行场同步信息、时钟信息、数据DE、纠错等),经过DC平衡后,采用差分信号传输数据,接收端在收到信号后,再将10bit 数据解码成8bit 的数据。它和LVDS、TTL相比有较好的电磁兼容性能,可以用低成本的专用电缆实现长距离、高质量的数字信号传输。
      DDC(Display Data Channel)通道用于HDMI发送和接收端之间交换一些配置信息。发送端通过DDC通道,读取接收端保存在EEPROM中的EDID数据,获取接收端的信息,确认接收端终端显示的设置和功能,决定跟接收端之间以什么格式传输音视频数据。
      CEC(Consumer Electronics Control)通道是可选通道。通过CEC通道,可以实现一些音视频设备间的高级控制功能,比如支持视频源和数字电视间的双向通信,实现单键按下同时开机、自动上电、自动信号路由、远程控制等功能。
图1 HDMI系统结构图



E-EDID数据结构
      E-EDID是VESA组织定义的一种数据结构,是为PC显示器设置的优化显示格式数据规范,它存储在显示器中专用的EEPROM存储器中,数据结构是128Byte, PC主机和显示器通过DDC通道访问存储器中的数据,以确定显示器的显示属性,如分辨率、纵横比等信息。此数据结构被HDMI采用,在HDMI规范中,同样使用DDC通道访问EDID存储器,以确定显示设备的功能和属性。
      HDMI规范规定,EDID的第一个128Byte必须是符合EDID1.3 的数据结构,第二个128Byte必须是符合EIA/CEA-861B 的CEA EDID时序扩展数据结构。
      1)E-EDID 数据结构
如图2所示,是EDID1.3 数据结构及其字段详细说明。


图2 EDID1.3 数据结构
      2)CEA-861B 数据结构
如图3所示,是CEA 861B 数据结构各字段详细说明。
图3 CEA 861B 数据结构


      EIA/CEA 861B规范规定,CEA EDID数据传输的第一个时序扩展段中要包含VSDB 信号。就是HDMI Vendor Specific Data Block (HDMI VSDB) 。 这是一个 EIA/CEA-861B Vendor Specific Data 数据块。包含一个 24 位的 HDMI数据识别符(IEEE Registration Identifier) 0x000C03, 一个 HDMI 批准、许可的数据值。为了测定接收端是否HDMI 设备,HDMI 源设备需要检测接收端设备的EDID 数据传输扩展时序中,是否存在这个 VSDB 数据块( 由 HDMI 设备制造厂商根据协议制定并提供的)。任何一个HDMI设备都会自动响应一个HDMI VSDB ,这是一个合理长度的数据表述 , 含及IEEE 注册、登记的标识符:0x000C03,只要HDMI 源设备接到这个标示符相关数据的响应,就将接收端设备认定为HDMI 设备。否则, HDMI 规范指定:任何接收端设备在 E-EDID 数据传输时不回传包含 这个HDMI VSDB ,即合理长度的HDMI 数据标识符的响应。就会被认为所连接的是 DVI 设备。

HDMI高清图像传输中EDID的设置
      HDMI接口具有热插拔功能,发送设备检测到HPD信号为低时,去读取EDID的数据,来确认接收装置是否出现变化。
      HDMI规范规定,发送设备要检测接收设备的第一个CEA EDID 扩展块中是否包含HDMI VSDB,这个HDMI VSDB中是否包含IEEE数据标识符0x000C03, 只有包含这个数据标识符的设备,才会被认为是HDMI设备,否则,被当作DVI设备处理。
      一个HDMI设备的EDID通常包含两个模块,第一个是EDID1.3 的数据模块,第二个是CEA 861B模块,这个861B模块中,一定要包含数据标示符 0x000C03。
      下面以实际工作中的EDID 为例,对EDID来做一些说明。如图4所示。
图4


      图4中,0x00---0x7F,这是EDID第一段,EDID1.3 的数据结构,从最后两个字节看,0x7E 地址处的数据01H表明其后还有一个扩展段,0x7F处的81H 则是第一段EDID的校验字段,第一段EDID所有128Byte加起来为0。
      0x00-0x07 处的字段,是EDID的数据头,0x12-0x13处的01 03 表明EDID version 1, revision 3。0x36-0x47的字段,是第一个详细时序描述,01 1D 80…. 这是1080i 的详细描述符。 0x48-0x59,这是第二个详细时序描述,8C,0A… 这是480p 的详细描述符。从0x5A 开始是非时序描述块。00 00 00 FC 00 表明接下来的数据是监视器的描述, 此处的48 44 4D 49表明是HDMI。接下来00 00 00 FD 00 表明是监视器可接收信号范围描述符,这是在GTF标准里要求的。FC、FD标志表明的数据块,必须是13个字节,如果不够13个字节,则最后一个有用字节后紧跟0AH,其余填充20H,比如这里 0x66-0x68 的数据。
     0x80-0xFF , 这是EDID第二段,也是CEA 861B模块。从图上可以看出,包含有0x 000C03 的标识符。EDID第二段,必须包含此字符,否则,此设备会被当作DVI设备处理。同第一个EDID模块,0xFF处的1A 是第二段EDID的校验字段,第二段EDID所有128Byte加起来为0。同第一段的EDID1.3 不同的是,在CEA 861B模块中,不用的字段可以填充0。所以从图上看,第二段EDID数据有很多0。
      0x83 字段的19H ,表明视频格式详细描述符的开始是从0x19处开始的。0x85处的数据85H,表明1080i图像格式,是此接收设备固有的特性,其中5,是1080i 视频格式的短描述符。

结语
      HDMI以其优异的性能被广泛使用在高清图像传输中,HDMI双方以什么方式传输图像,依赖于接收端EDID数据结构的内容。EDID数据决定了接收端显示设备的属性。发送端靠从接收设备读来的EDID, 判断监视器的属性,决定用什么方式传输图像。如果EDID设置不正确,系统就有可能不能识别HDMI设备,不能以高清格式传输图像。因此,EDID的设置至关重要。本文详细分析EDID各字段的含义,正确设置EDID,实现了HDMI设备之间高清图像的传输。
                                         君好电子科技有限公司  cokton@qq.com  tel:15016852520黄先生
原创粉丝点击