首页 > 其他分享 >PCIe扫盲——PCIe总线数据链路层入门

PCIe扫盲——PCIe总线数据链路层入门

时间:2024-12-24 18:31:46浏览次数:3  
标签:TLP Ack Nak 总线 DLLP PCIe 链路层

前面的文章介绍过,数据链路层(Data Link Layer)主要进行链路管理(Link Management)、TLP错误检测,Flow Control和Link功耗管理。

数据链路层不仅可以转发来自事务层的包(TLP),还可以直接向另一个相邻设备的数据链路层直接发送DLLP,比如应用于Flow Control和Ack/Nak的DLLP。如下图所示:

image

数据链路层还实现了一种自动的错误校正功能,即Ack/Nak机制。如下图所示,发送方会对每一个TLP在Replay Buffer中做备份,直到其接收到来自接收方的Ack DLLP,确认该DLP已经成功的被接受,才会删除这个备份。如果接收方发现TLP存在错误,则会向发送发发送Nak DLLP,然后发送方会从Replay Buffer中取出数据,重新发送该TLP。

注:关于Ack/Nak机制,后面的文章会详细的介绍。

image

两种DLLP(转发TLP的DLLP,用于Flow Control或Ack/Nak等的DLLP)的结构图分别如下图所示:

image

一个Non-Posted传输中,Ack/Nak的执行过程如下图所示:

image

标签:TLP,Ack,Nak,总线,DLLP,PCIe,链路层
From: https://www.cnblogs.com/linhaostudy/p/18628466

相关文章

  • PCIe基础篇——PCIe传输速率计算
    本节概述传输速率与带宽对应表如下,注:此表为全双工通信速率且没考虑编码方式详细说明我们在接触PCIe设备时会接触到一个词,传输速率,比如8GT/s。或者有人问你设备的带宽多少?通信速率多少?Width(带宽):通常用x1、x2、x4、x8等表示,表示该链路由几条lane组成。Speed(速率):通常用2.5GT/s......
  • PCIe扫盲——PCIe总线事务层入门(二)
    前面的文章介绍了TLP的几种类型以及TLP的包结构。这篇文章来详细地聊一聊Non-PostedTransaction(包括OrdinaryRead、LockedRead和IO/ConfigurationWrites)与PostedWrites(包括MemoryWrites和MessageWrites)。TLP是由硬件产生的,不与上层软件有关系Non-PostedTransactionO......
  • PCIe基础篇——Switch Bridge Root Complex EndPoint
    先上一张图PCIe拓扑特征:图的顶部是一个CPU。这里要说明的一点是,CPU被认为是PCle层次结构的顶层。PCle只允许简单的树结构,这意味着不允许循环或其他复杂的拓扑结构。这样做是为了保持与PCI软件的向后兼容性,PCI软件使用一个简单的配置方案来跟踪拓扑,不支持复杂的环境。为了保持这......
  • PCIe扫盲——PCIe总线事务层入门(一)
    在介绍事务层之前,首先简单地了解一下PCIe总线的通信机制。假设某个设备要对另一个设备进行读取数据的操作,首先这个设备(称之为Requester)需要向另一个设备发送一个Request,然后另一个设备(称之为Completer)通过CompletionPacket返回数据或者错误信息。在PCIeSpec中,规定了四种类型的......
  • 小程序的全局事件总线太好用啦
    1.安装全局事件总线,找到main.jsVue.prototype.$eventBus=newVue()2.绑定事件mounted(){  this.$eventBus.$on('GetShareActivitys',this.GetShareActivitys);},beforeDestroy(){   this.$eventBus.$on('GetShareActivitys',this.GetShareActivitys)......
  • AD DA收发卡 设计资料:611-基于VU9P的2路4Gsps AD 2路5G DA PCIe收发卡
    一、板卡概述基于XCVU9P的5GspsADDA收发PCIe板卡。该板卡要求符合PCIe3.0标准,包含一片XCVU9P-2FLGA2014I、2组64-bit/8GBDDR4、2路高速AD,2路高速DA,支持外触发,外时钟。板卡工作温度范围0到60℃,板卡设计加工包含散热装置,支持服务器风冷散热。软件包括接口测试软件,支持甲......
  • 为何总线“镰刀”波形频频发生?
    无论是CAN总线还是485总线,实际应用中经常会出现各种异常,常因总线组网后,波形边沿出现过缓、呈“镰刀”状的现象,导致数据丢失或出错,那么这现象前因后果大家是否真正的了解呢? 案例一1.CAN总线异常现象我司某工业机器人客户反馈,使用SM1500的机器人控制板卡,在传输数据过......
  • PCIe扫盲——PCIe总线体系结构入门
    和很多的串行传输协议一样,一个完整的PCIe体系结构包括应用层、事务层(TransactionLayer)、数据链路层(DataLinkLayer)和物理层(PhysicalLayer)。其中,应用层并不是PCIeSpec所规定的内容,完全由用户根据自己的需求进行设计,另外三层都是PCIeSpec明确规范的,并要求设计者严格遵循的。......
  • PCIe扫盲——PCIe总线基本概念
    PCIe总线的提出可以算是代表着传统并行总线向高速串行总线发展的时代的到来。实际上,不仅是PCI总线到PCIe总线,高速串行总线取代传统并行总线是一个大的趋势。如ATA到SATA,SCSI到USB等……不过,为了兼容之前的PCI总线设备,虽然PCIe是一种串行总线,无法再物理层上兼容PCI总线,但是在软件......
  • PCIe扫盲——PCIe总线怎样做到在软件上兼容PCI总线
    前面的文章中多次说道,PCIe总线在软件上是向前兼容PCI总线的。因此,PCIe总线完整的继承了PCI总线中的配置空间(ConfigurationHeader)的概念。在PCIe总线中也有两种Header,Header0和Header1,分别代表非桥和桥设备,这与PCI总线是完全一致的。在PCIe总线中,非桥设备也就是Endpoint。如下图所......