PCIE数据链路层协议(DataLinkLayerSpecifications)

PCIE数据链路层协议(DataLinkLayerSpecifications)

ID:45758188

大小:80.43 KB

页数:11页

时间:2019-11-17

PCIE数据链路层协议(DataLinkLayerSpecifications)_第1页
PCIE数据链路层协议(DataLinkLayerSpecifications)_第2页
PCIE数据链路层协议(DataLinkLayerSpecifications)_第3页
PCIE数据链路层协议(DataLinkLayerSpecifications)_第4页
PCIE数据链路层协议(DataLinkLayerSpecifications)_第5页
资源描述:

《PCIE数据链路层协议(DataLinkLayerSpecifications)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、数据链路层协议数据链路层作为处理层和物理层的中间层,为处理层TLP在链路中传递提供可靠机制。数据链路层主要负责TLP的可靠传输。所以数据链路层完成的主要任务是:1、数据交换。接收发送方处理层的TLP包,并送到物理层。另外从物理层接收TLP包并送到接收端的处理层。2、出错检测和裁决。LCRC和序列号(TLPSequenceNumber)的生成;存储发送端的TLP用于再试重发;为TLP和DLLP做数据完成性检测(crc校验);DLLP的ack和nack响应;错误指示;链接确认超时重试机制。3、初始化和电源管理。跟踪链路状态并传送链路活动、链路复位、链路失去连连等状态给处理层;4、生成DLLPo

2、用于链路管理功能包tSTLP确认、电源管理、流程控制信息(VC通道初始化)交流。在链接两端的数据链路层点对点传输.数据完整性检测就是为DLLP和TLP做crc校验DLLP使用crc-16,TLP使用32bit的LCRC,此外,TLP还有一个序列号(sequenceNumber),用于检测TLP丢失与否°LCRC和sequenceNumber检测有误的TLP或者在发送过程中丢失的TLP,将被发送端重新发送。发送端存放TLP的备份,在需要的时候将备份发送或者在收到接收端的正确接收确认后清除备份。数据链路层跟踪链路连接的状态,并和处理层和物理层交流链路状态,通过物理层来完成对链路的管理。链路层屮

3、包含状态机DLCMSM(DataLinkControlandManagementStateMachine)来完成这些任务,以下详细介绍。•DL_Inactive一PhysicalLayerreportingLinkisnon-operationalornothingisconnectedtothePort•DL_Init一PhysicalLayerreportingLinkisoperational,initializeFlowControlforthedefaultVirtualChannel•DL_Active一NormaloperationmodeStatusoutput:•DL_D

4、own-TheDataLinkLayerisnotcommunicatingwiththecomponentontheothersideoftheLink.•DL_Up一TheDataLinkLayeriscommunicatingwiththecomponentontheothersideoftheLink・DLInactiveDljnactive状态随PCIE复位Z后,将所有数据链路状态信息恢复到默认值,并放弃数据层重试缓冲器中的内容。当数据链路处于DLJnactive状态时,将通知处理层链路处于非连接状态(DL_Down),处理层将停止发送TLP。数据链路层将不产生和接收DLLPo当

5、接收到处理层的链路不是因软件致不使能的报告和物理层的PhysicalLinkUP=lb(一个物理层连接标志位)时,状态转换至DL.Inito处于DLJnitU态时,初始化流程控制成为VC0通道,当在FCJNIT1初始化阶段时输出DL_Down链路状态给处理层,在FCJNIT2初始化阶段时输出DL_UP连接状态给处理层。在初始化成功和物理层继续传递PhysicalLinkUp=lb后,状态转换至DL_Activeo如果PhysicalLinkUp=Ob,状态转换至DL_InactiveoDL_Active就是总线正常运转的状态,数据包TLP和DLLP正常发送和接收,发送DL_Up至处理层。物

6、理层的PhysicalLinkUp=Ob报告使得状态转换至DLJnactiveo接下来就要提到流程控制初始化协议(FlowControlInitialization)。上电或者互连复位后,总线正常操作前,需要流程控制初始化至默认虚拟通道VC0。如果需要额外使能其他虚拟通道,必须在初始化VC0之后初始化相应虚拟通道的流程控制机制。VC初始化过程包括以下两个状态:1、FC_INIT1,2、FC」NIT2。首先介绍FCJNIT1状态,在需要初始化VC通道时进入FCJNIT1状态,条件是链路处于DLJnit状态,VCx二VC0;某VC通道(1-7)被软件使能。在FCJNIT1状态,处理层阻止TLP

7、的发送,数据链路层为VC通道按以下顺序发送InitFClDLLP:KInitFCl—p;2、InitFCl—NP;3、InitFCl—CpL这些DLLP包的发送至少持续24us,并且建议按特定频率重复发送。在这期间,数据链路层不能阻止其他已经被初始化的虚拟通道的数据包发送(包括物理层初始化信息、ack和nakDLLP.TLP)。对接收到的InitFCl和InitFC2DLLP按以下处理:1•记录FC值(以credit为单

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。