0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

聚焦PCIE3&4的接收端均衡技术

EtonSmt888 来源:硬件测试杂谈 2023-10-18 09:48 次阅读

PCIe接口自从被推出以来,已经成为了PC和Server上最重要的接口。为了更高了数据吞吐率,PCI-SIG组织不断刷新接口标准,从PCIe 3.0的8GT/s数据速率,到PCIe 4.0的16GT/s数据速率,再到PCIe 5.0的32GT/x。PCI-SIG组织实现了在速率翻倍的同时,仍能保持使用普通的FR4板材和廉价接插件,主要源自两个方面的改进,一是使用128b/130b编码来代替8b/10b编码,使得编码效率大幅提高;另一个是使用动态均衡技术,来代替先前代的静态均衡技术。

这里聚焦于PCIe 3.0和4.0中的动态均衡技术,介绍其原理、实现及其相关的一致性测试。这样一种动态均衡技术,在spec中被称作“Link Equalization”(链路均衡,简称为LEQ)。本系列文章分上下两篇,本文理论篇主要介绍PCIe 3.0/4.0的链路均衡的工作原理,下一篇实践篇则侧重于链路均衡的测试和调试。

PCIe 3.0 & 4.0的链路均衡

在PCIe 3.0和4.0中的链路均衡技术相较于先前代要复杂得多,这样一种动态均衡技术可以分为两个方面进行讨论。

均衡特性方面:从这个方面来说,相对于先前代的均衡来说,3.0和4.0中的均衡技术的硬件性能指标要求更高了。

协议方面:为了实现动态地调整均衡设置,需要协议层的配合,这是通过PHY层的LTSSM状态机中的Recovery.Equalization子状态来实现的。

先来从均衡特性的角度来看看PCIe 3.0和4.0的均衡,如下展示了在PCIe 3.0/4.0中所使用的全部均衡技术,在Tx端有FFE(Feed Forward Equalizer,前馈均衡器);在Rx端有:CTLE(Continuous Time Linear Equalizer,连续时间线性均衡器)和DFE(Decision Feedback Equalizer,判决反馈均衡器)。通过FFE和CTLE,可以去除大部分由ISI所引入的抖动;通过DFE可以进一步去除ISI,它还能去除部分的阻抗失配所造成的反射。通过这些均衡处理,就能够最大程度上地保证在接收端判决输入处将眼图打开。

除了上述这些均衡特性上的支持外,在协议层(LTSSM)中还规定需要通过协议的方式来动态调整链路上的均衡设定值,这整个过程称作链路均衡(Link Equalization,LEQ)。在链路均衡过程中:

本地端按照某个初始Tx EQ的设定来发送数据;

对端在接收到数据时,会根据误码率或信号质量来判断该Tx EQ是否合适;

若不合适,对端会通过协议向本地端请求一个新的Tx EQ值;

本地端在接收到这个请求值之后,会改变Tx EQ的值。

通过这一动态过程,就能够保证链路上的Tx EQ为最优值。与此同时,本地端和对端也会同时调整Rx EQ。通过动态地调整Tx EQ和Rx EQ,就能够灵活地适应不同的信道情况。

wKgZomUvOcGAU3StAAB51y3PJ4A531.jpg

发送端的均衡:FFE

在PCIe 3.0 & 4.0中使用的都是3-tap FFE,如图 2a所示。其中, 为数字信号,建模时取值为±1; 为FFE的抽头系数; 为发送端的模拟信号输出。

wKgaomUvOcGAZNQfAAB47Ti4Wkk355.jpg

理想情况下的差分电压幅度有:23÷2=4种可能性,这四个电压幅度在PCIe标准中(如图 2b所示)分别被标记为Va,Vb,Vc,Vd。

其中,Vb被称作去加重电压(de-emphasis voltage),Vc被称作预冲电压(preshoot voltage);Vd被称作最大幅度电压(boost voltage),PCIe标准中没有为Va取一个专门的名字。在此基础上,标准中通过三组比值来完备地描述FFE的性能:

