找回密码
 立即注册

QQ登录

只需一步,快速开始

PCIe扫盲——PCIe总线物理层入门

0
回复
1390
查看
[复制链接]

52

主题

58

帖子

1101

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1101

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主论坛元老

来源: 2020-4-19 10:09:38 显示全部楼层 |阅读模式
前面的文章简单的介绍了一些关于PCIe总线事务层(Transaction Layer)和数据链路层(Data Link Layer)的一些基本概念。这篇文章来继续聊一聊PCIe总线的最底层——物理层(Physical Layer)。在PCIe Spec中,物理层是被分为两个部分单独介绍的,分别是物理层逻辑子层和物理层电气子层,其中后者一般都是基于SerDes来实现的。本篇文章只是简单地介绍一些PCIe物理层的基本概念,关于物理层详细、深入地介绍,请关注我后续的连载博文。
由于物理层处于PCIe体系结构中的最底层,所以无论是TLP还是DLLP都必须通过物理层完成收发操作。来自数据链路层的TLP和DLLP都会被临时放入物理层的Buffer中,并被加上起始字符(Start & End Characters),这些起始字符有的时候也被称为帧字符(Frame Characters)。具体如下图所示:
注:这里所说的TLP和DLLP指的是包的原始发送者发的包,即TLP表示这个包的原始发送者为事务层,而DLLP则为数据链路层。但是TLP仍然会被数据链路层转发,并添加Sequence和LCRC。
物理层完成的一个重要的功能就是8b/10b编码和解码(Gen1 & Gen2),Gen3及之后的PCIe则采用了128b/130b的编码和解码机制。关于8b/10b,这里不再详细地介绍了,有兴趣的可以去参考一下我之前的文章:http://blog.chinaaet.com/justlxy/p/5100052814
物理层的另一个重要的功能时进行链路(Link)的初始化和训练(Initialization & Training),且是完全自动的操作,并不需要人为的干预。完成链路的初始化和训练之后,便可以确定当前PCIe设备的一些基本属性:
·        链路的宽度(Link Width,x1还是x2,x4……)
·        链路的速率(Link Data Rate)
·        Lane Reversal - Lanes connected in reverse order
·        Polarity Inversion – Lane polarity connected backward
·        Bit Lock Per Lane – Recovering the transmitter clock
·        Symbol Lock Per Lane – Finding a recognizable position in the bit-stream
·        Lane-to-Lane De-skew Within a Multi-Lane Link
物理层的电气子层主要实现了差分收发对,如下图所示:
由于其速度很高,因此采用的是交流耦合的方式(AC-Coupled),说白了就是在信号线上加了电容Ctx,此时低频信号和直流信号都会被抑制。
注:图中的电容容值有误,应为75~265nF for Gen1 & Gen2, 176~265nF for Gen3 & newer.
需要注意的是,PCIe物理层处理可以转发TLP和DLLP之外,还可以直接发送命令集(Ordered Sets)。之所以称其为命令集,是因为它并不是真正意义上的包(Packet),因为物理层不会为其添加起始字符(Start & End Characters)。并且命令集始于发送端的物理层,结束语接收端的物理层。虽然命令集没有起始字符,但是对于Gen1&Gen2版本的PCIe物理层来说,会为其添加一个叫做COM的字符作为开始字符,随后跟着三个或者更多的信息字符。
注:PCIe Gen3及之后的版本处理方式有所不同,但是Gen3是向前兼容Gen1 & Gen2的。由于本文主要还是基于Gen2来介绍的,所以关于Gen3的更多信息,大家可以自行参考PCIe Gen3 的Spec。
命令集(Ordered Sets)的收发示意图,如下图所示:
命令集(Ordered Sets)的结构图如下图所示:
命令集主要用于链路的训练操作(Link Training Process)。此外,命令集还用于链路进入或者退出低功耗模式的操作。

您需要登录后才可以回帖 登录 | 立即注册
关闭

站长推荐 上一条 /1 下一条

商业洽谈 文章投递 寻求报道
电话咨询: 173xxxxxxx
关注微信