一、HDMI基本概念
1.HDMI标准的发展历史:
2002年12月9日,HDMI1.0版正式发布,标志着HDMI技术正式登上历史舞台。
2004年1月,HDMI1.1版发布。
2005年8月,HDMI1.2版发布。
2005年12月,HDMI1.2a版发布。
2006年6月,HDMI1.3版发布。
2009年6月,HDMI1.4版发布。
2010年3月,HDMI1.4a版发布,也是最新的一个版本。
2.HDMI标准的主要特性和优势:
1.更好的抗干扰性能,能实现最长20米的无增益传输。
2.针对大尺寸数字平板电视分辨率进行优化,兼容性好。
3.支持EDID和DDC2B标准,设备之间可以智能选择最佳匹配的连接方式。
4.拥有强大的版权保护机制(HDCP),有效防止盗版现象。
5.支持24bit色深处理(RGB、YCbCr4-4-4、YCbCr4-2-2)。
6.完全兼容DVI接口标准。
7.支持热插拔技术。
8.一根线缆实现数字音频、视频信号同步传输,有效降低使用成本和繁杂
3.HDMI接口定义
HDMI接口有四种: A类(19脚),A类(HDMI转接口DVI-D 29脚)
B类(29脚),B类(HDMI转接口DVI-D 29脚)
二、协议简介
1.DDC_SCL和DDC_SDA引脚用处:
DDC(显示数据通道)主要用于HDMI源端设备(Source)与接收端设备(Sink)之间进行EDID数据及HDCP密钥的交流。通过EDID交流,源端设备可以了解到接收端设备音视频的接收能力;通过HDCP Key的交流,可以实时的进行数据流的内容保护认证,从而达到数据内容保护的目的。
2.DDC的电路:
DDC的电路方式与I2C电路相同,因此在DDC电路设计中,设计者要考虑到DDC线路的电平。按照HDMI1.3a规范,HDMI源端DDC的上拉电阻最小为1.5kΩ!,考虑到HDMI认证中DDC电平的要求(在 4.5~5.5V之间),将DDC信号均通过10kΩ的电阻上拉到HDMI接口的第18引脚(HDMI源端5V电源)。经计算,源端与接收端的DDC总上拉电阻的最小值为R总上拉min=1.5kΩ‖10kΩ=1.3kΩ。经测试,接收端DDC的电平约为4.68V,因此满足HDMI认证要求;而DDC总上拉电阻的最小值1.3kΩ也满足I2C的规范。
3. CEC消费类电子控制:
CEC(消费类电子控制)操作是HDMI接口的一个重要扩展功能,它采用“一线”(OneWire)通信方式,将HDMI的设备连通起来,使HDMI设备之间的操作简单化。即接收端有多个HDMI接口,将一台HDMI输出和所有HDMI输出必须连接在一起,其中一台设备断电时应该不影响其他设备的工作。如果接收端采用PS321(三选一HDMI开关)采用内置的EDID缓存区来配置,那么PS321的CEC操作设计主要是CEC物理地址的分配。具体见HDMISpecification13a
4.HPDHotplug热插拔:
HPD(Hotplug热插拔)操作设计是HDMI接口软件设计的一个重要环节,它是由接收端设备(Sink)发出的,在与HDMI源端设备(Source)之间建立正式通信的前奏信号。HPD信号电平为高时表示接收端设备已经准备好了,允许源端设备访问接收端设备。
在HPD操作的软件设计中,要考虑如下两个因素。
一是HDMI源端设备输出的电源脚(HDMI接收端插座的第18引脚)的检测。如果HDMI接收端插座的第18引脚为低电平,表示HDMI源端设备未准备好,此时接收端设备应把HPD信号置低电平;如果HDMI接收端插座的第18引脚为高电平,表示HDMI源端设备已准备好,此时接收端设备根据自身的情况可以有选择的将HPD信号置高电平,以通知HDMI源端设备,表明接收端设备也准备好。
二是源端与接收端通信失败下的模拟HPD操作。当HDMI源端与接收端的通信刚建立时可能出现HDCP-KEY读取失败或EDID数据读取错误的情况,造成HDMI工作不正常,此时为了恢复正常的通信,需要进行模拟的HPD操作,即由接收端设备将HPD信号从高电平拉为低电平,HPD低电平持续100ms左右,再拉回高电平,这样源端设备会检测HPD信号的跳变,重新发起读取操作,为建立正常通信做进一步的尝试。这种软件模拟HPD的操作可以在不需要人为热插拔操作的协助下以模拟硬插拔的方式来重建HDMI的正常通信,从而可以消除通信不稳定引起的故障。
5.其它介绍
TMDS通道: 传送音频,视频,以及各种辅助数据
信号编码方式:遵循DVI 1.0规格。Single-link (Type A HDMI) or dual-link (Type B HDMI).
视频像素带宽:从25 MHz到340 MHz (Type A, HDMI 1.3) 或至 680 MHz (Type B). 带宽低于25MHz的视频信号如NTSC 480i将以倍频方式输出。每个像素的容许数据量从24位至48位。支持每秒120张画面 1080p分辨率画面传送以及WQSXGA分辨率 [1].
像素编码方式:RGB 4:4:4, YCbCr 4:4:4 (8-16 bits per component); YCbCr 4:2:2 (12 bits per component)
音频采样率:32 kHz, 44.1 kHz, 48 kHz, 88.2 kHz, 96 kHz, 176.4 kHz, 192 kHz.
音频声道数量:最大8声道。
音频流规格:IEC61937兼容流,包括高流量无损信号如Dolby TrueHD, DTS-HD Master Audio
CEC通道: CEC全文为Consumer Electronics Control
用来传送工业规格的AV Link协议信号,以便支持单一遥控器操作多台AV机器
为单芯线双向串行总线
DDC通道: DDC全文为Display Data Channel
传送端与接收端可利用DDC通道得知彼此的传送与接收能力,但HDMI仅需单向获知接收端(显示器)的能力。
使用100kHz时钟频率的I²C信号, 传送数据结构为VESA Enhanced EDID (V1.3).
SerialClock(简称SCL)和SerialData(简称SDA)
SCL,SDA:这两支脚位是用来让source(DVD) 和 display (TV)作沟通,在电视内部都有一个记忆体,内部存放了有关这台电视所支持的分辨率,例如:720P 或1080P,如果source(DVD)不知道 目前所连接的电视所支持的电视分辨率是多少时,source(DVD) 就不知道要放送出什么分辨率的讯号,因此在一开始source(DVD)会透过这两支脚位去读取电视所支持的分辨率,当知道后source(DVD) 才放送出符合电视分辨率的影像画面。其中SCL是时钟(CLOCK)脚位,SDA是资料脚位。
CEC简化数字家庭的操作:一个遥控器可以控制所有支持HDMI的数字产品 现时在很多不同品牌上都可看到CEC的身影。功能上大致都是借着CEC信号让用者可控制HDMI接口上所连接的装置。如单键播放(One Touch Play),系统待机(System Standby)。 即是如果用者将影碟放进蓝光播放器时,电视会由于CEC信号的通知而自动开机,然后视频通道亦会自动切换到播放器连接的通道上。而当用者关掉电视时,CEC信号亦会通知HDMI相连接的装置一同进入待机。由于这样,所以就可以完全变成单一遥控器控制所有HDMI连接的装置。
CEC简化数字家庭的操作,一个遥控器可以控制所有支持HDMI的数字产品
6. HDMI的EDID
EDID(Extended DisplayIdentification Data)扩展显示标识数据,是VESA组织制定的PC显示器的显示格式规范。EDID中包含有关显示器及其性能的参数,包括供应商信息、最大图像大小、颜色设置、厂商预设置、频率范围的限制以及显示器名和序列号的字符串。这些信息保存在显示器的EEPROM中,通过一个 DDC(Display Data Channel)与系统进行通信。这是在显示器和PC图形适配器之间进行的。
EDID发展到现在已有很多版本,最新版本的EDID还可以在CRT、LCD以及将来的显示器类型中使用,这是因为EDID提供了几乎所有显示参数的通用描述。一个HDMI设备的EDID通常包含两个模块,第一个是EDID1.3的数据模块,第二个是CEA861B模块。HDMI规范规定,EDID的第一个128Byte必须是符合EDID1.3的数据结构,第二个128Byte必须是符合EIA/CEA-861B的CEAEDID时序扩展数据结构。
EDID是HDMI接口的一个重要组成部分。HDMI接口的发送端和接收端,通过EDID来协商双方传输的各项参数。比如,HDMI接口的发送端通过读取接收端的EDID数据,来判断接收端显示器的扫描方式。(是1080P,1080i,还是480P等)、显示器的信息、显示器可接收的信号的范围、显示器的接收端是否为HDMI设备,等等。
HDMI以其优异的性能被广泛使用在高清图像传输中。 HDMI双方以什么方式传输图像,依赖于接收端EDID数据结构的内容。EDID数据决定了接收端显示设备的属性。发送端靠从接收设备读来的EDID判断监视器的属性,决定用什么方式传输图像。如果EDID设置不正确,系统就有可能不能正确识别HDMI设备,不能以高清格式传输图像。因此,EDID的设置至关重要。本文详细分析了EDID各字段的含义,正确设置EDID可以实现HDMI设备之间高清图像的传输。
7. HDMI的TMDS
HDMI采用和DVI相同的传输原理——TMDS(Transition Minimized Differential signal),最小化传输差分信号。TMDS支持高达225MHz的传输速率,一个传输链路能满足高达2048*1536分辨率的电视信号。
TMDS传输系统分为分为两个部分:发送端和接收端。TMDS发送端收到HDMI接口传来的表示RGB信号的24位并行数据(TMDS对每个像素的RGB三原色分别按8bit编码,即R信号有8位,G信号有8位,B信号有8位),然后对这些数据进行编码和并/串转换,再将表示3个RGB信号的数据分别分配到独立的传输通道发送出去。接收端接收来自发送端的串行信号,对其进行解码和串/并转换,然后发送到显示器的控制端。与此同时也接收时钟信号,以实现同步。
1.TMDS的原理
每一个TMDS链路都包括3个传输RGB信号的数据通道和1个传输时钟信号的通道。每一个数据通道都通过编码算法,将8位的视、音频数据转换成最小化传输、直流平衡的10位数据。这使得数据的传输和恢复更加可靠。最小化传输差分信号是通过异或及异或非等逻辑算法将原始8位信号数据转换成10位,前8为数据由原始信号经运算后获得,第9位指示运算的方式,第10位用来对应直流平衡。
一般来说,HDMI传输的编码格式中要包含视频数据、控制数据和数据包(数据包中包含音频数据和附加信息数据,例如纠错码等)。TMDS每个通道在传输时要包含一个2bit的控制数据、8bit的视频数据或者4bit的数据包即可。在HDMI信息传输过程中,可以分为三个阶段:视频数据传输周期、控制数据传输周期和数据岛传输周期,分别对应上述的三种数据类型。
2.TMDS中采用的技术:
2.1.传输最小化
8位数据经过编码和直流平衡得到10位最小化数据,这仿佛增加了冗余位,对传输链路的带宽要求更高,但事实上,通过这种算法得到的10位数据在更长的同轴电缆中传输的可靠性增强了。
下图是一个例子,说明对一个8位的并行RED数据编码、并/串转换。
第一步:将8位并行RED数据发送到TMDS发送端。
第二步:并/串转换.
第三步:进行最小化传输处理,加上第9位,即编码过程。第9位数据称为编码位。
2.2.直流平衡
直流平衡(DC-balanced)就是指在编码过程中保证信道中直流偏移为零。方法是在原来的9位数据的后面加上第10位数据,这样,传输的数据趋于直流平衡,使信号对传输线的电磁干扰减少,提高信号传输的可靠性。
2.3.差分信号
TMDS差分传动技术是一种利用2个引脚间电压差来传送信号的技术。传输数据的数值(“0”或者“1”)由两脚间电压正负极性和大小决定。即,采用2根线来传输信号,一根线上传输原来的信号,另一根线上传输与原来信号相反的信号。这样接收端就可以通过让一根线上的信号减去另一根线上的信号的方式来屏蔽电磁干扰,从而得到正确的信号。
如下图所示:
另外,还有一个显示数据通道(DDC),是用于读取表示接收端显示器的清晰度等显示能力的扩展显示标识数据(EDID)的信号线。搭载HDCP(High-bandwidth Digital Content Protection,高带宽数字内容保护技术)的发送、接收设备之间也利用DDC线进行密码键的认证。
8. HDMI的HDCP:
HDCP技术在影音内容的整个传送过程中都实施了保护。例如在电脑平台上,受到HDCP技术保护的影音内容在输出时,微软操作系统中的COPP(Certified Output Protection Protocol,认证输出保护协议)驱动首先会验证显卡,只有支持HDCP的显卡才能实现内容的输出;随后操作系统会认证显示设备的密钥,只有符合HDCP要求的设备才能最终显示显卡传送来的影音内容。
要支持HDCP协议,就必须使用DVI、HDMI等数字视频接口,传统的VGA等模拟信号接口无法支持HDCP协议。当使用VGA等模拟信号接口时,画面就会下降成为低画质,或者提示无法播放,从而失去高清的意义。需要说明的是,HDMI接口内嵌了HDCP协议,带有HDMI接口的显示器都支持HDCP协议。但是带DVI接口的液晶显示器并非都支持HDCP协议,必须经过带有相应硬件芯片通过认证的显示器才行。
总结:HDCP协议是用来防止视频内容在传输的过程被完整的复制下来。这种技术不是让数字信号无法被非法录制,而是将数字信号进行加密,让非法录制无法达到原有的高分辨率画质。
9. HDMI的显示格式:
在HDTV中规定了三种标准:720P、1080i和1080P,帧(场)频为60Hz。 这里以1080P/60Hz为例。每帧像素数为1920×1080=2073600(约为2.074M)个。刷新率为60Hz,则每秒需要信息的像素次数为2073600×60=124416000(约为124.42M)个,需要的数据量为124416000×10bit×3=3732480000(约为3.74Gbit)。由前面的计算可知,HDMI最初标准的数据率可以达到4.95Gbps,所以用起来绰绰有余。
对于3D-TV,数据率要加倍,理论上需要达到至少3732480000×2=7464960000bit(约为7.46Gbps)。所以数据率最低为10.2Gbps的HDMI1.3版本可以支持3D。新面世的HDMI1.4a中提出了支持3D的方案。
10.DDC总线标准类别:
1)DDC1:单向传输,CLOCKED BY VSYNC,只传输128 BYTE EDID标准数据信息。
2)DDC2B:单向传输(地址为:0xA0/A1),是一个简单的从存储器读取数据信息的标准I2C协议,其方向为从显示器到电脑主机。
3)DDC2Bi:双向传输,I2C SLAVE MODE,传送图形信息(地址为:0x6E/6F,0x50/51), 支持简单的ACCESS.BUS总线标准。
4)DDC2B+:双向传输,点对点,不支持ACCESS.BUS,传输EDID/VDIF标准数据信息(地址为:0x6E/6F,0x50/51)。
5)DDC2AB:双向传输,支持ACCESS.BUS,传输EDID/VDIF标准数据信息(地址为:0x6E/6F,0x50/51)。
总结:
HDMI就是在DVI-D的基础上封装了音频信号和具有加密传输的功能。
EDID基础版一共包含128字节有效信息。需要多字节表示一个信息项的,高地址处存储高字节,低地址处存储低字节。256字节的扩展版不是强制必须的
HDMI完全是数字信号的传输,而VGA则是由数字信号转换为模拟信号,进行传输,因此VGA的接口芯片CS7123或GM7123其实就是一个DAC的转换器。
显卡驱动接上显示屏,要想正常工作。首先就必须读取EDID,然后解析EDID,从而完成对不同的显示屏的不同配置。






参考:
HDMI协议数据格式:
http://blog.csdn.net/anpingbo/article/details/72717580
http://www.360doc.com/content/17/0703/17/44386691_668492525.shtml
HDMI硬件接口:
http://www.360doc.com/content/13/0516/16/496343_285882045.shtml
EDID数据格式:
http://blog.csdn.net/haoxingheng/article/details/51586070
https://www.sogou.com/link?url=DSOYnZeCC_owkDvmYG0gMz-JrNZwwuWKf9AdRyJIGtmtxo_tYXLwYxkPs4FAIZGe-a8lIQmX7KGuLaNMGv04nw..
http://blog.csdn.net/jkf40622/article/details/47087799
http://blog.csdn.net/special_lin/article/details/16355055
EDID程序注解:
http://blog.chinaunix.net/uid-20672559-id-3384035.html
EDID文档介绍(好):
https://wenku.baidu.com/view/be6b3069700abb68a982fbfa.html
EDID pdf文档:
http://www.doc88.com/p-600927583818.html