第四章 常见端接策略:串联、并联、AC、戴维南与差分端接
信号反射,说白了就是阻抗不匹配造成的。你想想看,信号在传输线上跑,突然遇到阻抗变化,一部分能量就弹回来了。弹回来的波叠加在原信号上,轻则过冲、振铃,重则逻辑误判。端接,就是给信号一个「合适的归宿」,让反射消失。
我刚开始做高速设计那会儿,总觉得端接是「玄学」。随便放个电阻,波形好了就完事。后来一个DDR3项目,数据眼图死活睁不开,折腾了两周才发现是端接位置放错了。嗯,从那以后,我对每种端接的适用场景和计算方法,都老老实实做了梳理。
4.1 串联端接(Source Termination)
串联端接,就是把电阻放在驱动器的输出端,靠近源端。电阻值加上驱动器的输出阻抗,等于传输线的特性阻抗 Z₀。这样,信号从源端出发时,先被分压,到达末端时全反射,叠加后刚好达到满摆幅。
我个人的习惯是,对于点对点的时钟信号,优先考虑串联端接。功耗低,只消耗信号翻转时的能量,不增加直流功耗。
例如:Z₀ = 50Ω,驱动器输出阻抗 Rdriver ≈ 10Ω,则 Rs = 40Ω。
注意,串联端接只适用于单负载。如果末端挂了多个负载,反射波会互相干扰,波形反而更差。我曾经在一个FPGA配置时钟线上用了串联端接,结果挂了三个CPLD,波形惨不忍睹。后来改成并联端接,问题才解决。
4.2 并联端接(Parallel Termination)
并联端接,是在接收端把电阻拉到电源或地。最常见的做法是拉一个电阻到地,阻值等于 Z₀。信号到达末端时,被电阻吸收,没有反射。
并联端接效果好,但代价是直流功耗。信号为高电平时,电流一直流过电阻到地。对于高速总线,比如DDR的地址/控制线,并联端接是常见选择。
| 端接类型 | 阻值计算 | 功耗 | 适用场景 |
|---|---|---|---|
| 拉到地 | Rp = Z₀ | 高(直流功耗) | 单端信号、高速总线 |
| 拉到电源 | Rp = Z₀ | 高(直流功耗) | 开路漏极/集电极 |
并联端接的缺点是驱动器的驱动能力要够强。如果驱动器输出阻抗高,拉不动电阻,信号摆幅会下降。我建议在选型时,先查一下驱动器的I-V曲线,确认它能提供足够的电流。
4.3 AC端接(AC Termination)
AC端接,说白了就是并联端接加个电容串联。电阻仍然等于Z₀,但电容隔断了直流路径。信号的高频分量被电阻吸收,低频和直流分量不受影响。
AC端接的好处是功耗低,适合需要端接但又不想浪费直流功率的场景。比如一些时钟缓冲器的输出,用AC端接可以保持共模电平不变。
例如:上升时间 Trise = 1ns,Z₀ = 50Ω,则 C ≥ 10 × (1ns / 50Ω) = 200pF。实际常用0.1μF。
嗯,这里要注意。AC端接的电容不能太小,否则信号的低频分量会被衰减,导致波形畸变。我见过有人用10pF的电容,结果信号变成了一串尖峰。电容也不能太大,否则上电瞬间的冲击电流可能损坏驱动器。
4.4 戴维南端接(Thevenin Termination)
戴维南端接,是用两个电阻分压,一个拉到电源,一个拉到地。两个电阻的并联值等于Z₀,分压点提供偏置电压。常用于HSTL和SSTL类接口,这些接口需要特定的参考电压Vref。
计算公式:
- R1 || R2 = Z₀
- Vref = VDD × R2 / (R1 + R2)
举个例子,DDR3的SSTL-15接口,VDD=1.5V,Vref=0.75V,Z₀=50Ω。取R1=R2=100Ω,并联值50Ω,分压点0.75V,完美匹配。
4.5 差分端接(Differential Termination)
差分信号,比如LVDS、CML、PECL,端接方式跟单端完全不同。差分端接是在接收端的两根线之间跨接一个电阻,阻值等于差分阻抗Zdiff。通常Zdiff = 100Ω,所以跨接电阻就是100Ω。
差分端接不参考地,只吸收差分模式的能量。共模分量不受影响。这也是差分信号抗干扰能力强的原因之一。
| 差分标准 | 差分阻抗 Zdiff | 端接电阻 | 是否需要共模偏置 |
|---|---|---|---|
| LVDS | 100Ω | 100Ω | 否 |
| CML | 50Ω | 50Ω | 是(上拉到电源) |
| PECL | 100Ω | 100Ω | 是(上拉到VDD-2V) |
我建议,差分端接的电阻要放在接收端,距离接收器引脚不超过5mm。走线要对称,等长,阻抗连续。我曾经在一个LVDS链路上,端接电阻放偏了3mm,结果眼图闭合了20%。
4.6 端接策略选择决策树
说了这么多,到底怎么选?我总结了一个简单的决策流程:
- 先看信号类型:差分还是单端?差分直接上差分端接。
- 单端信号,看拓扑:点对点且单负载?串联端接优先。
- 多负载或高速总线:并联端接或戴维南端接。
- 功耗敏感:AC端接或串联端接。
- 接口标准要求:HSTL/SSTL用戴维南,LVDS用100Ω跨接。
你想想看,端接选对了,信号质量立竿见影。选错了,轻则波形变差,重则系统不稳定。我见过太多工程师在端接上翻车,其实只要把每种端接的原理和适用场景搞清楚,设计起来并不难。