PCIe扫盲——DLLP(数据链路层包)详解-FPGA CPLD资料源码分享社区-FPGA CPLD-ChipDebug

PCIe扫盲——DLLP(数据链路层包)详解

 

 

首先说明一下,在本次连载的博文中,DLLP一般指的是由发送端的数据链路层发送,接收端的数据链路层接收的数据包,其和事务层(Transaction Layer)一般没有什么关系。本文将要介绍的DLLP指的正是这样的数据包,其一般用于Ack/Nak机制、功耗管理、Flow Control(流量控制)和一些厂商自定义用途等。示意图如下:

blob.png

DLLP的格式是固定的,一共有8个字节,包括Framing(SDP & END)。和TLP不一样的地方是,DLLP并未携带任何路由信息,原因很简单,因为DLLP只在相邻的两个设备的数据链路层之间通信,根本不需要路由。并且DLLP一般也不需要和事务层交换信息。

注:前面文章中介绍的Flow Control、Ack/Nak等都是针对TLP,并不会对DLLP产生影响。但是这些功能正是借助DLLP才得以实现的。

DLLP的一般格式如下图所示:

blob.png

DLLP的类型与目标应用如下表所示:

blob.png

其中,用于Ack/Nak的DLLP的格式如下:

blob.png

blob.png

用于功耗管理(Power Management)的DLLP的格式如下:

blob.png

blob.png

用于Flow Control的DLLP的格式如下:

blob.png

blob.png

厂商自定义的DLLP的格式如下:

blob.png

 

 

 

 

请登录后发表评论

    没有回复内容