第2章:信号完整性基础概念归纳总结
好,我们正式开始。在做RGMII接口的时候,信号完整性(SI)说白了就是保证信号从发送端到接收端不走样。你想想看,数据在PCB上跑,就像快递在高速公路上跑——路况不好、岔路太多、车距太近,都会丢包。
我做硬件这十几年,遇到过最头疼的问题就是:明明仿真时序裕量还有200ps,结果板子一上电就偶尔报错。后来发现是SI问题把余量吃掉了。所以这一章,我把最关键的基础概念拎出来,帮你把“坑”提前排掉。
2.1 传输线效应
信号频率高了,PCB走线就不能再看成一根理想导线了。它变成了传输线——有特性阻抗、有延时、还会有反射。RGMII的时钟频率是125MHz(DDR双沿等效250MHz),上升沿大概在0.5ns~1ns之间。这个频率下,走线长度只要超过1/6的上升沿电气长度,就必须考虑传输线效应。
2.2 特性阻抗与反射
传输线有一个固有属性叫特性阻抗Z₀。通常单端50Ω,差分100Ω。如果源端阻抗、传输线阻抗、负载阻抗三者不一致,就会发生反射。
反射系数公式:
Γ = (Z_load - Z₀) / (Z_load + Z₀)
举个例子,RGMII的接收端内部阻抗一般很高(>10kΩ),如果走线Z₀=50Ω,反射系数有多大?算一下:Γ = (10000 - 50)/(10000 + 50) ≈ 0.99。几乎全反射!
| 场景 | 典型原因 | 后果 |
|---|---|---|
| 阻抗不连续 | 换层、过孔、线宽变化 | 反射噪声、过冲/下冲 |
| 开路端 | 接收端无端接 | 全反射,振铃严重 |
| 短线无端接 | 走线<临界长度 | 分布电容主导,边缘振铃 |
2.3 串扰
串扰是信号在相邻走线上“串”过去的干扰。RGMII是8位并行数据加上时钟和使能,十几根线并行走,间距要是小了,串扰能吃掉30%的时序裕量。
我习惯用3W法则:线间距 ≥ 3倍线宽。但实际项目里PCB空间经常被压缩,这时候就要靠包地、隔层参考或者拉大间距来平衡。
- 容性串扰:平行走线间距不足,电场耦合
- 感性串扰:返回电流路径差,磁场耦合
- 近端串扰(NEXT):攻击信号上升沿在受害线上产生同向脉冲
- 远端串扰(FEXT):耦合到远端的反向脉冲
对于RGMII这种并行同步总线,远端串扰最容易造成数据错位。我曾经碰到一个案例:D0和D1挨着走,D0的上升沿在D1上感应出400mV的尖刺,直接导致D1的建立时间不够——这种问题仿真能发现,但很多人没做全链路仿真。
2.4 上升时间与带宽
信号完整性里有个基本换算:BW ≈ 0.35 / Tr(Tr为10%~90%上升时间)。RGMII的Tr通常0.5ns~1ns,对应的带宽350MHz~700MHz。这个带宽决定了你要考虑多高的谐波频率。
很多工程师只看基频125MHz,觉得做PCB不需要太讲究。其实谐波能量能到700MHz,过孔的寄生电感、焊盘的寄生电容在高频下会严重退化信号质量。
2.5 时序裕量与SI的关联
RGMII的核心时序参数:
- 建立时间(tSU):数据在时钟有效沿之前必须稳定
- 保持时间(tHD):数据在时钟有效沿之后必须保持
- 时钟抖动(Tj):时钟边沿的不确定性
- 数据偏斜(Skew):数据线之间的相对延时差异
SI问题直接影响这三个参数:
- 反射引起的过冲会干扰接收器判断高低电平,压缩建立窗口
- 串扰会在数据线上叠加噪声,使保持时间变差
- 传输线延迟不一致造成偏斜,进一步吃掉裕量
你可以把时序裕量想象成一个水池,SI问题是池底的一个窟窿——流速不大,但一直在漏水。不做SI净化,水池迟早见底。
2.6 本章知识对照表
| 概念 | 对RGMII的主要影响 | 典型应对措施 |
|---|---|---|
| 传输线效应 | 信号延时、边沿退化 | 控制走线长度、保持阻抗连续 |
| 反射/阻抗 | 过冲、下冲、振铃 | 源端串阻 + 接收端端接 |
| 串扰 | 数据偏斜、噪声叠加 | 3W法则、包地、减短平行段 |
| 上升时间/带宽 | 高频损耗、时序不确定 | 斜率控制、选择合适的驱动强度 |