SRIO物理层传输特点中的空闲序列


空闲序列是一个码组序列。当链路无需发送包或控制符号时,在每个串行链路协议(LP- Serial)链路通道上连续地发送空闲序列。空闲序列不能插入到包中。作为端口初始化过程的一部分,在每个通道上传送空闲序列。这是端口初始化协议所需要的。

1x空闲序列由码组/K/、/A/、/R/ (空闲码组)构成的伪随机序列组成,由操作模式为1x的端口使用。4x空闲序列由纵列llKll、llAll、llRll(空闲纵列)构成的伪随机序列组成,由操作模式为4x的端口使用。协议对空闲序列长度没有要求。空闲序列可以是任意长度。

空闲序列中对码组的伪随机选择导致空闲序列的频谱中没有离散谱线。这可以最小化长空闲序列产生的电磁干扰(EMI)。

空闲序列分为空闲序列1(Idle1 Sequence)和空闲序列2(Idle2 Sequence)。

空闲序列1(Idle1 Sequence):

空闲序列1是一组由A,K,R特殊字符组成的序列,这组序列在串行链路上发送之前必须先经过8B/10B编码器进行编码产生对应的10-bit特殊码组/A/,/K/,/R/之后才能在链路上发送。

产生空闲序列1推荐使用至少7阶的本原多项式来产生相应的伪随机序列,例如:

X7+X6+1   和    X7+X3+1

就是两个7阶本原多项式的例子,可以利用这两个多项式的任意一个作为空闲序列1的伪随机序列生成多项式。下图是一个产生空闲序列1伪随机序列的框图

image.png 

空闲序列2(Idle2 Sequence):

空闲序列2是一组由数据字符和特殊字符A,K,M,R组成的序列。这组序列在串行链路上发送之前必须先经过8B/10B编码器进行编码产生对应的10-bit特殊码组/A/,/K/,/M/和/R/之后才能在链路上发送。

空闲序列2的空闲帧的结构如下所示

image.png

它包括509-515个字符的随机数据域,8个字符的CS域标记以及32个字符的编码CS域。其中随机数据域包含伪随机数据字符和A、M特殊字符。CS域标记字段指明了命令和状态(CS = Command and Status)域的起始位置,并且提供了链路极性,链路宽度和链路号等信息。CS域给端口提供了一些状态信息和控制发送端口的预加重设置。

空闲序列的选择:

当串行链路每个通道的线速率在5.5Gbps以上时只能选择空闲序列2(IDLE2 Sequence),当每通道的线速率低于5.5Gbps时既可以选择空闲序列1(IDLE1 Sequence),也可以选择空闲序列2(IDLE2 Sequence)。至于在端口初始化的过程中选择空闲序列的算法请查看参考文献1的516页。

关于空闲序列的产生以及更加详细的介绍请查看参考文献1的503页到517页。






快来扫描下方二维码关注公众号,领取站内所有相关资料,所有哦~

有建议、有需求、有疑问、联系我

<