4. 传输线理论回顾:特性阻抗、反射、串扰基础
说起来有点意思,很多刚接触SI的朋友最早背的公式就是特性阻抗的Z0 = sqrt(L/C),可实际调试时反射和串扰往往才是真正咬人的地方。我个人习惯是先把传输线这根「线」的特性摸透,再去处理波形,否则你连眼图张不开的原因都找不到。
4.1 特性阻抗 Z₀ —— 传输线的“身份证”
特性阻抗不是直流电阻,它是单位长度电感和电容共同作用的结果。对于均匀传输线,Z₀ = sqrt(L₀ / C₀)。L₀是单位长度电感,C₀是单位长度电容。这两个参数直接由介质层厚度、线宽、铜箔厚度、介电常数决定。
我记得有一回在高速背板项目中,同一块板材、不同的压合批次,介电常数漂了0.3,结果特性阻抗从50Ω掉到了43Ω。眼图直接闭上了。
| 介质材料 | 介电常数 εr | 线宽 (mil) | 参考层距离 (mil) | Z₀ (Ω) |
|---|---|---|---|---|
| FR4 普通 | 4.2 | 5.0 | 4.0 | 50.3 |
| FR4 低损耗 | 3.8 | 4.5 | 4.0 | 51.8 |
| Megtron 6 | 3.5 | 5.0 | 4.5 | 49.5 |
| Rogers 4350B | 3.48 | 5.0 | 3.8 | 50.0 |
4.2 反射 —— 波形失真的头号元凶
反射说白了就是信号走到阻抗不连续的地方「弹」回来了。反射系数 Γ = (ZL - Z₀) / (ZL + Z₀)。ZL是负载或突变点的阻抗。如果Γ=0就没反射,否则信号会前后折腾,造成过冲、下冲、振铃。
我在调DDR3数据眼图时遇到过一例:颗粒端加了22Ω串联电阻,但线走的是微带线50Ω,接收端内部还有ON-die端接,三处阻抗不一致,反射叠加后时钟抖动大了两倍。最后把串联电阻改成33Ω才压住。
常用终端匹配方式
- 串联端接(源端匹配):Rs ≈ Z₀ - Rdriver,优点是功耗低,适合点对点。
- 并联端接(远端匹配):Rt = Z₀(接VTT或GND),效果好但耗电。
- AC端接:R + C串联到GND,适合需要隔离直流分量的场景。
- 戴维南端接:上拉/下拉电阻分压,常见于差分线或DDR地址/控制线。
关键检查点:任何阻抗变化都像一面「镜子」,反射回来的能量有多大,看跃变处ΔZ相对于Z₀的百分比。我习惯在仿真报告里标出所有超过±10%ΔZ的节点,一个一个处理。
4.3 串扰 —— 隔壁老王的“脏话”
串扰和反射不一样,它不是自己跟自己过不去,而是跟旁边的信号线互相干扰。原理是电磁场耦合:容性耦合传递电压变化,感性耦合传递电流变化。
串扰又分两种:
- 近端串扰(NEXT) —— 能量往攻击线发送端串扰,脉冲宽度等于两倍的传输延时。
- 远端串扰(FEXT) —— 能量往攻击线接收端串扰,脉冲宽度通常更窄。
我之前调一款25Gbps SerDes的通道,发现在2.5GHz处出现一个明显的谐振峰。查了半天,原来是邻近的时钟线跟数据线并行了1200mil,远端串扰正好跟主信号叠加。解决办法很简单——画板时拉开间距到3倍线宽,叠层上把敏感线隔一个参考平面层。
减小串扰的通用做法:
- 增大线间距(至少3倍线宽,高频建议5倍以上)
- 使用薄介质层(降低互感)
- 敏感信号之间加地线屏蔽(推荐接地过孔间距≤λ/20)
- 差分对内等长、等间距(共模串扰可抑制)
4.4 什么时候必须按传输线分析?
你可能会问:难道每根线都要当传输线算?当然不是。有一个经验法则:当信号上升时间tr小于2倍的传输线延迟tpd时,就必须用分布式模型。换句话说,临界长度 Lcrit = tr / (2 × tpd per unit length)。
| 信号类型 | 典型tr (ps) | PCB传输延迟 (ps/inch) | 临界长度 (inch) |
|---|---|---|---|
| DDR3 1333 | 200 | ~170 | ~0.59 |
| PCIe Gen3 | 35 | ~170 | ~0.10 |
| 10Gbps NRZ | 20 | ~170 | ~0.06 |
嗯,看到这个表格你就明白了——但凡超过1英寸的高速线,都得按传输线处理。我见过有人觉得板子小,DDR线才600mil,就用集总模型仿了一下,结果流片回来信号完整性一塌糊涂。真实原因是他忽略了过孔、拐角、分支引起的多次反射。仿真模型不够细,再怎么调匹配电阻也没用。
上面这张图把本章的核心概念串在了一起。简单来说:你选定了PCB叠层和线宽,特性阻抗就定了;阻抗变了,反射就来了;线间距不够,串扰就躲不掉。而终端匹配、分布/集总模型选择、差分/地隔离,就是我们对抗这些非理想行为的工具箱。
做SI仿真的人,脑子里永远要对这三个参数保持敏感。看到一根走线,先问自己:Z₀是多少?两端匹配了吗?旁边的线会不会污染它?把这个习惯养成了,后处理波形时你一眼就能看出问题点。
总结一下实际工作的切入点:
- 先通过TDR或仿真确认实际Z₀与设计值的偏差(±5%以内算合格)
- 再检查驱动端匹配电阻和接收端端接是否在阻抗连续区域内
- 最后看串扰——如果NEXT或FEXT高于-30dB,大概率要做层叠或间距优化
按这个顺序排查,至少能解决70%的波形后处理问题。