1. 信号完整性的基本概念

各位工程师朋友,咱们今天聊聊信号完整性。说实话,这个概念刚入行时我也觉得挺玄乎的——不就是把信号从A点传到B点吗?直到我在一个项目中,眼睁睁看着一块调试好的板子,量产时突然大面积失效……嗯,从那以后,我再也不敢小看SI了。

1.1 什么是信号完整性

信号完整性,说白了就是信号在传输过程中保持其原始形状和时序的能力。你想想看,一个完美的方波从驱动端发出,经过一段走线后,到了接收端变成了什么样子?如果它还能被正确识别为0或1,那我们就说信号完整性是好的。

核心定义:信号完整性(Signal Integrity, SI)是指信号在传输路径上不发生畸变、不丢失时序信息、不被噪声干扰到误判的程度。

我习惯把SI问题分成三类:

  • 时序问题——信号到达时间不对,建立/保持时间违例
  • 波形质量问题——过冲、下冲、振铃、边沿退化
  • 串扰问题——相邻信号互相干扰,你跳我也跳

这三类问题往往交织在一起。我在一个DDR3项目中就遇到过:本来只是串扰超标,结果导致数据眼图闭合,时序裕量直接归零。最后不得不重新调整走线间距和端接方案。

1.2 信号完整性问题的根源

为什么会出SI问题?根源其实就三个字——不理想。

理想情况下,PCB走线就是一根完美的导线,信号在上面跑没有任何损耗、反射和延迟。但现实呢?

根源 物理本质 典型表现
阻抗不连续 走线宽度变化、过孔、拐角、分支 反射、振铃、过冲
传输线效应 走线长度接近信号上升沿的电气长度 延迟、畸变、阻抗匹配问题
串扰耦合 相邻走线间的寄生电容和互感 近端串扰、远端串扰
电源噪声 PDN阻抗过高、去耦不足 同步开关噪声、地弹
损耗与色散 导体趋肤效应、介质损耗 高频衰减、边沿退化

我曾经在一个10Gbps的SerDes项目中,被过孔的阻抗不连续坑惨了。仿真时眼图明明很好,打样回来测,眼图直接闭合。查了两天才发现——过孔的反焊盘挖得不够大,寄生电容超标了。从那以后,我对过孔设计就格外小心。

避坑指南:我曾经以为只要走线阻抗控制好就万事大吉,结果忽略了过孔和连接器的阻抗。记住:整个信号路径上的每一段都要考虑阻抗连续性,包括焊盘、过孔、连接器、封装引线。

1.3 高速信号的定义与判定标准

很多工程师会问:到底多快的信号才算高速?

我的判断标准很简单——当走线长度超过信号上升沿有效长度的1/6时,就必须按高速信号来处理。为什么是1/6?因为在这个长度下,反射波回到源端时,信号已经过了上升沿区域,传输线效应开始显著。

具体怎么算?

// 信号上升沿有效长度(临界长度)
L_critical = Tr / (6 * Tpd)

其中:
Tr  = 信号上升时间(10%-90%),单位 ns
Tpd = 走线单位长度传播延迟,典型值约 150-180 ps/inch(FR4)

// 举个例子
Tr = 1 ns(约 350 MHz 时钟的上升沿)
Tpd = 170 ps/inch
L_critical = 1 / (6 * 0.17) ≈ 0.98 inch ≈ 25 mm

// 结论:走线超过 25 mm 就要按高速信号处理

你想想看,现在很多FPGA的GPIO上升沿都能做到几百皮秒,那临界长度可能只有几毫米。也就是说,板上几乎所有的走线都可能是高速信号。

实用判断:我个人的经验是,只要信号频率超过 50 MHz 或者上升沿小于 2 ns,就建议按高速信号来设计。别等到出了问题再回头改,那代价太大了。

还有一个更直观的判断方法——看信号的电气长度与物理长度的关系:

  • 如果走线长度 < λ/10(λ为信号最高频率分量的波长),按集总参数模型处理
  • 如果走线长度 > λ/10,必须按分布参数模型(传输线)处理

举个例子,一个 1 GHz 的信号,在FR4中的波长大约 150 mm。那么 λ/10 = 15 mm。也就是说,只要走线超过 15 mm,就不能再用集总参数来分析了。

下面这张图是我自己总结的,帮你快速判断是否需要做SI分析:

高速信号判定决策树 信号频率 f f < 50 MHz 且 Tr > 2 ns? (上升沿 > 2 ns) 是 低速信号 按常规规则走线即可 否 高速信号 必须做SI分析与仿真 走线长度 > L_critical? (L_critical = Tr / (6·Tpd)) 是 传输线效应显著 否 按集总参数处理 注:FR4介质中 Tpd ≈ 170 ps/inch

最后说一句,判断高速信号不能只看时钟频率。我见过一个项目,时钟才 25 MHz,但数据信号的上升沿只有 500 ps,结果SI问题一大堆。记住:上升沿才是决定信号带宽的关键。信号带宽可以用这个公式估算:

BW = 0.35 / Tr

Tr = 500 ps → BW = 0.35 / 0.5 ns = 700 MHz

700 MHz 的带宽,你还敢说它是低速信号吗?

经验总结:我建议大家在设计初期,就把所有上升沿小于 1 ns 的信号都列为高速信号。宁可多做仿真,也不要等板子回来再后悔。PCB改版一次的成本,够你做十次仿真的了。