美文网首页PCB设计串行总线
PRBS码是什么?PRBS生成原理介绍

PRBS码是什么?PRBS生成原理介绍

作者: 一博科技 | 来源:发表于2018-06-22 15:39 被阅读0次

之前一直在讲高速串行的协议,MACPHYPMD层,PMA层吗,PCS层。。。看大家回答的数量也不是很多,弱弱的问一句大家都消化了吗?的确,讲到各个层的功能,数据在芯片内部如何去运作协调这方面的确有点高深。其实坦白说哈,作为同组的一员,我也对上面的文章和刘工深感佩服(点赞点赞)。既然上层的东西不那么好理解的话,我们还是说回点接地气的吧。我们知道,无论上层如何运作,最终还是要去到物理层上面去,最终我们的数据就在上面传输,而传输的方式就是各种不同速率的码型。从本期开始,我们将介绍下关于码型的一些东西。

PRBS:Pseudo-Random Binary Sequence,中文翻译叫做伪随机二进制序列,江湖人简称它为伪随机码。做过测试的朋友们都应该特别熟悉,就是使用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是比较简单的,感觉它没经过几位就可以循环一次了,大家推导起来也比较方便。

相关文章

  • PRBS码是什么?PRBS生成原理介绍

    之前一直在讲高速串行的协议,MAC,PHY,PMD层,PMA层吗,PCS层。。。看大家回答的数量也不是很多,弱弱的...

  • 什么是PRBS

    PRBS:Pseudo-Random Binary Sequence,即伪随机码,常用于高速串行通道的测试。为什么...

  • PRBS码到底是啥玩意?

    之前一直在讲高速串行的协议,MAC,PHY,PMD层,PMA层吗,PCS层。。。看大家回答的数量也不是很多,弱弱的...

  • IMEI 的获取原理追踪

    imei 是怎么生成及获取的,原理是什么,如果改码的话,怎样才是最简单的最有效的? 推荐个源码阅读网站:http:...

  • java生成解析二维码

    [TOC] 说明 本文介绍使用zxing来生成和解析二维码。 maven坐标如下: 1 zxing生成二维码示例 ...

  • 实用技术第1篇——如何生成和读取二维码【上】

    前言 苹果官方从iOS7开始集成了二维码的生成和读取功能,本文简单介绍下如何生成和读取二维码。 如何生成二维码 步...

  • GAN-简单的demo

    摘要:本篇博客主要介绍GAN的基本原理与代码实现 GAN的基本原理介绍 GAN是一种生成式对抗网络,它属于一种生成...

  • Spring boot 生成动态验证码并前后端校验

    最近需要生成一个动态的验证码,在登录页面使用,并在前后端进行校验; 实现原理: 后端生成动态二维码,存储在 ses...

  • JAVA - 动态代理

    原理 通过生成新的字节码对象,并且加载进内存创建对象来实现动态代理

  • 验证码校验的玩法,从单台、集群到分布式

    验证码的校验原理其实很简单: 客户端请求验证码; 服务端生成校验码(code_key-code_value),co...

网友评论

    本文标题:PRBS码是什么?PRBS生成原理介绍

    本文链接:https://www.haomeiwen.com/subject/fdikyftx.html