编辑: 丑伊 | 2017-10-10 |
edadoc.com/cn/TechnicalArticle/ PRBS 码到底是啥玩意 之前一直在讲高速串行的协议,MAC,PHY,PMD 层,PMA 层吗,PCS 层...看大家回答的 数量也不是很多,弱弱的问一句大家都消化了吗?的确,讲到各个层的功能,数据在芯片内部如 何去运作协调这方面的确有点高深.其实坦白说哈,作为同组的一员,我也对上面的文章和刘工 深感佩服(点赞点赞).既然上层的东西不那么好理解的话,我们还是说回点接地气的吧.我们 知道,无论上层如何运作,最终还是要去到物理层上面去,最终我们的数据就在上面传输,而传 输的方式就是各种不同速率的码型.从本期开始,我们将介绍下关于码型的一些东西. PRBS:Pseudo-Random Binary Sequence,中文翻译叫做伪随机二进制序列,江湖人简称它 为伪随机码.做过测试的朋友们都应该特别熟悉,就是使用 PRBS 这种伪随机码进行高速串行通 道的测试,主要是测试误码率的情况,例如我们常用的一些协议,PCIE,USB,以太网或者下图 的光模块的测试等等…… 当然我们信号高速串行信号仿真的时候, 也会有各种 prbs 码型进行, 一个 10G-SFP+光模块 PCB 通道的仿真模型如下: 每周原创技术文章,互动交流月月有奖 全球最大的高速 PCB 设计中心 设计、生产一站式硬件创新平台 最新文章:http://www.edadoc.com/cn/TechnicalArticle/ 为什么业界公认选择这种 prbs 码型进行测试(仿真)呢?主要原因是这种码型与真实链路的数据 传输情况非常接近. 因为在真实情况中, 所以的数据组合都是随机出现的, 没有任何规律可言. 而PRBS 的码流在很大程度上具有这种"随机数据"的特性,"0"和"1"随机出现,这种码流的 频谱特征和白噪声非常接近,所谓"白噪声"就是在一个比较宽的频域里功率密度谱均匀分布, 也就是所有的频率都具有相同的能量,因此该码型能够模拟各种不同频率数据组成的情况,使测 试更符合真实的情况. 那prbs 这种随机码真的就是没有任何规律的吗??当然不是,不然的话为什么还要分 prbs1-31 那么多种呢.之所以要叫伪随机码,其实就是码流在周期内部是随机的,但是在各个周期里面又 是完全相同的.咋一看,好像说了等于没有,大家可能有疑问,在周期内部是随机的,那不还是 随机嘛?其实这个随机是要打个问号的,正确来说是"有顺序的随机".所谓顺序就是通过不同 阶数的 prbs 码来体现,例如,我们常用的有阶数
7、
9、
11、
15、
20、
23、31,也就是我们常 说的 PRBS
7、PRBS
9、PRBS
11、PRBS
15、PRBS
20、PRBS
23、PRBS31. 前面说了,不同的阶数会有不同的码型,那它们之间有什么规律呢?不同阶数是怎样生成码型的 呢?我们以 PRBS3 进行说明. PRBS 码型是由 PRBS 码型发生器产生的,下面是一个简单发生器的示意图: 每周原创技术文章,互动交流月月有奖 全球最大的高速 PCB 设计中心 设计、生产一站式硬件创新平台 最新文章:http://www.edadoc.com/cn/TechnicalArticle/ 架构很简单,就由两部分组成:移位寄存器和异或运算器.首先移位寄存器,顾名思义作用就是 移位,1 个bit 发送后,把下一个 bit 推向前准备发送;
异或运算,简单点说就是两个不一样就是 "1",两个一样就是"0",因此有"1"和"1"是0,"0"和"0"是0,"1"和"0"是1. 那像上面这个 PRBS3 发生器,进行异或的位是第二位和第三位,因此用一个多项式命名它,叫做 1+X2+X3. 这样我们可以开始进行计算了.首先我们有一个初始状态"111".我们就有了下面这么一个计算 过程(画得不好,大家看内容就好).简单说明一下,红色为异或运算过程,蓝色为每次移位后 的bit,绿色为输出的数据 bit,紫色说明绕一圈之后又回到了原先,循环了一次. 每周原创技术文章,互动交流月月有奖 全球最大的高速 PCB 设计中心 设计、生产一站式硬件创新平台 最新文章:http://www.edadoc.com/cn/TechnicalArticle/ 经过本文之后, 大家是不是对感觉很高深神秘的prbs码型有了更接地气的认识和理解了呢?当然, 本文举例的 prbs3 是比较简单的,感觉它没经过几位就可以循环一次了,大家推导起来也比较方 便. 【关于一博】 一博科技成立于