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

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

3天内不再提示

一个简单地的例子来回顾PCIe总线的结构、事务层、数据链路层和物理层

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

前面的一系列文章简要地介绍了PCIe总线的结构、事务层、数据链路层和物理层。下面我们用一个简单地的例子来回顾并总结一下。

如下图所示,Requester的应用层(软件层)首先向其事务层发送如下信息:32位(或者64位)的Memory地址,事务类型(Transaction Type),数据量(以DW为单位),TC(Traffic Class,即优先级),字节使能(Byte Enable)和属性信息(Attributes)等。

然后接收端的事务层使用这些信息创建了一个Mrd TLP(Memory Read的事务层包),并将Requester的ID(BDF,Bus & Device & Function)写入到该TLP的Header中,以便Completer根据这一BDF将Completion信息返回给Requester。然后这个TLP会根据其TC的值被放到对应的VC Buffer中,Flow Control逻辑便会检车接收端的对应的接收VC Buffer空间是否充足。一旦接收端的VC Buffer空间充足,TLP便会准备被向接收端发送。

注:TLP的Header实际上有两种,32位的地址对应的是3DW的Header,64为的地址对应的是4DW的Header。这在后续的文章中会详细介绍。

当TLP到达数据链路层(Data Link Layer)时候,数据链路层会为其添加上12位的序列号(Sequence Number)和32位的LCRC。并将添加上这些信息之后的TLP(即DLLP)在Replay Buffer中做一个备份,并随后将其发送至物理层。

物理层接收到DLLP之后,为其添加上起始字符(Start & End Characters,又叫帧字符,Frame Characters),然后依次进行解字节(Strip Byte)、扰码(Scramble)、8b/10b编码并进行串行化,随后发送至相邻的PCIe设备的物理层。

接收端PCIe设备(即Completer)的物理层接收到数据之后,依次执行与发送端相反的操作。并从数据中恢复出时钟,然后将恢复出来的DLLP发送至数据链路层。

Completer的数据链路层首先检查DLLP中的LCRC,如果存在错误,则向Requester发送一个Nak类型的DLLP,该DLLP包含了其接受到的DLLP中的序列号(Sequence Number)。Requester的数据链路层接收到来自Completer的Nak DLLP之后,从中找到序列号(Sequence Number),并根据序列号在Replay Buffer找到对应的DLLP,然后将其重新发送至Completer。如果Completer的数据链路层没有检查到LCRC的错误,也会向Requester发送一个Ack类型的DLLP,该DLLP同样包含了其接收到的DLLP中的序列号。Requester的数据链路层接收到之一Ack DLLP之后,便会根据其中的序列号在Replay Buffer中找到对应的DLLP的备份,并将其丢弃(Discard)。

当接收端PCIe涉笔(即Completer)的数据链路层正确的接收到了来自Requester的DLLP(包含TLP的)时,随后将其进一步发送至事务层,事务层检查ECRC(可选的),并对TLP进行解析,然后将解析后的信息发送至应用层(软件层)。

如下图所示,Completer的应用层会根据接受到的信息进行相应的处理,处理完成后会将数据发送至事务层,事务层根据这一信息创建一个新的TLP(即CplD,Completion with data)。并根据先前接收到的TLP中的BDF信息,找到原来的Requester,然后将CplD发送至该Requester。这一发送过程与Requester向Completer发送TLP(Mrd Request)的过程基本是一致的。所以这里就不在重复了。

注:如果Completer不能够返回有效数据给Requester,或者遇到错误,则其返回的就不是CplD了,而是Cpl(Completion without data),Requester接收到Cpl的TLP之后便会知道发生了错误,其应用层(软件层)会进行相应的处理。

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

    关注

    10

    文章

    2706

    浏览量

    87211
  • PCIe
    +关注

    关注

    13

    文章

    1083

    浏览量

    80834

原文标题:【博文连载】PCIe扫盲——一个Memory Read操作的例子

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

收藏 人收藏

    评论

    相关推荐

    [招聘] 【通信】【天津七一二】【公司直招】【技术负责人】数据链 物理层 网络 自组网 架构 算法 天线等方向

    行业:专网通信、J用、无线通信 招聘岗位:物理层 网络 自组网 数据链 架构 算法 射频 复杂天线 工作地点:天津、北京、成都、深圳 福利待遇:工资面议(空间很大,看能力) 如有意向可将简历发送至邮箱Allen_xiao@16
    发表于 04-25 13:50

    浅谈CAN总线物理层

    [/td][td]CAN总线物理层1. 物理层1.1.1 位定时1.时间份额(Time Quantum),时间份额来源于对系统时钟可编程的分频。时间份额原理如图4.11.1。1.波特率l波特率由编程
    发表于 06-25 13:48

    CAN总线不同的物理层

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

    TLP的数据链路层组成与操作

      本章将着重讲述TLP的数据链路层组成与操作,上篇更新应该为第五讲,数据链路层位于事务物理层
    发表于 01-08 17:25

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

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

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

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

    CAN总线工作原理及数据链路层、延时分析

    通信协议仅仅包括OSI七互联参考模型中的数据链路层物理层。三、CAN总线物理层:1. CAN总线
    发表于 05-13 06:00

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

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

    物理层和协议两方面来了解I2C总线

    和时钟线SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,高速I2C总线般可达400kbps以上。下面从
    发表于 12-13 07:37

    IIC的物理层特点

    IIC的物理层特点SCL和SDA是两根总线, 支持多设备。所有要进行通信的设备都要引出两引脚,连接到这两根总线上。IIC协议只使用两条总线
    发表于 01-12 08:00

    CCIX 1.1设备必须支持PCIe 5.0 PHY或CCIX EDR PHY这两种物理层

    必须符合下面表中的定义。传输DVSEC包含CCIX物理层数据链路层事务的控制和状态寄存器(Control and Status Register,CSR)。协议DVSEC包含CC
    发表于 08-16 15:45

    窥CXL协议

    PCIe可以分为三独立的逻辑事务(Transaction Layer),数据链路层(D
    发表于 09-09 15:03

    通俗易懂的CAN网络解读【上】

    种分布式实时控制的串行网络,用于在不同的ECU下传输数据,是国际应用最广的现场总线。  CAN总线标准  CAN总线标准规定
    发表于 10-31 16:40

    数据链路层设备有哪些

    数据链路层的设备与组件是指那些同时具有物理层数据链路层功能的设备或组件。数据链路层的设备与组件主要有网卡、网桥和交换机。
    发表于 03-14 15:20 2.4w次阅读

    数据链路层的任务

    数据链路层的主要任务是使网络层无需了解物理层的特征而获得可靠的传输。数据链路层将通过链路层数据进行打包和解包、差错检测和校正,并协调共享介
    的头像 发表于 02-27 15:08 6816次阅读