4、反射与端接:反射形成机理、过冲/下冲/振铃、串联端接、并联端接、AC端接、戴维南端接

各位工程师朋友,咱们今天聊聊反射和端接。这玩意儿,说白了就是信号在传输线上“撞墙”了。我刚开始做高速设计那会儿,就被这反射折腾得够呛,板子调了三天三夜,最后发现就是一根走线没端接好。

4.1 反射形成机理

反射是怎么来的?很简单。信号在传输线上跑,它喜欢阻抗一直不变的环境。一旦遇到阻抗突变,比如从50欧姆突然变成100欧姆,信号就懵了——一部分能量继续往前走,另一部分就被弹回来了。

反射系数公式大家应该都记得:

ρ = (Z_load - Z0) / (Z_load + Z0)

Z0是传输线的特性阻抗,Z_load是负载阻抗。ρ为正,反射信号和入射信号同相;ρ为负,反相。ρ=0,完美匹配,没有反射。

我遇到过最典型的案例:一个DDR3的地址线,走线长度差了那么0.5英寸,结果反射叠加导致接收端电平判断错误。你想想看,0.5英寸,换算成时间也就60ps左右,但就是这60ps,让整个系统不稳定。

关键点:反射的严重程度取决于两个因素——阻抗不匹配的程度,以及不匹配点距离驱动端的电气长度。电气长度越长,反射回来的信号对源端的影响越晚,但造成的振铃持续时间也越长。

4.2 过冲、下冲与振铃

反射带来的直接后果就是过冲、下冲和振铃。这三个词,做SI的几乎天天挂在嘴边。

过冲:信号第一次越过目标电平,冲过头了。比如3.3V的LVTTL,信号一下子冲到4.0V。为什么会这样?因为反射回来的能量和入射信号叠加了。

下冲:和过冲相反,信号跌到目标电平以下。比如本该是0V,结果跌到-0.5V。

振铃:过冲和下冲交替出现,信号像钟摆一样来回震荡。振铃的本质就是反射信号在源端和负载端之间来回弹跳,每次弹跳能量衰减一部分,直到稳定。

我给大家一个经验值:过冲控制在信号幅度的10%以内,振铃在5%以内,一般问题不大。超过这个范围,芯片的输入保护二极管可能就会导通,长期可靠性会下降。

注意:过冲严重时,可能会损坏芯片的ESD保护结构。我曾经见过一块板子,就因为过冲达到了5.5V(3.3V系统),把FPGA的bank给烧了。排查了整整两天,最后发现是端接电阻虚焊了。

4.3 串联端接

串联端接,也叫源端端接。做法很简单:在驱动器的输出端串一个电阻,阻值等于传输线特性阻抗减去驱动器的输出阻抗。

公式:R_series = Z0 - R_driver

比如Z0=50Ω,驱动器的输出阻抗R_driver=10Ω,那么串联电阻就是40Ω。

串联端接的原理是什么?它不是在负载端消除反射,而是在源端吸收反射回来的能量。信号从驱动器出发,经过串联电阻后,看到的阻抗就是Z0,所以第一次传输没有反射。信号到达负载端,由于负载通常是高阻抗,会产生正反射,反射信号回到源端,被串联电阻和驱动器输出阻抗吸收掉。

我个人习惯在时钟线和单端信号线上用串联端接。优点是功耗低,不增加直流功耗;缺点是需要知道驱动器的输出阻抗,而且不同驱动器的输出阻抗可能不一样。

// 串联端接计算示例
// 假设:Z0 = 50Ω,驱动器输出阻抗 = 15Ω
// 串联电阻 = 50 - 15 = 35Ω
// 实际选型:33Ω或36Ω(常用标称值)
小技巧:串联电阻要尽量靠近驱动器的输出引脚放置。我一般控制在200mil以内,越近越好。远了,驱动器和电阻之间的那段走线就成了新的反射源。

4.4 并联端接

并联端接,也叫负载端端接。在接收端并联一个电阻到地(或到电源),阻值等于传输线特性阻抗。

