当前位置: 首页 > article >正文

HDMI接口

HDMI接口

  • 前言
  • 各版本区别
  • 概述(Overview)
  • 接口
    • 接口类型
    • Type A/E 引脚定义
    • Type B 引脚定义
    • Type C 引脚定义
    • Type D 引脚定义
  • 传输流程
    • 概述
    • Control Period
      • 前导码
      • 字符边界同步
      • Control Period 编/解码
    • Data Island Period
      • Leading/Trailing Guard Band
      • TERC4 编/解码
      • Data Island Packet 格式
        • 错误纠正码(ECC)计算方式
        • Packet Header
    • Video Data Period
      • Leading Guard Band
      • Video Data 编/解码
        • 编码
        • 解码
  • 视频(Video)
    • 视频格式/时序
    • 像素编码
      • RGB444
      • YC~B~C~R~444
      • YC~B~C~R~422
    • VSYNC/HSYNC
    • 颜色深度
    • 像素重复
    • 量化范围
  • 音频(Audio)
  • 控制和配置(Control and Configuration)
    • InfoFrame
      • Auxiliary Video Information (AVI) InfoFrame
        • Packet Header
        • Packet Contents
      • Audio InfoFrame
        • Packet Header
        • Packet Contents
      • Vendor Specific InfoFrame
        • Packet Header
        • Packet Contents
    • EDID
      • 主块
      • CEA扩展
      • EDID 相关软件
    • DDC
    • HotPlug Detect
  • HDCP
  • IP设计
    • Source 端
    • Sink 端
      • 时钟

前言

本文参考 HDMI1.4b 标准进行学习整理。

各版本区别

各个HDMI版本的主要区别如下:

(具体区别可见链接: HDMI版本对比区别_一图看懂HDMI版本区别 - ZNDS智能电视网)

  • HDMI 1.0(2002年)

    • 带宽:4.95 Gbps

    • 视频:支持最高1080p分辨率

    • 音频:支持8声道音频

    • 其他:这是最初的版本,奠定了HDMI技术在高清视频传输领域的基础。

  • HDMI 1.1(2004年)

    • 音频:增加了对DVD-Audio的支持,并对音频返回通道进行了改进。
  • HDMI 1.2(2005年)

    • 音频:支持1-bit音频,包括Dolby TrueHD和DTS-HD Master Audio。

    • 其他:对HDMI-CEC(Consumer Electronics Control)进行了改进。

  • HDMI 1.3(2006年)

    • 带宽:提升至10.2 Gbps

    • 视频:支持更高的分辨率和Deep Color技术,增加了对x.v.Color色彩空间的支持。

    • 其他:允许更高的数据传输速率,以支持更高的色彩深度和分辨率。

  • HDMI 1.4(2009年)

    • 带宽:10.2 Gbps

    • 视频:支持1080p @ 144Hz、4K @ 30Hz

    • 音频:引入了音频回传通道(ARC)

    • 其他:增加了3D功能,支持4K分辨率,增加了HDMI以太网通道(HDMI Ethernet Channel)。

  • HDMI 2.0(2013年)

    • 带宽:18 Gbps

    • 视频:支持4K @ 60Hz,支持21:9宽屏比例和更高颜色深度

    • 音频:增强音频回传通道(ARC)

    • HDR:HDMI 2.0a和HDMI 2.0b版本增加了对高动态范围(HDR)内容的支持,包括HDR10。

  • HDMI 2.1(2017年)

    • 带宽:48 Gbps

    • 视频:支持8K @ 60Hz或4K @ 120Hz

    • HDR:支持动态HDR(如HDR10+、Dolby Vision)

    • 音频:支持增强音频回传通道(eARC)

    • 其他:引入了可变刷新率(VRR)、快速帧传输(QFT)、快速媒体切换(QMS)、自动低延迟模式(ALLM)等特性。

概述(Overview)

HDMI(High-Definition Multimedia Interface,高清多媒体接口)是一种广泛使用的数字接口,用于传输高清视频和音频信号。

