高速差分信号理论基础:传输线、阻抗匹配
做高速电路设计,绕不开传输线理论和阻抗匹配。我刚入门时,以为只要线连通了就行,结果一块板子在 500MHz 时钟上跑起来,眼图根本睁不开。后来才明白——信号频率高了,导线就不再是导线了。
从集总参数到分布参数
为什么低频电路不用关心传输线?说白了,是因为电长度。
判断标准:当走线长度 ≥ λ/10(λ 是信号最高频率分量的波长),就进入分布参数区。这时候,一根走线会表现出分布电感、分布电容、甚至分布电阻和电导。
我记得有一次,项目里用 1GHz 时钟,PCB 走线才 3cm。同事说“这么短没事”,我没听,坚持按传输线处理,结果板上走线长了 5mm,边沿就变缓了 20ps。
特性阻抗:传输线的“DNA”
每根传输线都有一个关键参数——特性阻抗 Z₀。它不依赖线长,只取决于:
- 介质介电常数(εr)——我们常用 FR4,εr ≈ 4.2
- 走线宽度
- 铜箔厚度
- 参考平面距离
微带线特性阻抗近似公式(我习惯用这个粗算):
Z₀ ≈ (87 / √(εr + 1.41)) * ln(5.98 * H / (0.8 * W + T))
H:介质厚度
W:线宽
T:铜厚
你想想看,如果差分对的两条线阻抗不一致,共模噪声会飙升。我在项目中遇到过,一个 2.5Gbps 的链路换层时没等长,结果串扰直接把误码率推高了两个数量级。
反射:阻抗不匹配的代价
信号走在传输线上,遇到阻抗突变,就会产生反射。反射系数 Γ 很简单:
Γ = (Z_load - Z₀) / (Z_load + Z₀)
Z_load 是终端负载,Z₀ 是传输线特性阻抗。
走线分叉、过孔、连接器,都是反射源。我见过一个案例,LVPECL 输出接了 50Ω 到 GND 的端接电阻(负载是 50Ω),但传输线实际特性阻抗是 65Ω,结果 Γ = (50-65)/(50+65) ≈ -0.13。一个 800mV 的信号,回波有 100mV 多,时钟边沿上就出现了一个小台阶。
特别注意:反射不仅影响信号幅度,更会累积占空比失真和抖动。LVPECL 输出级是射极跟随器,对反射非常敏感。
终端匹配:让信号“有家可归”
匹配方式就那么几种,但选错就没救。我按自己的使用经验排个优先级:
| 匹配方式 | 适用接口 | 我的注意点 |
|---|---|---|
| 串联匹配 | 点到点,单端(非关键时钟) | 电阻靠近源端摆,取值 Z₀ - R_src |
| 并联匹配(到 Vcc/2) | LVPECL 输出 | 功耗大,但能抑制输出共模 |
| AC 端接 | CML 输出 | 隔直后必须恢复到共模电平 |
| 戴维南端接 | 无法直接拉 Vcc 时 | 两个电阻值精确计算,不得凑整 |
实践小贴士:我曾经在 3.125Gbps CML 输出上用过 AC 耦合后接 50Ω 到 GND 的端接,结果眼图底部收窄了。换了 Thevenin 到 1.2V 才解决——因为 CML 输出共模太低,GND 端接直接拉偏了直流工作点。
最后,用一个我经常讲的图把这些串起来——高速信号传输的“健康三要素”:
阻抗匹配的实测经验
我曾经有一块板子,LVPECL 差分输出到接收端只隔了 5cm,但时钟抖动就是大。用 TDR 一测,发现两端阻抗差了一截。后来调整为:
- 走线宽度从 8mil 改到 11mil(调 Z₀ 到 50Ω)
- 差分对内等长误差控制在 5mil 之内
- 电阻端接选 1% 精度
改完再测,眼高从 350mV 拉到 520mV,抖动小了 40%。
提醒:不要迷信仿真软件里给的“完美匹配”。板材的实际介电常数和标称值差异在 ±10% 很常见。我在不同批次 FR4 上踩过坑,最后都改成了紧耦合差分结构和放宽阻抗容差的设计。