传输线理论简介

大家好,欢迎来到第二章。传输线理论——说白了就是搞清楚信号在 PCB 走线上到底怎么跑的。我早年画板子的时候,以为走线就是根导线,电流“咻”一下过去就完了。直到第一次调试 1000M 以太网,眼图一片模糊,才老实回头啃传输线。

你想想看,当信号频率上去之后,走线不再是理想导线,而是一根分布参数网络。电阻、电感、电容沿路均匀分布。这时候信号的行为完全由传输线方程支配。如果不理解这个,后面看 PHY 寄存器里那些 SQETestError、SymbolError 标志位,你只会一头雾水。

1. 信号为什么需要在传输线里“跑”而不是“流”

低速时我们习惯用集总参数模型:一个电阻、一个电容、一个电感。但高频下,走线的长度已经可以和信号的上升沿空间长度相比。举个例子,1ns 上升沿的信号,其空间长度大约 15cm(FR4 中)。如果你的走线超过 3-5cm,就必须当作传输线处理。

我记得一次调试一个 125MHz 时钟信号,明明源端波形漂亮,到接收端却出现了过冲和振铃。最后发现走线长 8cm,没有匹配终端。这就是典型的传输线反射问题。

工程准则:当走线延迟 > 1/6 信号上升时间时,必须按传输线设计。

2. 特性阻抗 Z₀——传输线的“身份证”

每条传输线都有一个固有参数:特性阻抗 Z₀。它由单位长度电感和单位长度电容决定:

Z₀ = √(L/C)    (无损传输线近似)

其中 L 是单位长度电感,C 是单位长度电容。这两个值由走线宽度、介质厚度、介电常数和铜厚共同决定。

我习惯在 Layout 初期就用工具算好目标 Z₀。比如 100Ω 差分或 50Ω 单端。一旦实际阻抗偏离目标,信号就会反射。

传输线类型 典型 Z₀ 范围 常见应用 我的建议
微带线(外层) 40 – 120Ω 单端信号、时钟 控制介质厚度公差,别超过 ±10%
带状线(内层) 50 – 70Ω 高速总线、DDR 注意参考平面完整,少跨分割
共面波导 50 – 100Ω 射频、毫米波 地孔间距要密,否则辐射突出
个人小技巧:如果你拿到一块 PCB 不知道实际阻抗,找一段长走线用 TDR(时域反射计)打一下。我经常拿这个当“照妖镜”,一测就知道板厂有没有偷工减料。

3. 反射——信号完整性的头号杀手

信号沿着传输线前行,遇到阻抗不连续点,就会发生反射。反射的幅度由反射系数 Γ 决定:

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

当负载阻抗等于特性阻抗时,Γ = 0,反射为零。这就是为什么我们要做终端匹配。

举个例子,一个 50Ω 的驱动源,接到一根 80Ω 的微带线(没控好阻抗),再接到 50Ω 的接收器。在源端和负载端都会产生反射。结果就是波形上出现台阶、过冲、振铃。这些不干净的信号一旦进入 PHY 的接收器,就会导致数据采样错误,反映到寄存器里就是 CRC Error 或 Link Down。

我曾经遇到一个案子,百兆以太网时而能连时而断开。板厂反馈说阻抗控制没问题,我一测,结果是连接器处的阻抗突变造成多次反射。换成阻抗匹配的连接器后,问题消失。

4. 一张图看懂传输线反射

下面这张 SVG 图展示了传输线反射的完整路径:源端内阻 Rs、特性阻抗 Z₀ 的传输线、负载阻抗 RL。入射波到达负载后,部分能量反射回源端。

传输线反射示意图 源端 Rs 传输线 Z₀(特性阻抗) 负载 RL 入射波→ ←反射波 Γ = (RL - Z₀)/(RL + Z₀) 关键结论 当 RL = Z₀ 时 Γ=0,无反射;否则入射波与反射波叠加产生振铃和过冲

5. 传输线如何影响 PHY 寄存器值

前面都是理论,现在说说和 PHY 调试的关联。PHY 芯片内部的接收器会对信号的电压幅度和时序进行判决。如果传输线反射导致信号过冲超过接收器耐受范围,可能会触发内部钳位保护,甚至误判为错误符号。这些错误会累积并反映在以下寄存器中:

  • MII 统计寄存器:如 ifInErrors、ifOutErrors
  • 个别 PHY 诊断寄存器:如 Signal Quality Detect、Equalizer Tap Values
  • 链路状态寄存器:频繁的 Link Down/Up 切换

我记得一个真实的调试案例:客户反映某批次设备 1000BASE-T 经常掉线。我抓了 MDIO 日志,发现 RxErrorCounter 每隔几分钟就跳变一次。用示波器看 MDI 差分线,发现信号下降沿有明显的台阶——这就是阻抗不连续导致的多次反射。后来把连接器的地参考层做了优化,问题就消失了。

避坑指南:不要只盯着数字寄存器看,一定要结合实际测量。我曾经花了三天分析一个 PHY 的 CRC 错误计数,最后发现是走线过孔阻抗突变引起的。寄存器仅仅告诉你“有错误”,但不会告诉你“为什么错”。

6. 传输线参数对信号质量的量化影响

为了让你更直观地理解,我把几种常见的不连续场景及其对眼图的影响整理成了表格:

阻抗偏差 反射幅度 (Γ) 典型眼图表现 寄存器风险
Z₀ 误差 ±5% ~0.025 眼图略微抖动 偶发 CRC 错误
Z₀ 误差 ±15% ~0.075 眼图明显闭合,有振铃 频繁符号错误,Link 不稳定
单个过孔(50Ω→45Ω→50Ω) ~0.053 上升沿有台阶 误码率上升 1~2 个数量级
连接器阻抗突变成 75Ω 0.20 严重过冲,眼图内眼部分 链路频繁断连

7. 几种常见的终端匹配策略

既然反射来自阻抗不匹配,那我们就通过终端匹配来“吃掉”反射。这里列出我自己常用的三种:

  1. 并联端接(AC 端接):在接收端对地接一个与 Z₀ 匹配的电阻。适用于驱动能力较强的源端。优点是简单;缺点是增加直流功耗。
  2. 串联端接(源端匹配):在源端串联一个电阻,使源端输出阻抗 + 串联电阻 ≈ Z₀。我最常用,因为能抑制二次反射。不过要注意电阻要靠近源端放置。
  3. 戴维宁端接:用两个电阻分压到 Vcc/2,同时提供匹配和偏置。适合差分布线中的共模电压设定。DDR 终端常用这种。
实战经验:如果你发现 PHY 的 Equalizer Tap Coefficients 寄存器数值远超预期范围(比如手册推荐 0~5,你读到 10+),大概率物理层走线存在严重反射。这时候别急着调 EQ,先查传输线阻抗和端接。

8. 本章小结

传输线理论不是纸上谈兵。它直接决定了你看到的眼图好坏,进而决定了 PHY 寄存器里是干净的 0 还是不断累加的错误计数。记住几个关键点:

  • 信号上升时间越短,必须按传输线分析的走线长度就越短
  • 特性阻抗 Z₀ 是设计核心,必须控制在 ±10% 以内
  • 反射是信号失真的根源,终端匹配是解决方案
  • 寄存器里的错误计数器是报警灯,传输线才是火灾现场