一、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

HDMI接口与TMDS协议相关推荐

  1. HDMI接口和TMDS传输标准详解

    1.HDMI是新一代的多媒体接口标准. High-Definition Multimedia Interface:高清多媒体接口         能够同时传输视频和音频,简化了设备的接口和连线:    ...

  2. DVI和HDMI中的TMDS接口协议

    TMDS(Transition Minimized Differential signal),即过渡调制差分信号,也被称为最小化传输差分信号,是指通过异或及异或非等逻辑算法将原始信号数据转换成10位, ...

  3. HDMI接口与HDMI协议

    什么是HDMI接口? HDMI的英文全称是"High  Definition Multimedia",中文的意思是高清晰度多媒体接口.HDMI接口可以提供高达5Gbps的数据传输带 ...

  4. dp 1.4协议_浅析关于HDMI接口与DP接口

    显示器现在主流已经为HDMI接口与DP接口,那么这些接口都有什么区别,以下表格会大致做个区分,建议优先使用DP接口.(HDMI2.1接口目前仅发布协议,尚未大规模商用在高清电视机上有部分应用,Mini ...

  5. Linux驱动学习--HDMI开发(一) 相关协议及传输原理的介绍

    目录 一.引言 二.HDMI硬件接口及相关协议 -------> TMDS(转换最小化差分信令) -------> CEC(消费电子控制) -------> DDC(显示数据通道) ...

  6. HDMI 接口及CEC信号

    HDMI接口 HDMI(High Definition Multimedia Interface)传输接口,可以实现数字音频,视屏格式的高清传输.目前已经支持高达4K,甚至8K分辨率的图像传输.HDM ...

  7. 地铁PIS系统SDI接口和HDMI接口应用专题研究报告

    一.目前流行的高清数字接口 目前流行的高清数字接口有两大类:被广播电视业界.通信业界所接受的SDI(HD-SDI)接口,被电子类消费产品产业界.PC界所接受的HDMI接口和DP接口,分别代表了当今各行 ...

  8. HDMI/DVI中TMDS编解码算法的理解

    HDMI/DVI中TMDS编解码算法的理解 TMDS简介 TMDS编码 TMDS解码 TMDS简介 HDMI和DVI协议使用TMDS作为它们的物理层.支持高达225MHz的传输速率,一个传输链路能满足 ...

  9. HDMI接口电路设计

    HDMI接口电路设计 - 知乎 HDMI硬件接口设计 - 走看看 HDMI是高清晰度多媒体接口的数字化视频.音频接口技术,它分为HDMI A Type.HDMI B Type.HDMI C Type. ...

最新文章

  1. mysql中数据表如何关联_mysql 如何导入/导出2个关联表中的数据
  2. ASP.NET 系统对象 Request(一)
  3. 2016 大连网赛---Different GCD Subarray Query(GCD离散+树状数组)
  4. MySQL索引面试题:优化 索引分类
  5. asiHttpRequst 学习地址
  6. C++比较两个字符串是否完全相同
  7. print2flashwindows7旗舰版下载哪一个_JUJUMAO_MSDN原版 win 7 二合一 旗舰版32位 64位原版ISO镜像...
  8. python离线语音识别_Python实现语音识别和语音合成功能
  9. win7系统的CMD窗口切换目录--小计
  10. bootstrap 模态窗口按钮位置_Bootstrap 模态框(Modal)插件的使用
  11. NYOJ-喷水装置(一)(贪心)
  12. 大型网站首页执行时间0.3秒,性能算好还是算坏?
  13. 深度学习笔记_卷积神经网络基本概念
  14. 拓端tecdat|R语言马尔可夫MCMC中的Metropolis Hastings,MH算法抽样(采样)法可视化实例
  15. python中文文本聚类_Python3文本聚类如何进行分类操作?
  16. 关于零信任的 “灵魂” 12问,企业未来如何适配“零信任”?
  17. 沉迷机器人操作系统的一个理由和四种修仙秘籍(更新ROS 2.0内容)
  18. RAC 11G ASM磁盘损坏恢复
  19. HDUOJ 1392凸包graham算法
  20. 极性与非极性电容并联的作用

热门文章

  1. Spark 开发环境
  2. 写给和百度作战的文艺工作者们
  3. java基础类,方法和对象
  4. 适合圣诞元旦送礼的蓝牙耳机有哪些?推荐延迟低的游戏蓝牙耳机
  5. python画不同颜色的直方图_Python与机器视觉(x) 颜色直方图
  6. Android 3D壁纸开发设计
  7. Structure-Preserving Super Resolution with Gradient Guidance 译文SPSR
  8. 【中英字幕】Andrej Karpathy | 详解神经网络和反向传播(基于micrograd)- 知识点目录
  9. echarts4+bmap+vue2地图显示不出来
  10. 阿里云申请免费 SSL证书 https 的图文教程