SPI-4.2接口协议分析.doc

上传人:cl****1 文档编号:558488023 上传时间:2022-11-12 格式:DOC 页数:28 大小:1.70MB
返回 下载 相关 举报
SPI-4.2接口协议分析.doc_第1页
第1页 / 共28页
SPI-4.2接口协议分析.doc_第2页
第2页 / 共28页
SPI-4.2接口协议分析.doc_第3页
第3页 / 共28页
SPI-4.2接口协议分析.doc_第4页
第4页 / 共28页
SPI-4.2接口协议分析.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《SPI-4.2接口协议分析.doc》由会员分享,可在线阅读,更多相关《SPI-4.2接口协议分析.doc(28页珍藏版)》请在金锄头文库上搜索。

1、SPI-4.2协议分析一SPI-4.2协议简介:SPI-4.2协议的全称为System Packet Interface,可译为“系统包接口”。该协议由OIF(Optical Internetwoking Forum)创建,用于规定10Gbps聚合带宽应用下的物理层(PHY)和链路层(Link)之间的数据抱传输协议,支持多通道的包或信元传输。适用于OC-192,ATM,POS以及10G以太网。1系统模型:SPI-4.2系统参考模型如图1所示,我们把从链路层到物理层的数据方向,称为“发送”方向;而从物理层到链路层的数据方向,称为“接收”方向。在两个方向上,都存在数据流控制(流控)机制,流控数据传

2、输方向和数据传输方向相反,把接收端的状态信息实时地反映到发射端,用来调节控制发射端的数据传输。图1. SPI-4.2系统参考模型图在发送与接收方向,FIFO信息(流控数据)都是和相应得数据通路之间分开独立发送的,我们称之为带外传输。状态信息的带外传输使得发送和接收接口相互独立,这就使得SPI4.2接口不仅适合于双向传输的链路层器件,也适合于单向传输的应用。另外,数据包的地址、描述信息(包括包结束、包开始信息等)、差错控制编码都是和数据一起,进行带内传输。SPI-4.2支持多通道(Port)传输。一个通道,是指接收或发送方向上,相互传输数据的一对关联的实体。如果有很多对关联的实体(即很多个通道)

3、,都在同时传输数据,它们可复用SPI总线。最多可支持256个通道(由流控数据内的地址位11:4确定)。例如OC-192的192个STS-1通道,快速以太网中的100个通道等,各个通道的数据都可以相互独立地复用在SPI总线上传输。2协议特点:A点对点互连(PHY与LINK之间);B支持最大256个通道;C数据链路宽度为16位,LVDS差分I/O接口;线上最小数据速率为622Mbps;D数据链路内部携带地址、起始标志和验证码等;E使用源同步时钟,双沿采样,最小时钟频率为311MHz;F流控端口宽度为2位,LVDS或LVTTL端口,同样是使用源同步时钟;G接收模块和发射模块都有FIFO队列,用于缓存

4、数据,队列长度由设计确定;H接收模块和发射模块FIFO状态信息相互独立,并附带DIP-2校验码,提高传输可靠性。另外,SPI4.2接口的突发数据(Burst)可以按规定的最大长度、最小长度或固定长度进行传输,除非在数据末尾有EOP(End Of Packet)标志以外,突发数据的长度都必须是16Byte的倍数。每一次传输的附带信息(端口地址,起止标志,差错控制)以16bit的控制字(PC=Payload Control)发送。图2显示了数据包(Packet)和ATM信元两个数据通道复用到SPI总线上的数据流的示例图,从中我们可以看到不同通道的数据负载和控制字交替传输的情况。图2. 数据包映射图

