4. 反射与端接技术:源端端接、并联端接、AC端接、戴维南端接的选型与布局
反射,说白了就是信号在传输线上跑的时候,遇到阻抗突变点,一部分能量被弹了回来。你想想看,这就像水波撞到墙壁,总得溅点回去。在高速PCB里,反射轻则让信号边沿变差,重则导致逻辑误判。我早年做一块DDR3板子时,就因为一个地址线的反射没处理好,系统跑着跑着就随机死机,查了整整三天才定位到——从那以后,我对端接技术再也不敢马虎。
解决反射最直接的办法,就是让源端、负载端或者传输线上的阻抗匹配起来。端接技术就是干这个的。今天我把四种最常用的端接方案掰开揉碎讲清楚,包括它们的选型逻辑和布局要点。
4.1 反射是怎么产生的?
先简单回顾一下反射的物理本质。信号在传输线上传播时,每时每刻都“看到”一个瞬时阻抗。如果这个阻抗在某个点发生变化,比如从50Ω变成100Ω,那信号的一部分能量就会反射回源端。
反射系数Γ的计算公式很简单:
Γ = (Z_load - Z0) / (Z_load + Z0)
其中Z_load是负载端的输入阻抗,Z0是传输线的特性阻抗。如果Z_load等于Z0,Γ为0,没有反射。如果Z_load开路(无穷大),Γ为1,信号全反射。如果Z_load短路(0Ω),Γ为-1,信号反相反射。
嗯,这里要注意:反射不是一次就结束的。反射波回到源端后,如果源端也不匹配,会再次反射,形成来回震荡。这就是你经常在仿真波形上看到的过冲、下冲和振铃。
核心原则:反射的根源是阻抗不连续。端接的本质就是人为制造一个匹配的阻抗,把反射能量吸收掉。
4.2 四种端接技术详解
下面这四种端接方案,我按使用频率和场景来排。每种我都会讲清楚原理、适用场景、布局要点,以及我踩过的坑。
4.2.1 源端端接(串联端接)
源端端接是最简单、最省钱的一种方案。做法是在驱动器的输出引脚附近,串联一个电阻Rs,然后接到传输线上。
原理是这样的:驱动器的输出阻抗通常比较低,比如10Ω~20Ω。串联一个电阻后,让源端的总输出阻抗等于传输线的特性阻抗Z0。这样,从负载端反射回来的信号到达源端时,就被匹配的源端吸收掉了,不会再次反射。
我个人习惯用源端端接来处理点对点的时钟信号和地址信号。它的优点很明显:只加一个电阻,不增加直流功耗,信号摆幅只损失一点点。
布局要点:
- 电阻必须紧挨着驱动器的输出引脚放置,走线越短越好。我一般控制在200mil以内。
- 电阻到驱动器之间的过孔要尽量避免,如果实在避不开,至少保证电阻在过孔和驱动器之间。
- 电阻值的选择:Rs = Z0 - R_driver。比如Z0=50Ω,驱动器输出阻抗15Ω,那Rs选33Ω或35Ω。
我曾经踩过的坑:有一块板子,源端端接电阻放在了传输线的中间位置,结果反射不但没消除,反而因为阻抗突变点增加,产生了更复杂的振铃。记住,源端端接的电阻必须放在源端,不是中间,也不是末端。
4.2.2 并联端接(末端下拉/上拉)
并联端接是在传输线的末端,对地(或对电源)接一个电阻,让负载端的输入阻抗等于Z0。这样信号到达末端时,能量被电阻吸收,不会反射回去。
并联端接有两种常见形式:
- 下拉到地:电阻一端接信号线,一端接地。适用于驱动器输出高电平能力强的场景。
- 上拉到电源:电阻一端接信号线,一端接VCC。适用于驱动器输出低电平能力强的场景。
并联端接的匹配效果很好,但有个致命缺点:直流功耗大。因为信号线上一直有电流流过电阻。比如50Ω端接电阻,3.3V电源,静态电流就有66mA,一条线就吃掉200多mW。你想想看,几十条地址线数据线加起来,功耗相当可观。
布局要点:
- 电阻必须放在传输线的末端,紧挨着接收器的输入引脚。
- 电阻到地的回路要短,过孔要靠近电阻的接地焊盘。
- 如果使用上拉到电源,电源的退耦电容要靠近端接电阻放置。
| 端接类型 | 匹配效果 | 直流功耗 | 信号摆幅 | 适用场景 |
|---|---|---|---|---|
| 源端端接 | 良好 | 低 | 略有损失 | 点对点时钟、地址 |
| 并联端接 | 优秀 | 高 | 无损失 | 高速总线、差分对 |
| AC端接 | 良好 | 中 | 无损失 | 高频、低功耗需求 |
| 戴维南端接 | 优秀 | 高 | 无损失 | 多负载、双向总线 |
4.2.3 AC端接
AC端接是并联端接的改进版。它在并联电阻的基础上,串联一个电容到地。这样直流路径被电容隔断,只有交流信号(也就是高速跳变)才能通过电阻被吸收。
AC端接的好处很明显:直流功耗几乎为零,同时保留了并联端接良好的高频匹配效果。我一般在处理高频时钟信号或者对功耗敏感的场合使用AC端接。
布局要点:
- 电阻和电容串联后放在传输线的末端。
- 电容的值要选好:时间常数RC要大于信号周期的5倍以上,否则低频分量会被衰减。
- 电容的ESR要低,推荐使用X7R或C0G材质的MLCC。
我的经验:AC端接的电容值一般选0.1μF到1μF之间。如果信号频率很高,比如1GHz以上,电容值可以适当减小到10nF左右。但要注意,电容太小会导致信号的低频分量丢失,波形会变形。
4.2.4 戴维南端接
戴维南端接是用两个电阻组成分压网络,一个上拉到电源,一个下拉到地。两个电阻的并联等效电阻等于Z0,同时分压点提供中间电平。
这种端接方式特别适合多负载的情况,比如DDR地址总线,一个驱动器要驱动多个接收器。戴维南端接能提供很好的匹配效果,而且不挑驱动器的输出能力——上拉和下拉都有电阻帮忙。
但代价也很明显:两个电阻一直有电流流过,直流功耗比并联端接还大。比如两个100Ω电阻组成50Ω等效阻抗,3.3V电源下,静态电流33mA,功耗约110mW。
布局要点:
- 两个电阻必须放在传输线的末端,紧挨着最后一个负载。
- 上拉电阻的电源和下拉电阻的地,都要有良好的退耦。
- 两个电阻的摆放要对称,走线要等长,避免引入额外的阻抗不连续。
4.3 端接选型决策流程
说了这么多,到底该选哪种?我一般按下面这个流程来决策:
- 先看拓扑结构:点对点还是多点?点对点优先考虑源端端接或AC端接。
- 再看功耗预算:功耗敏感就用源端端接或AC端接,不敏感可以用并联或戴维南。
- 然后看信号频率:高频信号(>100MHz)优先用并联或戴维南,匹配效果更好。
- 最后看驱动器能力:驱动器输出阻抗已知且稳定,源端端接最省事。驱动器输出阻抗变化大,用末端端接更可靠。
我的个人习惯:时钟信号用源端端接,地址信号用戴维南端接,数据信号用并联端接。这个组合在大多数DDR和高速串行设计中都能工作得很好。
4.4 端接布局的通用原则
不管你选哪种端接方案,布局上都有一些共通的原则。我总结成下面几条:
- 端接电阻要靠近目标引脚:源端端接靠近驱动器,末端端接靠近接收器。距离越短,端接效果越好。
- 避免端接电阻引入分支:电阻应该串在信号路径上,而不是从信号线上分出一个分支。分支会产生额外的反射。
- 电源和地的回路要短:端接电阻到电源或地的过孔,要尽量靠近电阻焊盘。回路电感越小,高频性能越好。
- 多个端接电阻要对称布局:比如戴维南端接的两个电阻,走线长度要一致,避免产生时序偏差。
- 仿真验证不可少:我每次布完板都会用HyperLynx或ADS跑一下端接的时域反射(TDR)仿真,看看实际匹配效果。仿真能发现很多肉眼看不出来的问题。
我曾经犯过的错:有一块板子,为了节省空间,把戴维南端接的两个电阻放在了板子的背面,结果因为过孔引入的寄生电感,高频匹配效果大打折扣。后来我改到正面紧挨着接收器,问题就解决了。端接电阻的位置,真的不能妥协。
4.5 端接技术知识体系图
下面这张图把四种端接技术的核心逻辑、选型依据和布局要点串在了一起。你可以把它当作快速参考。