4. 反射与端接技术
反射这东西,说白了就是信号在传输线上跑的时候,遇到了阻抗不连续的地方,一部分能量弹回来了。你想想看,信号就像一列火车,轨道突然变窄或者变宽,能不颠簸吗?
我刚入行那会儿,调试一块高速板,眼图总是张不开。折腾了好几天,最后发现就是一个过孔的阻抗没控制好,反射把信号质量全毁了。从那以后,我对反射问题就特别敏感。
4.1 反射产生的机理
信号在传输线上传播时,每时每刻都“看到”一个瞬时阻抗。这个阻抗就是传输线的特性阻抗 Z₀。当信号到达阻抗变化点——比如走线宽度突变、过孔、连接器、或者接收器输入端——一部分能量会继续向前传输,另一部分就会反射回来。
为什么会这样?因为信号需要满足电压和电流的连续性。在阻抗突变点,入射波和反射波叠加,才能同时满足两边的电压电流关系。
核心结论:反射的根本原因是阻抗不连续。只要传输路径上任意一点的阻抗与前一瞬间的阻抗不同,就会产生反射。
4.2 反射系数与传输系数
反射的大小用反射系数 Γ 来描述。它定义在阻抗突变点,是反射电压与入射电压的比值。
Γ = (Z_load - Z₀) / (Z_load + Z₀)
其中 Z_load 是突变点之后的等效阻抗,Z₀ 是传输线的特性阻抗。
传输系数 T 则是传输电压与入射电压的比值:
T = 1 + Γ = 2 * Z_load / (Z_load + Z₀)
这两个系数决定了信号在阻抗不连续点怎么分家。我习惯把 Γ 看作“反弹比例”,T 看作“通过比例”。
| 负载情况 | Z_load 与 Z₀ 关系 | 反射系数 Γ | 传输系数 T | 现象 |
|---|---|---|---|---|
| 匹配 | Z_load = Z₀ | 0 | 1 | 无反射,完美传输 |
| 开路 | Z_load = ∞ | +1 | 2 | 全反射,电压加倍 |
| 短路 | Z_load = 0 | -1 | 0 | 全反射,电压反相 |
| 欠匹配 | Z_load < Z₀ | 负值 | <1 | 反射波与入射波反相 |
| 过匹配 | Z_load > Z₀ | 正值 | >1 | 反射波与入射波同相 |
我的经验:实际设计中,反射系数绝对值控制在 0.1 以内,信号质量基本可接受。超过 0.2 就要小心了,眼图可能会明显闭合。
4.3 端接技术概述
端接的目的只有一个:消除或减小反射。说白了,就是在传输线的源端或末端,人为加上一个电阻,让阻抗匹配起来。
下面这张图展示了反射与端接的核心逻辑关系:
4.4 源端串联端接
源端串联端接,就是在驱动器的输出端串一个电阻 Rₛ。这个电阻加上驱动器的输出阻抗 Rₒ,要等于传输线的特性阻抗 Z₀。
Rₛ + Rₒ = Z₀
工作原理是这样的:信号从驱动器发出,先被 Rₛ 和 Rₒ 分压,幅度减半。信号跑到末端,遇到高阻抗的接收器,发生正反射,电压翻倍,正好恢复到正常幅度。反射波回到源端,被匹配的源端吸收,不再反弹。
我特别喜欢这种端接方式。为什么?因为它不消耗直流功耗。信号在稳态时,线上没有电流流过 Rₛ。这在低功耗设计中是很大的优势。
我的习惯:对于 DDR 地址/控制信号,我几乎都用源端串联端接。一般串 22Ω 或 33Ω,具体值根据驱动器的输出阻抗调整。记得要查芯片手册的 Rₒ 值。
4.5 并联端接
并联端接是在接收器输入端,对地接一个电阻 Rₚ,让 Rₚ 等于 Z₀。这样信号到达末端时,看到的阻抗就是 Z₀,没有反射。
并联端接效果很好,但有个致命缺点:直流功耗大。信号为高电平时,电流从驱动器经过传输线,再通过 Rₚ 流到地。这个电流可不小。
I = Vₒₕ / (Rₒ + Z₀ + Rₚ) ≈ Vₒₕ / (2 * Z₀)
举个例子,Z₀ = 50Ω,Vₒₕ = 3.3V,电流大约 33mA。一条线就 33mA,16 条数据线就是 528mA。这个功耗在很多系统中是难以接受的。
我曾经踩过的坑:在一个多负载的 HSTL 接口上用了并联端接,结果电源芯片过热保护了。后来换成戴维南端接才解决问题。并联端接适合单负载、对功耗不敏感的场景。
4.6 AC 端接
AC 端接是并联端接的改进版。它在并联电阻 Rₚ 的基础上,串联一个电容 Cₐc 到地。
电容的作用是隔断直流路径。对于高频信号,电容阻抗很小,Rₚ 起作用,实现阻抗匹配。对于直流,电容开路,没有直流功耗。
AC 端接的难点在于电容值的选取。电容太小,低频分量反射严重;电容太大,上电瞬间的浪涌电流可能很大。
Cₐc > 10 / (2π * f_min * Rₚ)
其中 f_min 是信号的最低有效频率分量。对于一般的时钟信号,取信号频率的 1/10 作为 f_min 就够用了。
实用建议:AC 端接适合高频、低占空比的信号。比如 PCIe 的参考时钟,我就常用 AC 端接。电容一般选 0.1μF 或 0.01μF,具体看信号速率。
4.7 戴维南端接
戴维南端接用两个电阻 R₁ 和 R₂ 组成分压器,接在接收器输入端。R₁ 上拉到电源,R₂ 下拉到地。两个电阻的并联值要等于 Z₀。
R₁ || R₂ = Z₀
戴维南端接的好处是:它同时提供上拉和下拉,可以给接收器提供一个稳定的偏置电压。对于某些需要参考电压的接口标准(比如 HSTL、SSTL),戴维南端接是天然的选择。
缺点也很明显:两个电阻始终有电流流过,直流功耗比并联端接还大。不过,如果 R₁ 和 R₂ 取值合理,功耗可以控制在可接受范围。
| 端接类型 | 典型拓扑 | 直流功耗 | 适用场景 | 注意事项 |
|---|---|---|---|---|
| 源端串联 | 源端串 Rₛ | 低 | DDR 地址/控制、点对点 | 需知道驱动器输出阻抗 |
| 并联端接 | 末端对地接 Rₚ | 高 | 单负载、高频时钟 | 功耗大,注意散热 |
| AC 端接 | 末端 Rₚ + Cₐc 到地 | 低 | 高频、低占空比信号 | 电容值需计算 |
| 戴维南端接 | 末端 R₁ 上拉 + R₂ 下拉 | 中高 | HSTL、SSTL 接口 | 提供偏置电压 |
4.8 端接技术的选择策略
选哪种端接,没有标准答案。我一般按下面几个维度来权衡:
- 功耗预算:如果系统对功耗敏感,优先选源端串联或 AC 端接。
- 信号速率:高速信号(>1Gbps)推荐用并联或戴维南端接,反射控制更彻底。
- 负载数量:单负载用源端串联就够;多负载要考虑拓扑结构,可能需要末端端接。
- 接口标准:有些标准强制要求端接方式,比如 DDR4 的 VTT 端接就是戴维南结构。
- PCB 面积:源端串联只用一个电阻,最省面积。戴维南要用两个,AC 端接还要加电容。
我的经验法则:不确定的时候,先用仿真跑一下。我用 HyperLynx 或 ADS 做时域反射(TDR)仿真,看看反射系数和眼图。仿真结果比经验公式靠谱得多。
反射与端接,是信号完整性最基础也最重要的内容。你想想看,只要阻抗匹配做好了,一大半的信号完整性问题就解决了。我见过太多工程师在复杂的 EMI 问题、串扰问题上花大量时间,结果根源就是反射没处理好。先把反射搞定,再谈其他。