1. 课程概述:BERT与眼影仪在高速信号调试中的作用

高速信号调试,说白了就是跟时间、噪声、抖动这些看不见的对手打架。我刚入行那会儿,觉得拿个示波器看看波形就够用了,结果第一次调10Gbps信号,眼图乱得像一锅粥,根本不知道问题出在哪儿。后来前辈丢给我一台BERT和一台眼影仪,说:“先拿这俩家伙把底摸清楚。” —— 嗯,从那以后,我就再也没离开过它们。

为什么需要BERT和眼影仪?

信号速率一高,传统示波器就靠不住了。为什么呢?因为你需要看的不再是单个波形的样子,而是成千上万个比特叠加出来的统计规律。BERT(误码率测试仪)和眼影仪(高灵敏度眼图/抖动分析仪)就是干这个活的。

  • BERT:发一串已知的伪随机码,收回来比对,看错了几个比特。它告诉你链路“有没有出错”,但说不出“哪里有问题”。
  • 眼影仪:把收到的信号叠加成眼图,能直观看到上升沿、下降沿、眼高、眼宽、抖动。它告诉你“信号质量好不好”。

一个管结果,一个管原因。两者配合,才谈得上调试。

核心观点:BERT给出数字域的结论(误码率),眼影仪给出模拟域的细节(眼图参数)。两者缺一不可。

BERT的作用与选型要点

BERT看起来很“笨”——就是发码、收码、数错。但实际用起来,有几个地方特别容易翻车。

1. 码型选择

我最常用的是PRBS(伪随机二进制序列)。不同阶数覆盖的比特模式长度不一样:

码型长度(bits)典型应用
PRBS727-1 = 127短距离、低速率链路,比如SATA
PRBS9511PCIe Gen3以前常用
PRBS1532767高速串行链路如USB3.0、DisplayPort
PRBS31231-1长距离、超高速(≥28Gbps)链路

我记得有次调一款56Gbps PAM4信号,客户坚持用PRBS7,结果眼图很好但系统跑起来老掉线。换PRBS31一试,误码率直接飙到1e-5。码型太短,激励不到链路的低频截止效应。避坑指南:工控类场景至少用PRBS15,数据中心级至少PRBS31。

2. 误码率门限

BERT可以设一个“误码率达标线”,比如1e-12。但实际调试时,我习惯先看有没有成片错误(类似“误码簇”)。

小技巧:打开BERT的“错误率分布图”,观察错误是随机散落的还是集中在某些比特位上。后者往往指向时钟或电源问题。

眼影仪的核心价值

眼影仪本质是一台宽带采样示波器 + 时钟恢复单元。但它最大的本事是——能画出百万次波形叠加后的统计眼图。

1. 眼图参数解读

  • 眼睛高度:电压裕量。低于100mV基本不可靠。
  • 眼睛宽度:时间裕量。一般要大于0.3UI。
  • 抖动(TJ/RJ/DJ):总抖动、随机抖动、确定性抖动。RJ服从高斯分布,DJ往往有固定分量(如串扰、ISI)。
  • 占空比失真:看左右过零点是否偏移。

我有个习惯:先看眼图轮廓是否“干净”。如果眼图上下边缘有毛刺,八成是阻抗不连续;如果眼睛闭合得像一条细线,多半是抖动太大。

2. 时钟恢复模式

眼影仪内部有两种恢复时钟的方式:PLL和Golden PLL。PLL模拟接收端CDR行为,Golden PLL则用理想时钟来分离抖动成分。我调PCIe链路时,经常切换看两种模式下的眼图差异——

模式适用场景注意
PLL(一阶/二阶)模拟真实接收端CDR行为,看信号能否被正确采样环路带宽要匹配实际CDR
Golden PLL分离抖动类型(RJ / DJ / SJ)不能直接看眼图裕量,只适合分析

警告:千万不要在眼影仪没有正确锁定时读取眼图参数!我见过不少同事用“free run”模式测试,结果眼图扭曲得像蜘蛛网,还以为链路有问题。首先要确保时钟恢复锁定,再开始采集。

BERT + 眼影仪的联合调试流程

实际项目中,我一般走下面这个流程:

  1. BERT发码:选择合适码型(PRBS31优先),设置比特率,连上被测链路。
  2. 眼影仪同步:触发源接到BERT的时钟输出,或者用内部CDR。确认锁定后开始采集。
  3. 快速扫图:看眼图是否张开。如果完全闭合,检查阻抗、偏置、信号幅度。
  4. 定量分析:读取眼高、眼宽、TJ、RJ、DJ。记录基线值。
  5. BERT测误码:运行长时间误码率测试(至少10秒,高速率建议60秒以上)。
  6. 定位问题:结合眼图参数和误码率分布,判断是衰减、ISI、串扰还是时钟问题。
  7. 调试后复测:修改PCB layout、加均衡器、调驱动幅度,回到第1步。

有一次调试25Gbps背板,第3步眼图就明显有双线,我判断是接收端均衡不足。改了一拍CTLE后,眼高从65mV升到210mV,误码率直接从1e-8降到1e-14以下。你看,两个工具一搭,问题半小时就定位了。

BERT与眼影仪联合调试流程 ① BERT发送PRBS码 ② 眼影仪锁定CDR ③ 眼图快速扫描 ④ BERT长时间误码率 ⑤ 眼图+BERT定位问题 调试循环 → 调整均衡/驱动/layout → 重测①→⑤直到达标 不达标→返回

两种工具的互补关系

最后总结一下,到底什么时候用BERT,什么时候用眼影仪?我画了个简单对比:

场景首选工具原因
想知道链路有没有错码BERT直接数误码率,最精确
看信号波形形状眼影仪眼图告诉你裕量、抖动分布
调试完验证BERT + 眼影仪先扫眼图是否张开,再测误码
排查抖动根源眼影仪(抖动分解)RJ/DJ分离,定位串扰或电源噪声
产线快速检测BERT(开眼图模式)部分BERT自带简易眼图扫描

你想想看,如果把链路调试比作看病,BERT就是血常规检查——告诉你指标有没有异常;眼影仪就是CT扫描——告诉你病变在哪个位置。两个都做了,诊断才靠谱。

个人习惯:我每次拿到一块新板子,第一件事不是连BERT,而是先用眼影仪看输出点的眼图。如果眼图本身就很差(比如眼高<30mV),那后面测BER也是白搭。先让信号“健康”起来,再聊误码率的事。

本章重点回顾

  • BERT是数字域测试,给出“对/错”结论;眼影仪是模拟域测试,给出“好/坏”的细节。
  • PRBS码型长度要匹配链路速率和协议要求,至少PRBS15起步。
  • 眼影仪必须先正确锁定CDR,否则数据不可信。
  • 联合调试流程:发码→同步→扫眼图→测误码→分析→迭代。
  • 千万不要只依赖单一工具,两者互补才是王道。

嗯,这就是第一章的核心内容。后续每个章节,我会结合自己做过的项目,把BERT参数设置、眼图模板、抖动分离、PAM4调测、预加重/均衡等实用技巧一一拆开讲。跟着走一遍,你也能成为信号调试的老手。