PRBS 常见类型:从 7 到 31,你该选哪个?

说到 PRBS,老工程师们通常直接喊「几阶的」。比如「给我打一段 7 阶的」、「跑一下 31 阶看看」。其实,PRBS 后面的数字就代表生成多项式中的阶数 n。这个阶数决定了两个核心参数:序列长度(2n-1)和最大连续相同比特数(n-1)。

我刚开始做高速串行链路调试那会儿,总觉得 PRBS31 最复杂、最牛逼,所以不管测什么都上 31 阶。结果有一次,一根短背板怎么测都跑不过去。后来老同事过来看了一眼,淡淡说了句:「你跑个 PRBS7 试试。」换完之后,链路立马绿灯。为什么?因为 PRBS7 的低频成分更少,对 AC 耦合电容更友好。从那天起我才真正理解:选 PRBS 类型,本质上是在选被测链路的「压力谱」。

核心原则: PRBS 阶数越高,序列越长,低频分量越丰富,对信道低频响应的考验越大。反之,阶数越低,高频能量越集中,更适合看高频损耗。

PRBS7:短小精悍,调试利器

PRBS7 的生成多项式是 x7 + x6 + 1。序列长度只有 127 bit。嗯,你没看错,127 个比特就跑完一个完整周期。

我个人最常用的场景有两个。第一:信号完整性调优。PRBS7 的频率成分集中在靠近码率的高频区,特别适合看芯片的 TX 均衡和 RX 均衡参数。第二:快速故障定位。记得我在调一块 10Gbps 的背板时,测试一直不过,猜测是某个焊盘阻抗突变。PRBS7 的短周期让我能快速累积误码统计,几分钟就锁定了位置。

参数 PRBS7 特点
阶数 n 7 最低阶常用 PRBS
序列长度 127 bit 周期极短,适合快速扫参
最长连 0/连 1 6 bit DC 平衡性好
典型码率 1~12 Gbps 涵盖常见低速/中速总线
应用场景 芯片调优、板级调试 PCIe Gen1/2、SATA、USB 3.0
避坑: 我曾经遇到过有人用 PRBS7 做系统级背板验证,结果误码率很低但链路就是不稳。后来发现是低频滚降导致的低频子载波衰减,PRBS7 根本测不出来。所以 —— 系统级长距离链路,别只用 PRBS7!

PRBS9 与 PRBS15:中位阶,万金油

PRBS9 的生成多项式是 x9 + x5 + 1,长度 511 bit。PRBS15 则是 x15 + x14 + 1,长度 32767 bit。

这两个阶数在工业界非常高频出现。我个人的经验是:如果你不确定被测链路的特性,PRBS9 是「不会出错」的起点。它既有 PRBS7 的快速累积能力,又带入了少许低频成分,对于中等长度的背板或者电缆效果很好。

PRBS15 就比较有意思了。它的序列长度接近 32K,在 BER 测试中需要跑较长时间才能得到稳定统计。我在做 25Gbps 长距离链路时特别喜欢用 PRBS15 —— 它给信道提供了足够多的低频能量来挑战 CDR(时钟数据恢复)的跟踪能力,但又不至于像 PRBS31 那样跑一次测试要等半年。

参数 PRBS9 PRBS15
生成多项式 x9+x5+1 x15+x14+1
序列长度 511 bit 32,767 bit
最恶劣低频 码率 / 511 码率 / 32767
典型码率 1~28 Gbps 10~56 Gbps
应用场景 中距背板、线缆 长距背板、光模块

PRBS23 与 PRBS31:终极压力测试

PRBS23 和 PRBS31 是挑战系统极限的「重量级选手」。它们的生成多项式分别是:

  • PRBS23:x23 + x18 + 1
  • PRBS31:x31 + x28 + 1

PRBS23 的序列长度约为 8.3 百万比特,PRBS31 更是高达 2.1 亿比特。你想想看,如果在 25Gbps 码率下跑 PRBS31,一个完整周期需要跑大约 231 / 25e9 秒 ≈ 0.086 秒。看起来不长吗?但要跑出 BER 为 1e-12 的置信度,至少要积累 10 个误码 —— 这意味着测试时间可能高达几十分钟。

我有个同事在验证 400G 光模块时,坚持用 PRBS31 做全部通道的误码测试,结果一个模块跑了两天还没跑完。反而是我们改用 PRBS23 快速定位到两个通道的 TX 均衡问题。所以我的建议是:PRBS31 只用作最终的「签核测试」,调试迭代阶段用 PRBS23 就足够了。

我的习惯: 三种测试策略 —— 调机用 PRBS7,调优用 PRBS9/15,签核用 PRBS23 或 PRBS31。当然,如果你的系统标准明确指定了 PRBS 类型(比如 25GE 标准规定 PRBS31),那就必须按标准来。

如何选择?一张图说清楚

下面这张图总结了 PRBS 家族的「性格画像」。你一眼就能看出不同阶数在序列长度、压力类型和应用场景上的差异。

PRBS 类型对比:从 7 到 31 PRBS7 长度:127 bit 高频压力型 PRBS9 长度:511 bit 中频均衡型 PRBS15 长度:32K bit 中低频挑战型 PRBS23 长度:8.3M bit 低频压力型 PRBS31 长度:2.1G bit 全频段终极压力 选择指南 • 芯片级调优 / 快速扫参 → PRBS7 / PRBS9 • 板级中距链路 → PRBS9 / PRBS15 • 系统级长距验证 → PRBS15 / PRBS23 • 标准合规签核 → PRBS23 / PRBS31(按规范要求) • 高频压力需要看连 0 连 1 的摆幅传播,而非仅看长度

几点额外提醒

  • PRBS 不是万能的: 它模拟随机数据但并非真正随机。如果你需要测试 8b/10b 编码后的链路特性,可能需要自定义码型。
  • 注意频谱重合: 当码率恰好使 PRBS 最低频率与电源纹波或 PLL 工作频率重合时,会出现意外的误码。我遇到过一例 12.5Gbps 下用 PRBS31 测出大量突发误码,换成 PRBS23 就正常了 —— 后来发现是 PRBS31 的某个低频分量刚好落在电源模块的谐振点上。
  • 硬件支持: 不是所有误码仪都支持全阶 PRBS。老式的误码仪可能只支持到 PRBS15。购买设备前一定要确认支持的最大阶数。
最重要的: PRBS31 跑一次完整周期的测试时间可能非常长。如果在 56Gbps PAM4 下测试,由于误码率要求到 1e-15,你可能需要跑数小时甚至数天。这时候一定要把测试计划安排好,别耽误项目进度。