PCIe物理层实现了一对收发差分对,可以实现全双工的通信方式.doc
《PCIe物理层实现了一对收发差分对,可以实现全双工的通信方式.doc》由会员分享,可在线阅读,更多相关《PCIe物理层实现了一对收发差分对,可以实现全双工的通信方式.doc(2页珍藏版)》请在三一文库上搜索。
1、PCIe物理层实现了一对收发差分对,可以实现全双工的通信方式首先,回顾一下,之前看了很多遍的PCIe的Layer结构图:PCIe中的物理层主要完成编解码(8b/10b for Gen1PCIe Spec将物理层分为两个部分逻辑子层和电气子层,如下图所示:如上图所示,PCIe物理层实现了一对收发差分对,因此可以实现全双工的通信方式。需要注意的是,PCIe Spec只是规定了物理层需要实现的功能、性能与参数等,置于如何实现这些却并没有明确的说明。也就是说,厂商可以根据自己的需要和实际情况,来设计PCIe的物理层。下面将以Mindshare书中的例子来简要的介绍PCIe的物理层逻辑部分,可能会与其他
2、的厂商的设备的物理层实现方式有所差异,但是设计的目标和最终的功能是基本一致的。物理层逻辑子层的发送端部分的结构图如下图所示:在进行8b/10b编码之前,Mux会对来自数据链路层的数据中插入一些内容,如用于标记包边界或者Ordered Sets的控制字符和数据字符。为了区分这些字符,Mux为其对应上一个D/K#位(Data or Kontrol)。注:图中还包含了Gen3的一些实现,不过这里只介绍Gen1 Byte Striping将来自Mux的并行数据按照一定的规则(后面会详细地说)分配到各个Lane上去。随后进行扰码(Scrambler)、8b/10b编码、串行化(Serializer),然
3、后是差分发送对。其中扰码器(Scrambler)是基于伪随机码(Pesudo-Random)的异或逻辑(XOR),由于是伪随机码,所以只要发送端和接收端采用相同的算法和种子,接收端便可以轻松地恢复出数据。但是,如果发送端和接收端由于某些原因导致其节拍不一致了,此时便会产生错误,因此Gen1和Gen2的扰码器(Scrambler)会周期性地被复位。注:关于8b/10b的原理和作用,在我之前的博文中有所介绍。所以接下来的文章中不会重复介绍这些内容,但是会简要地介绍PCIe中的8b/10b的实现细节和要点。物理层逻辑子层的接收端部分的结构图如下图所示:由于PCIe采用的是一种Embeded Clock(借助8b/10b)机制,因此接收端在接收到数据流时,首先要从中恢复出时钟信号,这正是通过CDR逻辑来实现的。如上图所示,接收端的逻辑基本上都是与发送端相对应的相反的操作。这里就不在详细地介绍了。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PCIe 物理层 实现 一对 收发 可以 双工 通信 方式
链接地址:https://www.31doc.com/p-3270446.html