第1章:HDMI信号基础——TMDS差分信号与传输机制

各位工程师朋友,咱们今天聊聊HDMI最核心的东西——TMDS信号。说实话,我入行那会儿第一次看HDMI规范,也被这堆术语搞得头大。但后来在实际调试中,发现只要搞懂了TMDS,HDMI的很多问题就迎刃而解了。

1.1 TMDS差分信号原理

TMDS,全称是Transition Minimized Differential Signaling,翻译过来就是「最小化转换差分信号」。名字挺长,但核心就两个词:差分、最小化转换。

什么是差分信号?

简单说,就是一对线传一个信号。一根线传正相,另一根传反相。接收端把两个信号一减,噪声就被抵消了。我做过一个项目,布线时差分对没等长,结果画面出现雪花——嗯,这就是差分信号没走好的典型症状。

为什么HDMI要用差分?

  • 抗干扰能力强——共模噪声被差分接收器自动抑制
  • 电压摆幅小——只有400mV左右,功耗低
  • 速率高——可以跑到几Gbps

关键参数:TMDS差分阻抗要求100Ω ±15%。我见过太多人忽略这个,结果信号反射严重,眼图惨不忍睹。

1.2 3路数据通道 + 1路时钟通道

HDMI有4对差分线:3对传数据,1对传时钟。你想想看,为什么是3路数据?因为RGB三原色,每路负责一个颜色通道。

工作机制是这样的:

  • 数据通道0:传蓝色分量 + 水平同步(HSYNC) + 垂直同步(VSYNC)
  • 数据通道1:传绿色分量
  • 数据通道2:传红色分量
  • 时钟通道:传像素时钟,频率等于像素时钟频率

我记得有一次调试,画面颜色偏紫。查了半天,发现是数据通道2的焊盘虚焊了。红色通道断了,可不就偏紫嘛。

个人经验:时钟通道是命根子。时钟一旦出问题,所有数据都废了。我习惯在PCB设计时,把时钟差分对包地处理,间距拉开至少3倍线宽。

1.3 最小化传输差分信号编码(8b/10b)

8b/10b编码,说白了就是把8位数据变成10位传输。为什么要多此一举?

原因有两个:

  1. 直流平衡:保证0和1的数量大致相等,避免信号有直流分量
  2. 时钟恢复:保证有足够的跳变沿,接收端能锁住时钟

编码规则其实不复杂:8位数据拆成3位和5位,分别查表变成4位和6位。加起来就是10位。我刚开始学的时候,觉得这玩意儿挺玄乎。后来自己写了个编码器仿真,发现其实就是个查表操作。

// 8b/10b编码示例(简化版)
// 输入:8位数据 D[7:0]
// 输出:10位编码数据

// 5b/6b编码
case (D[4:0])
  5'b00000: encoded_6b = 6'b100111;
  5'b00001: encoded_6b = 6'b011101;
  // ... 其他编码表
endcase

// 3b/4b编码
case (D[7:5])
  3'b000: encoded_4b = 4'b1011;
  3'b001: encoded_4b = 4'b1001;
  // ... 其他编码表
endcase

// 最终输出
encoded_10b = {encoded_6b, encoded_4b};

避坑指南:我曾经遇到过一个问题,画面偶尔出现横纹。查了三天,发现是编码器在边界条件下跑飞了。8b/10b编码有「运行不一致性」(Running Disparity)的概念,必须保证编码器状态机正确。很多便宜的HDMI芯片在这个地方偷工减料。

1.4 单链路与双链路带宽计算

带宽计算其实很简单,但很多人算错。咱们来捋一捋。

单链路HDMI:

  • 像素时钟最高165MHz
  • 每通道数据率 = 165MHz × 10bit = 1.65Gbps
  • 三通道总带宽 = 1.65Gbps × 3 = 4.95Gbps
  • 实际有效数据率 = 165MHz × 8bit × 3 = 3.96Gbps

双链路HDMI:

  • 像素时钟最高330MHz
  • 每通道数据率 = 330MHz × 10bit = 3.3Gbps
  • 三通道总带宽 = 3.3Gbps × 3 = 9.9Gbps
  • 实际有效数据率 = 330MHz × 8bit × 3 = 7.92Gbps
分辨率 刷新率 所需带宽 链路类型
1920×1080 60Hz ~3.2Gbps 单链路
1920×1080 120Hz ~6.4Gbps 双链路
3840×2160 30Hz ~6.2Gbps 双链路
3840×2160 60Hz ~12.4Gbps HDMI 2.0

注意:双链路需要两套TMDS通道,共8对差分线。我见过有人把双链路当成HDMI 2.0,其实不是一回事。双链路是HDMI 1.3时代的产物,现在基本被HDMI 2.0的更高时钟取代了。

知识体系总览

下面这张图,是我自己总结的TMDS信号知识体系。你把它存下来,调试时对照着看,思路会清晰很多。

TMDS信号知识体系 TMDS信号 差分信号原理 100Ω差分阻抗 400mV电压摆幅 共模噪声抑制 3+1通道结构 数据通道0(蓝+同步) 数据通道1(绿) 数据通道2(红) 时钟通道(像素时钟) 8b/10b编码 直流平衡 时钟恢复 带宽计算 单链路:4.95Gbps 双链路:9.9Gbps

这张图把TMDS的四个核心知识点串起来了。你调试时遇到问题,先定位是哪个环节出的问题——是差分信号质量不行?还是通道结构有问题?还是编码器跑飞了?或者是带宽不够?

我的习惯:每次拿到新板子,第一件事就是用示波器看TMDS时钟通道的眼图。眼图干净,后面的事就好办。眼图不好,先别急着调软件,把硬件问题解决了再说。

好了,这一章的内容就到这里。TMDS信号是HDMI的基石,搞懂了它,后面的内容学起来就轻松多了。


可可精品资料库