1. HDMI基础:标准演进、物理接口与TMDS编码
做硬件工程这么多年,HDMI这个接口我真是再熟悉不过了。从早期的DVD播放机到现在的8K游戏主机,它几乎统治了消费电子的视频传输领域。今天咱们就来聊聊HDMI的基础——标准怎么一步步走到今天的、那个金灿灿的接口里到底藏着什么,以及它最核心的传输技术TMDS。
1.1 HDMI标准演进:从1.0到2.1
HDMI标准从2002年诞生到现在,经历了多次迭代。我最早接触HDMI 1.0的时候,还在做DVD播放器的硬件设计。那时候觉得能传1080p就已经很了不起了。
下面这张表,是我个人习惯整理的演进路线,方便你快速对照:
| 版本 | 发布时间 | 最大带宽 | 最大分辨率 | 关键特性 |
|---|---|---|---|---|
| 1.0 | 2002年 | 4.95 Gbps | 1080p@60Hz | 基础数字音视频传输 |
| 1.3 | 2006年 | 10.2 Gbps | 1080p@120Hz | 深色深、无损音频 |
| 1.4 | 2009年 | 10.2 Gbps | 4K@30Hz | 以太网通道、ARC音频回传 |
| 2.0 | 2013年 | 18 Gbps | 4K@60Hz | 32声道音频、动态HDR |
| 2.1 | 2017年 | 48 Gbps | 8K@60Hz / 4K@120Hz | FRL模式、DSC、VRR、ALLM |
你可能会问,为什么从1.4到2.0带宽翻倍了?其实是因为TMDS时钟频率从340MHz提升到了600MHz。嗯,这里要注意,带宽提升不是线性的,它受限于物理层的信号完整性。
2.1版本是个分水岭。它引入了全新的FRL(Fixed Rate Link)传输模式,彻底抛弃了传统的TMDS时钟架构。我在做4K@120Hz游戏机项目时,就深刻体会到2.1的必要性——没有它,高刷新率根本跑不起来。
核心要点:HDMI 2.1的48Gbps带宽,是通过4条数据通道、每条12Gbps实现的。它不再依赖单独的时钟通道,而是把时钟嵌入到数据流中。这跟DisplayPort的思路有点像,但实现细节完全不同。
1.2 物理接口与引脚定义
HDMI接口有Type A、C、D三种常见类型。Type A就是我们最熟悉的标准口,Type C是mini HDMI,Type D是micro HDMI。我建议你在做嵌入式产品时优先考虑Type D,它体积小,但焊接难度大——我曾经因为焊盘间距太小,报废过好几块样板。
Type A接口有19个引脚,分两排排列。咱们来看看关键的几个:
- 引脚1-9:TMDS数据通道0、1、2,以及对应的屏蔽层。每个通道都是差分对,抗干扰能力强。
- 引脚10-12:TMDS时钟通道及其屏蔽。在2.0及以下版本中,时钟是独立传输的。
- 引脚13:CEC(消费电子控制)。这个引脚很有意思,它让设备之间可以互相通信。比如你用电视遥控器控制机顶盒,就是靠它。
- 引脚14:保留引脚(2.1版本中用于FRL模式)。
- 引脚15:SCL(I2C时钟)。
- 引脚16:SDA(I2C数据)。这两个引脚用于EDID读取和HDCP握手。
- 引脚17:DDC/CEC接地。
- 引脚18:+5V电源。最大可提供50mA电流,用于检测连接状态。
- 引脚19:热插拔检测(HPD)。设备通过这个引脚告诉源端「我连上了」。
避坑指南:我曾经遇到过一个问题——设备插上HDMI后没反应。查了半天,发现是HPD引脚的电平时序不对。源端需要检测到HPD从低到高的跳变,才会开始读取EDID。如果你在做自定义硬件,记得给HPD加一个上拉电阻到3.3V。
1.3 TMDS编码原理
TMDS,全称是Transition Minimized Differential Signaling,翻译过来就是「最小化转换差分信号」。名字很长,但核心思想很简单:减少信号跳变,降低电磁干扰。
为什么需要TMDS?你想想看,如果直接传原始数据,连续的0和1会导致信号线上出现大量电平跳变。这些跳变会产生高频噪声,干扰其他电路。TMDS编码就是为了解决这个问题。
TMDS编码分为两步:
- 8B/10B编码:把8位数据转换成10位。这10位中,0和1的数量尽量平衡,且连续相同电平的位数不超过5个。说白了,就是让信号更「平滑」。
- 差分传输:编码后的10位数据,通过一对差分线传输。两根线上的信号互为反向,接收端通过比较差值来还原数据。这种方式的抗共模干扰能力很强。
下面这张图,是我用SVG画的TMDS编码流程,帮你理解数据是怎么从源端到显示端的:
在实际传输中,HDMI有3个数据通道(通道0、1、2)和1个时钟通道。每个通道都独立进行TMDS编码。我做过一个测试,用示波器看TMDS信号,波形非常干净,几乎没有过冲。这就是差分传输的好处。
注意:TMDS编码虽然好,但它有个缺点——编码效率只有80%。因为8位数据变成了10位,有20%的带宽浪费在了编码上。这也是为什么HDMI 2.1要引入FRL模式,FRL的编码效率更高,能达到97%以上。
最后说个小技巧。如果你在做HDMI的PCB布局,记得让3个数据通道的走线等长。我见过一个项目,因为通道0比通道1长了5mm,导致4K画面出现雪花点。等长布线,这是硬件工程师的基本功。
好了,HDMI的基础就聊到这儿。标准演进、引脚定义、TMDS编码,这三块是后续所有内容的地基。你把这些搞懂了,后面讲平台工程整合的时候,就会轻松很多。
个人经验:我建议你在做HDMI设计时,先拿一个现成的开发板跑通基础功能,再去做定制硬件。直接画板子风险太高,尤其是TMDS的差分阻抗控制,100Ω±10%的要求,稍不注意就翻车。
可可精品资料库