第四章 常见端接策略:串联、并联、AC、戴维南与差分端接

信号反射,说白了就是阻抗不匹配造成的。你想想看,信号在传输线上跑,突然遇到阻抗变化,一部分能量就弹回来了。弹回来的波叠加在原信号上,轻则过冲、振铃,重则逻辑误判。端接,就是给信号一个「合适的归宿」,让反射消失。

我刚开始做高速设计那会儿,总觉得端接是「玄学」。随便放个电阻,波形好了就完事。后来一个DDR3项目,数据眼图死活睁不开,折腾了两周才发现是端接位置放错了。嗯,从那以后,我对每种端接的适用场景和计算方法,都老老实实做了梳理。

核心原则:端接的本质是让传输线末端(或源端)的阻抗与传输线特性阻抗 Z₀ 匹配,消除反射。选哪种,取决于功耗、拓扑、信号类型。
常见端接策略知识体系 端接策略选择 串联端接 并联端接 AC端接 戴维南端接 差分端接 各端接适用场景速览 • 串联端接:点对点、低速/中速时钟、单负载 • 并联端接:高速总线、多负载、需要强驱动 • AC端接:需要隔直流、低功耗场景 • 戴维南端接:HSTL、SSTL类接口、差分对共模偏置 • 差分端接:LVDS、CML、PECL等差分信号

4.1 串联端接(Source Termination)

串联端接,就是把电阻放在驱动器的输出端,靠近源端。电阻值加上驱动器的输出阻抗,等于传输线的特性阻抗 Z₀。这样,信号从源端出发时,先被分压,到达末端时全反射,叠加后刚好达到满摆幅。

我个人的习惯是,对于点对点的时钟信号,优先考虑串联端接。功耗低,只消耗信号翻转时的能量,不增加直流功耗。

计算公式: Rs = Z₀ - Rdriver
例如: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端接可以保持共模电平不变。

电容选择: C ≥ 10 × (Trise / Z₀)
例如:上升时间 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%。

实战技巧:对于CML和PECL,除了差分端接电阻,还需要共模偏置网络。CML通常内部已有上拉,外部只需跨接电阻。PECL则需要外部电阻分压提供共模电平。查芯片手册,别想当然。

4.6 端接策略选择决策树

说了这么多,到底怎么选?我总结了一个简单的决策流程:

  1. 先看信号类型:差分还是单端?差分直接上差分端接。
  2. 单端信号,看拓扑:点对点且单负载?串联端接优先。
  3. 多负载或高速总线:并联端接或戴维南端接。
  4. 功耗敏感:AC端接或串联端接。
  5. 接口标准要求:HSTL/SSTL用戴维南,LVDS用100Ω跨接。

你想想看,端接选对了,信号质量立竿见影。选错了,轻则波形变差,重则系统不稳定。我见过太多工程师在端接上翻车,其实只要把每种端接的原理和适用场景搞清楚,设计起来并不难。

最后提醒一句:端接不是万能的。如果走线阻抗本身不连续,端接也救不了。先把阻抗控制做好,再谈端接。这是顺序问题,别搞反了。