PRBS常见类型详解
做高速信号测试,选对PRBS类型是第一步。说白了,不同的PRBS序列就像不同精度的尺子——有的测个大概,有的放大镜级别查细节。我最早接触的是PRBS7,当时觉得够用了,后来跑到高速链路才发现,嗯,类型选不对,测试结果可能骗人。
PRBS7
PRBS7是最常见的入门序列。它的生成多项式是 \(x^7 + x^6 + 1\),周期长度127比特。你想想看,127个比特循环一遍,算下来非常快。
- 特点:短周期、低延迟、容易同步
- 典型场景:SATA、PCIe Gen1/2、短距离背板测试
- 我的经验:我在做板级信号完整性时,习惯先用PRBS7扫一遍眼图。快速发现阻抗不连续或串扰问题,效率很高
小技巧:PRBS7适合做初始调试。如果眼图闭合严重,再换长序列慢慢定位。
PRBS9
PRBS9的多项式是 \(x^9 + x^5 + 1\),周期511比特。它比PRBS7长一些,能覆盖更多低频分量。
- 特点:平衡了测试时长和频谱覆盖
- 典型场景:10G Ethernet、SFP+模块测试
- 避坑:我曾经用PRBS9测试一个带DC平衡编码的链路,结果误码率忽高忽低。后来发现编码器对序列的游程长度有要求,PRBS9的连续相同比特数偶尔超标
PRBS15
PRBS15多项式 \(x^{15} + x^{14} + 1\),周期32767比特。这个长度开始触及一些低频响应问题。
- 特点:包含更多低频模式,能暴露CDR锁相环的缓慢漂移
- 典型场景:SATA Gen3、USB 3.0、低速背板
- 注意:测试时间比PRBS7长很多,但换来更真实的信道模拟
警告:PRBS15在个别误码仪上可能无法自动同步,需要手动校验。我在项目里遇到过两次,最终发现是仪器没更新固件。
PRBS23
PRBS23多项式 \(x^{23} + x^{18} + 1\),周期约8.3百万比特。这个级别开始用于高端链路。
- 特点:极低频率分量丰富,能激发出信道中的基线漂移
- 典型场景:PCIe Gen4/5、100G以上光模块
- 个人看法:我在测25G NRZ链路时,用PRBS23发现了一个之前没注意到的低频抖动。换成PRBS7(测试20秒)根本看不到那个问题
PRBS31
PRBS31是大家口中「最严格」的序列。多项式 \(x^{31} + x^{28} + 1\),周期长达21.4亿比特。
- 特点:几乎涵盖所有数据模式,最接近真实随机数据
- 典型场景:400G/800G光互联、长距离光纤、高速背板
- 代价:测试时间极长。比如在10Gbps速率下,一个完整周期需要2.1秒,眼图捕获很可能需要累加几十万个UI
核心要点:并非越长越好。PRBS31能暴露最恶劣的ISI和抖动,但捕获时间、内存压力也最大。我在实际项目中往往先跑PRBS7确认基本性能,最后用PRBS31做一次full check。
各类型参数对比
下面这张表列出关键参数,方便你快速查阅。
| 类型 | 多项式 | 周期长度 | 建议速率范围 | 典型应用 |
|---|---|---|---|---|
| PRBS7 | x⁷+x⁶+1 | 127 | ≤6 Gbps | SATA, PCIe Gen1/2 |
| PRBS9 | x⁹+x⁵+1 | 511 | ≤12 Gbps | 10G Ethernet, SFP+ |
| PRBS15 | x¹⁵+x¹⁴+1 | 32,767 | ≤16 Gbps | SATA Gen3, USB 3.0 |
| PRBS23 | x²³+x¹⁸+1 | 8,388,607 | ≤56 Gbps | PCIe Gen4/5, 100G |
| PRBS31 | x³¹+x²⁸+1 | 2,147,483,647 | ≥112 Gbps | 400G/800G, 长距离 |
如何选择PRBS类型?
我一般按照下面的逻辑来选,分享给你参考。
- 看信道带宽:如果被测链路是短距离背板(<10cm),PRBS7够用;长距离光纤或背板需要PRBS31。
- 看标准要求:很多协议规范明确写了测试序列。比如PCIe Gen3要求PRBS15,Gen4要求PRBS23。不要自已乱改。
- 看测试目标:只是想快速看眼图是否张开?用PRBS7。要测误码率做可靠性评估?用PRBS31。
- 看硬件限制:老一代误码仪可能不支持PRBS23/31的实时解扰。先查规格。
建议:如果时间充裕,做一套「阶梯测试」:PRBS7 → PRBS9 → PRBS23 → PRBS31。每步观察眼图和误码率的变化,能帮你找到最脆弱的模式。
注意:PRBS23和PRBS31在实时眼图捕获时,数据量巨大。我曾经用一台12GHz带宽示波器抓PRBS31的眼图,设置存储深度到1Gpts才勉强看到完整图案。预算有限的话,先上PRBS23就够了。
总结成一句话:没有最好的PRBS类型,只有最合适的。根据你的测试带宽、标准要求和设备能力灵活选择,别一根筋认死理。我个人习惯在项目早期用PRBS7跑快速验证,后期用PRBS23或31做最终释放——这样既快又稳。