赞
踩
由于我们对视频、音频的要求不断提高VGA已不满足我们的需求,HDMI协议便大量出现在了我们的消费类电子行业,例如:如电脑、液晶电视、投影仪等产品中得到了广泛的应用。一些专业的视频设备如摄像机、视频切换器等也都集成了 HDMI 接口。
HDMI(High-Definition Multimedia Interface),新一代多媒体接口标准。 即高清多媒体接口。它能够同时传输视频和音频,简化了设备的接口和连线;同时提供了更高的数据传输带宽,可以传输无压缩的数字音频及高分辨率视频信号。HDMI 1.0 版本于 2002 年发布,最高数据传输速度为 5Gbps;而2017 年发布的 HDMI 2.1 标准的理论带宽可达 48Gbps。
1、能够同时传输视频和音频,简化了设备接口与连线。
2、提供了更高的数据传输带宽,可以传输无压缩的数字音频及高分辨率视频信号。
我们的HDMI接口实际上是由DVI接口上面发展而来的。
1、DVI接口
Digital Visual lnterface,与HDMI一样,也是一个数字信号传输接口,带宽比不上HDMI。随着大家对数字信号的要求越来高,DVI的带宽已经不能满足我们了。但是 DVI(数字视频接口)只能用来传输视频,而不能同时传输音频,这是两者最主要的差别。但是DVI仍然是我们的基础,HDMI是向下兼容我们的DVI的,也就是是我们的HDMI完全可以当作DVI接口来使用。
2、DVI编码
1、DVI编码时序图
DVI 编码器在视频有效数据段输出像素数据,在消隐期输出控制数据(行同步、场同步、控制信号),如图 25.1.5 所示。其中 VDE(Video Data Enable)为高电平时表示视频数据有效,为低电平代表当前处于视频消隐期 。每个通道上有两位控制信号的输入,对应四种不同的控制字符。
2、DVI编码器示意图
由DVI的编码器示意图可看到,他少了音频信号的数据信号,这就是为什么前面说他不满足传输音频信号了。
3、HDMI接口
1、接口类型
HDMI接口总共有四类:A、B、C、D型,最特殊的就是B型,他有29个引脚,其余都是19个引脚。B型主要用于在一些特殊的场景,在一些数据量传输量比较大时,我们需要A型的两倍数据量时可选B型接口,此外我们一般使用的都是A类接口较多。
2、A型接口引脚图
1、4、7和3、6、9组成了三对差分信号,用于发送颜色数据。
CEC: 工业上常用的一个保留的信号引脚。
SCL和SDA: 组成了一组I2C的信号线
DDC/CED: 用于告知发送端,我们接收端具体可以接收什么样的数据。
插拔检测: 连接好过后接收端会发送一个拉高的信号,发送端在接收到信号过后会向接收端开始发送数据
4、HDMI编码机制图
HDMI传输的消隐期除了控制字符之外,还可以用于传输音频或者其他附加数据,比如字幕信息等。4-bit音频和附加数据将通过TERC4编码机制转换成10-bit TERC4字符,然后在绿色和红色通道上传输,蓝色通道也应该算,只不过他传到是头部信息,类似于序言吧。
二、TMDS 协议
无论是DVI还是HDMI哪钟接口协议,在物理层均使用的是TMDS标准传输音视频数据,所以下面我们一起来看看TMDS标准。
1、TMDS 协议介绍
TMDS(Transition TYPE_Cmized Differential Signaling):最小化传输差分信号。是美国 Silicon Image 公司开发的一项高速数据传输技术,在DVI 和 HDMI 视频接口中使用差分信号传输高速串行数据。
传输原理:
TMDS 差分传输技术使用两个引脚来传输一路信号,利用这两个引脚间的电压差的正负极性和大小来决定传输数据的数值(0 或 1)。
一根线上传输原来的信号,另一根线上传输与原来信号相反的信号。这样接收端就可以通过让一根线上的信号减去另一根线上的信号的方式来去掉可能产生的毛刺所带来的影响,从而得到正确的信号。
2、TMDS连接
由上图可知,无论DVI还是HDMI视频传输,我们所使用的TMDS连接均通过四通道实现。
通道解释:
1、 对于 DVI 来说,其中三个通道分别用于传输视频中每个像素点的红、绿、蓝三个颜色分量(RGB 4:4:4 格式)。
2、 HDMI 默认也是使用三个 RGB 通道,但是它同样可以选择传输像素点的亮度和色度信息(YCrCb 4:4:4 或 YCrCb 4:2:2 格式)。
3、 第四个通道是时钟通道,用于传输像素时钟。独立的TMDS 时钟通道为接收端提供接收的参考频率,保证数据在接收端能够正确恢复。
这里提到的YUV不进行进一步介绍,需要自己理解
传输过程:
首先我们从图上一眼看过去就可以分为两半边,左边是源,右边是接收,可以分别看作发送与接收端。
1、发送端&接收端
从发送端左边看,分别有蓝、绿、红三个数据通道,加一个时钟通道(像素时钟)。
时钟通道:
主要就是为了将我们传输数据与接收数据都匹配在同一时钟下,使整个系统同步在时钟网络,不容易出错。
数据通道:
每个通道都有一个8位的像素位传输颜色数据信息。此外,都有一个两比特的数据位宽,在蓝色通道中用于传输我们的行、场信号。在绿色、红色通道中是预留给我们预备用的。还有一个4比特的数据位宽用于传输我们的音频信号。Encoder是编码,将8bit的并行数据变成了10bit的串行数据,通过串行传到我们的接收端,这要求我们的串行数据速率是实际像素时钟速率的10倍。在接收端与发送端相反,我们需要将串行数据转换为并行数据并进行解码恢复信号。
编码阶段:
我们这里的编码并不是对像素数据与给控制位预留的两个位宽为然后为10bit。在编码阶段,编码器将视频源中的像素数据、HDMI的音频/附加数据,以及行同步和场同步信号分别编码成10位的字符流。
3、TMDS编码算法
1、编码算法流程图
优点:
1、减少传输信号过程的上冲、下冲(就是高低电平的变化次数)。
2、DC平衡(直流平衡、0、1个数相等)使信号对传输线的电磁干扰减少。
3、可以通过低成本的专用电缆实现长距离、高质量的数字信号传输。
特点:
1、每个通道8bit的像素数据都将被装换成460个特定10bit中的一个。
2、编码过后0、1的跳变次数会被限制在五次以内。
3、 每个通道2bit的控制信号也要进行编码,编码后分别对应四个不同的10bit控制字符:
10’b1101010100,10’b0010101011,10’b0101010100,和 10’b1010101011。(每个控制字符都有7次以上的状态转变)
视频字符与控制字符跳转字数的不同将会被用于发送和接收设备同步。
三、总结
这是第一次接触这个协议,一般我们都是UART、I2C、SPI、再不就是VGA看的比较多,还没用过HDMI。第一次看的时候感觉内容好多,但是大概能够理解,第二遍就了解很多了。实际上就是HDMI+TMDS协议+编码算法大致组成为核心进行的传输数据,但感觉还是差点东西,后面还有两个实验,也许通过两个实验的操作又会有不一样的感觉吧!敬请期待。
四、参考资料
以上资料均来自正点原子的教学视频或开拓者2开发教程:原子官方
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。