PCIE中的加扰与解扰

1) 什么是加扰(scrambler)?

所谓加扰是将源数据流与一个随机序列异或后,再发送出去,异或操作完成后的数据流基本是伪随机的。

Scranbker的主要作用就是通过“加扰”的方法消减EMI噪声,所谓加扰是将源数据流与一个随机序列异或后,再发送出去。此时被发出的数据流也基本是伪随机的,从而降低了发送数据时产生的EMI噪声。

2) 异或使用的随机序列是如何产生的?

以PCIE 为例,PCIE总线通过一个16位线性反馈移位寄存器(Linear Feedback Shift register, LFSR),产生为随机序列,该移位寄存器的表达式如下所示:

G(x)=X^16+X^5+X^4+X^3+1

该公式是一个本原多项式(具有最大周期的不可以约多项式),使用该公式可以产生一个周期为216-1的伪随机序列。对应的,由本预案多项式作为生成多项式所产生的LFST序列为最大周期序列。这些序列一般被称为m-序列,在m-序列中“0”和“1”所占的比例相对均衡,但是1的个数比0的个数多1,因为全0不能作为初始值,,也不可能是中间状态。

源数据流与这个伪随机序列中的字符流进行异或操作,从而称为一个相对较为随机的字符流,从而降低了数据流的EMI噪声。

3) 什么是解扰(de-scrambler)?

PCIE数据发送端有加扰,数据接收端也有解扰操作,解扰与加扰使用相同的公式,必须完全同步,即LFSR使用相同的初始值。在PCIE链路的两端,该初始值为0xFFFF。PCIE链路两端设计每次加解扰一个8b数据后,LFSR进行8次移位操作。

来源:https://blog.csdn.net/icxiaoge/article/details/80023404

推荐阅读