若不加限制的来说,那么 形成的组合有无穷多个。但并不是所有的组合在实际应用中都是合适的。其中一个最重要的约束条件就是:去加重电压Vb不能过小,过小的去加重电压会导致输出信号在接收端的眼高过低。因此通过BOOST比值对去加重地电压幅值进行限制:对于满摆幅的Tx输出,规范要求BOOST≤9.5dB;对于减摆幅的Tx输出,规范要求BOOST≤3.5dB。最终会形成一个如图 3类似的矩阵表,图中系数的粒度为1/24。在实际应用中可以是其他的粒度值,例如1/64;更小的粒度能够使系数空间的取值可能性更多,在LEQ调节时也更精细。

wKgaomUvOcGAIn8-AADmcx2fuTg567.jpg

鉴于系数空间上的取值可能性较多,PCI-SIG协会在开发协议的过程中,广泛地研究了在不同插入损耗下最优的系数取值组合;最后选定了若干个特定的系数取值组合,并把它们称作预设定值(preset),在实际的LEQ过程中,链路双方就可以先采用预设定值进行粗调;若还认为链路的均衡设置仍然没有达到最优,可以进一步通过系数空间的方式进行细调,最终达到速度和精度的平衡。

接收端的均衡:CTLE和DFE

在PCIe 3.0 & 4.0 基础规范中,并没有明确地规定接收端的结构是怎样的;而只是从测量的角度对接收端性能进行了规定。相反地,在规范中定义了一个行为级CTLE和行为级DFE。这些行为级模型可以作为设计指南;并且为了使得待测对象能够通过规范的要求,一般来说用户所设计的接收端性能至少要等于这些行为级模型的性能,可以强于这些行为级模型,但不能弱于这些行为级模型。

wKgZomUvOcGAaod3AAB_SGhF_9E329.jpg

发送端的输出在经过一段很长的FR4走线之后,仅仅使用CTLE,可能是不够的。因此在PCIe 3.0 & 4.0中,还使用了DFE的技术。在3.0中,使用1-tap的DFE,而在4.0,由于速率相对于3.0翻倍了;所以使用2-tap的DFE,以便移除更大的ISI。

与线性均衡器FFE和CTLE相比,DFE为一种非线性均衡器。DFE的基本想法是:若已经正确接收了之前的比特数据的话;那么先前的比特数据对当前比特所产生的影响就是已知的;从而我们就可以通过反馈的方式进行补偿,这样就能够进一步消除抖动和噪声的影响。不难看出这里的非线性体现在:反馈回来的信号是经过判决之后的数字信号;而判决电路是一种非线性电路。显然,反馈通路上的抽头数目越多,那么对抖动和噪声的消除可能就越好;这也就是为什么3.0中使用1-tap的DFE,而在4.0中使用2-tap的DFE。

wKgaomUvOcGAPuniAABL5hVa2MI453.jpg

链路均衡过程

链路上的两端刚开始建立通信的时候,并不知道整个信道的物理特性是怎样的,例如插入损耗多大,是否有阻抗不连续等。由于PCIe 3.0和4.0的插入损耗允许的变化范围很大,一个静态的均衡设置并不能覆盖所有的情况。这样就需要链路上的双方根据当前物理信道的特性,来动态地调整均衡设置,使得均衡设置对于当前的物理信道来说是最优的。假设Port A和Port B是一个链路上的两端,那么链路均衡过程要做的事情有:

配置Port A和Port B的初始均衡设置;

配置从Port A Tx à Port B Rx这一方向的均衡设置;

配置从Port B Tx à Port A Rx这一方向的均衡设置;

下面我们以Port A Tx à Port B Rx这一方向来说明链路均衡时如何实现的。如图 6所示,在8GTs/或者16GT/s速率下的链路开始建立通信时,是以初始的未优化的TX EQ在发送TS1/TS2序列,并且Port A在TS1/TS2序列中表明其所用的TX EQ的值。

wKgZomUvOcGAWGLVAAB_hP8dCjI794.jpg

当Port B Rx在接收到这些TS1/TS2序列时,芯片内部存在一块电路或者一套算法来评估当前的TX EQ是否合适,若认为不合适,就会如图7所示,发送TS1序列来请求一个新的TX EQ。

wKgZomUvOcGABEwPAACGsIX776g821.jpg

