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

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

3天内不再提示

物理层逻辑知识,关于扰码器需要遵循的规则

SwM2_ChinaAET 来源:未知 作者:李倩 2018-06-01 09:12 次阅读

上一篇文章中提到了Mux会对来自数据链路层的数据(TLP&DLLP)插入一些控制字符,如下图所示。当然,这些控制字符只用于物理层之间的传输,接收端的设备的物理层接收到这些数据后,会将这些控制字符去除,在往上传到其数据链路层。

当然,除了STP、SDP和END之外,还有一些其他的控制字符,如EDB(前面的文章详细介绍过)、SKIP、COM等。如下图所示:

前面的文章中提到过Ordered Sets,其主要用于链路训练等。每一个Ordered Set都是按照DW对齐的(即四个字节),且Ordered Set开头也是一个叫做Comma(COM)的K字符(控制字符),随后包含一些K字符或者D字符(数据字符)。

对于只有一个Lane的PCIe设备来说,Byte Striping并没有什么卵用,其主要用于多个Lane的数据流分配。x1(一个Lane)和x8(8个Lane)的例子分别如下两张图所示:

除此之外,还有一些其他的规则,主要是针对Mult-Lane的,对于一个Lane并没有什么影响:

x4(4个Lane)需要遵循以下的规则:

· STP and SDP characters are always sent on Lane 0.

· END and EDB characters are always sent on Lane 3.

· When an ordered set such as the SKIP is sent, it must appear on all lanes simultaneously.

· When Logical Idles are transmitted, they must be sent on all lanes simultaneously.

· Any violation of these rules may be reported as a Receiver Error to the Data Link Layer.

如下图所示:

对于x8、x16、x32需要遵循以下的规则:

· STP/SDP characters are always sent on Lane 0 when transmission starts after a period during which Logical Idles are transmitted. After that, they may only be sent on Lane numbers divisible by 4 when sending back‐to‐back packets (Lane 4, 8, 12, etc.).

· END/EDB characters are sent on Lane numbers divisible by 4 and then minus one (Lane 3, 7, 11, etc.).

· If a packet doesn’t end on the last Lane of the Link and there are no more packets ready to go, PAD Symbols are used as filler on the remaining lane numbers. Logical Idle can’t be used for this purpose because it must appear on all Lanes at the same time.

· Ordered sets must be sent on all lanes simultaneously.

· Similarly, logical idles must be sent on all lanes when they are used.

· Any violation of these rules may be reported as a Receiver Error to the Data Link Layer.

x8的例子如下图所示:

发送端的扰码器(Scrambler)有一个16-bit的线性反馈寄存器(LFSR,Linear Feedback Shift Register),其实现了以下这个多项式:

具体的功能框图如下图所示:

关于扰码器(Scrambler)还需要遵循以下这些规则:

· 不同的Lane的扰码器必须是同步操作的;

· 扰码器只对TLP和DLLP中的D字符(数据字符)以及逻辑空闲字符(00H,Logical Idle)作用,并不作用于K字符(控制字符)和Ordered Set中的D字符(如TS1、TS2等);

· 兼容性测试字符(Compliance Pattern Characters)并不被扰码;

· COM字符(一种控制字符,不会被扰码)可用于使发送端和接收端的扰码器中的LFSR同时被初始化为FFFFH;

· 扰码器默认时被使能的,但是PCIe Spec允许将其临时禁止,以用于测试用途。

PCIe中用到的K字符(控制字符)如下表所示:

其对应的8b/10b编码如下表所示:

注:其中PAD字符主要用于Mult-Lane中,当一个包的长度比较短,有的Lane可能就没有数据可以发了,这时候可以用PAD字符来填充。如本文的x8的例子所示。

Ordered Sets主要用于链路管理(Link Management)功能。对于Gen1和Gen2的PCIe来说,所有的Ordered Set都以COM作为开头。Ordered Sets是在每个Lane上同步发送的,即每一个Lane都会同时的发送相同的Ordered Sets,因此,Ordered Sets也可以被用于Lane De-skewing。除了链路训练之外,Ordered Sets还被用于时钟容差补偿(Clock Tolerance Compensation)以及更改链路功耗状态(Changing Link Power States)等。

