第2章 传输线理论基础:特性阻抗、传播延迟、反射系数、阻抗匹配
2.1 为什么走线突然变成了传输线?
刚入行的时候我总觉得,一根铜线而已,哪有那么玄乎?后来在DDR3项目里遇到信号塌边,眼图闭合,查了半天才发现是走线没按传输线处理。嗯,从那以后我不敢再小看这根“铜线”了。
高频信号在PCB上跑,波长变短。当走线长度超过信号上升沿对应波长的1/10时,它就不再是普通连线,而是一根不折不扣的传输线。说白了,你接的不是电阻电容,是分布参数网络。
2.2 特性阻抗:传输线的“身份证”
特性阻抗 Z₀ 不是直流电阻,是高频信号沿线传播时感受到的阻抗。它由线宽、介质厚度、介电常数、铜厚共同决定。单位是Ω,常见50Ω、60Ω、100Ω差分。
| 参数 | 对Z₀影响 | 我踩过的坑 |
|---|---|---|
| 线宽W | ↑ 线宽 → ↓ Z₀ | 板厂蚀刻偏差5%,阻抗直接偏3~5Ω |
| 介质厚度H | ↑ 厚度 → ↑ Z₀ | 压合叠层实际厚度与理论差10%,阻抗就跑了 |
| 介电常数εr | ↑ εr → ↓ Z₀ | FR4的εr随频率变化,仿真要用宽频模型 |
| 铜厚T | ↑ 铜厚 → ↓ Z₀(轻微) | 1oz和0.5oz铜厚,阻抗差2Ω左右 |
我曾经在一个8层板上把微带走线阻抗设计为50Ω,回来实测只有44Ω。查原因,是板厂把介质厚度减薄了0.2mil。教训:一定要和板厂确认叠层和阻抗控制公差,最好留出±5%的设计余量。
2.3 传播延迟:信号不是在瞬间到达的
信号在PCB铜箔里跑,速度大约是光速的40%~70%。传播延迟的公式很简单:
Tpd = √εr / c (c≈3×10⁸ m/s)
对FR4,εr≈4.2,Tpd ≈ 180 ps/inch
也就是说,1英寸走线信号跑过去要180ps。DDR4速率3200MT/s时,一个UI才312ps,走线差1英寸就吃掉半个UI。你想想看,时序余量有多紧张。
2.4 反射系数:信号为什么会反弹?
反射的根本原因——阻抗不连续。反射系数Γ定义为:
Γ = (Z_load - Z₀) / (Z_load + Z₀)
如果负载阻抗等于特性阻抗,Γ=0,完美匹配,无反射。如果负载开路(Z_load→∞),Γ=+1,全反射同相;如果短路(Z_load=0),Γ=-1,全反射反相。
我在一个FPGA+DDR4的项目里,发现地址信号过冲严重。用TDR一看,在末端反射系数高达0.3。查图纸,原来是芯片端ODT配置成了RZQ/2(120Ω),而走线Z₀只有40Ω。匹配根本不对。改成RZQ/6(40Ω)后,反射直接降下去。
| 负载情况 | Γ值 | 实际影响 |
|---|---|---|
| 匹配(Z_load = Z₀) | 0 | 无反射,波形干净 |
| 开路 | +1 | 过冲严重,可能超压损坏 |
| 短路 | -1 | 下冲,逻辑门限误判 |
| 失配较小(±20%) | ±0.1 ~ ±0.25 | 振铃,眼图抖动增加 |
2.5 阻抗匹配:让反射消失的密钥
匹配方法就那么几种,但选错了就是灾难:
- 源端串联匹配: 在驱动器输出串电阻,吸收反射波。适合点对点拓扑。我习惯在时钟线上用22Ω~33Ω。
- 终端并联匹配: 在接收端对地或对电源接电阻。适合HSTL、SSTL接口。DDR中ODT就是干这个的。
- AC匹配: 并联电阻+串联电容,只匹配高频成分,省功耗。PLL时钟偶尔用。
另外,ODT是动态终端匹配,DDR控制器在读写时切换不同的阻值(RZQ/2、RZQ/3、RZQ/6等)。配置不对,匹配失效。我个人习惯是先仿真,根据走线阻抗和驱动强度算出最优ODT档位,再写进寄存器。
2.6 避坑清单 & 实用建议
- 仿真比经验靠谱: 我刚开始全靠经验选ODT阻值,结果一次DDR3调试花了三天。后来养成习惯,每块板都跑一下IBIS仿真,十分钟就知道最优匹配。
- 差分阻抗要成对控: 差分对之间耦合电容会影响共模阻抗,不要只算单端。我通常目标100Ω差分,然后让板厂按±5%控制。
- 过孔带来阻抗突变: 过孔残桩、反焊盘大小都会局部改变Z₀。我用回流焊过孔时,喜欢背钻掉残桩,哪怕多花钱。
- 温度漂移: FR4介电常数随温度变化,高温下阻抗可能偏移3%~5%。如果产品做车规或高温环境,记得留余量。
1️⃣ 走线长了就是传输线,Z₀是基础,必须控制。
2️⃣ 阻抗不连续→反射→波形畸变→误码。
3️⃣ 匹配的方法就那么几种,做对位置、选对阻值、仿真验证。
好了,这一章的内容就到这儿。你真的理解了传输线,后面的ODT配置和仿真就顺了。下一个章节我们将深入ODT内部机制,看看DDR里那些RZQ电阻到底在干嘛。