HDMI接口与TMDS协议

您所在的位置:网站首页 hdmi与minihdmi怎样连接只输出三色 HDMI接口与TMDS协议

HDMI接口与TMDS协议

#HDMI接口与TMDS协议| 来源: 网络整理| 查看: 265

一、HDMI接口 HDMI全称High Definition Multimedia Interface,名为高清多媒体接口,主要用于传输高清音视频信号。传输基于的是TMDS(Transition Minimized Differential Signaling)协议。此外,使用TMDS也是DVI标准的主要特点 。 首先附一张HDMI的引脚图: 在这里插入图片描述 1~9是HDMI的数据端口; 10-12是TMDS clock传输用到的引脚,一个clock分别在三个Channel传输一个像素的R、G、B(8bit)信号; 13是CEC引脚,一种实现拓展功能的引脚; 14是保留引脚,可以为13CEC多提供一个引脚; 15-16 为I2C引脚,用于DDC(Display Data Channel,主要用于EDID与HDCP的传输)传输。在HDMI的流程中,DDC通信几乎是最先做的(前有Hotplug),因为HDMI的主从两个设备需要通过DDC来获得他们对方设备的EDID,从而得到各种信息,并且通过比较timming以确定以后送出来的timming为最合适的; 17 为接地引脚; 18 为5v的AC引脚; 19为Hotplug引脚用于监测HDMI设备有没有存在,如果存在(Hotplug为high)那么可以通过DDC去读EDID。 其次介绍一下HDMI接口接收和发送的物理结构: 在这里插入图片描述 看出HDMI用于audiovisual source和sink之间的连接,HDMI cable由3组差分信号传输TMDS数据,1组差分信号传输clock。此外,HDMI还有一个DDC的通道连接到sink的EDID。CEC和HEAC都是HDMI的可选协议。 sink设备在ROM中存放EDID信息,source在收到HPD后会通过DDC通道读取EDID得到显示设备的属性。EDID包含两部分,前128字节符合EDID1.3数据结构,128字节的扩展EDID,符合CEA extension verison3。HDMI sink设备在第一个扩展EDID中包含HDMI VSDB,source在读取EDID后会根据是否有此block来判断设备是HDMI还是DVI。source会监测HPD pin的状态,当source和sink连接后,如果HPD为高电平,说明sink设备正常可以工作,source可通过DDC读取EDID,如果为低电平,说明sink已断开。sink可通过拉低HPD超过100ms来向source表明EDID发生了变化,此时source会重新读取EDID。 二、TMDS传输协议 在介绍HDMI的传输过程前,先简单介绍一下TMDS的传输协议,TMDS(Transition Minimized Differential signal),最小传输差分信号。TMDS支持高达225MHz的传输速率,一个传输链路能满足高达2048*1536分辨率电视信号。 TMDS差分传动技术是一种利用2个引脚间电压差来传送信号的技术。传输数据的数值(“0”或者“1”)由两脚间电压正负极性和大小决定。即,采用2根线来传输信号,一根线上传输原来的信号,另一根线上传输与原来信号相反的信号。这样接收端就可以通过让一根线上的信号减去另一根线上的信号的方式来屏蔽电磁干扰,从而得到正确的信号。如图所示: 在这里插入图片描述 HDMI传输由三组TMDS通道和一组TMDS clock通道组成,TMDS clock的运行频率是video信号的pixel频率,在每个cycle,每个TMDS data通道发送10bit数据,如图: 在这里插入图片描述 一般来说,HDMI传输的编码格式中要包含视频数据、控制数据和数据包(数据包中包含音频数据和附加信息数据,例如纠错码等)。TMDS每个通道在传输时要包含一个2bit的控制数据、8bit的视频数据或者4bit的数据包即可。在HDMI信息传输过程中,可以分为三个阶段:视频数据传输周期、控制数据传输周期和数据包传输周期,分别对应上述的三种数据类型。 先介绍一下视频数据传输的规则: TMDS编码算法可分为两个阶段:(引用)

第一阶段是将输入的D【0:7] 变换成最小变换码

q_m[ 0:8] ,其中第9位( q_m【8] ) 指示运算的方式,若是采

用异或运算( XOR) 取1,采用同或运算( NXOR) 取0。

这里用3个8位数来举例:

当D[ 0:7] ==10111010时,q_m[ 0:8]=100001100;

当D[ 0:7] ==10101000时,q_J Il [ 0:8】_1 1001 1 11 1;

当D[ 0:7]=-- 00101 101时,q_m[ 0:8] =01 10001 10。

从这3组数据可以看出,经编码后的数据比原始数

据具有更少的跳变( 这里的跳变是指0和1之间的跳

变) ,采用最小变换码进行编码的目的是为了提高数据在

线缆中传输的稳定性。

第二阶段是将9位的最小变换码( q_m【0:8】) 变换

成10位的直流平衡码( q_out [ 0:9] ) 。如果编码中的1和0

的数量相等,则低8位( q_out [ 0:7] ) 由q_m[ 8] 决定,若

q m[8] 为1,低8位原样输出q_out [ 0:7] =q—m【0:7】,否则取

反,第10位q_out [ 9] =- q_m[ 8】;若q’ m[ 0:7】有过多1(O)

且上次的编码数据中有过多1( 0) ,则低8位取反,并且

第10位取1;否则低8位原样输出,并且第l O位取0。不

论是何种情况,输出的第9位q out [8] =q m[ 8] 。

TMDS视频数据解码算法过程如下: 在这里插入图片描述 控制数据传输规则如下: 在这里插入图片描述 数据包传输规则如下: 在这里插入图片描述 控制数据对于传输什么类型数据的控制如下图: 在这里插入图片描述 以720x480p的时序图为例:在这里插入图片描述 最后再来介绍一下保护带的概念吧 在这里插入图片描述 可以从图中看出在数据包传输的前面和后面各有两个字节的保护带,视频数据就在传输前由保护带 video data period的保护带: ch0: q_out[9:0] = 0b1011001100 ch1: q_out[9:0] = 0b0100110011 ch2: q_out[9:0] = 0b1011001100 data island period的保护带: ch0: q_out[9:0] = n.a ch1: q_out[9:0] = 0b0100110011 ch2: q_out[9:0] = 0b0100110011



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3