SRIO协议解析SerialRapidIO协议解析1.物理层特性1.1Twotransmitters(shortrunandlongrun)andasinglereceiverarespecifiedforeachofthreebaudrates,1.25,2.50,and3.125GBaud.1.2Theshortruntransmittershouldbeusedmainlyforchip-to-chipconnectionsoneitherthesameprintedcircuitboardoracrossasingleconnector.1.3Thelongruntransmitterspecificationsuselargervoltageswingsthatarecapableofdrivingsignalsacrossbackplanes.Thisallowsausertodrivesignalsacrosstwoconnectorsandabackplane.1.4Themostcommonequalizationtechniquesthatcanbeused?Pre-emphasisonthetransmitter?Apassivehighpassfilternetworkplacedatthereceiver.Thisisoftenreferredtoaspassiveequalization.?Theuseofactivecircuitsinthereceiver.Thisisoftenreferredtoasadaptiveequalization.2.信号定义SignalpindescriptionsforaRapidIO1x/4xLP-Serialport.Theinterfaceisdefinedeitherasasingle-orfour-lane,fullduplex,point-to-pointinterfaceusingdifferentialsignaling.Asingle-laneimplementationconsistsof4wiresandafour-laneimplementationconsistsof16wires.3.ElectricalSpecifications3.1ShortRunTransmitterSpecifications2.5GBaud、3.125GBaud特性与1.25GBaudShortRunTransmitterACTimingSpecifications基本相同,区别在于:2.5GBaudUI400ps3.125GBaudUI320ps3.2LongRunTransmitterSpecifications2.5GBaud、3.125GBaud特性与1.25GBaudLongRunTransmitterACTimingSpecifications基本相同,区别在于:2.5GBaudUI400ps3.125GBaudUI320ps3.3ReceiverSpecifications2.5GBaud、3.125GBaud特性与1.25GBaudReceiverSpecifications基本相同,区别在于:2.5GBaudUI400ps3.125GBaudUI320ps5.帧结构●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码;6.协议结构RapidIO协议定义了3个层:逻辑层、传输层和物理层。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节。7.错误检测和恢复机制SRIO协议采用错误检测和重发机制对发送数据进行保护和恢复,重传纠错的功能由物理层完成。协议规定,每个数据包的传输需得到接收端的确认,并在发送端为每个传输的数据包保留备份,直至收到一个数据包接收确认或发送端口确定该数据包遇到不可恢复的错误。协议可检测以下4种错误:●Anidlesequenceerror●Acontrolsymbolerror●Apacketerror●Atime-outwaitingforanacknowledgmentcontrolsymbol8.1Idlesequenceerror空闲码由A、K、R字符组成,输入端检测到无效的字符或有效字符但不是A、K、R字符时,进入Error-stoppedrecoveryprocess。8.2Controlsymbolerror协议可检测以下2种symbolerror:●Anuncorruptedcontrolsymbolthatviolatesthelinkprotocol●AcorruptedcontrolsymbolLinkprotocolviolationsincludethefollowing:?Unexpectedpacket-accepted,packet-retry,orpacket-not-acceptedcontrolsymbol?Packetacknowledgmentcontrolsymbolwithanunexpectedpacket_ackIDvalue?Linktime-outwhilewaitingforanacknowledgmentcontrolsymbolInputportsdetectthefollowingtypesofcontrolsymbolcorruption.?Acontrolsymbolcontaininginvalidcharactersorvalidbutnon-datacharacters?AcontrolsymbolwithanincorrectCRCvalue8.3PacketErrorsInputportsdetectthefollowingtypesofpacketcorruption?PacketwithanunexpectedackIDvalue?PacketwithanincorrectCRCvalue?Packetcontaininginvalidcharactersorvalidnon-datacharacters?Packetthatoverrunsdefinedboundarysuchasthemaxpayload.8.4Time-outwaiting等待确认信号的链接超时作为违反链接协议的情况处理,参照8.2节。8.参考标准●RapidIOTMInterconnectSpecificationPart6:1x/4xLP-SerialPhysicalLayerSpecificationRev.1.3●串行RapidIO:高性能嵌入式互连技术(TIforum)●RapidIOTMInterconnectSpecificationPart6:1x/4xLP-SerialPhysicalLayerSpecificationRev.2.0