并联端接的原理:让负载端的阻抗等于Z0,这样信号到达负载端时就不会产生反射。说白了,就是把负载端的阻抗“拉”到和传输线一样。

并联端接有两种常见形式:

  • 下拉到地:适用于信号低电平为0V的情况
  • 上拉到电源:适用于信号高电平为VCC的情况

并联端接的优点是匹配效果好,反射几乎为零。缺点也很明显——功耗大。信号为高电平时,端接电阻上有持续的直流电流流过。比如3.3V系统,50Ω端接电阻,静态功耗就是3.3²/50 ≈ 218mW。一条线就200多毫瓦,十条线就是2瓦多,发热问题不容忽视。

端接类型 优点 缺点 适用场景
串联端接 功耗低,只需一个电阻 需知道驱动器输出阻抗 单端信号,时钟线
并联端接 匹配效果好 功耗大 高速总线,差分信号

4.5 AC端接

AC端接,说白了就是并联端接的“省电版”。在并联电阻的基础上,串一个电容到地。

原理:电容对直流是开路,所以直流功耗为零。对高频信号,电容阻抗很小,相当于电阻直接到地,起到端接作用。

电容的取值很关键。时间常数RC要大于信号的上升时间,一般取3~5倍的上升时间。比如信号上升时间tr=1ns,R=50Ω,那么C至少要取:

C = 5 * tr / R = 5 * 1ns / 50Ω = 100pF

我建议AC端接用在那些频率高、但占空比变化不大的信号上。如果信号有很长的低电平或高电平保持时间,AC端接的效果会打折扣。

经验之谈:AC端接的电容要用高频特性好的MLCC,比如X7R或NP0材质。我见过有人用便宜的Z5U电容,结果高频下电容值衰减严重,端接效果大打折扣。

4.6 戴维南端接

戴维南端接,也叫分压端接。用两个电阻,一个上拉到电源,一个下拉到地,两个电阻的并联值等于传输线特性阻抗。

公式:R1 || R2 = Z0

同时,分压点电压要等于信号的阈值电压。对于CMOS电路,通常取VCC/2,所以R1 = R2 = 2 * Z0。

比如Z0=50Ω,那么R1=R2=100Ω。100Ω并联就是50Ω,完美匹配。

戴维南端接的优点:同时提供上拉和下拉,对信号的上升沿和下降沿都有很好的匹配效果。而且分压点提供了一个固定的偏置电压,有助于提高噪声容限。

缺点:两个电阻,占用面积大,而且功耗比单电阻并联端接还大(因为两个电阻都有电流流过)。

我记得有一次做DDR3的地址总线,用了戴维南端接。板子回来后,信号质量非常好,但整板功耗比预期高了将近1瓦。后来算了一下,32条地址线,每条线两个100Ω电阻,总功耗确实不小。

避坑指南:戴维南端接的两个电阻要匹配,精度最好在1%以内。我曾经用过5%精度的电阻,结果上下两个电阻偏差太大,分压点电压偏离了VCC/2,导致信号的阈值判断出问题。

4.7 端接方案选择指南

说了这么多,到底该用哪种端接?我给大家一个简单的选择思路:

  1. 先看拓扑结构:点对点还是多点总线?点对点用串联或并联都行,多点总线建议用并联或戴维南。
  2. 再看功耗预算:功耗敏感就用串联或AC端接,功耗不敏感就用并联或戴维南。
  3. 最后看信号速率:低速信号(<50MHz)其实不用端接也行,高速信号(>100MHz)必须端接。

嗯,反射和端接这块内容,说白了就是阻抗匹配的问题。你把它理解成水管——水管粗细一致,水流就顺畅;粗细突变,水就会溅出来。端接就是给信号一个“顺畅的管道”,让它跑得又快又稳。

我做了十几年PCB设计,最大的体会就是:端接不是万能的,但不端接是万万不能的。尤其是现在信号速率越来越高,2.5Gbps、5Gbps甚至更高,端接已经成了标配,不是可选项。

好了,反射与端接就讲到这里。下一章咱们聊聊串扰,那又是一个让人头疼的话题。