3. 眼图退化指标:眼图闭合原因与信号完整性退化
好,咱们直接切入正题。眼图闭合这件事,是我在测试台上最不想看到的画面。说白了,眼图就是信号质量的“心电图”。一旦它开始闭上,就意味着链路里出问题了。
3.1 眼图闭合的核心指标
评判眼图好坏,不是光用眼睛看。我有几个必看的量化指标,你可以把它当成“体检报告”。
| 指标 | 定义 | 什么情况算“退化” |
|---|---|---|
| 眼高 | 眼图垂直开口的高度 | 低于接收端灵敏度阈值 |
| 眼宽 | 眼图水平开口的时间宽度 | 小于1个UI(单位间隔)的70% |
| 抖动 | 信号边沿相对于理想位置的偏差 | 抖动超过UI的10%就会很麻烦 |
| 信噪比 | 信号幅度与噪声幅度之比 | 低于6dB容易误码 |
我的经验: 有一次在实验室测一个PCIe Gen4的板子,眼高明明有250mV,按理说没问题。结果眼宽只有0.55 UI,数据死活通不过。后来发现是驱动器的预加重没调好,边沿过冲导致抖动暴增。所以,看眼图不能只看高度,宽度和抖动同样致命。
3.2 眼图闭合的物理原因
为什么会闭合?我归纳为三大类。你想想看,任何一个高速信号从发送端跑到接收端,路上全是坑。
3.2.1 阻抗不连续
这个最常见。信号走在50欧的走线上,突然遇到一个过孔或者连接器,阻抗跳到了70欧。这一跳就产生反射,反射回来的信号会叠加到下一个比特上。
- 过孔残桩: 我之前做一个25Gbps的项目,就因为差分过孔的残桩没背钻,眼图里直接多了一个“鬼影”眼。测量时吓一跳,以为芯片坏了。
- 连接器阻抗: 连接器的寄生电容在高速下会产生阻抗凹陷。我曾经遇到一个情况,连接器厂家给的S参数看着挺好,但实际焊上去,眼图就缩了。后来发现是测试夹具的焊盘设计不合理,寄生电容把高频能量都吸走了。
3.2.2 损耗与趋肤效应
信号高频分量在传输过程中衰减比低频快。这就是趋肤效应和介质损耗。结果就是:跳变沿变缓,眼图垂直方向缩小,水平方向抖动增加。
避坑指南: 我曾经为了省成本,在一条长走线上用了普通FR4板材,中间还没加均衡。结果码间干扰(ISI)严重到眼图完全闭上了。后来换了低损耗材料,并加了CTLE,眼图才重新张开。记住:长走线必须配均衡,绝不是把线走通就行。
3.2.3 串扰与电源噪声
串扰分为近端串扰(NEXT)和远端串扰(FEXT)。电源噪声也会通过芯片的供电网络调制到信号上。
- 串扰影响: 耦合过来的能量会作为共模噪声,直接降低信噪比。我在调一个DDR4的信号时,发现眼图上有规律的毛刺。一查,是旁边的时钟线与数据线距离太近了,串扰导致数据眼图出现周期性塌陷。
- 电源纹波: 电源上的100mV纹波,会通过输出驱动器直接窜到信号上。我建议测眼图时,顺便看一下PDN(电源分配网络)的阻抗曲线。
3.3 信号完整性退化如何影响眼图
好,现在把上面的原因串起来,看看眼图是怎么一步步“生病”的。
- 损耗导致上升沿变慢: 信号跳变不够陡,眼图垂直开口变小。
- 反射导致过冲/下冲: 眼图顶部和底部会变“毛躁”,甚至出现台阶。
- 抖动导致边沿模糊: 多个比特累积的抖动叠加,让眼图的交叉点变粗,水平开口收窄。
- 噪声导致眼瞳模糊: 随机噪声让眼图内部的“亮区”不再干净,而是变成一片灰雾。
特别注意: 眼图闭合不是突然发生的。它是一个渐变过程。我曾经遇到过调试人员说“眼图昨天还好好的,今天突然闭了”。其实不是突然,而是温度变化或者电源偏移让余量耗尽。所以,建议做眼图应力测试,即在极限工况下看它是否能撑住。
3.4 如何量化评估退化程度
量化能避免拍脑袋。我个人习惯用这个步骤来评估退化严重程度:
- 测眼高: 用示波器读取眼图的中点电压。如果低于接收端规格,直接判死刑。
- 测眼宽: 看交叉点之间的时间宽度。如果低于0.7 UI,大概率会误码。
- 测抖动峰峰值: 分离随机抖动和确定性抖动。如果总抖动超过0.1 UI,必须找原因。
- 测眼图模板: 模板测试能直观告诉你哪些区域触碰到禁区了。
| 评估等级 | 眼高(mV) | 眼宽(UI) | 动作建议 |
|---|---|---|---|
| 良好 | 大于300 | 大于0.85 | 可以量产 |
| 一般 | 200 ~ 300 | 0.70 ~ 0.85 | 需关注,建议优化 |
| 危险 | 小于200 | 小于0.70 | 必须改设计,否则批量返工 |
嗯,这里要注意。上面这个表只是参考。不同协议有自己的容限。比如USB 3.2的眼图模板和DDR4的完全不一样。你干活的时候,得先看协议规范。
3.5 一个真实的案例
分享一个我踩过的坑。
有次做一款SerDes芯片的验证。PCB布局时,为了节省空间,把一组高速差分线绕了一个大弯。结果在示波器上一看,眼图交叉点上的抖动特别大,眼宽只有0.61 UI。
- 排查过程: 一开始怀疑是芯片驱动问题。换了芯片还是一样。后来用TDR一测,发现那个大弯的位置阻抗降到了42欧姆。
- 根因: 走线转弯时没有做圆弧处理,直角拐弯导致特性阻抗突变,产生了反射。这种反射叠加后,数据边沿来回振荡,抖动就上去了。
- 修复: 改版后把锐角改成了圆弧走线,并在拐弯处添加了共面地过孔。
- 结果: 眼宽恢复到了0.88 UI,抖动大幅下降。那批出货再也没出问题。
我的习惯: 现在每次画高速走线前,我都会先规划好阻抗连续区域。过孔、连接器、拐角的地方,我一定会留出TDR测试点。别看这多一步,能省好多排查时间。