信号完整性基础知识:ISI、抖动、串扰
做Retimer芯片这些年,我见过太多人一上来就怼眼图、调均衡。但说实话,眼图只是结果,不是原因。你真正要搞清楚的,是那些让眼图变烂的“幕后黑手”——ISI、抖动和串扰。这哥仨要是理不清,后面再加几级CTLE也是白费功夫。
为什么信号会“坏掉”
先问个问题:一根铜线,一段高速数字信号,为什么走着走着就变形了?
答案不是单一原因。你把传输通道想象成一条有坑有坎、还有旁边马路干扰的路。信号跑在上面,会受到三方面的折磨:
- 码间干扰(ISI)——前一个比特的“残影”干扰了当前比特。
- 抖动(Jitter)——信号跳变的时刻飘忽不定。
- 串扰(Crosstalk)——旁边走线的能量串过来了。
这三个问题往往同时出现,相互加剧。我见过一些新手工程师,只盯着抖动指标使劲,结果收效甚微——因为系统里真正的瓶颈是串扰导致的ISI放大。
码间干扰(ISI)
什么叫ISI?说白了,就是通道的低通特性把信号给“糊”了。高频分量被衰减,信号边沿变缓,一个比特的能量还没消失,下一个比特就来了,于是前后相互重叠。
核心公式:传输函数 H(f) 在高频段滚降,导致脉冲响应拖尾。拖尾长度与通道带宽成反比。
我做过的第一个SerDes项目,PCB走线过了一个过孔,就因为这10mil的阻抗突变,ISI增加了3dB。那时候我才真正理解——通道里的每一个不连续点,都是ISI的温床。
实际工程中,我们通常用眼图来观察ISI。眼图闭合、眼高降低、眼宽变窄,都是ISI的典型特征。而Retimer芯片里用的CTLE(连续时间线性均衡器)和DFE(判决反馈均衡器),核心任务就是对抗ISI。
抖动(Jitter)
抖动就是信号边沿偏离理想位置的程度。注意,这里我要区分两种类型:
| 类型 | 来源 | 特点 |
|---|---|---|
| 随机抖动(RJ) | 热噪声、散粒噪声 | 无界,符合高斯分布 |
| 确定性抖动(DJ) | ISI、串扰、电源噪声 | 有界,可预测 |
千万别以为只要用好锁相环(PLL)就能搞定抖动。我曾经踩过一个坑:芯片封装上有个电源平面谐振,把PLL的参考时钟给调制出了低频周期抖动。量抖动谱线时,基频正好落在300kHz,跟数据流的模式毫无关系。找了三天才发现是电源去耦电容放错了位置。
调试技巧:用抖动分离(Jitter Decomposition)工具拆出RJ和DJ。如果发现DJ中周期性成分突出,优先查电源和串扰;如果随机成分超标,先看通道损耗和时钟源。
串扰(Crosstalk)
串扰就是近端(NEXT)和远端(FEXT)的耦合能量。在Retimer的接收端,串扰表现为一个叠加的噪声源,但注意它和随机噪声不一样——串扰是有边界的,而且和相邻通道的数据模式强相关。
我记得有个多通道项目,16路PCIe 5.0背板,通道间距只有0.5mm。单通道测试眼图都合格,开满16路立马误码率飙升。一查,是远端串扰累积造成的。每个通道贡献一点FEXT,加起来直接把接收端判决器给淹了。
避坑提醒:不要只做单通道仿真!一定要做多通道联合仿真,或者预留足够的串扰余量。按经验,高端口密度系统中串扰带来的眼高损失可达20%以上。
三者之间的关联
你可能会问:ISI、抖动、串扰是各自独立的问题吗?
当然不是。它们经常抱团作恶。举个例子:串扰产生的噪声会通过接收端CDR抖动传递函数,转变成确定性抖动;而ISI本身就会产生确定性抖动(数据模式相关的抖动)。同时,抖动如果让采样点偏离最佳位置,等效提高了对ISI的敏感度——恶性循环。
下面这张图展示了三个核心干扰因子的关系,以及它们最终如何作用于眼图。
明白了这三个元凶的关系,你才能真正理解Retimer内部为什么要有均衡器、为什么要有CDR(时钟数据恢复)对抖动做过滤,为什么布局布线时要尽量隔离串扰通道。
最后说一句:做信号完整性,不要只抱着仿真软件。用手边的示波器和抖动分析仪,多抓几组实际波形,看看ISI和抖动在时域里的长相。我当年就是这么一步步从“看眼图的人”变成“修眼图的人”的。