4x串行RapidIO链路上的数据流


在4x操作模式下的串行端口在8B/10B编码之前按如下方式将定界控制符号和组成包的字符流分段到四个通道上。

包和定界控制待号将被从通道0开始分段到四个通道上。每个包的第一个字符或定界控制符号被放到通道0,第二个字符被放到通道1 ,第三个字符被放到通道2,第四个字符被放到通道3。第五个字符又被放到通道0,如此循环。

由于控制符号的长度是固定的24位并且要求包的长度必须是32位的整数倍, 分段后定界控制符号的码组总被放到通道0。所有包将形成整数个连续的纵列。在分段后, 4个字符流的每一个流都被独立地进行8B/10B编码和发送。

在接收方对每个通道进行解码。解码后, 字符流对齐这4个通道。作为4x空闲序列的一部分发送的llAll纵列提供执行对齐所需的信息。在对齐之后,纵列被合并为单独的字符流, 然后被传递到上层 。

通道对齐过程消除了通道间的偏移,这样在合并(destriping)后接收到的字符流中字符的顺序与在分段和发送前字符的顺序相同。 由于||A||纵列之间最小的非llAll纵列数量为16, 所以可以明确修正的最大通道偏移是在一个通道上传送7个码组的时间 。下图显示了一个在4x链路上传送空闲序列、包和定界控制符号的实例。 该实例使用的包序列与1x链路的实例相同。

image.png 

RapidIO串行物理层的8B/10B编解码原理与包传输流程相关的内容到此介绍完毕,更多详细的内容请阅读参考文献1的第485页到560页。为了便于大家以后的查阅,下面把控制符号与K码相关的定义全部列到一起。

image.png 

注意:上图列出的是短控制符号的定义。长控制符号总长度为48位而短控制符号的总长度为24位。






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

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

<