4. 反射与端接:反射的形成、源端端接、并联端接、AC端接、戴维南端接

信号反射,说白了就是信号在传输线上遇到了「阻抗突变」,一部分能量被弹了回来。你想想看,这就像水波撞到墙壁,总得有点回弹。在高速数字电路里,反射轻则让波形变丑,重则导致逻辑误判。我早年调试一块DDR3板子时,就遇到过因为反射导致数据眼图完全闭合的情况,折腾了整整三天才找到根因。

解决反射最直接的办法就是端接——让传输线的末端阻抗匹配,把能量「吃掉」。下面我把几种常见的端接方式掰开揉碎讲清楚。

4.1 反射是怎么形成的?

反射的本质是阻抗不连续。信号在传输线上传播时,每遇到一个阻抗变化点,就会产生反射。反射系数 Γ 由下式决定:

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

其中 Z_load 是负载阻抗,Z0 是传输线特性阻抗。当 Z_load = Z0 时,Γ = 0,没有反射;当 Z_load 开路(∞)时,Γ = +1,全反射且同相;当 Z_load 短路(0)时,Γ = -1,全反射且反相。

关键结论:反射的幅度和极性完全由阻抗失配程度决定。匹配越好,反射越小。

我在项目中遇到过一种情况:一个时钟信号经过一段微带线后,接收端波形出现了明显的过冲和振铃。用TDR一测,发现过孔处的阻抗从50Ω跳到了78Ω。这就是典型的阻抗突变导致反射。

4.2 源端端接(串联端接)

源端端接是我个人最常用的一种方式,简单、省电、不增加直流功耗。它的做法是在驱动器的输出端串联一个电阻 Rs,使得驱动器的输出阻抗加上 Rs 等于传输线的特性阻抗 Z0。

原理其实不复杂:信号从源端发出时,先被分压,幅度减半;到达接收端时,由于接收端输入阻抗很高(近似开路),信号发生全反射,幅度翻倍,恢复到正常逻辑电平。反射波回到源端时,被匹配的源端阻抗吸收,不再产生二次反射。

// 源端端接电阻计算示例
// 假设驱动器输出阻抗 Z_drv = 10Ω,传输线 Z0 = 50Ω
// 则串联电阻 Rs = Z0 - Z_drv = 40Ω

Rs = 50 - 10;  // 实际取标称值 39Ω 或 43Ω

我的习惯:串联电阻尽量靠近驱动器的输出引脚放置,越近越好。我曾经见过有人把电阻放在走线中间,结果反射照样严重——因为电阻到驱动器之间的那段走线仍然存在阻抗不匹配。

源端端接的优缺点很明显:

  • 优点:功耗低,不增加直流偏置;只需一个电阻;适合点对点拓扑。
  • 缺点:信号幅度减半,对接收端灵敏度有要求;不适合多负载总线。

4.3 并联端接

并联端接是在接收端将电阻拉到电源或地,让负载阻抗等于 Z0。最常见的做法是下拉到地,或者上拉到 Vcc。

并联端接能直接消除反射,因为信号到达接收端时,阻抗已经匹配好了。但代价是直流功耗——电阻上一直有电流流过。

端接方式 电阻值 直流功耗 适用场景
下拉到地 R = Z0 Voh² / R 单端信号,TTL电平
上拉到Vcc R = Z0 (Vcc - Vol)² / R 单端信号,CMOS电平

注意:并联端接的功耗不容忽视。比如50Ω下拉到地,3.3V高电平时功耗约为218mW。一条总线上如果有8个信号,光端接电阻就耗掉近2W。我曾经在一个FPGA板卡上吃过这个亏,整板温升超标,最后不得不改用源端端接。

4.4 AC端接

AC端接是并联端接的变种——在电阻后面串联一个电容。这样直流路径被电容隔断,只有交流信号才被匹配吸收。

AC端接的好处很明显:直流功耗几乎为零,同时保留了高频匹配能力。但代价是引入了RC时间常数,会影响信号的低频分量和占空比。

// AC端接的RC时间常数选择
// 假设信号最低频率 f_min = 1MHz,Z0 = 50Ω
// 要求时间常数 τ >> 1/f_min

τ = R * C > 10 / f_min;  // 取10倍周期
C > 10 / (f_min * R);
C > 10 / (1e6 * 50) = 200nF;  // 实际取220nF

嗯,这里要注意:AC端接的电容不能太大,否则上电瞬间的充电电流会很大;也不能太小,否则低频信号会被衰减。我一般取0.1μF到1μF之间,具体看信号速率。

4.5 戴维南端接

戴维南端接是用两个电阻组成分压网络,等效出一个匹配阻抗。通常一个电阻上拉到Vcc,另一个下拉到地,两个电阻的并联值等于Z0。

比如Z0=50Ω,可以选R1=R2=100Ω,并联后正好50Ω。同时分压点电压为Vcc/2,这正好是很多差分信号或HSTL电平的参考电压。

戴维南端接的独特优势:它同时提供了上拉和下拉能力,对信号的上升沿和下降沿都能提供良好的匹配。而且分压点可以作为参考电压使用,一举两得。

但缺点也很明显:两个电阻始终有电流流过,功耗比单电阻并联端接还大。以3.3V供电、100Ω+100Ω为例,静态电流约16.5mA,功耗约54mW——这还只是一个信号。

我曾经在一个DDR2的设计中用过戴维南端接,因为DDR2的ODT(片上端接)功能还没普及。那时候板子上密密麻麻排了两排0402电阻,看着就头疼。现在嘛,大多数芯片都内置了可编程端接,省事多了。

4.6 端接方式对比与选型

下面这张表是我多年总结的选型参考:

端接类型 功耗 元件数 拓扑适用 信号质量 我的推荐
源端串联 低 1个电阻 点对点 良好 首选,简单可靠
并联到地/电源 高 1个电阻 点对点/多点 优秀 功耗允许时可用
AC端接 极低 1R+1C 点对点 良好 低频信号慎用
戴维南 最高 2个电阻 多点总线 优秀 DDR/HSTL专用

选型时我一般遵循这个思路:

  1. 点对点拓扑 → 源端串联端接,简单、省电、效果好。
  2. 多点总线 → 戴维南端接或并联端接,保证每个负载点的信号质量。
  3. 功耗敏感 → AC端接或源端串联,避免直流损耗。
  4. 高速差分 → 差分对端接(100Ω跨接),这个后面章节会细讲。

4.7 知识体系总览

下面这张图把本章的核心逻辑串起来了:

反射与端接知识体系 反射形成 阻抗不连续 → 能量回弹 Γ = (ZL - Z0)/(ZL + Z0) 解决 源端串联端接 Rs = Z0 - Zdrv 并联端接 R = Z0 到地/电源 AC端接 R + C 隔直流通交流 戴维南端接 R1∥R2 = Z0 选型 选型依据 • 拓扑:点对点/多点 • 功耗预算 • 信号速率 • 电平标准 • 元件成本 • PCB空间 • 芯片ODT能力 • 调试复杂度 实践建议 仿真验证 + 实测调整

我的经验之谈:端接不是万能的。如果PCB走线本身就有很多过孔、拐角、分支,再好的端接也救不了。先把布局布线做好,再用端接锦上添花。我曾经见过一块板子,走线绕了七八个弯,末端加了精密端接,信号质量依然一塌糊涂——根源在走线拓扑,不在端接。

反射和端接这部分内容,说白了就是「阻抗匹配」四个字。理解反射系数,掌握四种端接方式的优缺点,再结合具体项目需求做选择,基本就能应对90%的场景。剩下的10%,靠仿真和实测去微调。