PRBS 阶数怎么选?7/15/23/31 的特点对比

好了,这一节我们来聊聊 PRBS 的阶数。说白了,就是那个「7、15、23、31」到底代表什么?实际测试中该选哪个?

我个人刚接触眼图测试时,觉得阶数越高肯定越好。结果有一次在产线上调一个 10Gbps 的光模块,用了 PRBS31,眼图死活打不开。换了 PRBS7 一测,哇,眼图漂亮得很。当时我就懵了:难道高阶码型会「骗人」?

后来才搞明白,不是码型骗人,是我没搞清不同阶数的脾气。

阶数 N 决定了什么?

PRBS 的阶数 N,决定了它的序列长度(也就是周期)。公式很简单:

序列长度 = 2^N - 1

你看,N 每增加 1,序列长度就翻一倍。所以不同阶数的序列长度差距是巨大的:

阶数 生成多项式(举例) 序列长度 连续最长 1 / 最长 0
PRBS7 X^7 + X^6 + 1 127 bit 7 / 6
PRBS15 X^15 + X^14 + 1 32,767 bit 15 / 14
PRBS23 X^23 + X^18 + 1 8,388,607 bit 23 / 22
PRBS31 X^31 + X^28 + 1 2,147,483,647 bit 31 / 30

嗯,这里要注意:序列越长,它包含的「最坏情况码型」就越多。比如 PRBS31 里有一段连续 31 个 1,这对 DC 平衡差、低频截止高的信道简直就是噩梦。

核心规律:阶数越高 → 序列越长 → 低频分量越丰富 → 考验通道的低频响应越狠。

PRBS7:故障排查好帮手

PRBS7 序列很短,只有 127 个 bit。它跑完一个周期极快,眼图刷新率也高。我习惯用它来做调试阶段的快速验证。

  • 优点:眼图闭合很快,能快速定位链路中的大问题(比如阻抗不匹配、连接器损坏)。
  • 缺点:太短了,很多低频抖动、码间干扰暴露不出来。
  • 典型应用:短距离 SerDes、背板测试、产线快速筛选。

我曾经在调试一块射频板时,死活找不到噪声源。换 PRBS7 一测,眼图瞬间清晰,就知道问题不在高频,而是低频干扰。换 PRBS31 反而把眼图完全打乱,干扰信号原形毕露。

PRBS15:平衡派选手

PRBS15 的序列长度大约 3.2 万 bit,不长不短。它比 PRBS7 多了很多低频成分,但又不至于像 PRBS31 那么极端。

我个人觉得,PRBS15 是「通用测试」的最佳折中点。为什么?

  • 它包含了足够长的连续 0 和 1 序列(最长 15 个),能暴露一般信道的基线漂移。
  • 测试时间适中,不像 PRBS31 那样需要等很久才能看到完整的眼图统计。
  • 很多高速串行总线标准(比如 PCIe Gen3/4)的直接测试模式就用了类似 PRBS15 的码型。

PRBS23:为高速传输而生

PRBS23 的序列长度约 838 万 bit。它已经能模拟出比较接近真实数据流的统计特性了。

我记得有个项目是做 25Gbps 的背板,一开始用 PRBS7 测眼图全过,结果上系统后误码率超标。换成 PRBS23 一测,眼图明显「糊」了一层,这才找到了信道均衡参数的问题。

注意:PRBS23 的测试时间已经比较长了。如果仪器采样率有限,扫一次完整的眼图可能要几十秒甚至几分钟。记得提前估算测试时间,别在产线上卡壳。

PRBS31:逼近真实数据的狠角色

PRBS31 的序列长度超过 21 亿 bit。它包含了极长的连续 1 或连续 0(最长 31 个),以及非常丰富的低频分量。说白了,它最接近真实通信数据中的随机性。

但是,PRBS31 的门槛也最高:

  • 测试时间长:扫一个完整周期,你可能要等上数小时。
  • 对接收端 CDR(时钟数据恢复)要求极高:长 0 长 1 会让 CDR 漂移,导致抖动测试结果偏大。
  • 如果链路中的 AC 耦合电容偏小,PRBS31 的基线漂移会让你怀疑人生。

我的建议是:只有在验证系统极限性能或做标准一致性测试时,才用 PRBS31。平时调试,PRBS7 或 PRBS15 完全够用。

怎么选?一张图说清楚

下面这张图是我自己画的一个选择流程,你照着它选基本不会出错:

PRBS 阶数选择指南 测试场景是什么? 快速调试 / 产线筛选 通用性能验证 标准一致性 / 极限 选 PRBS7 选 PRBS15 或 PRBS23 选 PRBS31 补充说明: • 产线优先:PRBS7 → 速度快、问题定位准 • 研发阶段:PRBS15/23 → 平衡测试深度与效率 • 认证送测:PRBS31 → 满足标准要求,但需预留充足测试时间

避坑指南

最后说几个我踩过的坑,希望能帮你省点时间:

  1. 别用 PRBS31 做全链路调试。 我曾经在一个 56Gbps PAM4 的项目中,用 PRBS31 测了三天眼图都关着。结果换 PRBS7,十分钟定位到是个连接器焊盘阻抗不连续。你想想看,这三天白忙活了。
  2. 注意 DC 平衡。 PRBS 本身 DC 平衡很好,但高阶码型长 0 长 1 会让 AC 耦合电容充电,导致眼图上下不对称。如果你发现眼图的「眼睛」上下高度明显不同,先检查耦合电容大小是否足够。
  3. 测试时间不是线性增长的。 从 PRBS7 到 PRBS31,序列长度增加了 1600 万倍。如果你用 PRBS7 测一次要 1 秒,用 PRBS31 可能要 20 天(除非你用硬件加速)。嗯,这个估算一点都不夸张。
  4. 接收端 CDR 的带宽要匹配。 带宽太低的 CDR 会被 PRBS31 的长 0 长 1 甩出去,导致恢复时钟抖动超标。这种问题其实不是信道的错,是 CDR 没调好。

我的个人习惯:手边常备 3 组参数。第一组是 PRBS7 + 所有通道快速扫描(10 秒搞定)。第二组是 PRBS15 + 全眼图统计(1 分钟左右)。第三组是 PRBS31 + 长时间误码率测试(预留 1 小时以上)。按需切换,效率最高。

好了,这一节的内容就这些。不同阶数的 PRBS 就像是不同焦段的镜头:广角(PRBS7)看全貌,标准(PRBS15)看细节,长焦(PRBS31)挖极限。选对镜头,才能拍出清晰的「眼图照片」。