更新时间:2024-11-17 16:38:01点击:
之前仍然在谈高速串行的协议,MAC,PHY,PMD层,PMA层,PCS层......看大家问的数量也不是很多,弱弱的问一句大家都消化了吗?的确,谈到各个层的功能,数据在芯片内部如何去运作协商这方面的确有点高深。只不过坦白说哈,作为同组的一员,我也对上面的文章和刘工感到敬佩(点赞点拜)。既然上层的东西不那么好解读的话,我们还是说道返点接地气的吧。
我们告诉,无论上层如何运作,最后还是要去到物理层上面去,最后我们的数据就在上面传输,而传输的方式就是各种有所不同速率的码型。从本期开始,我们将讲解下关于码型的一些东西。PRBS:Pseudo-RandomBinarySequence,中文翻译叫作伪随机二进制序列,江湖人全称它为伪随机码。
做到过测试的朋友们都应当尤其熟知,就是用于PRBS这种伪随机码展开高速串行地下通道的测试,主要是测试误码率的情况,例如我们常用的一些协议,PCIE,USB,以太网或者右图的光模块的测试等……当然我们信号高速串行信号建模的时候,也不会有各种prbs码型展开,一个10G-SFP+光模块PCB地下通道的建模模型如下:为什么业界普遍认为自由选择这种prbs码型展开测试(建模)呢?主要原因是这种码型与现实链路的数据传输情况十分相似。因为在真实情况中,所以的数据人组都是随机经常出现的,没任何规律可言。而PRBS的码流在相当大程度上具备这种“随机数据”的特性,“0”和“1”随机经常出现,这种码流的频谱特征和白噪声十分相似,所谓“红噪声”就是在一个较为长的频域里功率密度序均匀分布,也就是所有的频率都具备完全相同的能量,因此该码型需要仿真各种有所不同频率数据构成的情况,使测试更加合乎现实的情况。
那prbs这种随机码知道就是没任何规律的吗??当然不是,不然的话为什么还要分prbs1-31那么多种呢。之所以要叫伪随机码,只不过就是码流在周期内部是随机的,但是在各个周期里面又是完全相同的。咋一看,样子说道了相等没,大家有可能有疑惑,在周期内部是随机的,那不还是随机嘛?只不过这个随机是要打个问号的,准确来说是“有顺序的随机”。所谓顺序就是通过有所不同阶数的prbs字节来反映,例如,我们常用的有阶数7、9、11、15、20、23、31,也就是我们经常说道的PRBS7、PRBS9、PRBS11、PRBS15、PRBS20、PRBS23、PRBS31。
前面说道了,有所不同的阶数不会有有所不同的码型,那它们之间有什么规律呢?有所不同阶数是怎样分解码型的呢?我们以PRBS3展开解释。PRBS码型是由PRBS码型发生器产生的,下面是一个非常简单发生器的示意图:架构很非常简单,就由两部分构成:移位寄存器和密文运算器。首先移位寄存器,顾名思义起到就是移位,1个bit发送到后,把下一个bit推上前打算发送到;密文运算,非常简单点说道就是两个不一样就是“1”,两个一样就是“0”,因此有“1”和“1”是0,“0”和“0”是0,“1”和“0”是1。
那像上面这个PRBS3发生器,展开密文的位是第二位和第三位,因此用一个多项式命名它,叫作1+X2+X3。这样我们可以开始展开计算出来了。首先我们有一个初始状态“111”。
我们就有了下面这么一个计算出来过程(所画得很差,大家看内容就好)。非常简单解释一下,红色为密文运算过程,蓝色为每次移位后的bit,绿色为输入的数据bit,紫色解释绕行一圈之后又返回了原本,循环了一次。经过本文之后,大家是不是对感觉很高深谜样的prbs码型有了更加接地气的了解和解读了呢?当然,本文举例的prbs3是比较简单的,感觉它没有经过几位就可以循环一次了,大家推论一起也较为便利。
问题来了如果是prbs7、prbs15呢?它们循环一次必须多少个bit呢?那……扩展到prbsN呢?。
本文来源:南宫NG·28-www.etmoc.net