SRIO协议解析Word下载.docx
《SRIO协议解析Word下载.docx》由会员分享,可在线阅读,更多相关《SRIO协议解析Word下载.docx(9页珍藏版)》请在冰豆网上搜索。
软件实现TCP/IP协议栈的以太网
4xPCIExpress
4xSRIO
备注
软件开销
高
中
低
SRIO协议栈简单,一般都由硬件实现,软件开销很小
硬件纠错重传
不支持
支持
传输模式
消息
DMA
DMA,消息
拓扑结构
任意
PCI树
SRIO支持直接点对点或通过交换器件实现的各种拓扑结构
直接点对点对等互连
SRIO互连双方可对等的发起传输。
传输距离
长
SRIO针对嵌入式设备内部互连,传输距离一般小于1米
数据包最大有效载荷长度
1500字节
4096字节
256字节
嵌入式通信系统对实时性要求高,SRIO小包传输可减少传输时延
打包效率(以传输256字节数据为例)
79%(TCP包)
82%
92~96%
打包效率是有效载荷长度与总包长的比率。
SRIO支持多种高效包格式。
3.帧结构
●ACKID:
向Packet发送端响应Packet接收确认信息;
●RSVD:
保留域;
●PRIO:
Packet优先级;
●TT:
器件ID长度;
●Ftype:
Logi_Inf的格式类型;
●Dest_Addr:
目的器件ID号;
●Src_Addr:
源器件ID号;
●Logi_Inf:
逻辑层信息,包括数据长度、数据地址、邮箱号等;
●Payload:
数据净核;
●CRC:
采用多项式X16+X12+X5+1生成16bitCRC码;
4.协议结构
RapidIO协议定义了3个层:
逻辑层、传输层和物理层。
2
3
4
5
6
7
7.1逻辑层
逻辑层定义了操作协议和相应的包格式。
RapidIO支持的逻辑层业务主要是:
直接IO/DMA(DirectIO/DirectMemoryAccess)和消息传递(MessagePassing)。
●直接IO/DMA
直接IO/DMA模式的前提是主设备知道被访问端的存储器映射。
主设备可以直接读写从设备的存储器。
直接IO/DMA在被访问端的功能往往完全由硬件实现,被访问的器件无任何软件负担。
对上层应用来说,发起直接IO/DMA传输主要需提供以下参数:
目地器件ID、数据长度、数据在目地器件存储器中的地址。
直接IO/DMA模式又可进一步分为以下几种传输格式:
NWRITE:
写操作,不要求接收端响应。
NWRITE_R:
带响应的NWRITE(NWRITEwithResponse),要求接收端响应。
SWRITE:
流写(StreamWrite),数据长度必须是8字节的整数倍,不要求接收端响应。
NREAD:
读操作。
●消息传递
消息传递(MessagePassing)模式则类似于以太网的传输方式,它不要求主设备知道被访问设备的存储器状况。
数据在被访问设备中的位置则由邮箱号(类似于以太网协议中的端口号)确定。
从设备根据接收到的包的邮箱号把数据保存到对应的缓冲区,这一过程无法完全由硬件实现,而需要软件协助。
对上层应用来说,发起消息传递主要需提供以下参数:
目地器件ID、数据长度、邮箱号。
7.2传输层
RapidIO是基于包交换的互连技术,传输层定义了包交换的路由和寻址机制。
RapidIO网络主要由两种器件,终端器件(EndPoint)和交换器件(Switch)组成。
终端器件是数据包的源或目的地,不同的终端器件以器件ID来区分。
RapidIO支持8bits或16bits器件ID,因此一个RapidIO网络最多可容纳256或65536个终端器件。
与以太网类似,RapidIO也支持广播或组播,每个终端器件除了独有的器件ID外,还可配置广播或组播ID。
交换器件根据包的目地器件ID进行包的转发,交换器件本身没有器件ID。
RapidIO的互连拓扑结构非常灵活,除了通过交换器件外,两个终端器件也可直接互连。
7.3物理层
RapidIO1.x协议定义了1x/4xSRIO协议,具体参照1-3节。
5.错误检测和恢复机制
SRIO协议采用错误检测和重发机制对发送数据进行保护和恢复,重传纠错的功能由物理层完成。
协议规定,每个数据包的传输需得到接收端的确认,并在发送端为每个传输的数据包保留备份,直至收到一个数据包接收确认或发送端口确定该数据包遇到不可恢复的错误。
协议可检测以下4种错误:
●Anidlesequenceerror
●Acontrolsymbolerror
●Apacketerror
●Atime-outwaitingforanacknowledgmentcontrolsymbol
8
8.1Idlesequenceerror
空闲码由A、K、R字符组成,输入端检测到无效的字符或有效字符但不是A、K、R字符时,进入Error-stoppedrecoveryprocess。
8.2Controlsymbolerror
协议可检测以下2种symbolerror:
●Anuncorruptedcontrolsymbolthatviolatesthelinkprotocol
●Acorruptedcontrolsymbol
Linkprotocolviolationsincludethefollowing:
•Unexpectedpacket-accepted,packet-retry,orpacket-not-acceptedcontrol
symbol
•Packetacknowledgmentcontrolsymbolwithanunexpectedpacket_ackID
value
•Linktime-outwhilewaitingforanacknowledgmentcontrolsymbol
Inputportsdetectthefollowingtypesofcontrolsymbolcorruption.
•Acontrolsymbolcontaininginvalidcharactersorvalidbutnon-datacharacters
•AcontrolsymbolwithanincorrectCRCvalue
8.3PacketErrors
Inputportsdetectthefollowingtypesofpacketcorruption
•PacketwithanunexpectedackIDvalue
•PacketwithanincorrectCRCvalue
•Packetcontaininginvalidcharactersorvalidnon-datacharacters
•Packetthatoverrunsdefinedboundarysuchasthemaxpayload.
8.4Time-outwaiting
等待确认信号的链接超时作为违反链接协议的情况处理,参照8.2节。
6.参考标准
●RapidIOTMInterconnectSpecificationPart6:
1x/4xLP-SerialPhysicalLayerSpecificationRev.1.3
●串行RapidIO:
高性能嵌入式互连技术(TIforum)
1x/4xLP-SerialPhysicalLayerSpecificationRev.2.0