随后,Port A会接收到请求设置TX EQ的TS1序列,如图8所示,调整其TX端的FFE的设置。

wKgZomUvOcGAVnyGAACW-2hO29E950.jpg

Port A在调整完Tx FFE的设置之后,如图9所示,会将新的TX EQ设置值更新到TS1/TS2的序列之中,发送到Port B端。若Port B仍然觉得这个时候的TX EQ不是最优,那么仍然会重复图中的2~4步骤,直到达到最优的TX EQ。当然上述过程并不能无限进行下去,必须要在大概32ms的范围进行完。

wKgZomUvOcGAL9mfAACmh3-xaFg487.jpg

在上述24步骤的同时,Port B的RX端也在不停地调整其RX EQ,如图 10所示。如图6图10中所讨论的,LEQ是基于请求-响应机制来完成动态均衡的。在PCIe的规范中,LEQ总共包含四个阶段:Phase 0、Phase 1、Phase 2、Phase 3。其中上行端口包含全部四个过程;而下行端口不包含Phase 0。

wKgaomUvOcGAAUIBAACvozDMvL4953.jpg

通过图11不难看出,在LEQ过程中,上行端口和下行端口的行为是有区别的。以上描述的是在LEQ过程中链路上的双方如何调整Tx EQ。而对于Rx EQ,根据Base规范中的说明,在整个LEQ的过程、以及在后续正常工作的过程中,链路双方都可以一直调整Rx EQ。

wKgaomUvOcGAV7dhAAC3mvhLL3I627.jpg






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编码器
    +关注

    关注

    41

    文章

    3365

    浏览量

    131589
  • 均衡器
    +关注

    关注

    9

    文章

    168

    浏览量

    30077
  • boost电路
    +关注

    关注

    3

    文章

    152

    浏览量

    29943
  • PCIe接口
    +关注

    关注

    0

    文章

    111

    浏览量

    9529
  • FFE
    FFE
    +关注

    关注

    0

    文章

    7

    浏览量

    1065

原文标题:PCIE3&4的接收端均衡技术