HDMI接口中包含的四种独立的通信通道:TMDS(Transition Minimized Differential Signaling)、DDC(Display Data Channel)、以及可选的CEC(Consumer Electronics Control)和HEC(HDMI Ethernet Channel):

  • TMDS(Transition Minimized Differential Signaling)

    • 用途:TMDS是HDMI的主要数据传输通道,用于携带音频、视频数据以及辅助数据,包括描述活动音视频流的AVI和音频InfoFrames。

    • 特点:TMDS是一种高速串行通信接口,它通过最小化传输信号的转换来减少电磁干扰(EMI)。TMDS通道包括三个数据通道(用于传输RGB或YCbCr数据)和一个时钟通道。

  • DDC(Display Data Channel)

    • 用途:DDC通道用于HDMI源设备读取接收端(Sink)的E-EDID(Extended Display Identification Data)数据结构,以确定接收端的能力和特性。

    • 特点:DDC是一种基于I2C协议的双向通信通道,允许源设备查询接收端的分辨率、色彩空间、音频格式等信息,以确保发送的信号与接收端兼容。

  • CEC(Consumer Electronics Control)

    • 用途:CEC通道用于实现更高级的用户功能,如自动设置任务或通常与红外遥控器使用相关的任务。

    • 特点:CEC允许HDMI连接的设备之间进行控制命令的传递,实现设备间的智能控制和简化用户操作,例如使用一个遥控器控制多个设备。

  • HEAC(HDMI Ethernet and Audio Return Channel)

    • HDMI Ethernet Channel (HEC)
      • HEC是一个高速双向数据通道,基于100Base-TX以太网标准,允许通过HDMI电缆实现100Mbps的全双工数据通信。
      • 通过HEC,HDMI输出设备(如电脑)的网络可以与HDMI显示设备(如电视)共享,实现网络数据的传输。
    • Audio Return Channel (ARC)
      • ARC允许音频信号从HDMI接收端(如电视)返回到HDMI源设备(如音响系统),这样可以减少音频向上传送并处理和播放所需要的线缆数量。
      • 在高清电视直接接收音频和视频内容的情况下,ARC能让高清电视通过HDMI线把音频直接传送到A/V功放接收机上,无需另外一条线缆。
  • HPD(Hot Plug Detect)

    • 用于检测HDMI连接的状态,即是否有设备连接或断开。

在这里插入图片描述

接口

接口类型

HDMI 有 A,B,C,D,E 五种接口类型,如下图所示:

在这里插入图片描述

Type A/E 引脚定义

在这里插入图片描述

Type B 引脚定义

在这里插入图片描述

Type C 引脚定义

在这里插入图片描述

Type D 引脚定义

在这里插入图片描述

传输流程

概述

HDMI包括三个TMDS数据通道和一个TMDS时钟通道,每个 TMDS 通道每个TMDS时钟周期传输10bit数据,包括视频、音频和辅助数据。

在这里插入图片描述

3种操作模式

  • Control Period:用于传输前导码和其他控制信号。
  • Video Data Period:用于传输有效的视频像素数据。
  • Data Island Period:用于传输音频和辅助数据包。

在这里插入图片描述

不同操作模式传输的数据及编码类型

在这里插入图片描述

在这里插入图片描述

Control Period

该阶段用于传输前导码(Preamble)、VSYNC、HSYNC,同时用于接收端的字符边界同步,该阶段至少维持12个像素周期

前导码

连续传输8个相同的控制字符,用于指示接下来传输的数据周期类型

在这里插入图片描述

字符边界同步

HDMI接收端除了要进行字符边界同步,还要进行通道间对齐

Control Period 编/解码

注:bit0 为最先接收到bit,bit9为最后接收到bit

在这里插入图片描述

Data Island Period

该阶段用于传输音频和辅助数据包,以两个 Data Island Leading 字符开始,以两个 Trailing Guard Band 字符结束。该阶段使用 TERC4 编码方式(TMDS Error Reduction Coding)。

  • TMDS Channel 0 用于传输 VSYNC、HSYNC 和 Packet Header。

  • TMDS Channel 1-2 用于传输 Packet 数据,每个数据包为32个像素周期长。

该阶段至少需要传输一个 packet,即至少维持 36个像素周期。为了保证数据可靠性,该阶段每次最多传输18个packet。

每两个视频场之间必须要有一个 Data Island Period。

Leading/Trailing Guard Band

  • TMDS Channel 0:NA;

  • TMDS Channel 1:10’b01_0011_0011;

  • TMDS Channel 2:10’b01_0011_0011;

TERC4 编/解码