5、3接口信号:SPI-4.2的接口信号如图3所示,包含发送数据总线接口(TDCLK,TDAT15:0,TCTL)和接收数据总线接口(RDCLK,RDAT15:0,RCTL)。发送FIFO状态总线接口(TSCLK,TSTAT1:0),接收FIFO状态总线接口(RSCLK,RSTAT1:0)。接收和发送两个方向完全类似。每个方向的信号线都包括数据总线和状态总线。 以接收方向为例,数据总线包括RDAT,RDCLK和RCTL,其中RDAT为16比特的数据线,RDCLK为与RDAT、RCTL的同步的源同步时钟,RCTL为控制信号线。RDCLK为双沿采样的时钟,在上升沿和下降沿RDAT 和RCTL分别表示不

6、同的数据。当RCTL为1时,表示RDAT上的当前传输的是控制字;当RCTL为0时,表示当前传输的是实际所需数据。 状态总线为RSTAT和RSCLK,其中RSCLK为源同步时钟,对RSTAT进行采样;RSTAT为2比特的状态线,用于传输接收方向的目标FIFO的状态,主要用于流控(flow control)。 图3. 接口信号图数据总线(包括R/TDCLK、R/TDAT、R/TCTL)只能使用LVDS电平标准;状态总线(包括R/TSCLK、R/TSTAT)可以使用LVTTL电平标准,也可使用LVDS电平标准。当使用LVTTL电平标准时,时钟频率不超过数据总线的1/4(通常取1/4或1/8);当使用

7、LVDS电平标准时,最大时钟频率可以和数据总线频率一致。接口的信号列表见表1。表 1 接口信号列表信号方向描述TDCLKLink PHY发送数据采样同步时钟双沿采样、驱动TDAT和TCTLTDAT15:0Link PHY发送数据传输从Link到PHY的载荷数据和带内控制字。TCTLLink PHY1:TDAT15:0上为控制字0:TDAT15:0上为数据TSCLKPHY LinkTSTAT采样同步时钟TSTAT1:0PHY Link传输轮循的FIFO状态信息以及相关的错误侦测和成帧RDCLKPHY Link接收数据采样同步时钟用其上升和下降沿来采样和驱动RDAT和RCTLRDAT15:0PHY

8、 Link接收数据传输从PHY到Link的载荷数据和带内控制字RCTLPHY Link1:RDAT15:0上为控制字0:RDAT15:0上为数据RSCLKLink PHYRSTAT采样同步时钟RSTAT1:0Link PHY传输轮循的FIFO状态信息以及相关的错误侦测和成帧二接口详述:SPI-4.2接口包含数据总线(Data Path)和状态总线(FIFO Status Channel)两大部分,下面就针对两部分分别进行介绍。1 数据总线(Data Path):数据总线中TDAT/RDAT、TDCLK/RDCLK和TCTL/RCTL相互之间的关系见图4。从图中可以看出:时钟和DAT/CTL同步

9、。总线上传输的数据分为两类:一类为需传输的数据负载(payload),一类用于控制负载传输的字节,称为控制字(Control words)。我们可以通过R/TCTL的电平情况来区分数据总线上传输的是是数据负载,还是控制字。当R/TCTL为高电平时,数据线上传输的是控制字;当R/TCTL为低电平时,数据线上传输的是正常数据。在传输控制字时,如果下一个周期仍然是控制字,则当前控制字为IDLE控制字。图4. 数据总线时序图A数据负载:数据负载为16位,其在总线上传输时,高8位为低字节,低8位传送高字节。如图5所示,其中图(a)包含奇数个字节的数据包负载传输的字节顺序,无效的字节“XX”一般设置为零,

10、图(b)为包含偶数个字节的数据包负载传输的字节顺序。 (a) (b)图4. 负载传输顺序数据负载包的最大、最小长度由具体的应用决定。但是,每次数据突发,通常必须为16字节(8个周期)的整数倍。只有一种情况例外,即当前数据包已传输到数据的最末尾。也就是说,仅仅带包终止标志(EOP)控制字的前一个数据突发可以不是16字节的整数倍。从数据包传输的角度来看,数据突发只能暂时停止在包的16字节整数倍的边界处,或停止在数据包结束处。 图5. SOP间距示意图注:S:SOP有效的控制字E:EOP有效的控制字ES:SOP、EOP有效的控制字I:idle控制字C:连续传输控制字(bit15:12=8)EC:EO

