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

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

3天内不再提示

PCIe物理层实现了一对收发差分对,可以实现全双工的通信方式

SwM2_ChinaAET 来源:未知 作者:李倩 2018-05-31 09:16 次阅读

首先,回顾一下,之前看了很多遍的PCIe的Layer结构图:

PCIe中的物理层主要完成编解码(8b/10b for Gen1&Gen2,128b/130b for Gen3 and later)、扰码与解扰码、串并转换、差分发送与接收、链路训练等功能。其中链路训练主要通过物理层包Ordered Sets来实现。

PCIe Spec将物理层分为两个部分——逻辑子层和电气子层,如下图所示:

如上图所示,PCIe物理层实现了一对收发差分对,因此可以实现全双工的通信方式。需要注意的是,PCIe Spec只是规定了物理层需要实现的功能、性能与参数等,置于如何实现这些却并没有明确的说明。也就是说,厂商可以根据自己的需要和实际情况,来设计PCIe的物理层。下面将以Mindshare书中的例子来简要的介绍PCIe的物理层逻辑部分,可能会与其他的厂商的设备的物理层实现方式有所差异,但是设计的目标和最终的功能是基本一致的。

物理层逻辑子层的发送端部分的结构图如下图所示:

在进行8b/10b编码之前,Mux会对来自数据链路层的数据中插入一些内容,如用于标记包边界或者Ordered Sets的控制字符和数据字符。为了区分这些字符,Mux为其对应上一个D/K#位(Data or Kontrol)。

注:图中还包含了Gen3的一些实现,不过这里只介绍Gen1 & Gen2,并不会介绍Gen3。如果大家感兴趣的,可以去阅读Mindshare的书籍或者参考PCIe Gen3的Spec。

Byte Striping将来自Mux的并行数据按照一定的规则(后面会详细地说)分配到各个Lane上去。随后进行扰码(Scrambler)、8b/10b编码、串行化(Serializer),然后是差分发送对。

其中扰码器(Scrambler)是基于伪随机码(Pesudo-Random)的异或逻辑(XOR),由于是伪随机码,所以只要发送端和接收端采用相同的算法和种子,接收端便可以轻松地恢复出数据。但是,如果发送端和接收端由于某些原因导致其节拍不一致了,此时便会产生错误,因此Gen1和Gen2的扰码器(Scrambler)会周期性地被复位。

注:关于8b/10b的原理和作用,在我之前的博文中有所介绍。所以接下来的文章中不会重复介绍这些内容,但是会简要地介绍PCIe中的8b/10b的实现细节和要点。

物理层逻辑子层的接收端部分的结构图如下图所示:

由于PCIe采用的是一种Embeded Clock(借助8b/10b)机制,因此接收端在接收到数据流时,首先要从中恢复出时钟信号,这正是通过CDR逻辑来实现的。如上图所示,接收端的逻辑基本上都是与发送端相对应的相反的操作。这里就不在详细地介绍了。

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

    关注

    0

    文章

    21

    浏览量

    10340
  • PCIe
    +关注

    关注

    13

    文章

    1083

    浏览量

    80822
  • 物理层
    +关注

    关注

    1

    文章

    142

    浏览量

    34212

原文标题:【博文连载】PCIe扫盲——物理层逻辑部分基础(一)

文章出处:【微信号:ChinaAET,微信公众号:电子技术应用ChinaAET】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Labview用在通信物理层可以做那些事?

    本人小菜鸟,刚开始接触Labview,想知道Labview用在通信物理层可以做那些事,可以实现那些功能,还望各位大神不吝赐教!
    发表于 10-31 15:35

    无线全双工通信

    实验室目前的个项目,比较急,关于无线网络通信的,本人不甚了解,要求windows系统+无线网卡的组合下,实现高速无线全双工通信,有没有这方
    发表于 04-11 22:16

    浅谈分对

    挑战。目前的传输介质仍然依赖于铜线,数据链路中的信号速率可以达到大于25Gbps,并且端口吞吐量可以大于100Gbps。 这些串行数据传输设计使用分信号的方式,通过被称为
    发表于 09-11 11:50

    PCIe般介绍

    PCIe提供种可裁减高速串行I/O点到点的总线连接。PCIe的LAN是全双工的通道,由
    发表于 06-03 07:09

    全双工无线系统的实现

    更高。但是,仍然存在个很大的限制因素:无线电设备仍旧无法在个频率上同时收发信号。这种在相同频率上同时收发的能力叫做全双工,对于无线网来说
    发表于 07-11 07:17

    通信基础知识:单工,半双工全双工

    是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力;在同时间可以同时接受和发送信息,实现双向
    发表于 09-30 11:37

    怎样在物理层实现电阻?

    集成电路的设计中常用的电阻器有哪些?怎样在物理层实现电阻?
    发表于 04-21 06:49

    如何对PCIe 3.0接收机物理层进行测试?

    如何对PCIe3.0接收机物理层进行测试?
    发表于 05-11 06:04

    IIC物理层是由哪些部分组成的

    物理层和协议物理层规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输。协议主要规定通讯逻辑,统
    发表于 12-13 08:09

    如何利用多线程实现全双工通信

    教师孙成富学年学期20142015学年第1学期实验1SOCKET全双工通信实验1实验目的1了解网络套接字编程2掌握网络通信服务器和客户端的工作过程3利用多线程实现
    发表于 12-23 06:57

    如何去实现种单片机通过串口方式1进行全双工数据通信的设计呢

    如何去实现种单片机通过串口方式1进行全双工数据通信的设计呢?其设计思路是怎样的?
    发表于 01-26 06:32

    串口通信物理层与协议的相关资料推荐

    .串口通信物理层与协议物理层规定通讯系统的机械、电子特性(相当于规定
    发表于 02-17 07:07

    用于RS485全双工的LPUART,以半双工方式连接时出现回声怎么解决?

    设法实现完美无瑕的通信。但是,我们还必须将 RS485 中的电路板与基于半双工的产品连接起来。为此,我们在电路板连接器上将收发器的 A 到
    发表于 04-06 06:37

    SWIPT MIMO全双工系统中的物理层通信优化综述

    研究多输入多输出通信系统中同时存在无线信息与能量时的安全传输问题。在源端和全双工节点发送端的发送总功率、全双工节点接收端的能量收集限制2种约束条件下,设计人工噪声与全双工节点接收端的能
    发表于 06-02 11:51 3次下载

    单工、双工、半双工全双工通信常识

    根据通信双方的分工和信号传输方向可将通信分为三种方式:单工、半双工全双工。单工通信
    的头像 发表于 03-31 17:57 5461次阅读