信号完整性的三大“拦路虎”:ISI、串扰与反射
做高速互连设计这么多年,我碰到的最头疼的问题,翻来覆去就是这三个:码间串扰(ISI)、串扰、还有反射。你想想看,一根干净的传输线,信号跑得好好的,怎么一到高速就变形了?说白了,就是这三兄弟在捣乱。
今天咱们就把它们一个个拎出来,看看它们到底是怎么搞破坏的。
1. 码间串扰(ISI)—— 来自“过去”的干扰
什么是 ISI?我习惯把它叫做“记忆效应”。
信号在信道里传播时,高频分量会被损耗掉。结果就是,本该干净利落跳变的边沿,变得圆滚滚、慢吞吞。一个 bit 还没完全消失,下一个 bit 就来了。前一个 bit 的“尾巴”叠在后一个 bit 上,这就是 ISI。
记得我调试一个 28Gbps 的背板项目时,眼图死活睁不开。后来发现就是前一个比特的残留能量,把后一个比特的眼高给压下去了。频率越高,ISI 越明显。
看眼图!如果眼图垂直方向有明显的不均匀“拖尾”,或者眼图轮廓有多个“历史痕迹”重叠,大概率就是 ISI 在作怪。
怎么治呢?主要靠均衡。发送端做预加重,把高频分量先抬一抬。接收端做 CTLE(连续时间线性均衡)或 DFE(判决反馈均衡),把信道损耗补偿回来。
2. 串扰 —— 来自“隔壁”的干扰
串扰就好理解了。线跟线离得太近,一根线上跑信号,电磁场会“串”到旁边那根线上。这就叫“不串门不舒服斯基”。
我遇到过最离谱的一次,是两对差分线间距只留了 4 倍线宽。结果隔壁通道跑 10Gbps,这边通道直接报错。彼时的串扰噪声,都快赶上信号幅度的一半了。
串扰分两种:
- 近端串扰(NEXT):干扰源在近端,受害线也在近端看到噪声。
- 远端串扰(FEXT):干扰源在近端,受害线在远端看到噪声。
你看,耦合的方向不一样,影响也不同。差分布线能抑制共模串扰,但对差模串扰,还得靠物理隔离。
3W 原则(线间距 ≥ 3 倍线宽)是起步价。要是不放心,5W 原则更稳妥。我自己的项目里,10Gbps 以上的信号,间距至少拉到 5 倍线宽,再隔一根地线。
3. 反射 —— 来自“前方”的干扰
反射是个老问题了。信号跑到一个阻抗突变点,感觉不对劲,就回头了。你想想看,就像开车突然遇到路面变窄,有的车就掉头回来了。
哪些地方容易出反射?
- PCB 走线的拐角
- 过孔(via)
- 连接器接口
- 封装和芯片焊盘
- 分支/桩线(stub)
| 问题 | 根本原因 | 典型症状 | 解法思路 |
|---|---|---|---|
| ISI | 频率相关损耗 | 眼图闭合、拖尾 | 预加重 + 均衡 |
| 串扰 | 电磁场耦合 | 相邻通道噪声 | 间距、地线、差分布线 |
| 反射 | 阻抗不连续 | 过冲、下冲、振铃 | 阻抗匹配、短桩线 |
我曾经在一个 25Gbps 的项目里,因为过孔的 stub 长了 30 mil,阻抗直接掉了 10 欧姆。反射回来的能量把眼图撕成了两半。从那以后,我见到过孔就会算一下它的寄生参数。
4. 它们是怎么“联手”的?
你可能觉得,三个问题各自为战。其实,它们经常一起上。反射会让信号边沿更差,加重 ISI。串扰会叠加到信号上,让眼高更低。三者叠加,信号质量断崖式下跌。
举个例子:一个通道有轻微的反射,导致过冲。过冲的高频分量变大,耦合到相邻线,产生串扰。串扰又反过来干扰主信号,让本来就不好的 ISI 雪上加霜。这就是为什么高速互连要“三板斧”一起上。
5. 怎么协同治理?
你问我怎么下手?我的经验是:
- 先看反射。 用 TDR(时域反射计)扫一遍,找到所有阻抗突变点。一个个修。过孔短了,走线宽了,连接器阻抗对了,反射自然下去。
- 再管串扰。 看布局,有没有长距离平行走线?有没有回流路径被切断?地孔打够了吗?间距拉到位了吗?
- 最后调 ISI。 信道损耗算出来,均衡参数设好,预加重、CTLE、DFE 配合着调。一步一步来。
反射是“点”的问题,串扰是“线”的问题,ISI 是“面”的问题。先点后面,先静后动,这是我常用的策略。
记住,任何一根高速线,都逃不出这三件事。你把它搞明白了,高速互连也就拿下了七八成。