作者丨鼎阳科技 张贺阳
什么是PRBS码型
PRBS的全称是Pseudo-Random Binary Sequence,也就是伪随机二进制序列。这是一种通过确定性算法生成的序列,但是很难预测,所以它的统计结果类似于真正的随机序列。
我们形容不同的PRBS码型时,通常用PRBSk或PRBS-k符号(例如PRBS5或PRBS-5)来指示不同序列的大小。在序列中最大有N=2k-1个比特数,因此在PRBS-k中,k表达了序列中唯一的数据字节的长度。如果将N位数据分割成长度为k的每一种可能的字段,那么除了全是0的字之外,我们可以找到k位二进制字的每一种可能的0和1的组合。
我们以PRBS-4为例子,可以看出除了0000的状态外,剩下的15个状态都输出过:
已知PRBS-4的生成多项式为1+X3+X4
这里1代表输入,计算移位寄存器的第3位和第4位的异或计算结果作为下一个状态的输入,将第四位作为输出,假设我们令多项式的状态从1111开始,则生成的随机码序列为:
得到结果111100010011010。
以此类推,最后的几个四比特字节绕到序列的另一端来补全,这样就除去0000状态外,该序列在剩下的15个状态中循环切换的序列。其中不同的k对应的生成多项式也是不同的,比如:
每一个多项式都规定了反馈的位数,如果选用其他的情况会怎样?我们还以PRBS-4为例,如果选择第二位和第四位的异或作为反馈,得到的结果为111001111,可以看到,只经过了6个状态就已经回到了初始状态,随机性要更差。
当PRBS-4信号在500M比特率的速度下运行时,使用频谱仪扫描的结果如下图所示:
图1-1 使用频谱仪观察PRBS信号
从图中可以看到,比特率500MHz的PRBS信号能量集中在500MHz以内,由多条线状谱构成。在频率谱的主叶中,含有15根谱线(包括DC的0Hz)。每根谱线之间的间距为33.333MHz(500MHz÷15)。
PRBS序列的频谱分量取决于比特率和序列长度,通常,PRBS-k序列的长度为2k-1位。在给定的比特率,频谱分量会以等间隔出现,间隔大小为比特率除以序列长度。
为了观察除了主叶之外的频谱成分对信号带来的影响,我们使用示波器观察信号,如下图所示。在不同的带宽限制下观察信号。可以观察到,为了获得一个信号完整性较好的波形,至少要包含两组谐波分量,也就是信号路径的模拟带宽最好大于比特率的三倍。这对于测试高速数字接口信号非常重要。
图1-2 示波器带宽为1.5GHz的测试结果
图1-3 示波器带宽为1GHz测试结果
图1-4 示波器带宽为500MHz的测试结果
PRBS码型的应用
在真实的使用场景中,数据流是完全随机的,PRBS码型与实际场景的数据流很相似,因此我们常用PRBS来模拟真实的数据流。
在信号完整性测试中,为了验证通道的性能,我们通常需要发送PRBS码型来观察输出的信号质量,特别是对于眼图测试、误码率和抖动容限测试。
PRBS-7是目前10Gbps以下的串行总线中最常用的测试码型。因为PRBS-7的码型与8b/10b NRZ编码的数据流很相似,因此,在PCIe、SATA、100base-TX、SAS等采用8b/10b编码的串行总线中,PRBS-7是最常用的测试码型。