4 反射与端接

反射,说白了就是信号在传输线上遇到阻抗突变时,一部分能量弹回来的现象。你想想看,信号在走线上跑,好比水在管道里流;管道突然变细或者堵个东西,水就会往回溅。电信号也一样,阻抗不连续的地方就是弹回点。

我在早期做DDR3设计时,就因为没处理好反射,导致数据眼图闭合严重,整整排查了两周。后来老老实实地把端接加上,眼图一下就开了。这一课咱们就把反射的根儿挖清楚,再把四种常用端接方案讲透。

4.1 反射是怎么产生的?

反射的核心是阻抗不匹配。信号到达驱动端、接收端,或者经过过孔、分支、连接器时,如果瞬间阻抗与传输线特性阻抗Z0不一致,就会发生反射。

反射系数Γ(gamma)定义如下:

Γ = (Z_load - Z0) / (Z_load + Z0)
  • Γ 为0 → 完全匹配,无反射。
  • Γ 为正 → 反射信号与入射同极性(开路时Γ=+1)。
  • Γ 为负 → 反射信号与入射反向(短路时Γ=-1)。

高速信号通常要求Γ控制在±0.1以内,否则过冲/下冲就会超过10%的阈值。

实战小技巧: 我习惯在仿真时先跑一段“最坏情况阻抗扫描”,把走线宽度、叠层厚度、参考平面距离都设成公差极限,看看反射边沿还在不在容忍范围里。这一步能提前暴露制板后的风险。

为什么反射会在接收端引起过冲、下冲甚至振铃?因为反射波折返回源端又会再次反射,来回折腾形成驻波。信号质量恶化的直接表现就是时序余量缩减、误码率飙升。

4.2 端接:给信号一个“安静”的终点

端接的目的就是在阻抗突变点加一个匹配电阻,把多余的反射能量吸收掉。按位置和形式可分为四类:

端接类型 放置位置 匹配对象 典型阻值 功耗
源端端接 驱动端串联 驱动输出阻抗 Rs ≈ Z0 – Rd 低
并联端接 接收端对地/电源 传输线阻抗 R = Z0 高
AC端接 接收端串联RC 传输线阻抗 R = Z0, C 隔直 中
戴维南端接 接收端分压 传输线阻抗 R1∥R2 = Z0 中

下面我把每种端接的细节掰开揉碎了讲。

4.2.1 源端端接(串联端接)

在驱动器的输出引脚附近串一个小电阻Rs,让驱动总输出阻抗等于Z0。这样第一次反射从接收端回来时,源端阻抗匹配就不再产生二次反射。源端端接只吸收一次反射波,但带来的好处是功耗很低——因为信号在驱动端直接就被衰减了。

// 源端端接仿真:HyperLynx 中设置
// 驱动: 3.3V CMOS, 输出阻抗 ~10Ω
// 走线 Z0 = 50Ω
// 计算 Rs = 50 – 10 = 40Ω
// 串联电阻放在距焊盘 0.5 inch 以内

优点: 只用一个电阻,不增加额外功耗,适用于点对点拓扑。
缺点: 信号幅度会被分压,接收端只能收到一半摆幅(如果源端匹配完美),且多负载时效果差。

个人经验: 我在做SPI Flash高速通信时,用了源端端接把CLK线上的振铃从0.8V降到0.15V。注意串阻要靠近驱动端,别放反了方向 – 我见过有人把电阻焊到接收端,结果反射更严重。

4.2.2 并联端接

在接收端加一个对地(或对VTT电源)的电阻R,阻值等于Z0。信号到末端直接“看到”匹配阻抗,一次反射都被吸收干净。并联端接效果最好,但电阻上一直有直流电流,功耗大,而且需要额外的VTT电源轨。

我曾经在DDR2的地址线上用过并联端接到VTT=VDDQ/2,结果板子背面多了一排排电阻,电源层也加了一层。功耗和布局复杂度都要提前评估。

