第二章:传输线理论入门

2.1 从集总参数到分布参数

做高速设计这么多年,我经常被问到同一个问题:「为什么低速电路里一根导线就是一根导线,到了高速就变成传输线了?」

其实答案很简单。你想想看,信号在PCB上跑,速度大约是光速的一半。当信号的上升沿时间小于传输延迟的6倍时,导线就不能再被看作一个「点」了。

我习惯用一个经验法则来判断:如果走线长度超过信号上升沿对应空间长度的1/10,就必须用传输线理论来分析。举个例子,一个1GHz的时钟信号,上升沿大约100ps,对应的空间长度是3cm。那么只要走线超过3mm,就不能再当集总参数看了。

关键概念:集总参数模型假设电路尺寸远小于信号波长,而分布参数模型则考虑信号沿传输路径的连续变化。

2.2 传输线的等效电路模型

传输线说白了就是一段均匀的导体结构。我习惯把它想象成无数个微小的RLCG单元串联起来。每个单元代表一小段传输线,包含四个基本参数:

参数 符号 单位 物理意义
单位长度电阻 R Ω/m 导体的欧姆损耗
单位长度电感 L H/m 导体周围的磁场储能
单位长度电导 G S/m 介质的漏电损耗
单位长度电容 C F/m 导体间的电场储能

嗯,这里要注意:R和G代表损耗,L和C代表储能。在理想无耗传输线中,我们通常忽略R和G,只保留L和C。

我的经验:在实际项目中,FR4板材的G参数通常可以忽略,但R参数在高频时由于趋肤效应会显著增加。我曾经在一个10Gbps的项目中忽略了趋肤效应,结果眼图闭合得一塌糊涂。

2.3 特性阻抗——传输线的灵魂

特性阻抗是传输线理论里最重要的概念,没有之一。它定义为行波电压与行波电流的比值:

Z₀ = √( (R + jωL) / (G + jωC) )

对于无耗传输线,公式简化为:

Z₀ = √(L / C)

为什么会这样?说白了,特性阻抗不是用万用表量出来的直流电阻,而是信号在传输过程中「感受到」的瞬时阻抗。我刚开始做SI时,总以为50Ω就是电阻值,后来才明白这个区别有多重要。

常见的PCB走线特性阻抗值:

  • 微带线:50Ω(最常用)、75Ω(视频信号)
  • 带状线:50Ω、100Ω(差分对)
  • 共面波导:50Ω

避坑指南:我曾经在一个项目中,设计人员把微带线的特性阻抗算成了55Ω,结果和50Ω的测试设备不匹配,反射系数达到了0.05,虽然看起来不大,但在20Gbps的速率下,这个反射直接导致眼图高度下降了15%。

2.4 反射——信号完整性的头号敌人

反射是怎么产生的?很简单:阻抗不连续。当信号从一段传输线进入另一段阻抗不同的传输线时,一部分能量会反射回来。

反射系数Γ定义为反射电压与入射电压的比值:

Γ = (Z_L - Z₀) / (Z_L + Z₀)

其中Z_L是负载阻抗,Z₀是传输线特性阻抗。

你想想看,如果Z_L = Z₀,Γ = 0,完美匹配,没有反射。如果Z_L = ∞(开路),Γ = 1,全反射。如果Z_L = 0(短路),Γ = -1,也是全反射,但相位相反。

我习惯用TDR(时域反射计)来观察反射。在项目中,我经常看到这样的现象:

  • 过冲:反射信号和入射信号同相叠加,导致电压超过预期值
  • 下冲:反射信号和入射信号反相叠加,导致电压低于预期值
  • 振铃:多次反射在传输线上来回振荡

重要结论:反射不仅影响信号质量,还会导致EMI问题。反射回来的能量会辐射出去,干扰其他电路。

2.5 阻抗匹配——解决问题的关键

阻抗匹配说白了就是让源端、传输线和负载端的阻抗保持一致。常见的匹配方式有三种:

匹配方式 适用场景 优点 缺点
源端串联匹配 点对点传输 功耗低,简单 只能吸收一次反射
终端并联匹配 高速总线 吸收所有反射 功耗大
AC匹配 差分信号 功耗适中 需要电容

我记得有一次调试一个DDR3的地址总线,信号质量怎么调都不对。后来发现是源端匹配电阻放错了位置——应该放在靠近驱动器的位置,结果放在了走线中间。移动了3mm,眼图立刻打开了。

我的建议:在做PCB布局时,匹配电阻一定要靠近源端或终端放置,中间不要有任何分支。这是很多新手容易忽略的细节。

2.6 传输线参数的实际提取

在实际项目中,我们通常用VNA(矢量网络分析仪)来测量S参数,然后反推出传输线的RLCG参数。但如果你手头没有VNA,也可以用TDR来估算特性阻抗。

我常用的Python脚本可以快速计算微带线的特性阻抗:

import numpy as np

def microstrip_Z0(w, h, t, er):
    """
    计算微带线特性阻抗
    w: 线宽 (mm)
    h: 介质厚度 (mm)
    t: 铜厚 (mm)
    er: 相对介电常数
    """
    # 有效介电常数
    w_eff = w + t * (1 + 1/np.pi * np.log(4*np.pi*w/t))
    epsilon_eff = (er + 1)/2 + (er - 1)/2 * 1/np.sqrt(1 + 12*h/w_eff)
    
    # 特性阻抗
    Z0 = 60/np.sqrt(epsilon_eff) * np.log(8*h/w_eff + w_eff/(4*h))
    return Z0

# 示例:FR4板材,线宽0.3mm,介质厚度0.2mm,铜厚0.035mm
Z0 = microstrip_Z0(0.3, 0.2, 0.035, 4.5)
print(f"特性阻抗: {Z0:.1f} Ω")

这个脚本虽然简单,但我在多个项目中都用过,精度足够做初步评估。当然,最终还是要以VNA实测为准。

2.7 本章小结

传输线理论是高速设计的基石。我个人觉得,理解特性阻抗和反射这两个概念,就掌握了传输线理论的80%。剩下的20%是损耗、色散和耦合效应,这些我们会在后续章节中详细讨论。

最后分享一个心得:不要试图记住所有公式,而是要理解物理本质。当你看到一根走线时,能想象出信号在上面是怎么跑的,反射是怎么产生的,匹配是怎么起作用的——这时候你才算真正入门了。

下一章预告:我们将深入讨论S参数的定义、测量方法和实际应用。S参数是描述传输线行为最强大的工具,没有之一。