PRBS 常见类型:从 7 到 31,你该选哪个?
说到 PRBS,老工程师们通常直接喊「几阶的」。比如「给我打一段 7 阶的」、「跑一下 31 阶看看」。其实,PRBS 后面的数字就代表生成多项式中的阶数 n。这个阶数决定了两个核心参数:序列长度(2n-1)和最大连续相同比特数(n-1)。
我刚开始做高速串行链路调试那会儿,总觉得 PRBS31 最复杂、最牛逼,所以不管测什么都上 31 阶。结果有一次,一根短背板怎么测都跑不过去。后来老同事过来看了一眼,淡淡说了句:「你跑个 PRBS7 试试。」换完之后,链路立马绿灯。为什么?因为 PRBS7 的低频成分更少,对 AC 耦合电容更友好。从那天起我才真正理解:选 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 |
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 就足够了。
如何选择?一张图说清楚
下面这张图总结了 PRBS 家族的「性格画像」。你一眼就能看出不同阶数在序列长度、压力类型和应用场景上的差异。
几点额外提醒
- PRBS 不是万能的: 它模拟随机数据但并非真正随机。如果你需要测试 8b/10b 编码后的链路特性,可能需要自定义码型。
- 注意频谱重合: 当码率恰好使 PRBS 最低频率与电源纹波或 PLL 工作频率重合时,会出现意外的误码。我遇到过一例 12.5Gbps 下用 PRBS31 测出大量突发误码,换成 PRBS23 就正常了 —— 后来发现是 PRBS31 的某个低频分量刚好落在电源模块的谐振点上。
- 硬件支持: 不是所有误码仪都支持全阶 PRBS。老式的误码仪可能只支持到 PRBS15。购买设备前一定要确认支持的最大阶数。