3. 反射与端接技术

信号反射,说白了就是信号在传输线上跑的时候,遇到阻抗不连续的地方,一部分能量被弹回来了。这玩意儿要是处理不好,轻则信号质量下降,重则整个系统没法正常工作。我刚开始做高速设计那会儿,就吃过这个亏——一块板子调了好几天,最后发现就是一根走线的反射问题。

3.1 反射的形成机理

反射是怎么来的?核心就一句话:阻抗不匹配

信号在传输线上传播时,每时每刻都“看到”一个瞬时阻抗。如果这个阻抗突然变了,比如从50Ω变成了100Ω,信号就会有一部分能量反射回来。反射系数Γ就是用来描述这个比例的:

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

其中Z0是传输线的特性阻抗,Z_load是负载端的阻抗。

举个例子:

  • 如果Z_load = Z0,Γ = 0,没有反射——这是理想情况
  • 如果Z_load = ∞(开路),Γ = 1,信号全反射回来
  • 如果Z_load = 0(短路),Γ = -1,信号反相反射

嗯,这里要注意:反射回来的信号会跟原来的信号叠加,导致波形畸变。我在一个DDR3的项目中就遇到过,数据线反射太严重,眼图都睁不开了。

3.2 过冲与下冲

过冲和下冲,是反射最直观的表现。

  • 过冲:信号电压超过了目标高电平。比如3.3V的LVTTL信号,一下子冲到4V多
  • 下冲:信号电压低于了目标低电平。比如本该是0V,结果掉到-0.5V

为什么会这样?说白了就是反射波跟入射波叠加,产生了“振铃”现象。你想想看,信号从驱动端出发,到接收端遇到高阻抗,反射回来,再反射回去...一来二去,波形就上下震荡了。

过冲的危害很大:

  • 超过芯片的耐压值,直接烧毁IO口
  • 引起误触发,逻辑判断出错
  • 增加EMI辐射

我曾经在一个项目中,就因为过冲太大,把一颗FPGA的bank给烧了。从那以后,我对端接设计再也不敢马虎。

3.3 串联端接

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

R_series = Z0 - R_driver

比如Z0=50Ω,驱动器的输出阻抗R_driver=10Ω,那串一个40Ω的电阻就行。

它的原理是:让驱动端的输出阻抗加上串联电阻,等于传输线的特性阻抗。这样信号从源端出发时,就不会产生第一次反射。

我个人习惯在时钟信号和地址信号上用串联端接。优点是功耗低,不增加直流功耗。缺点嘛,就是接收端还是会有反射,只不过反射回来的信号会被源端吸收掉。

我的经验:串联电阻要尽量靠近驱动端放置,越近越好。我曾经见过有人把电阻放在走线中间,效果大打折扣。

3.4 并联端接

并联端接,也叫末端端接。做法是在接收端对地(或对电源)接一个电阻,阻值等于Z0。

它的原理是:让接收端的输入阻抗等于传输线的特性阻抗,这样信号到达末端时就不会反射了。

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

  • 对地并联:电阻一端接信号,一端接地
  • 对电源并联:电阻一端接信号,一端接VTT(通常是VDD/2)

并联端接的效果很好,能彻底消除反射。但代价是功耗大——直流电流一直在流。我记得在一个DDR4的设计中,用了20多路并联端接,光端接电阻就耗掉了将近1W的功率。

注意:并联端接会降低信号的摆幅。如果驱动能力不够,信号可能达不到逻辑阈值。选型时要算好驱动电流。

3.5 AC端接

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

原理是这样的:

  • 对高频信号(信号跳变沿),电容阻抗很小,相当于并联端接
  • 对直流信号,电容阻抗无穷大,没有直流功耗

AC端接的优点是功耗低,特别适合高频时钟信号。但缺点也很明显:

  • 电容会引入RC延时,影响时序
  • 对低频信号效果不好
  • 电容值要仔细选,一般取0.1μF左右

我一般在时钟频率超过100MHz时才会考虑AC端接。低频信号用这个,反而会搞出更多问题。

3.6 戴维南端接

戴维南端接,就是用两个电阻分压,等效出一个匹配阻抗。典型接法是:上拉电阻R1接VDD,下拉电阻R2接地,中间接信号线。

等效阻抗的计算:

Z_eq = (R1 * R2) / (R1 + R2)

要让Z_eq等于Z0,同时分压点电压等于VDD/2(这样信号摆幅最大)。

举个例子:Z0=50Ω,VDD=3.3V,那R1和R2都取100Ω,等效阻抗就是50Ω,分压电压是1.65V。

戴维南端接的好处是:

  • 同时提供上拉和下拉,信号质量好
  • 适合双向总线

缺点也很明显:两个电阻一直有电流,功耗是并联端接的两倍。我一般只在关键信号上用,比如复位信号、使能信号这些。

3.7 知识体系总览

下面这张图,是我自己总结的反射与端接技术的知识框架。你一看就明白了:

反射与端接技术知识体系 反射形成机理 阻抗不连续 → 反射 反射系数 Γ = (ZL-Z0)/(ZL+Z0) 过冲与下冲 过冲:电压超过高电平 下冲:电压低于低电平 端接技术 串联端接(源端) 并联端接(末端) AC端接(电容+电阻) 戴维南端接(双电阻) 四种端接方式对比 端接类型 优点 缺点 适用场景 串联 低功耗 末端仍有反射 时钟、地址 并联 消除反射彻底 功耗大 高速单向信号 AC 低功耗、高频好 有RC延时 >100MHz时钟 戴维南 信号质量好 功耗最大 关键控制信号

3.8 避坑指南

最后,我把自己这些年踩过的坑总结一下:

我曾经犯过的错误:

  • 串联电阻放得太远,离驱动端超过500mil,反射没压住
  • 并联端接的电阻功率选小了,电阻发热严重,板子都烤黄了
  • AC端接的电容用了普通MLCC,高频特性差,反而引入了更多噪声
  • 戴维南端接的两个电阻没配对,分压点偏移,信号摆幅不对称

我的建议是:做SI仿真的时候,一定要把端接方案仿真一遍。别偷懒,别凭感觉。仿真软件里跑一跑,眼图一看就知道行不行。等板子打回来再改,那成本可就高了去了。

好了,反射和端接技术就讲到这里。这些内容看着简单,但真正用好,还是需要多实践、多积累。你想想看,一根走线、一个电阻,选对了就是好设计,选错了就是灾难。细节决定成败啊。


公众号:蓝海资料掘金营,微信deep3321