0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文解析HDMI spec传输协议

电子设计 来源:CSDN博主 作者:flaoter 2021-01-03 09:24 次阅读

本文从软件工程师角度对HDMI spec进行解析,基于的spec版本为1.4,也是设备支持最多最成熟的版本,目前最新版本为2.0。

1 概述

HDMI(High-Definition Multiface Interface)是Hitachi, Panasonic, Philips, SiliconImage, Sony, Thomson, Toshiba几家公司共同发布的一款音视频传输协议,主要用于DVD, 机顶盒等音视频source到TV,显示器等sink设备的传输。传输基于的是TMDS(Transition Minimized Differential Signaling)协议。此外,使用TMDS也是DVI标准的主要特点 。

2 物理结构

o4YBAF9uJ66AJ8nwAAEIH6oEpqE809.jpg

上图是HDMI block结构图,可以看出HDMI用于audiovisual source和sink之间的连接,HDMI cable由3组差分信号传输TMDS数据,1组差分信号传输clock。此外,HDMI还有一个DDC的通道连接到sink的EDID。CEC和HEAC都是HDMI的可选协议。

pIYBAF9uJ7CACfkMAAEI8ywZ3vU070.jpg

HDMI定义了五种类型的connector,上图是最常见的type A。
1-9是TMDS data传输用到的引脚,共有三组;
10-12是TMDS clock传输用到的引脚,共有一组,TMDS clock就是pixel clock;
13是CEC引脚,一种消费电子兼容的传输协议;
14是保留引脚;
15,16是DDC的引脚,DDC是基于I2C协议传输,故引脚为SCL和SDA;
17是接地;
18是+5V power;
19是HPD引脚,用于建立连接。

3 传输

概述

HDMI传输由三组TMDS通道和一组TMDS clock通道组成,TMDS clock的运行频率是video信号的pixel频率,在每个cycle,每个TMDS data通道发送10bit数据。

o4YBAF9uJ7KANEHwAAFfDG6L-As778.jpg

上图是HDMI传输的示意图,从图中可知,HDMI传输如下四种类型数据:
(1)Preamble控制信息,图中的CTLx,可用来表示后面传输的是data island还是video data。通过channel1和2的D[1:0]传输,占用4bit。
(2)Data Island,即数据包,如Audio数据包。通过3个channel的D[3:0]传输,占用12bit。
(3)Video Data,视频数据。示意图中传输的是RGB格式图像,R,G,B分别通过channel2,1,0传输,每个颜色8bit,共24bit。
(4)HSYNC, VSYNC。使用channel0的D[1:0]传输,占用2bit。
8bit的数据在source经过TMDS encoder后得到10bit数据,经过serializer后串行输出;在sink端先进行复原成10bit的数据,再通过TMDS decoder得到8bit的源数据。
此外,HDMI视频是stream式的传输,不涉及packet式的传输。

o4YBAF9uJ7SAOzN4AACtqzXYuns208.jpg

上图是传输720x480p video的hdmi timing图。
在video data period,有效的video数据进行传输;
在data island period,audio和auxiliary数据以包的形式进行传输;
在control period,CTLx和HSYNC, SYNC进行传输。
data island period和control period都是在消隐区进行。图中行消隐占用138像素,场消隐占45行。

pIYBAF9uJ7WAG7kZAABqw4W2kFM940.jpg

上图中是对时序图中描述的三种period分别传输的数据和编码类型进行说明。video数据从8bit/channel encode后变为10bit/channel, data island的packet数据从4bit/channel encode后为10bit/channel, control数据从2bit/channel encode为10bit/channel。

Control Period

o4YBAF9uJ7aAVhZTAACRc-Uie_c589.jpg

只有两种类型的preamble信息组合,CTL0:3=1000代表接下来的是video data period,CTL0:3=1010代表接下来的是data island period。HSYNC, VSYNC此时也有可能发生变化。

Video Data Period

video data period以2个字符(pixel)长度的leading gurad band开始,guard band如下:
ch0: q_out[9:0] = 0b1011001100
ch1: q_out[9:0] = 0b0100110011
ch2: q_out[9:0] = 0b1011001100

Data Island Period

data island period传输audio数据和辅助数据,辅助数据包括Infoframe和其他用于音视频信息描述的数据。data island period以2个字符长度的leading guard band开始,并以2个字符宽度的trailing guard band 结束。guard band如下:
ch0: q_out[9:0] = n.a
ch1: q_out[9:0] = 0b0100110011
ch2: q_out[9:0] = 0b0100110011
data island传输的packet类型和格式详见spec说明。

