《Xilinx FPGA高速串行传输技术与应用》:
当上层协议请求组建FIS时,传输层完成以下功能:
(1)根据FIS请求类型收集FIS内容;
(2)按照正确的顺序存放FIS内容;
(3)通知链路层需要传输的帧,并将FIS发往链路层;
(4)管理缓存/FIFO,通知链路进行流控;
(5)接收来自链路层的帧接收应答;
(6)对于上层请求,返回完成发送或错误状态。
当从链路层接收到FIS时,传输层提供以下功能:
(1)接收来自链路层的FIS;
(2)检测FIS类型;
(3)根据FIS类型将FIS内容分发到不同位置;
(4)对于主机端传输层,接收到FIS后可能需要组建一个FIS返回到设备端。
(5)对于上层请求,返回完成或错误状态。
3)链路层
链路层负责发送和接收帧,根据传输层的控制信号发送原语,从物理层接收已经转换成控制信号的原语发送给传输层。链路层并不关注所传输帧的内容。主机端和设备端的链路层状态机相似,但如果两端同时进行发送,则设备端具有较高的优先级。
当传输层请求发送帧时,链路层实现如下功能:
(1)与对等链路层进行协商,避免主机和设备同时请求发送数据而造成冲突;
(2)向传输层数据(如SOFp、CRC、EOFp等)插入帧头、帧尾和校验等信息;
(3)从传输层以双字为单位接收数据,并计算数据的CRC校验,进行8b/10b编码、扰码;
(4)传输帧,并根据对等链路层或者FIFO的请求数量进行流量控制;
(5)接收对等链路层的帧接收信息,并向传输层报告传输完成或链路层、物理层传输错误。
……
展开