2. 信号完整性问题基础:衰减、串扰、抖动、眼图
做高速数字设计的兄弟都知道——信号完整性(SI)这四个字,几乎是每一个项目的噩梦。我记得刚入行那会儿,总觉得自己layout走线没啥问题,结果一上示波器,眼图直接闭了。嗯,今天就先把这个「噩梦」的根源讲清楚。
高速信号在PCB上跑,就跟人在泥地里跑步一样。你想想看,距离越远、频率越高、路况越差,信号失真就越严重。常见的信号完整性问题就四个:衰减、串扰、抖动、眼图闭合。下面我一个一个拆开讲。
2.1 衰减——信号越传越弱
衰减就是信号幅度随传输距离而下降。我做过一个项目,PCIe Gen3的链路走了将近20英寸的PCB走线,结果接收端的信号幅度只剩发送端的一半不到。为什么会这样?
衰减主要有两个来源:
- 导体损耗(趋肤效应):高频电流只会沿着导体的表面流动。频率越高,有效截面积越小,电阻就越大。说白了就是高频信号「懒得往导体里面跑」,都挤在表面,电阻自然就大了。
- 介质损耗(介电损耗):PCB板材不是完美的绝缘体。信号电场在被加热的过程中会消耗能量。损耗因子(Df)大的板材,比如FR4,高频衰减特别严重。
我在项目里看过一个典型的衰减曲线:
| 信号频率 | FR4损耗(dB/inch) | MEGTRON6损耗(dB/inch) |
|---|---|---|
| 1 GHz | -0.3 | -0.1 |
| 5 GHz | -1.0 | -0.4 |
| 10 GHz | -1.8 | -0.7 |
| 25 GHz | -4.2 | -1.6 |
注意看,25GHz时FR4的衰减达到每英寸-4.2dB。什么概念?假设走线10英寸,信号幅度就掉了42dB——这已经不是信号了,这是噪声。
2.2 串扰——隔壁邻居在捣乱
串扰,说白了就是一根线上的信号,不想老实待在自己线里,非要爬到隔壁邻居的线上串门。我在调试一个SATA3.0项目时遇到过:明明两个通道的物理隔离已经做到6倍线宽了,结果串扰还是把眼图的高频抖动抬了20ps。
串扰分两种:
- 容性串扰(近端串扰NEXT):信号跳变的时候,通过互电容把能量耦合到相邻线上。通常近端噪声和信号边沿同向。
- 感性串扰(远端串扰FEXT):通过互感耦合。注意,远端噪声往往和信号边沿反向,但幅度会随走线长度积累。
怎么压串扰?我列几条实战经验:
- 增加线间距——至少3倍线宽,最好是5倍以上。
- 在重要信号旁边放地线(Guard trace),地线记得打过孔接地。
- 减少平行走线长度——能不平行就不要平行。
- 用差分信号——差分对天然抗共模串扰。
2.3 抖动——信号吃错了药,总跑偏
抖动就是信号边沿在时间上偏离理想位置。你想想看,一个信号本应该在t=0时刻跳变,结果它一会儿早到一会儿晚到,这叫抖动。
抖动的分类:
- 随机抖动(RJ):热噪声、散粒噪声引起,符合高斯分布,累加不可控。我一般用RMS值估算。
- 确定性抖动(DJ):又分很多种,常见的包括:
- 数据相关抖动(DDJ):跟传输的码型有关,比如长串0或长串1后能量积累。
- 占空比失真(DCD):上升沿和下降沿不对称。
- 周期抖动(PJ):电源纹波或外部干扰。
抖动单位一般用ps(皮秒),TI(时间间隔误差)或者UI(单位间隔)。对于25Gbps的NRZ信号,1个UI = 40ps。如果抖动超过了0.3UI,接收端基本就废了。
2.4 眼图——信号质量的照妖镜
眼图就是把很多个比特周期的波形叠加在一起显示的图。好的眼图,开口很大,像一只睁开的眼睛;差的眼图,眼睛闭着,就跟你熬夜加班一样。
眼图的关键参数:
| 参数 | 含义 | 典型合格值(PCIe Gen4) |
|---|---|---|
| 眼高(Eye Height) | 垂直方向开口幅度 | ≥ 80mV |
| 眼宽(Eye Width) | 水平方向开口时间 | ≥ 0.45 UI |
| 抖动(Jitter) | 眼图交叉点的离散度 | ≤ 0.2 UI |
| 信噪比(SNR) | 信号幅度与噪声之比 | ≥ 6 |
你看,眼图把衰减、串扰、抖动三大问题全部装在一个图里了。眼高不够是衰减的问题,眼宽不够是抖动的问题,眼皮变厚是串扰和噪声的锅。我每次给客户做演示,第一个测的就是眼图——它像一张体检报告,哪有问题一目了然。
好了,四个基础的信号完整性问题讲完了。你可能会问:这些跟Repeater和Retimer有什么关系?关系太大了。Repeater主要负责补偿衰减,它能把信号放大,但对串扰和抖动没办法;Retimer就不一样了,它能把信号完整恢复并重新生成,把衰减、串扰、抖动一起解决——当然代价也更高。
下面这张图把四个问题的关系和核心修复手段总结了一下,方便你记。
嗯,到这一步你基本掌握了SI的四个核心问题。记住,做高速设计时,不要盲目堆器件。先定位问题是衰减还是抖动,再决定用Repeater还是Retimer,这才是工程师的思维方式。