对应的,主要有以下几种Ordered Sets:TS1 and TS2 Ordered Set (TS1OS/TS2OS)、Electrical Idle Ordered Set (EIOS)、FTS Ordered Set (FTSOS)、SKP Ordered Set (SOS)和Electrical Idle Exit Ordered Set (EIEOS)。

注:关于链路管理以及Ordered Sets等详细内容,会在后续的博文中介绍。

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

    关注

    13

    文章

    1061

    浏览量

    80591
  • 物理层
    +关注

    关注

    1

    文章

    142

    浏览量

    34195

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

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

收藏 人收藏

    评论

    相关推荐

    【社招】DSP软件工程师(物理层算法实现方向)

    DSP软件工程师(物理层算法实现方向)1、熟悉数字信号处理算法,具有良好的通信理论知识,熟悉MATLAB程序; 2、能够熟练使用C编程,有良好的程序设计习惯;3、熟悉DSP编程及汇编级优化,有使用过
    发表于 09-12 18:23

    CAN总线不同的物理层

    CAN总线使用不归零(NRZ)的位填充。有两种不同的信令状态:显性(逻辑0)和隐性(逻辑1)。这些信令状态对应于所在物理层(存在几种不同的物理层)的某种电平。模块以线与
    发表于 05-23 07:35

    通信中与并行设计

    的本原多项式依然是,而其输入输出关系可以由上述输入输出的逻辑关系推导而出。按规则规范,
    发表于 07-31 16:30

    物理层器件时域和频域分析

    物理层器件时域和频域分析的局限性和精度
    发表于 10-08 14:48

    什么是以太网物理层?Ethernet物理层有哪些功能?

    什么是以太网物理层Ethernet物理层有哪些功能基于MDI,为您的系统选择合适的以太网物理层TI以太网物理层选择流程图
    发表于 03-18 08:07

    如何对CAN物理层进行调试?

    本文为您介绍一种对CAN物理层进行调试的较好工程方法。我们将介绍基础调试步骤,并说明一个CAN物理层应有的性能,以及找出问题的一些小技巧。
    发表于 04-19 08:02

    如何去测试以太网物理层

    以太网物理层信号特点是什么?标准测试集中各参数的具体含义是什么?如何去测试以太网物理层
    发表于 05-07 06:26

    如何对WiMAX的物理层进行测试?

    如何对WiMAX的物理层进行测试?如何对WiMAX的发射机进行测试?如何对WiMAX的接收机进行测试?
    发表于 05-27 07:20

    ISO11898物理层特性

    390图 30.1.1 ISO11898 物理层特性从该特性可以看出,显性电平对应逻辑 0,CAN_H 和 CAN_L 之差为 2.5V 左右。而隐性平对应逻辑 1,CAN_H 和 CAN_L 之差
    发表于 08-06 07:30

    如何对modbus通讯的物理层进行设置

    Modbus是什么?modbus常用的功能有哪些?如何对modbus通讯的物理层进行设置?
    发表于 09-02 08:00

    浅析串口通讯协议的物理层和协议

    什么是串口通讯?串口通讯协议物理层的结构是由哪些部分组成的?串口通讯协议的协议的主要标准是什么?
    发表于 10-22 09:30

    串口通讯协议的物理层和协议看完你就懂了

    串口通讯协议的物理层和协议看完你就懂了
    发表于 12-10 06:00

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

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

    I2C物理层接口的相关资料分享

    系列索引:《嵌入式系统原理与应用》 | 嵌入式系统 重点知识梳理目录I2C的物理层接口(电平特性)及互联I2C、SPI及UART三者之间的对比I2C中的主从机、收发的概念I2C中的起始条件、停止
    发表于 12-20 07:38

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

    一.串口通信的物理层与协议物理层规定了通讯系统的机械、电子特性(相当于规定了用嘴巴还是肢体交流)协议规定了通讯逻辑、数据打包解包标准(相
    发表于 02-17 07:07