HDMI协议介绍(一)--Overview
目录
术语
物理结构
HDMI框图
HDMI传输
TMDS信号
HDMI连接架构
HDMI传输模式
HDMI全称(High Definition Multimedia Interface)高清多媒体接口,支持在单线缆上传输全数字高清视频和多声道音频。
HDMI基于TMDS协议传输,主要用于DVD, 机顶盒等音视频source到TV,显示器等sink设备的传输。HDMI向下兼容 DVI,但是 DVI(数字视频接口)只能用来传输视频,而不能同时传输音频,这是两者最主要的差别。
术语
HDMI:High Definition Multimedia Interface高清多媒体接口,传输音视频。
HDCP:High-bandwidth Digital Content Protection 版权保护相关的,通过IIC获取。
EDID:Extended Display Identification Data 扩展显示标识数据,包含有关显示器及其性能的参数,包括供应商信息、最大图像大小、颜色设置、厂商预设置、频率范围的限制以及显示器名和序列号的字符串等。
DDC:Display Data Channel 显示数据通道,其实就是IIC通道,用来获取EDID、HDCP密钥等内容。
HDP:Hot Plug Detect热插拔检测。
CEC:Consumer Electronics Control 用户电气控制,CEC可以控制从设备的一些状态,即遥控器功能。
TMDS:Transition Minimized Differential Signaling最小化传输差分信号,一种差分传输技术
HEAC:HDMI Ethernet and Audio Return Channel 以太网和音频返回,HEAC需要额外的phy才能支持。
Source:A device with an HDMI output
Sink:A device with an HDMI input
CTS:Compliance Test Specification
物理结构
HDMI有A、B、C、D、E五种引脚类型,目前常用的是Type A:
1-9是TMDS data传输用到的引脚,共有三组;
10-12是TMDS clock传输用到的引脚,共有一组;
13是CEC引脚,一种消费电子兼容的传输协议,用作遥控的;
14是保留引脚;
15,16是DDC的引脚,DDC是基于I2C协议传输,故引脚为SCL和SDA;
17是接地;
18是+5V power;
19是HPD引脚,用于热插拔检测。
HDMI框图
HDMI 系统架构由Source端和Sink端组成:Source是指发送HDMI信号的一侧,Sink是指接收HDMI信号的一侧。
HDMI信号四路差分信号组成,包括三路TMDS Data信号和一路TMDS Clock信号。TMDS信号不仅仅用于传输video信号,还传输audio和辅助信息。
HDMI 提供一个 DDC 通道用于在source端和sink端交换状态。
HDP用于热插拔检测,CEC是用户电气控制,一般用作遥控,HEAC以太网和音频返回。CEC和HEAC是HDMI可选协议。
小结:
- 要想传输音视频,只需要TMDS信号即可;
- 要想使用遥控器,需要CEC;
- 要想做到分辨率自适应屏幕,需要DDC;
- 要支持热插拔,需要实现HPD
HDMI传输
TMDS信号
TMDS 传输系统分为两个部分:发送端source和接收端sink。TMDS 链路包括 3 个传输数据的通道和1个传输时钟信号的通道。
发送端对这些数据进行编码和并/串转换,再将数据分别分配到独立的传输通道发送出去。
接收端接收来自发送端的串行信号,对其进行解码和串/并转换,然后发送到显示器的控制端。
TMDS不仅仅是对video进行编码,还包括audio和控制信号:
- 对于video周期采用的是video data encoding,将8bits数据转换成10bits数据
- 对于control周期采用的是CTL encoding,将2bits数据转换成10bits数据
- 对于DataIsland周期采用的是TERC4 encoding,将4bits数据转换成10bits数据
小结:
- source端编码,数据加串
- sink端解码,数据解串
HDMI连接架构
HDMI传输由三组TMDS通道和一组TMDS clock通道组成,TMDS clock的运行频率是video信号的pixel频率,在每个TMDS 时钟通道周期,每个TMDS data通道都发送10bit数据。
channel0传输B数据和HSync、VSync
channel1传输G数据和CTL0、CTL1
channel2传输R数据和CTL2、CTL3
HDMI传输模式
HDMI的TMDS数据传输可以分为三个传输周期:
Control Period控制周期:主要用于控制接下来传输的是data island还是video data
Data Island Period数据岛周期:各种类型的包信息,包括音频数据包、辅助数据包、图像信息包等
Video Data Period视频数据周期:视频像素数据,HDMI可以传输RGB和YUV两种格式的像素数据
1、左边是Control period:传输有Hsync、Vsync与Preamble。占用1、2两个通道共4bit输入;channel 0传输HSYNC, VSYNC, channel1[1:0]和channel2[1:0] 传输Preamble,用来判断接下来输入的是Video Data还是Data Island。
2、中间是Data Island period:传输有Hsync、Vsync,以及两个Packet Header与Packet,占用三通道共12bit输入,Channel0[3:2]用于传输Data Island Header(包头),Channel1[3:0]与Channel2[3:0]用于传输Data Island Content(包内数据)
3、右边是Video Data period :视频信号经过编码生成三路TMDS数据通道,共24位视频流数据,输入到HDMI Tx中。24位像素的视频信号通过TMDS通道传输,将每通道8位信号转换为10位,在每个10位像素周期传送一个最小化的信号序列,视频信号将被调制为TMDS信号传送出去。
Control Period(preamble)
在数据岛或者视频数据传输周期之前,每一个TMDS通道包含2bit的控制数据,一共6位控制数据。
TMDS Channel | D0 | D1 |
---|---|---|
0 | HSYNC | VSYNC |
1 | CTL0 | CTL1 |
2 | CTL2 | CTL3 |
每个TMDS通道使用了D1:D0共2bit,采用2bit到10bit的编码方式。在每个控制周期的最后阶段,CTL0、CTL1、CTL2、CTL3组成的文件头说明下一个周期是视频数据还是数据岛。
CTL0 | CTL1 | CTL2 | CTL3 | 数据周期类型 |
---|---|---|---|---|
1 | 0 | 0 | 0 | video data |
1 | 0 | 1 | 0 | data island |
Video Data Period
视频数据周期用来传输视频线的像素,每个视频数据周期以报文头为前导,在报文头之后,视频数据周期以两个字符开始,做为视频前导保护边界。对于数据周期,没有末尾保护边界。
Data Island Period
数据岛用来携带音频和辅助数据的报文。辅助数据包括Info frame和其他用于音视频信息描述的数据。每个数据岛以2个字符长度的前导保护边界开始,并以2个字符宽度的末尾保护边界结束。
TMDS Channel | BitN | 传输内容 |
---|---|---|
Channel0 | Bit0 | HSync |
Bit1 | VSync | |
Bit2 | packet header | |
Channel1 | Bit3:0 | packet |
Channel2 | Bit3:0 | packet |
小结:
- audio是在dataisland周期发送的
- video是在video周期发送的
HDMI协议介绍(一)--Overview相关推荐
- HDMI协议介绍(四)--Video
目录 视频格式 RGB444 YUV444 YUV422 YUV420 Color Depth Video控制信号 Pixel Repetition HDMI支持多种视频格式和分辨率.以hdmi1.4 ...
- HDMI协议介绍(六)--EDID
目录 什么是EDID EDID结构 1)Header Information 头信息(厂商信息.EDID 版本等) (2)Basic Display Parameters and Features 基 ...
- 标定协议之XCP标定协议介绍
作者 | WenDao_Engineer 微信公众号 | 闻道工程师之家 在<标定协议基础知识介绍>一文中我们介绍了常用的标定协议有CCP和XCP两种,在前面CCP标定协议系列文章对CCP ...
- 常用开源协议介绍以及开源软件规范列表
1. 开源协议介绍 GPL: General Public License,开源项目最常用的许可证,衍生代码的分发需开源并且也要遵守此协议.该协议也有很多变种,不同变种要求会略微不同. MPL: MP ...
- open source license主流的开源软件协议介绍
open source license主流的开源软件协议介绍(20190222) 文章目录: 一.开源软件的直观介绍 二.常用开源协议介绍 三.常用开源协议之间的对比 当Adobe.Microsoft ...
- SNMP协议介绍和操作截图
第一章 SNMP协议介绍 SNMP协议 基于TCP/IP的网络管理包含3个组成部分: 1) 一个管理信息库MIB(Management Information Base).管理信息库包含所有代理进程的 ...
- VRRP协议介绍--转
http://www.cnblogs.com/jony413/articles/2697404.html VRRP协议介绍 参考资料: RFC 3768 1. 前言 VRRP(Virtual Rout ...
- Python教程之udp和tcp协议介绍
UDP介绍 UDP - 用户数据报协议,是一个无连接的简单的面向数据报的运输层协议.UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地.由于UDP在传输数据 ...
- (4)ZYNQ AXI4总线协议介绍
1.1 ZYNQ AXI4总线协议介绍 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)ZYNQ AXI4总线协议介绍: 5)结束语. 1.1.2 本节引言 " ...
最新文章
- java反射机制知识_Java反射机制讲解,程序员必须掌握的知识点
- 简述osi参考模型各层主要功能_计软考研双日练 | OSI参考模型各层提供什么服务?...
- 冷链食品竟然也有 “身份证”?
- Booster 系列之——多线程优化
- 专题导读:大数据整理
- Oracle/PLSQL CURSOR FOR Loop
- 关于排版与交互的问题
- iOS15绕过激活锁工具TiggerRamDisk3.6,支持最新iOS15.5绕过
- 马蜂窝火车票系统服务化改造初探
- 动画设计基础(三点一节)-3d max2014 裙摆(飘带插件)
- python算法题_Python算法练习题:硬币数量
- 盘点互联网大厂的元宇宙布局
- python表示差值_Python-dataframe的对应列求差值
- 作业成本法中的成本动因分析----by AMT 邓为民
- python关于 unittest的常见用法:前置条件与后置条件
- 删除微软office正版验证补丁
- 【Java】从Java代码到网络编程,三次握手又该如何理解
- 手机裂脑纪:中国式审美还有救吗?
- 积分会员卡收银系统源码 支持多门店+分销 含详细搭建教程
- Cleave js 使用