注:bit0 为最先接收到bit,bit9为最后接收到bit

在这里插入图片描述

Data Island Packet 格式

数据包由包头(Packet Header)和包内容(Packet Body)组成,包内容又由四个 Subpacket 组成,每个Subpacket 由 7字节数据和1字节的 BCH ECC parity bits 组成。

在这里插入图片描述

错误纠正码(ECC)计算方式

在这里插入图片描述

Packet Header

注:Null Packet 的 HB0-2 全为0。

在这里插入图片描述

在这里插入图片描述

Video Data Period

该阶段用于传输有效的视频像素数据,前导码后跟随两个 Leading Guard Band 字符,然后就是视频像素数据。

Leading Guard Band

  • TMDS Channel 0:10’b10_1100_1100;

  • TMDS Channel 1:10’b01_0011_0011;

  • TMDS Channel 2:10’b10_1100_1100;

Video Data 编/解码

注:bit0 为最先接收到bit,bit9为最后接收到bit

编码

在这里插入图片描述

在这里插入图片描述

解码

在这里插入图片描述

视频(Video)

视频格式/时序

参考《CEA 861-D》CEA-861 是消费电子协会(Consumer Electronics Association)制定的一个标准,它定义了数字电视和显示器的显示时序和格式。

像素编码

HDMI支持三种像素编码 RGB 4:4:4、YCBCR 4:4:4或YCBCR 4:2:2,可通过 EDID 确定接收端支持的像素编码格式。

  • 所有HDMI源(Source)和接收端(Sink)都必须能够支持RGB 4:4:4像素编码。

  • 如果一个HDMI接收端支持YCBCR 4:2:2或YCBCR 4:4:4中的任何一种,则必须同时支持这两种编码。

RGB444

RGB 每个颜色分量都占用8位,总共24位,为每个像素提供1677万种颜色(2^24)。

在这里插入图片描述

YCBCR444

每个像素都有独立的亮度(Y)和两个色差分量(Cb和Cr)。

在这里插入图片描述

YCBCR422

每两个像素共享相同的两个色差分量(Cb和Cr),而每个像素仍然有自己的亮度分量(Y)。

在这里插入图片描述

VSYNC/HSYNC

  • Control Period 和 Data Island Period 通过 TMDS-0 传输 VSYNC和HSYNC信号,分别用于标识视频帧的开始和结束、每一行的开始。
  • Video Data Period 不传输 VSYNC和HSYNC信号,接收端(Sink)应假定这两个信号保持不变。

颜色深度

HDMI源(Source)和接收端(Sink)可能支持每像素24、30、36或48位的颜色深度。所有HDMI源和接收端都必须支持每像素24位的颜色深度。

超过24位每像素的颜色深度被定义为“深颜色”(Deep Color)。

在这里插入图片描述

像素重复

原生像素率低于25 Mpixels/秒的视频格式需要通过像素重复来在TMDS(Transition Minimized Differential Signaling)链路上传输。例如,720x480i和720x576i视频格式时序总是需要进行像素重复。

像素重复 是一种技术,用于将低分辨率的视频信号适配到HDMI的TMDS链路上。由于HDMI的TMDS链路设计用于传输较高像素率的信号,因此对于低像素率的视频格式,需要通过重复像素来填充数据率,以满足链路的最低数据传输要求。

AVI InfoFrame 是一种在HDMI信号中嵌入的元数据帧,它包含了视频信号的属性,如像素重复计数。这个帧帮助接收端正确解释和处理视频信号。

CEA-861-D 是消费电子协会(Consumer Electronics Association)制定的一个标准,它详细描述了像素重复的使用和像素重复计数字段的使用方法,以确保视频信号的正确传输和显示。

通过使用像素重复和AVI InfoFrame,HDMI能够支持广泛的视频格式,从低分辨率的标准定义电视到高分辨率的高清和超高清电视。这确保了HDMI技术的灵活性和向后兼容性。

量化范围

在HDMI视频传输中,视频分量的量化范围(Video Quantization Ranges)是一个重要的概念,它决定了视频信号的黑电平和白电平。主要有两种量化范围:全范围(Full Range)和有限范围(Limited Range),《CEA-861-D》有具体定义。

在这里插入图片描述

音频(Audio)

