PRBS的定义:
PRBS: Pseudo-Random Binary Sequence 伪随机二进制序列
PRBS 码具有“随机”特性,是因为在 PRBS 码流中,二进制数“ 0 ” 和“ 1 ” 是随机出现的,但是它又和真正意义上的随机码不同,这种“随机”特性只是局部的,即在周期内部,“0”和“1”是随机出现的(码流生成函数与初始码确定后,码流的顺序也是固定的),但各个周期中的码流却是完全相同的,所以我们称其为“”伪随机码。
PRBS 码的周期长度与其阶数有关,常用的阶数有 7 、 9 、 11 、 15 、 20 、 23 、 31 ,也就是我们常说的 PRBS7 、 PRBS9 、 PRBS11 、 PRBS15 、 PRBS20 、 PRBS23 、 PRBS31 。
对于 n 阶 PRBS 码,每个周期的序列长度为 2^n-1 。在每个周期内,“ 0 ” 和“ 1 ” 是随机分布的,并且“ 1” 的个数较“ 0 ” 的个数多一个,连“ 1 ” 的最大数目为 n ,连“ 0 ” 的最大数目为 n-1。

PRBS的用途:
在高速设计中为了测试高速串行通道传输的误码率,通常通过发送PRBS码来进行测试。
在对高速信号链路进行误码测试时,基本上都是利用 PRBS 码流来模拟真实的线网码流环境,因为在线网中,所有的数据都是随机出现的,没有任何规律可言,而 PRBS 码流在一定程度上具有这种“随机数据”特性,二进制“ 0 ”和“ 1 ”随机出现,其频谱特征与白噪声非常接近。 PRBS 码流的阶数越高,其包含的码型就越丰富,就越接近真实的线网环境,测试的结果就越准确。

PRBS的验证:
就是PRBS的产生的反过程,具体方法是Transceiver接收端首先将收到的数据寄存一拍(并行数据),将寄存的数据进行PRBS编码,编码后的数据与最新接收到的数据进行比较,如果一致则表示PRBS校验正确。

PRBS信号的产生方法
  PRBS信号是由PRBS码型发生器生成的。PRBS发生器通常是由线性反馈移位寄存器(LinearFeedbackShiftRegister,简称LFSR)和异或电路组成。如下图1所示为最简单的PRBS3的码型发生器,其多项式为X3+X2+1,即寄存器的第3位与第2位做异或(XOR)的逻辑运算后返回到寄存器的第1位,寄存器的第3位X3同时也是PRBS3发生器的输出。

PRBS7,高速串行总线的常用测试码型

图1:PRBS3码型发生器原理

在表格1中显示了PRBS3的n个周期的时钟后输出n个比特的码流。X1/X2/X3分别是3个比特移位寄存器的低位到高位,输出位是X3,初始状态为X1/X2/X3=1/1/1,如表格第1行所示。
  第1个时钟沿到达后,X3与X2异或后等于0,输入到X1,同时X1和X2前移到X2和X3,所以X1/X2/X3=0/1/1,如表格第2行所示;
  第2个时钟沿到达后,X3与X2异或后等于0,输入到X1,同时X1和X2前移到X2和X3,所以X1/X2/X3=0/0/1,如表格第3行所示;
  第3个时钟沿到达后,X3与X2异或后等于1,输入到X1,同时X1和X2前移到X2和X3,所以X1/X2/X3=1/0/0,如表格第4行所示;
  ……
  以此类推,第5行为0/1/0,第6行为1/0/1,第7行为1/1/0,第8行为1/1/1,与初始状态相同,接下来的第9行和第10行与第2行和第3行完全相同,也就是说PRBS3的码型输出7个比特后开始重复。X3是PRBS3的输出位,所以PRBS3输出的码型为1110010,码长为7,如图2所示,每7个比特后开始重复输出同一码型。在PRBS3中包括了11100属于码流中频率最低的码型,010是频率最高的码型。

表1:PRBS3的3位寄存器数值

PRBS7,高速串行总线的常用测试码型

PRBS7,高速串行总线的常用测试码型

图2:几种常用PRBS的说明

PRBS7:
  PRBS7是目前10Gbps以下的串行总线中最常用的测试码型。常用的PRBS7的多项式为X7+X6+1,码长为127个比特,在ITU-TV.29规范中规定。PRBS7属于短伪随机码型,与8b10bNRZ编码的数据流很相似,所以,在PCIe、SATA、XAUI、1000BASE-LX、FC、SAS等采用8b10b编码的串行总线中,PRBS7是最常用的测试码型,支持这些总线的芯片通常都可以输出PRBS7测试码型,用于眼图、抖动或误码率测量。
PRBS7的码流中最长的连1为7个,最长的连0为6个;而8b10b编码中最长的连1为5,最长的连0也是5;因此,相比8b10b编码,PRBS7可以产生的较低频率的码型。使用PRBS7作为驱动源,在同一信道(比如背板上20英寸长走线)上传输到接收端后得到眼图和抖动,都比8b10b编码的作为驱动源时的结果稍差些。这样,PRBS7作为8b10b编码的串行总线的测试码型,留出了一定的设计余量。

PRBS7,高速串行总线的常用测试码型

图3:PRBS7码型发生器原理

PRBS31:
  PRBS31的多项式为X31+X28+1,码长为2^31-1=2147,483,647个比特,属于长伪随机码型。码流中最长的连1为31个,最长的连0为30个,包含了相当多的低频成分而这正是SONET/SDH系统测试规范中所要求的,所以可用于像SONET/SDH信号那样包含了很多低频成分的物理层测量。

