Felix

技术源于积累,成功始于执着! 个人邮箱:justlxy@mail.dhu.edu.cn QQ:1576109464

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

0
阅读(1267) 评论(0)

目录篇地址为:http://blog.chinaaet.com/justlxy/p/5100053481


首先说明一下,在本次连载的博文中,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