3、传输线理论(下):反射与终端匹配,源端匹配与末端匹配的工程实践
好,咱们接着聊传输线。上一节我们把传输线的特性阻抗、传播延时这些基础概念捋了一遍。这一节,咱们要直面一个在实际项目中让无数工程师头疼的问题——反射。
说白了,反射就是信号在传输线上跑着跑着,突然遇到一个“阻抗不连续”的地方,一部分能量被弹回来了。你想想看,这就像水波撞到石头,肯定要往回反弹。在高速数字电路里,这种反弹会导致信号过冲、下冲、振铃,严重的时候直接让逻辑判断出错。
核心结论:反射的根源只有一个——阻抗不匹配。解决反射的手段也只有一个——终端匹配。
3.1 反射是怎么发生的?
先看一个最简单的模型。信号从驱动端(源端)出发,沿着传输线往前跑。如果传输线的特性阻抗是 Z0,而终端的负载阻抗是 ZL,那么当信号到达终端时,反射系数 Γ 由下式决定:
Γ = (ZL - Z0) / (ZL + Z0)
这个公式我建议你刻在脑子里。它告诉我们三件事:
- 如果 ZL = Z0,Γ = 0,完美匹配,没有反射。
- 如果 ZL = ∞(开路),Γ = 1,信号全反射,终端电压翻倍。
- 如果 ZL = 0(短路),Γ = -1,信号负反射,终端电压归零。
我在项目中遇到过最典型的案例:一块 HDMI 接口板,信号速率跑到 3.4Gbps 时,眼图完全闭合。用 TDR 一测,发现终端接收器的输入阻抗只有 75Ω,而 PCB 走线是 100Ω 差分。反射系数算下来 (75-100)/(75+100) = -0.143,虽然不大,但在 3.4Gbps 下足以把眼图毁掉。
我的经验:别小看 10% 的阻抗失配。在 1Gbps 以下可能还能忍,到了 5Gbps 以上,5% 的失配都会让你吃不了兜着走。
3.2 源端匹配:从源头掐断反射
源端匹配,也叫串联匹配。做法很简单:在驱动器的输出端串一个电阻 Rs,让 Rs + Ro(驱动器输出阻抗)等于传输线的特性阻抗 Z0。
为什么要这么做?
因为反射的能量传回源端时,如果源端阻抗匹配,它就会被吸收掉,不会再反射回去。这样,信号在传输线上来回反射的次数就大大减少了。
具体怎么算?举个例子:
假设驱动器输出阻抗 Ro = 10Ω,PCB 走线 Z0 = 50Ω。
那么串联电阻 Rs = Z0 - Ro = 50 - 10 = 40Ω。
嗯,这里要注意:源端匹配只吸收从终端反射回来的能量,它并不能消除终端本身的反射。所以源端匹配通常用在点到点的拓扑中,而且要求终端是开路或者高阻状态。
避坑指南:我曾经在一个 DDR3 的地址线设计上用了源端匹配,结果发现信号上升沿变慢了很多。后来一查,串联电阻加上驱动器的输出阻抗,总阻抗确实匹配了,但 RC 延时也上去了。所以源端匹配要权衡信号质量和时序裕量。
3.3 末端匹配:让终端不再“反弹”
末端匹配,也叫并联匹配。做法是在接收器的输入端并联一个电阻到地(或者到电源),让终端阻抗等于 Z0。
末端匹配有两种常见形式:
- 单电阻到地:直接并联一个 Rt = Z0 的电阻到 GND。简单粗暴,但直流功耗大。
- 戴维南匹配:用两个电阻,一个上拉到 VTT,一个下拉到 GND,等效阻抗等于 Z0。优点是能提供更好的直流偏置,缺点是多了个电阻。
我个人习惯在高速差分信号(比如 HDMI、DP、PCIe)上用末端匹配。因为这些信号的接收器内部通常已经集成了 50Ω 到地的终端电阻,你只需要确保 PCB 走线的差分阻抗也是 100Ω(即单端 50Ω)就行了。
举个例子,HDMI 的 TMDS 信号:
差分阻抗要求:100Ω ± 10%
单端阻抗要求:50Ω ± 10%
接收器内部终端:每根信号线对地 50Ω
所以,你只要把 PCB 的差分走线控制在 100Ω,末端匹配就自动完成了。这也是为什么 HDMI 设计里很少看到外挂终端电阻的原因。
3.4 源端 vs 末端:怎么选?
很多新手会问:到底用源端匹配还是末端匹配?
我的回答是:看拓扑和功耗预算。
| 对比项 | 源端匹配 | 末端匹配 |
|---|---|---|
| 适用拓扑 | 点到点,单负载 | 点到点,多点总线 |
| 功耗 | 低(串联电阻不耗直流) | 高(并联电阻一直耗电) |
| 信号幅度 | 终端电压只有一半(需反射才能满幅) | 终端电压直接满幅 |
| 上升时间 | 会变慢(RC 效应) | 基本不变 |
| 典型应用 | DDR 地址/控制线、SPI、I2C | HDMI、PCIe、DDR 数据线 |
你看,没有绝对的好坏。我做过一个项目,板子上既有 DDR4 又有 HDMI。DDR 的地址线我用源端匹配,因为走线短、负载少;HDMI 的差分对我用末端匹配,因为接收器内部已经集成了。各取所需,互不干扰。
一句话总结:源端匹配适合“省电、低速、短距离”;末端匹配适合“高速、长距离、多负载”。
3.5 工程实践中的几个坑
最后,分享几个我踩过的坑,希望能帮你少走弯路。
- 电阻精度别忽视。源端匹配电阻用 5% 的贴片?我劝你换成 1%。5% 的误差在 50Ω 系统里就是 ±2.5Ω,反射系数直接翻倍。
- 布局位置要讲究。源端电阻必须紧挨着驱动器引脚放,末端电阻必须紧挨着接收器引脚放。我曾经见过有人把源端电阻放在走线中间,结果反射照样严重。
- 别忘了过孔的影响。每个过孔大约引入 2-5Ω 的阻抗不连续。如果你的走线本身只有 50Ω,一个过孔就能让反射系数跳到 0.05。多个过孔叠加,问题就大了。
- 仿真不能省。我习惯在 Layout 之前先用 HyperLynx 或者 ADS 跑一下反射仿真。哪怕只是简单的理想传输线模型,也能帮你发现 90% 的匹配问题。
我的习惯:每次画完 PCB,我都会把关键的高速信号挑出来,逐个检查源端和末端的匹配电阻。这个习惯救了我至少三次流片。
好了,这一节的内容就到这里。反射与终端匹配,说白了就是让信号在传输线上“来去自如”,不被阻抗突变绊倒。下一节我们会聊串扰和地弹,那又是另一番风景了。