文章出处:【微信号:硬件测试杂谈,微信公众号:硬件测试杂谈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    PCIe Gen3/Gen4接收端链路均衡测试(上篇:理论篇)

    PCIe 3.0和4.0中的链路均衡技术相较于先前代要复杂得多,这样一种动态均衡技术可以分为两个方面进行讨论。
    发表于 04-07 11:24 9649次阅读
    <b class='flag-5'>PCIe</b> Gen3/Gen4<b class='flag-5'>接收</b>端链路<b class='flag-5'>均衡</b>测试(上篇:理论篇)

    基于PCIe和V4L2的8通道视频采集&amp;显示IP

    基于PCIe和V4L2的8通道视频采集&amp;显示IPVideo Capture&amp;Display IP for V4L2在主机端视
    发表于 11-01 21:45

    PCIe 3.0/4.0的链路均衡的工作原理

    代替8b/10b编码,使得编码效率大幅提高;另一个是使用动态均衡技术,来代替先前代的静态均衡技术。  这里聚焦
    发表于 11-25 06:19

    maxim推出MAX14950均衡器/接收器 改善Gen 3.0应用中的PCIe信号完

    maxim推出MAX14950超小尺寸均衡器/接收器,有效改善Gen 3.0应用中的PCIe信号完整性。
    发表于 01-15 08:56 983次阅读
    maxim推出MAX14950<b class='flag-5'>均衡</b>器/<b class='flag-5'>接收</b>器 改善Gen 3.0应用中的<b class='flag-5'>PCIe</b>信号完

    供应EMI测试接收机R&amp;S ESCI

    EMI测试接收机R&amp;S ESCI(9kHz-3GHz) 是来自罗德与施瓦茨的全新的顶级可信赖的EMI测试接收机, 基于频谱仪平台. R&amp;S ESCI完全符合CISPR1
    发表于 01-07 14:45 1000次阅读
    供应EMI测试<b class='flag-5'>接收</b>机R&<b class='flag-5'>amp</b>;S ESCI

    供应R&amp;S罗德与施瓦茨ESPI测试接收

    ESPI 测试接收机专门为满足产品开发和 EMC 预认证过程中所有的 EMC 测试需求而设计,频率范围 9 kHz ~ 3/7 GHz,当配备 R&amp;S®ESPI-B2 预选器/前置放大器时,所有 R&amp;S®ESPI
    发表于 01-07 14:50 1002次阅读
    供应R&<b class='flag-5'>amp</b>;S罗德与施瓦茨ESPI测试<b class='flag-5'>接收</b>机

    欧拉 Summit 2021 安全&amp;amp;可靠性&amp;amp;运维专场:主流备份技术探讨

    在openEuler Summit 2021 安全&amp;可靠性&amp;运维专场上,高冲对为数据安全而生,统信软件备份还原工具分享。
    的头像 发表于 11-10 17:42 1552次阅读
    欧拉 Summit 2021 安全&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;可靠性&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;运维专场:主流备份<b class='flag-5'>技术</b>探讨

    485&amp;&amp;Modbus协议

    电压为-2V~-6V接收器: 逻辑1: A&amp;gt;B AB之间电压差不小于为200mV 逻辑0: A&amp;lt;B AB之间电压差小于200mV通信距离:负载:32个连接方式: SP3485 485是半双工通...
    发表于 11-23 17:36 3次下载
    485&<b class='flag-5'>amp</b>;&<b class='flag-5'>amp</b>;Modbus协议

    存储类&amp;作用域&amp;生命周期&amp;链接属性

    目录前言一、存储类&amp;amp;作用域&amp;amp;生命周期&amp;amp;链接属性的
    发表于 12-09 15:51 5次下载
    存储类&<b class='flag-5'>amp</b>;作用域&<b class='flag-5'>amp</b>;生命周期&<b class='flag-5'>amp</b>;链接属性

    如何区分Java中的&amp;amp;和&amp;amp;&amp;amp;

    首先给i赋值为0,如果i大于10,并且i++等于1,则输出“错误”和i的值。否则输出“正确”和i的值。分别用&amp;和&amp;&amp;运行,观察运行结果的不同。
    的头像 发表于 02-24 10:46 1230次阅读
    如何区分Java中的&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;和&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;

    if(a==1 &amp;amp;&amp;amp; a==2 &amp;amp;&amp;amp; a==3),为true,你敢信?

    接下来咱们来尝试解决这个问题。假设 if(a==1&amp;&amp;a==12)是等于 true的,那么a肯定不可能是一个“普通的变量”。它势必要有能力在执行的时候能够动态改动值。
    的头像 发表于 05-08 11:01 759次阅读
    if(a==1 &<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>; a==2 &<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>; a==3),为true,你敢信?

    HarmonyOS &amp;amp;amp;amp;润和HiSpark 实战开发,“码”上评选活动,邀您来赛!!!

    润和HiHope社区与华为开发者联盟 诚邀各位技术大咖与开发实力派 来show出你们的开发成果 HarmonyOS &amp;amp; 润和HiSpark 实战开发,&amp;l
    的头像 发表于 04-11 15:33 833次阅读
    HarmonyOS &<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;润和HiSpark 实战开发,“码”上评选活动,邀您来赛!!!

    你使用shell脚本中的2&amp;gt;&amp;amp;1了吗?

    run_cmax > ./starrc_cmax.logs 2>&amp;1中的 2>&amp;1是啥意思?
    的头像 发表于 07-30 14:44 1073次阅读

    摄像机&amp;amp;amp;雷达对车辆驾驶的辅助

    摄像机&amp;amp;雷达担负着可辅助驾驶员安全驾驶的、高级驾驶辅助系统的传感功能。尼得科正在进一步推进摄像机&amp;amp;雷达的高性能化进程。
    的头像 发表于 11-26 10:02 527次阅读
    摄像机&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;雷达对车辆驾驶的辅助

    一个严谨的STM32串口DMA发送&amp;amp;接收(1.5Mbps波特率)机制

    一个严谨的STM32串口DMA发送&amp;接收(1.5Mbps波特率)机制
    的头像 发表于 09-18 10:58 1725次阅读
    一个严谨的STM32串口DMA发送&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>接收</b>(1.5Mbps波特率)机制