Audio数据以Audio Sample Packet或High Bitrate Audio Stream Packet的形式传输,但是HDMI没有传输audio clock,因此sink设备需要进行audio clock regeneration。原理如下:
在这里插入图片描述

控制和配置(Control and Configuration)

InfoFrame

Data Island Period 的 一个 InfoFrame packet 携带一个 InfoFrame,帧大小为31字节(30字节+1字节校验和)。所有的 InfoFrame 详细定义见 《CEA-861-D》。

Auxiliary Video Information (AVI) InfoFrame

  • AVI InfoFrame用途:AVI InfoFrame由HDMI源设备传输给接收端,以指示当前视频流的各个方面。
  • 如果源设备具备以下能力,它应至少每两个视频场(Video Fields)传输一次AVI InfoFrame:
    • 能够传输AVI InfoFrame。
    • 能够传输YCbCr像素编码。
    • 能够传输除传输视频格式默认色彩度量之外的其他色彩度量。
    • 能够传输任何xvYCC或未来增强的色彩度量。
    • 能够传输任何色彩空间元数据包。
    • 能够传输具有多种允许像素重复的视频格式。
    • 能够传输除“无数据”之外的内容类型。
    • 能够传输YCC量化范围。
  • HDMI源设备在传输RGB和非像素重复视频时,也必须传输AVI InfoFrame,即使在没有明确要求的情况下,也推荐HDMI源设备传输AVI InfoFrames,以确保视频信号的正确处理和显示,提高用户体验。
Packet Header

在这里插入图片描述

Packet Contents

AVI InfoFrame 详细定义见 《CEA-861-D》6.4章节。

在这里插入图片描述

Audio InfoFrame

Packet Header

在这里插入图片描述

Packet Contents

Audio InfoFrame 详细定义见 《CEA-861-D》6.6章节。

在这里插入图片描述

Vendor Specific InfoFrame

Packet Header

在这里插入图片描述

Packet Contents

在这里插入图片描述

EDID

EDID的全称是Extended Display Identification Data(扩展显示标识数据),VGA、DVI的EDID由主块128字节组成,HDMI的EDID增加扩展块(128字节),扩展块的内容主要是和音频属性相关的,DVI和VGA没有音频,HDMI自带音频,扩展块数据规范按照CEA-861x标准定义,未来可能增加到512或256的整数倍。

其中包含有关显示器及其性能的参数,包括供应商信息、最大图像大小、颜色设置、厂商预设置、频率范围的限制以及显示器名和序列号的字符串等等。形象地说,EDID就是显示器的身份证、户口本、技能证书等证件的集合,目的就是告诉别人我是谁,我从哪来,我能干什么。

主块

E-EDID的前128字节应包含EDID 1.3结构,具体定义见《VESA Enhanced EDID Standard A1》

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

CEA扩展

CEA Extension version 3 详细定义见 《CEA-861-D》7.5章节。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

EDID 相关软件

  • EDID提取软件:Monitor Assert Manager

在这里插入图片描述

  • EDID 分析软件:Quantum Data 的 ATP Manager 6.30.2

在这里插入图片描述

DDC

HDMI DDC通道使用I2C(Inter-Integrated Circuit)协议进行通信,这是一种标准的两线(时钟和数据)串行数据总线协议。数据同步与SCL信号,并且遵循I2C规范的标准模式,最大时钟频率为100kHz。

I2C设备地址通常是0xA0或0xA1,这取决于读写操作的方向:

  • 写操作(Write):设备的I2C地址是0xA0。这意味着当HDMI源设备需要向EEPROM写入数据时,它会在I2C总线上发送0xA0作为设备地址。
  • 读操作(Read):设备的I2C地址是0xA1。这意味着当HDMI源设备需要从EEPROM读取数据时,它会在I2C总线上发送0xA1作为设备地址。
  • 发完设备地址后就开始发送或接收数据了。

HotPlug Detect

  • HDMI接收端(Sink)在E-EDID不可读时不应在HPD引脚上输出高电压水平。

  • 如果E-EDID的内容发生变化,或者需要切换HDMI通道要求源设备重新读取EDID,HPD需要发出一个不短于100毫秒的低电平信号。当低电平再次变为高电平时,源设备将重新读取EDID。

HDCP

