PCIe扫盲——物理层电气部分基础(一)

转载地址:http://blog.chinaaet.com/justlxy/p/5100053543

之所以把物理层电气部分的文章放在链路初始化与训练文章的后面,是因为这一部分涉及到一些相关的概念,如Beacon Signal、LTSSM等等。

前面已经多次提及,由于本次连载的文章主要是基于Gen2的,所以关于Gen3的相关内容只会提及,但是并不会深入的介绍,如果有兴趣的可以自行阅读Gen3的Spec。

关于链路初始化与训练的文章中提到过,PCIe Spec规定,支持新的标准的PCIe设备必须能够向前兼容。即Gen2的设备必须同时支持2.5GT/s和5GT/s。

PCIe Spec规定,PCIe设备必须是Short-Circuit Tolerant的,这可以让PCIe卡支持热插拔的功能。此外,由于PCIe总线是一种高速的差分总线,因此,其收发两端是交流耦合的(AC-Coupled)。一般情况下,靠近发送端的链路上放置电容来滤除直流信号,如下图所示:

blob.png

详细的差分收发对模型如下图所示:

blob.png

当然,如果PCIe设备把电容集成到Silicon(芯片)中,也是可以的(不过一般不会这么做,因为在芯片内部集成大电容成本很高)。使用交流耦合的另一个优势是,可以允许链路两端的设备使用不同的电源和地。

注:关于半导体中的电容,以及芯片周围的一堆退耦电容是什么鬼,打算找个时间单独写一篇文章来详细地聊一聊。

注:关于PCIe的热插拔实现机制,后续单独写一篇文章来介绍。有兴趣的读者也可自行阅读PCIe Card Spec的相关章节。

需要注意的是,PCIe总线采用的是嵌入式时钟(DDR),即只有数据Lane,并没有时钟Lane(具体在前面的文章中已经详细地介绍过了)。也就是说,以Gen1为例,虽然2.5GT/s使用的时钟为2.5GHz,但是从数据Lane上来看,“似乎”只有1.25GHz,如下图所示:

blob.png

L0模式下的链路结构图(状态图)如下:

blob.png

L0s模式下的链路结构图(状态图)如下:

blob.png

L1模式下的链路结构图(状态图)如下:

blob.png

L2模式的链路结构图(状态图)如下:

blob.png

L3模式的链路结构图(状态图)如下:

blob.png

猜你喜欢

转载自blog.csdn.net/kunkliu/article/details/94594516