三个传输阶段的过渡过程如下图所示:

pIYBAF9uJ7mAIZQpAAIDWKeXjd4475.jpg

(1) 左一是control period, 分别占用三个channel的D[1:0],channel 0传输HSYNC, VSYNC, channel1,2 传输Preamble
(2) 左二是data island period,分别占用了三个channel的D[3:0],channel 0的D[1:0]传输HSYNC, VSYNC, channel0的D[3:2]传输packet header, channel 1,2的D[3:0]传输packet。并且两端以guard band隔离
(3)右二接下来又是control period
(4)右一是 video data island, 占用了全部三个通道,并且开始以guard band 隔离

4 Video

支持三种pixel encoding:RGB4:4:4, YCbCr4:4:4, YCbCr4:2:2
video format除了CEA-861-D中格式外,还会支持一些较特殊的格式
color depth可支持一个像素24, 30, 36和48bits
下面分别是24bit/pixel的RGB444, YCbCr422, YCbCr444的pixel encoding示意图。RGB444每个颜色占8bit, YCbCr422中Y占12bit,C占12bit,YCbCr444中Y,Cb,Cr都占用8bit。

o4YBAF9uJ7uAfBrqAADXqmUhBFo316.jpg

pIYBAF9uJ7yAUiVeAAEUf_bGzZc682.jpg

pIYBAF9uJ76AHR9hAACwUbKyUAM370.jpg

Deep Color模式
Pixel Packing
24 bit mode: 1 pixel/group, 1 fragment/group
30 bit mode: 4 pixel/group, 5 fragment/group
36 bit mode: 2 pixel/group, 3 fragment/group
48 bit mode: 1 pixel/group, 2 fragment/group
1fragment/TMDS clock, 如30bit下的4pixel,需要5次传输完成,每次1个fragment。

o4YBAF9uJ8CAN9lZAAFCWCxQnn4434.jpg

5 Audio
Audio数据以Audio Sample Packet或High Bitrate Audio Stream Packet的形式传输,但是HDMI没有传输audio clock,因此sink设备需要进行audio clock regeneration。原理如下:

pIYBAF9uJ8GAeEdbAADpRKt5vh8128.jpg

128∗fs=N×fTMDS/CTS
N和CTS会在Audio Clock Regeneration Packet中进行传输,TMDS clock可通过硬件获取,因此sink端可算出source传输的audio clock。

6 Control

InfoFrame

Infoframe以Infoframe packet的形式传输,它的大小不超过30字节加上一个checksum字节。具体infoframe的格式及内容需要查看spec。
AVI(Auxiliary Video Information) Infoframe
Audio Infoframe
HDMI Vendor Specific Infoframe, 传输4kx2k或3D格式时需要发送此packet

EDID & DDC

sink设备在ROM中存放EDID信息,source在收到HPD后会通过DDC通道读取EDID得到显示设备的属性。EDID包含两部分,前128字节符合EDID1.3数据结构,128字节的扩展EDID,符合CEA extension verison3。CEA extension verison3如下图所示。

pIYBAF9uJ8WAVeyrAAM5BBKFbpI518.jpg

HDMI VSDB

HDMI sink设备在第一个扩展EDID中包含HDMI VSDB,source在读取EDID后会根据是否有此block来判断设备是HDMI还是DVI。

Hotplug

source会监测HPD pin的状态,当source和sink连接后,如果HPD为高电平,说明sink设备正常可以工作,source可通过DDC读取EDID,如果为低电平,说明sink已断开。
sink可通过拉低HPD超过100ms来向source表明EDID发生了变化,此时source会重新读取EDID。

HDCP

涉及内容较多,会在单独章节中讲解。

编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机顶盒
    +关注

    关注

    4

    文章

    381

    浏览量

    53449
  • 显示器
    +关注

    关注

    21

    文章

    4735

    浏览量

    137826
  • HDMI
    +关注

    关注

    32

    文章

    1487

    浏览量

    149716
  • 音视频
    +关注

    关注

    4

    文章

    410

    浏览量

    29569
