HDMI接口与TMDS协议

一、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编码算法可分为两个阶段:(引用)

  1. 第一阶段是将输入的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之间的跳

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

线缆中传输的稳定性。

  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

  • 4
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于HDMI接口电路设计,下面是一些基本的步骤和注意事项: 1. 确定需求:明确您的设计需求,包括所需的HDMI版本(如HDMI 1.4、HDMI 2.0等)、支持的分辨率、音频格式等。 2. 硬件设计:根据需求选择合适的HDMI收发器芯片,并将其集成到您的硬件设计中。确保芯片支持所需的功能和性能要求。 3. 电源供电和信号处理:为HDMI接口提供稳定的电源供电,并进行必要的信号处理,如电平转换、时钟恢复、信号整形等。 4. 接口连接:将HDMI接口与其他设备连接,包括视频处理器、音频处理器、显示器或其他外设。确保正确地连接各个信号线,如TMDS差分对、HPD(Hot Plug Detect)信号、DDC(Display Data Channel)等。 5. 信号完整性:通过良好的布局和高品质的 PCB 来确保信号完整性。使用适当的阻抗匹配和信号层分离来减少信号串扰和干扰。 6. EMI/EMC 设计:采取必要的措施来减少电磁干扰(EMI)和提高电磁兼容性(EMC),如噪声滤波器、地面规划和屏蔽等。 7. 验证和测试:完成设计后,进行必要的验证和测试工作。确保HDMI接口在不同的条件下正常工作,包括各种分辨率、刷新率和音频格式。 请注意,HDMI接口的设计相对复杂,需要深入的电路设计知识和经验。如果您是初学者或对此不太熟悉,建议咨询专业的电路设计工程师或参考相关的参考资料和设计指南。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值