首页/文章/ 详情

信号协议编码_PCIE3一致性测试编码

2年前浏览8716

前两篇文章为大家介绍了一些编码的原理,这也为仿真和测试时所用的码型提供了参考;

这篇文章我们来看一下PCIE信号在做TX一致性测试时,所采取的码型;


先来看一下,PCIE1.0PCIE2.0采用8b/10b编码,编码前先进行扰码,扰码器和扰码器的种子(初始值)如下:

 

PCIE3.0采用128b/130b编码,编码前先进行扰码,扰码器和种子(初始值)如下:

 

 下面来看一致性测试码型

这些码型在PCIE协议规范中有明确规定,我给摘了出来,并用仿真软件演示出这些码型;

PCIE2.0/1.0协议内容如下:

 

 大概意思就是,测试码型为重复的8symbolD D K28.5- D21.5 K28.5+ D10.2 D DD也是K28.5,第一条lanelane0)的8symbol发完后将这8symbol传递到第二条lane上,以此类推一直到第八条lane又回到lane0,如果是X16的,后面的八个和前八个一样,每条lane发送完这8symbol后,即是重复的K28.5- D21.5 K28.5+ D10.2

协议还规定了修正后的一致性码型如下(略有不同):

 

由原来的4个基本symbol变为8个,K28.5- D21.5 K28.5+ D10.2 err err K28.5- K28.5+delay标识则是在前面加上4D,在后面加上4K28.7

err是个8bit字节,应该做的是奇偶校验,如果有错误,bit71,否则为0bit[6:0]为错误个数,如果没有错误,这个symbol00000000,编码后为1001110100-)和0110001011+);

这样看还是比较抽象,我们用仿真软件来看一下测试码型波形如下:

 

下面来看PCIE3.0一致性码型

协议内容如下:

 

该码型共有36block,后面重复这36block

第一个block01header,后面是64bit1,在后面是64bit0

第二个block01header,后面是表中的序列,symbol7的前4bitpreset值,后4bit极性和前四个相反;

 

Preset对应的序列

第三个block01header,后面是表中的序列;

第四个blockEIEos,这是一个order set,序列如下:

这个block即为10 00000000 11111111 00000000 11111111…… 共130bit

后边是32个相同的block,每个block都是16个扰码后的IDL00h),即为1601011100


PCIE3.0也有修正后的码型:

 

一共65792bclok

第一个是EIEos block,同上;

接下来是256个相同的数据block,每个block都是16个扰码后的IDL00h),即01011100

再接下来是255个循环,每个循环由两部分组成

第一部分为一个SKP ordered set,如下图,码型中的symbol应该也是16个,所以N3,所以symbol0~symbol11AAh,即10101010symbol12E1h,即11100001symbol13AAh,即10101010symbol14eer_status,没有err00000000symbol15也为00000000

第二部分是256个相同的数据block,每个block都是16个扰码后的IDL00h),即01011100

 同样用仿真软件来看一下波形如下:

 


一致性测试软件分别采集这些码型,用来做不同的信号分析,如眼高、眼宽、抖动、幅值等;

下图就为协议中采样64bit1,在后面是64bit0,来分析信号在没有任何均衡时的摆伏:

 

下篇文章为大家介绍USB3.0USB4.0协议的一致性测试码型;


推荐阅读

信号包地反而更差

AC耦合电容对信号的影响




来源:Sig008
科普电源电源完整性电磁基础
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2022-10-27
最近编辑:2年前
开仿啦
测试仿真工程... 开始就不晚^o^
获赞 193粉丝 204文章 15课程 4
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