收藏 人收藏

    评论

    相关推荐

    网络传输协议有几种?

    网络传输协议是一种规定计算机在网络中进行通信的规则或标准。常见的网络传输协议有以下几种: 1. TCP/IP协议:TCP/IP(
    的头像 发表于 04-02 16:04 270次阅读

    HDMI、Type-C、SerDes​、LVDS等协议传输接口芯片解析

    数据在两个设备之间传输或者同设备内部连接传输音视频等高速信号数据时,需要有规范的传输协议
    的头像 发表于 03-07 13:38 590次阅读

    HDMI网线传输器是如何用一根网线传输HDMI信号到100米远的?

    HDMI网线传输器是如何用一根网线传输HDMI信号到100米远的? HDMI(高清晰度多媒体接口)是一种用于音频和视频
    的头像 发表于 12-07 09:07 1706次阅读

    HDMI光纤传输器的特点 HDMI光纤传输器的传输距离有多远?

    HDMI光纤传输器的特点 HDMI光纤传输器的传输距离有多远? HDMI光纤
    的头像 发表于 12-04 14:40 424次阅读

    4K60 HDMI光纤传输器与其他传输设备相比有什么优势?

    4K60 HDMI光纤传输器与其他传输设备相比有什么优势? 随着科技的不断进步和发展,高清晰度视频的传输需求也日益增长,而4K60 HDMI
    的头像 发表于 12-04 14:40 253次阅读

    光纤HDMI为什么比铜缆HDMI价格高

    光纤HDMI比铜缆HDMI价格高的原因主要有以下几点: 传输导体不同:光纤HDMI线采用光学纤维作为传输导体,材质一般有玻璃光纤和塑料光纤两
    的头像 发表于 11-17 10:45 295次阅读

    串口传输协议

    通信传输协议
    油泼辣子
    发布于 :2023年11月16日 17:18:55

    怎么解决HDMI线远距离传输

    HDMI线远距离传输中,可以通过以下几种方式来解决: 使用光纤HDMI线:光纤HDMI线以光纤作为传输介质,不受外部电磁干扰,信号
    的头像 发表于 11-15 10:50 611次阅读

    SCTP流控制传输协议简析

    SCTP(Stream Control Transmission Protocol,流控制传输协议,RFC 2960、RFC 3286、RFC 3309)是一个 IP 协议之上的、可靠的、面向控制信令的、
    的头像 发表于 07-25 10:02 1096次阅读
    SCTP流控制<b class='flag-5'>传输</b><b class='flag-5'>协议</b>简析

    I2C spec规定和详细解析

    I2C 写 I2C spec 规定如下 详细解析如下 对从机进行写操作时,主设备发出开始标志 (S) 和写地址 (从机地址加一个 R/W 位,1 为读,0 为写)。从机产生应答信号。然后主设备开始
    的头像 发表于 07-22 15:55 601次阅读
    I2C <b class='flag-5'>spec</b>规定和详细<b class='flag-5'>解析</b>

    光纤HDMI线比传统HDMI线好在哪里

    为了满足大家对高清画质的要求,如今,HDMI线已经成为传输高清音视频的必备设备,与普通HDMI线相比,光纤HDMI线有很多优势,所以光纤HDMI
    的头像 发表于 07-07 09:42 813次阅读

    网络传输协议有几种 通信协议原理

     通信协议是指一组规则和约定,用于在通信双方之间进行数据交换和传输,确保数据能够准确、可靠地传输解析
    发表于 06-26 17:42 1270次阅读

    HDMI光纤传输中光混缆(AOC)和全光传输哪个更好?

    自2000年后随着通讯技术的发展,光纤通讯就出现了光模块传输技术,2002年后在消费电子领域也出现了数字传输HDMI音视频信号产品。
    的头像 发表于 06-20 09:39 622次阅读
    <b class='flag-5'>HDMI</b>光纤<b class='flag-5'>传输</b>中光混缆(AOC)和全光<b class='flag-5'>传输</b>哪个更好?

    5G NR RRC初始AS安全激活协议解析

    Uu接口上信令消息和IP包传输的安全性。   2)在AS安全设置完成后,UE和gNB将共享个RRC完整性密钥(KRRCint)、RRC加密密钥(KRRCenc)和用户平面加密密钥(KUPenc
    发表于 05-10 15:38

    网络传输协议有几种

    TCP/IP协议:是一组用于互联网通信的协议,常常被称为TCP/IP协议族。TCP/IP协议分为两个协议层,即
    发表于 05-05 15:03 2875次阅读