4、反射与端接:反射的形成机制、源端端接、并联端接、AC端接、戴维南端接
4.1 反射是怎么来的?
信号反射,说白了就是能量没传出去,被弹回来了。
你想想看,信号在传输线上跑,就像水在管道里流。管道粗细均匀,水流就顺畅。突然管道变细了,或者变粗了,水就会撞一下,产生回波。电信号也一样——它遇到阻抗突变,就会反射。
反射系数 Γ 的公式很简单:
Γ = (Z_load - Z0) / (Z_load + Z0)
Z0 是传输线的特性阻抗,Z_load 是负载阻抗。Γ 的范围在 -1 到 1 之间。
- Γ = 0:完美匹配,没有反射。这是理想情况。
- Γ = 1:开路,信号全反射回来,极性不变。
- Γ = -1:短路,信号全反射回来,极性翻转。
我在项目中遇到过一块 DDR 板子,时钟信号过冲特别严重。查了半天,发现是末端电阻虚焊,相当于开路。焊上之后,波形立马干净了。嗯,反射这东西,看不见摸不着,但示波器上一眼就能看出来。
反射的后果:
- 过冲(Overshoot)—— 电压超过接收器耐受范围,可能烧芯片
- 下冲(Undershoot)—— 电压低于阈值,导致误触发
- 振铃(Ringing)—— 信号来回反射,波形像荡秋千
- 台阶(Staircase)—— 反射波叠加,信号上升沿变慢
4.2 反射的直观理解
我画了一张图,帮你把反射的路径看清楚。
4.3 源端端接(串联端接)
源端端接,就是在驱动器的输出端串一个电阻。这个电阻加上驱动器的输出阻抗,正好等于传输线的特性阻抗。
公式很简单:Rs + Rdriver = Z0
举个例子,驱动器的输出阻抗是 10Ω,Z0 是 50Ω,那串联电阻就是 40Ω。
我的经验:源端端接是我用得最多的方法。它不耗静态功耗,只消耗动态功耗。对于 CMOS 电路来说,这简直是天作之合。我曾经在一个 FPGA 项目中,所有高速时钟都用串联端接,功耗控制得很好。
源端端接的优点:
- 功耗低,没有直流电流
- 只需要一个电阻,成本低
- 适合点对点连接
缺点:
- 信号幅度会减半(分压效应),接收端需要高阻抗输入
- 不适合多点负载(菊花链或星形拓扑)
4.4 并联端接
并联端接,就是在接收端对地(或对电源)接一个电阻,阻值等于 Z0。
说白了,就是让负载端的阻抗和传输线匹配,让信号「有去无回」。
两种常见形式:
- 对地并联:R = Z0,信号拉到地
- 对电源并联:R = Z0,信号拉到 Vcc
注意:并联端接会一直消耗直流电流。比如 50Ω 端接,3.3V 供电,静态电流就是 66mA。如果板子上有几十路信号,功耗就上去了。我曾经吃过这个亏,一个 32 位总线的板子,光端接就耗了 2W,散热片都压不住。
并联端接的适用场景:
- 接收端是低阻抗输入(如 ECL、PECL 逻辑)
- 信号频率高,需要最好的信号质量
- 可以容忍一定的静态功耗
4.5 AC 端接
AC 端接,就是在并联端接的基础上串一个电容。电容隔直,所以直流功耗没了。但电容对高频信号是短路的,所以高频匹配效果还在。
电路结构:R = Z0,C 的容抗在目标频率下远小于 R。
电容怎么选?一般取 C ≥ 10 / (2π × f × R),其中 f 是信号的最低频率分量。
AC 端接的优缺点:
| 优点 | 缺点 |
|---|---|
| 无直流功耗 | 增加一个电容,成本略高 |
| 匹配效果好 | 电容有寄生参数,高频受限 |
| 适合突发信号 | 对占空比敏感,长串 0 或 1 会漂移 |
我个人习惯在 DDR 数据线上用 AC 端接。DDR 信号是双向的,源端和末端都在变,AC 端接能兼顾两边。不过要注意,电容的耐压和温度特性要选好,不然信号质量会随温度漂移。
4.6 戴维南端接
戴维南端接,就是用两个电阻分压,等效出一个匹配阻抗。一个电阻拉到 Vcc,一个拉到 GND。
两个电阻的并联值等于 Z0:R1 || R2 = Z0
同时,分压点电压要等于接收器的阈值电压(通常是 Vcc/2)。
举个例子,Z0 = 50Ω,Vcc = 3.3V:
- 取 R1 = 82Ω(拉到 Vcc),R2 = 130Ω(拉到 GND)
- 并联值:82 || 130 ≈ 50Ω ✓
- 分压点:3.3 × 130 / (82 + 130) ≈ 2.02V ✓
避坑指南:戴维南端接的静态功耗比并联端接还大。两个电阻都在耗电。我曾经在一个 16 位总线上用了戴维南端接,结果板子温度比预期高了 15°C。后来换成了源端端接,温度才降下来。所以,功耗敏感的设计要慎用。
戴维南端接的适用场景:
- 需要偏置电压的接收器(如某些差分接收器)
- 信号质量要求极高,且功耗不是问题
- 多点负载,需要稳定的直流偏置
4.7 四种端接对比
我把四种端接放在一起,方便你对比选择。
| 端接类型 | 位置 | 功耗 | 元件数 | 适用拓扑 | 信号幅度 |
|---|---|---|---|---|---|
| 源端(串联) | 驱动端 | 低(动态) | 1 电阻 | 点对点 | 减半 |
| 并联 | 接收端 | 高(静态) | 1 电阻 | 点对点/多点 | 完整 |
| AC 端接 | 接收端 | 低(动态) | 1 电阻 + 1 电容 | 点对点/双向 | 完整 |
| 戴维南 | 接收端 | 高(静态) | 2 电阻 | 多点/需偏置 | 完整 |
4.8 我的选择建议
做了十几年硬件,我总结了几条经验:
- 普通 CMOS 信号,点对点 —— 首选源端端接。功耗低,简单可靠。
- 高频信号,接收端低阻抗 —— 用并联端接。别心疼那点功耗,信号质量第一。
- 双向总线,比如 DDR —— AC 端接是好朋友。电容选 X7R 或 NP0,别用 Y5V。
- 需要偏置电压,或者信号质量要求极高 —— 戴维南端接。但要做好散热。
嗯,端接这件事,没有银弹。每种方法都有它的脾气。关键是理解你的信号、你的拓扑、你的功耗预算,然后做出取舍。