11、P有效,设置连续传输的控制字P0,P1:载荷数据字节对于每一通道,其数据在总线上传输时,包起始标志(SOP)控制字的间隔不能少于8个周期(每个周期为两个字节(16比特),可以传输一个控制字或者数据字),短包之间的间隙(gap)用idle控制字来填充。也就是说,连续传输两个数据包时,这两个数据包的起始位置至少要相隔8个周期。图5上部列出了单通道情况,针对不同包长时,数据在总线上的排列情况。上面所说的8个周期限制仅仅是针对单个通道传输数据而言,当多个通道复用总线时,多个通道之间的控制字和数据字相互独立,没有相互关系,也没有限制。在图5左下角,在不同通道的数据负载之间只有连续传输控制字,这样可以让更

12、多的数据能够立即被传输,提高了传输效率。上面提到的多通道传输。是指在某个时间段内,总线上在传输这个通道的数据;在下一个时间段,总线上在传输另外一个通道的数据。每一段数据,称为一次数据突发(Burst);两次数据突发之间,以控制字(EC)分隔,并表征前后两次突发数据的状态。同时,有关通道的信息也内嵌在控制字中。 B控制字:控制字用于控制负载数据的传输,表征负载数据的状态,在接收和发送方向使用相同的控制字。在整个传输的数据流中,控制字既表示了该控制字前一段连续负载的状态,同时也表示了后一段连续负载的状态。 每个控制字由两个字节组成,为总线上一个周期传输的数据。包括以下几个控制域: a) 类型(Ty

13、pe):表示后一周期的数据,为负载数据,还是一个IDLE周期。 b) 包结束标志(EOPS):表示前一个周期的数据为数据包的最后一个周期。 c) 包超始标志(SOP):表示下一个周期的数据为数据包的第一个周期。 d) 通道地址(ADR):表示后一段连续负载数据所属的通道。 e) 校验和(DIP-4):校验和,保证控制字和数据传输的正确性。 这几个控制域在16比特中的分布如图6所示: 图6. 控制字的控制域分布图其中EOPS为两比特,除表示数据结束的含义之外,还可以用来表示数据包结束时的两个字节,是仅有一个字节有效(11),还是两个字节都有效(10)。通道地址为8比特,因此可以支持256个通道的

14、数据传输。详细说明见表2、表3,举例说明见表4。 表 2 控制字格式描述表Bit位标签描述15Type控制字类型1:载荷控制字(控制字后将立即发送载荷)0:idle或者训练控制字14:13EOPSEOP状态,与前一个采样周期的payload传输状态有关00:非EOP01:EOP中止(特定应用的错误状态)10:EOP正常终止,2byte有效11:EOP正常终止,1byte有效在一个burst的首个控制字中EOPS也是合理的,但是他不会被设置或者设置为“00”12SOPSOP状态1:控制字后立即会有payload传输0:其他情况在idle和训练控制字中全部设为“0”11:4ADR端口地址8bit的

15、载荷数据的端口地址,无保留地址Idle中设为全“0”训练序列中设为全“1”3:0DIP-44-bit的对角线隔行校验位4-bit的奇校验,通过计算当前控制字和紧邻的数据字(前1控制字后面的数据字内容,无数据字则不计算)表 3 控制字类型列表Bit15:12下一个字状态前一个字状态意义00000IdleContinuedIdle,非EOP,训练控制字10001ReservedReservedReserved20010IdleEOPw/abortIdle,中止前一个包30011ReservedReservedReserved40100IdleEOPw/2bytesIdle,EOP,2字节有效50101ReservedReservedReserved6

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号