实际应用中,一个 PRBS 序列可以串 / 并转换成多路( 2 、 4 、 8 、 16 …路)并行输出,每路输出的速率降低,但仍然保持原序列的一切特征;反之,同一时钟源低速率多路( 2 、 4 、 8 、 16 …路)同一 n 阶的 PRBS 可以经并 / 串转换成高速率的 n 阶 PRBS 系列。

#PRBS# PRBS7高速串行总线的常用测试码型相关推荐

  1. 高速串行总线系列(3)GTX/GTH 物理层结构分析

    文章目录 前言 Transceiver总览 MGT BANK QUAD GTX CHANNEL TRANSMITTER FPGA TX Interface TX 8B/10B Encoder TX G ...

  2. 高速串行总线设计基础(八)揭秘SERDES高速面纱之CML电平标准与预加重技术

    文章目录 前言 物理信号 预加重 差分传输线 参考资料 前言 对于数字工程师来说,我们可能关注的仅仅是本文中的差分信号电平标准以及预加重技术,CML电平标准是Transceiver技术的首选,在Xil ...

  3. 高速串行总线设计基础(五)揭秘SERDES高速面纱之多相数据提取电路与线路编码方案

    文章目录 前言 多相数据提取电路 线路编码方案 8B/10B编解码 运行差异(Running Disparity) 控制字符 Comma 检测 加扰技术 参考文献 前言 SERDES可以工作在多吉比特 ...

  4. 高速串行总线设计基础(三)SERDES的通用结构介绍

    文章目录 前言 SERDES的基本构造 SERDES的通用框图 市场上的SERDES或Transceiver展示 Xilinx的Transceiver架构展示 Altera的SERDES介绍 往期回顾 ...

  5. 以太网口差分电平_高速串行总线设计基础(八)揭秘SERDES高速面纱之CML电平标准与预加重技术...

    前言 物理信号 预加重 差分传输线 参考资料 前言 对于数字工程师来说,我们可能关注的仅仅是本文中的差分信号电平标准以及预加重技术,CML电平标准是Transceiver技术的首选,在Xilinx的G ...

  6. 高速串行总线设计基础(七)揭秘SERDES高速面纱之时钟校正与通道绑定技术

    文章目录 前言 时钟校正 接收和发送缓冲区 通道绑定 参考文献 前言 上篇文章讲了高速串行总线中的数据包核参考时钟的相关内容,见:高速串行总线设计基础(六)揭秘SERDES高速面纱之数据包与参考时钟要 ...

  7. HyperLynx(三十)高速串行总线仿真(二)

    高速串行总线仿真(二) 仿真实例 1.探索多层板中的PCI-E串行通道 2.设置叠层以减小损耗 3.分析通道的不同配置对损耗的影响 4.检测驱动端规范 5.检查接收器规范 6.通过仿真得出整个通道的驱 ...

  8. HyperLynx(三十二)高速串行总线仿真(四)

    高速串行总线仿真(四) 在上节的基础上 1.通过导出到LineSim验证一个串行通道 2.快速眼图仿真 3.高速串行总线设计注意事项 1.通过导出到LineSim验证一个串行通道 接下来,将导出网络到 ...

  9. HyperLynx(三十一)高速串行总线仿真(三)

    高速串行总线仿真(三) 1.从一个多层板工程中验证串行通道 2.在多层板中设置连接器模型 1.从一个多层板工程中验证串行通道 在本例练习中,将集中研究从芯片到插件形成的串行发射通道,并分析它的性能. ...

最新文章

  1. HDU6346(最小权值完美匹配)
  2. 深入浅出Spring Security(二):FilterChainProxy的创建过程
  3. LJL-Solution-vss2005在项目中连接不上 解决方案
  4. 树状数组(单点+区间的所有操作)
  5. Java多线程--list.parallelStream().forEach()使用实例
  6. boost::gregorian模块实现计算今年的元旦直到下一个元旦的日子的测试程序
  7. 放大器的传递函数_保证放大器的稳定性什么最重要?反馈电阻一定要选对!
  8. C#中关于updatePanel与freeTextBox不兼容的问题 当页面刷子新后,ftb不能输入内容的解决办法
  9. Google AI面试题
  10. java加载properties文件的几种方式,java高级面试笔试题
  11. matlab abc to dq0仿真,逆变器负载论文,关于基于同步旋转坐标的三相逆变器控制系统仿真相关参考文献资料-免费论文范文...
  12. 序列化和反序列化(JSON、protobuf)
  13. i2c-tools下载安装及使用调试
  14. 安卓手机运行springboot 应用,做java 服务器
  15. 屏幕上1像素代表的实际距离是多少?
  16. matlab中min函数
  17. 如何使用“迁移助理”将文件从旧 Mac 移到新Mac?
  18. NativeActivity
  19. arduino与hcsr04_基于Arduino的超声波传感器HC-SR04
  20. 用代码写一个表白biu小心心

热门文章

  1. mysql 1452 Cannot add or update a child row: a foreign key constraint fails
  2. 利用计算机画统计图.doc,信息技术应用利用计算机画统计图.pptx
  3. python matplotlib三维画图、二维画图常用命令总结
  4. Java使用当前日期加四位数实现每日自增单号工具类
  5. SpringBoot项目目录结构(工程结构)
  6. 【python】二进制与十进制的转换
  7. tp5框架中调用支付宝线上资金预授权alipay.fund.auth.order.app.freeze接口
  8. Cannot Resolve Symbol xxx 错误解决
  9. ECMWF ERA-interim数据下载——手动下载
  10. 一个安全的邮件习惯如何练成的