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 完全够用。
怎么选?一张图说清楚
下面这张图是我自己画的一个选择流程,你照着它选基本不会出错:
避坑指南
最后说几个我踩过的坑,希望能帮你省点时间:
- 别用 PRBS31 做全链路调试。 我曾经在一个 56Gbps PAM4 的项目中,用 PRBS31 测了三天眼图都关着。结果换 PRBS7,十分钟定位到是个连接器焊盘阻抗不连续。你想想看,这三天白忙活了。
- 注意 DC 平衡。 PRBS 本身 DC 平衡很好,但高阶码型长 0 长 1 会让 AC 耦合电容充电,导致眼图上下不对称。如果你发现眼图的「眼睛」上下高度明显不同,先检查耦合电容大小是否足够。
- 测试时间不是线性增长的。 从 PRBS7 到 PRBS31,序列长度增加了 1600 万倍。如果你用 PRBS7 测一次要 1 秒,用 PRBS31 可能要 20 天(除非你用硬件加速)。嗯,这个估算一点都不夸张。
- 接收端 CDR 的带宽要匹配。 带宽太低的 CDR 会被 PRBS31 的长 0 长 1 甩出去,导致恢复时钟抖动超标。这种问题其实不是信道的错,是 CDR 没调好。
我的个人习惯:手边常备 3 组参数。第一组是 PRBS7 + 所有通道快速扫描(10 秒搞定)。第二组是 PRBS15 + 全眼图统计(1 分钟左右)。第三组是 PRBS31 + 长时间误码率测试(预留 1 小时以上)。按需切换,效率最高。
好了,这一节的内容就这些。不同阶数的 PRBS 就像是不同焦段的镜头:广角(PRBS7)看全貌,标准(PRBS15)看细节,长焦(PRBS31)挖极限。选对镜头,才能拍出清晰的「眼图照片」。