项目 并联到GND 并联到VTT
直流功耗 Voh² / R (Voh-VTT)² / R
共模电平 0 VTT
适用信号 单端(LVCMOS) 单端(SSTL/HSTL)

4.2.3 AC端接

在接收端串联一个电容后再对地接电阻,电容隔直流,电阻匹配高频。AC端接的功耗比纯并联低,因为直流被电容阻断,只有交流信号才会被电阻吸收。

AC端接常用于时钟线或高频少量差分信号,但电容的ESR和寄生电感会影响高频性能。我一般在仿真里把电容模型换成实际厂商的S参数模型,否则仿真带宽不够会漏掉反射细节。

// AC端接典型值(100MHz时钟)
// Z0 = 50Ω,选择 R = 49.9Ω
// 隔直电容 C = 0.1µF(fc ≈ 32kHz)
// 注意:电容谐振频率要高于信号频率的3倍以上
避坑: 我曾经在DDR3参考电压VREF上用AC端接,结果没注意电容的耐压,焊上去一通电电容击穿短路,直接把参考电压拉到GND,系统死机。后来换了X7R 10V的电容才稳定。

4.2.4 戴维南端接

用两个电阻组成分压器,等效电阻等于Z0,同时提供一个中间偏置电压。戴维南端接既能吸收反射,又能设定输入阈值,特别适用于差分信号或需要共模偏置的场景。

假设Z0=50Ω,VDD=3.3V,希望等效电阻为50Ω,偏置1.65V,可以选R1= R2=100Ω(100∥100=50Ω)。

戴维南端接设计公式:
R1 = 2 * Z0 * VDD / Vbias
R2 = 2 * Z0 * VDD / (VDD - Vbias)
// 例子:VDD=3.3V, Vbias=1.65V, Z0=50Ω
// R1 = 2*50*3.3/1.65 = 200Ω
// R2 = 2*50*3.3/(3.3-1.65)= 200Ω
// 等效 = 200∥200 = 100Ω ≠ 50Ω?这个公式有问题,实际用R1∥R2 = Z0。
// 更简单:选R1=R2=2*Z0 (如100Ω),则等效Z0=50Ω,偏压=VDD/2。

戴维南端接的电阻总功耗比并联端接略低,但需要两个电阻,占板面积大。我通常在总线拓扑用戴维南,点对点直接上并联端接算了。

4.3 端接方案怎么选?

以下是我多年总结的管理原则:

  • 点对点低速(<50MHz):源端端接就够了,省钱省空间。
  • 点对点高速(>50MHz):并联端接最干净,接受功耗和额外电源。
  • 多点负载(Fly-by 拓扑):戴维南端接或者AC端接,既能匹配又能防过冲。
  • 差分信号:直接差分端接(100Ω跨在P/N之间),跟单端端接不是一回事。

你想想看,一个PCIe Gen4走线如果用源端端接,眼图根本过不了。该花成本的地方别省,这就是高速设计的代价。

反射与端接知识体系 反射产生机理 阻抗不连续 → 反射系数Γ 源端端接 串联电阻Rs 并联端接 电阻R到GND/VTT AC端接 串联RC网络 戴维南端接 分压电阻对 端接选择小抄: 点对点低速→源端;点对点高速→并联;多负载Fly-by→戴维南或AC;差分→差分端接。 优点 低功耗,一个电阻 优点 匹配最好,振铃最小 优点 无直流功耗 优点 可调偏置电平 缺点 只适合点对点,幅度减半 缺点 功耗大,需VTT电源 缺点 电容寄生,带宽受限 缺点 占面积大
仿真验证建议: 无论选哪种端接,先跑TDR仿真看整个链路的阻抗轮廓,再跑瞬态看眼图。我习惯把收发器IBIS模型带进去,只靠理想电阻搭出来,有时候过冲能藏起来,加上封装寄生就现形了。

好了,反射和端接的基本功就到这里。把这四类端接的原理和代价记牢,以后设计高速总线时,心里就有谱了。记住:匹配是做出来的,不是算出来的——仿真跑一跑,比纸上谈兵管用一百倍。