HDCP(High-bandwidth Digital Content Protection,高带宽数字内容保护)的工作流程主要包括以下几个关键步骤:

  1. 校验协议(Authentication)

    • 发送器(例如高清播放设备)首先验证接收设备(例如高清电视或显示器)是否被授权接收加密数据。这一验证过程通过校验协议来实现,发送器和接收设备相互交换一个40位的密钥选择矢量(KSV),并进行一系列复杂的运算来确认对方的合法性。如果运算结果相等,则发射端能确定此接收器为HDCP适合接收者。
  2. 像素加密(Encryption)

    • 一旦接收器通过合法性校验,发送器就会对传输的像素数据进行加密。加密过程通常涉及对原始像素数据和由HDCP加密器产生的加密数据进行“异或”运算。这样,加密后的像素数据将传输给接收设备。
  3. 解密与显示(Decryption and Display)

    • 接收设备在接收到加密像素数据后,使用与其HDCP加密器结构和初始值完全相同的解密器进行解密处理。解密过程同样是通过“异或”运算来完成的,从而还原出原始的像素数据并显示在屏幕上。
  4. 可更新性(Revoke List)

    • HDCP系统具有可更新性,能够识别和取消未经授权或其KSV已经被放入“撤销列表”的设备。这一功能通过定期更新密钥和撤销列表来实现,确保了系统的安全性和稳定性。
  5. 身份验证和密钥交换(AKE)

    • 在发送视听内容之前,发送者必须使用身份验证协议确保接收者是真实的并有权接收受保护的内容。这包括检查接收方是否包含有效的未撤销公共密钥证书、位置检查以及会话密钥交换(SKE)。
  6. 内容保护

    • HDCP 2.2规范应用了最新的加密标准,例如RSA和AES,并将它们分别用于身份验证和加密,这使其比以前的HDCP 1.X协议更加安全。HDCP 2.2协议分三个阶段工作:身份验证、加密和可更新性。
  7. 向后兼容性

    • HDCP 2.2协议还考虑了向后兼容性,允许旧设备通过兼容性模式以较低的安全级别进行通信,并为旧设备提供升级路径,使它们能够支持HDCP 2.2标准。

通过这些步骤,HDCP确保了只有合法的接收设备才能解密和播放受保护的内容,从而保护了高带宽数字内容不被非法复制和分发。

IP设计

Source 端

Sink 端

时钟

怎么设计时钟?不同分辨率下输入时钟不一样,MMCM 对应的 CLKIN_PERIOD参数是不是不对也能正常工作?

TMDS clock 经过 IBUFDS后,经过MMCM生成5倍的串行接收时钟,再将这个时钟过BUFIO和BUFR,生成PixelClk 和 SerialClk(参考Xilinx 官方MMCM设计建议)


http://www.kler.cn/a/504835.html

相关文章:

  • 关于linux的ld.so.conf.d
  • FPGA 串口与HC05蓝牙模块通信
  • 第G1周:生成对抗网络(GAN)入门
  • 国内源快速在线安装qt5.15以上版本。(10min安装好)(图文教程)
  • RV1126+FFMPEG推流项目(3)VI模块视频编码流程
  • 【ArcGIS初学】产生随机点计算混淆矩阵
  • 代码随想录算法训练营第十三天(2)|541. 反转字符串II
  • 在服务器上增加新网段IP的路由配置
  • msxml安装失败怎么办,如何解决
  • 如何通过 Zero Trust 模型防止内外部威胁?
  • H3CNE-12-静态路由(一)
  • hot100_240. 搜索二维矩阵 II
  • Spring boot面试题---- Spring Boot 自动配置的原理
  • 数字人助力企业出海增长,魔珐科技亮相2025晋江跨境电商峰会
  • LeetCode:131. 分割回文串
  • Elasticsearch实战指南:从入门到高效使用
  • 【优选算法篇】:分而治之--揭秘分治算法的魅力与实战应用
  • vue3+ts+element-plus 输入框el-input设置背景颜色
  • 【机器学习】实战:天池工业蒸汽量项目(二)特征工程
  • java 设计模式 建造者模式
  • 基于 STM32 连接 Mini MP3 播放器的实践探索
  • 使用vue3实现语音交互的前端页面
  • 《解决OpenMP运行时库副本问题:解锁高效编程》
  • 用sql 基线 替换执行计划
  • 基于 FastAPI 的数据库设计与优化
  • api开发及运用小红书笔记详情api如何获取笔记详情信息