SRIO数据传输接口的确定性时延设计

(整期优先)网络出版时间:2021-07-27
/ 2


SRIO数据传输接口的确定性时延设计

顾何方

中国电子科技集团公司第三十八研究所, 安徽合肥, 230088


摘要: SRIO传输协议被广泛应用于嵌入式系统中芯片或设备间的高速数据传输接口。SRIO传输协议本身并不具备确定性时延的特性,本文提出一种传输接口设计,引入参考脉冲后将数据源端与目的端的收发帧时间与参考脉冲绑定,获得确定的数据传输时延且每次上电后不变,该设计已在多个项目中得到应用。

关键词: SRIO 确定性时延 数据传输接口

  1. 引言

SRIO(串行RapidIO)传输协议是被广泛应用的一种嵌入式系统数据交换接口,可为当前种类繁多的各种嵌入式设备提供一种高带宽、高可靠性、低管脚数的通用系统内部互连方案[1][2]。此外,还可基于SRIO协议构建板间或是设备间的高可靠、大带宽的高速数据总线。

SRIO互连通信协议采用三层体系结构,分别为逻辑层、传输层和物理层,从逻辑层看数据从源端发出到目的端接收的时延是不确定的,由于存在数据分包及握手交互,各包数据的传输时延并不一致。当通过SRIO接口在设备间传送连续的数据流时,往往希望数据流传输不发生中断,此时一般会选择在收发两端增加数据缓存去平滑瞬时数据率的波动[3][4],此时该数据接口的传输时延可维持不变,但由于存在跨时钟域处理,其传输时延每次上电时仍存在不确定性。本文提出一种数据传输接口设计,通过收发两端共同的参考脉冲,可保证SRIO数据传输接口有确定的传输时延,并在每次上电后保持不变。

  1. 接口传输时延

SRIO传输通道时延定义为数据从进入源端SRIO发送模块到目的端SRIO接收模块输出的时延,SRIO收发模块一般使用独立的参考时钟,由于存在跨时钟域数据交换,追求传输通道的时延固定是不现实的,我们转为追求某种“缓存到缓存”的时延固定性,这里“缓存到缓存”指的是从源端缓存到目的端缓存的整个数据组帧/解帧及传输环节,包含了SRIO数据传输通道。

60ff80789debb_html_b289db6484b5c03b.gif

图1 数据传输接口时延示意图

本设计中数据以数据帧为单元在数据传输通道内传输,数据写入SRIO发送模块前需要进行组帧。“缓存到缓存”传输时延固定指的是源端数据写入缓存到目的端数据从缓存读出的时延固定,虽然传输通道时延是时变的,但是“缓存到缓存”的固定传输时延是可达到的,这取决于以下两点:

1)源端和目的端使用同源的数据时钟

2)连接到源端和目的端的全局参考脉冲。

  1. 参考脉冲

参考脉冲给数据源端和目的端提供一个共同的时间参考,源端开始发数的时间和目的端开始收数的时间与参考脉冲有固定的延时关系。参考脉冲可使用单次的(one-shot)或者周期性的(periodic),本设计中使用周期性的同步脉冲。

出于通用性考虑,本设计使用B码秒脉冲作为同步脉冲,其周期为1秒,为了保证一般性(每个同步脉冲上升沿后T0时间都对应一个发送帧时钟上升沿),需要保证同步脉冲周期可被帧时钟周期TF整除,亦即需要保证1秒内有整数个数据帧。

定义源端帧时钟相位(T0)为源端写入缓存首帧数据时刻与参考脉冲的时延差,目的端帧时钟相位(T1)为目的端从缓存读出首帧数据时刻与参考脉冲的时延差。由于帧时钟相位T0和T1都是基于各自本地的同步脉冲而言的,因而数据帧传输时延为:

60ff80789debb_html_3bdc4b37ea41d188.gif

其中60ff80789debb_html_c8f5cbec94caa203.gif 为收发两端基准时钟相位差,该相位差和基准分发网络布线差异以及时钟处理元件特性差异有关,可认为不受加断电影响。

  1. 数据帧设计

源端与目的端的收发帧时刻与参考脉冲绑定,时序状态如下图所示。

60ff80789debb_html_29832d69cd9ca17.gif

图2 收发端帧读写时序图

如上图所示,此时目的端帧时钟相位T1设定为

60ff80789debb_html_b4efa973e51b5bf7.gif

其中Ttrans为通道传输时延,MAX(Ttrans)为通道传输时延的最大值。

当源端端先于目的端上电时,需要考虑时延模糊的问题,当通道传输时延的抖动超过传输帧长度时,或者说

60ff80789debb_html_f3001a5e249c55ad.gif

此时目的端收到此帧的时间存在不确定性,如下图所示

60ff80789debb_html_c0f86190b0ba3aaf.gif

图3 数据帧接收的时间不确定区间

如图所示,假设源端在同步脉冲后发送的第一帧序号为N,由于通道传输时延有不确定性,该帧到达目的端的时间为一个不确定性区间,当区间宽度超过数据帧长度TF时,前后两帧到达的时间区间会出现重叠,目的端无法区分同步脉冲后收到的第一帧序号为N还是N-1,此时出现了时延模糊。

为解决时延模糊问题,引入多帧结构,假设一个多帧内含M个数据帧,则多帧帧长为60ff80789debb_html_35d83598a4a922f.gif ,同样的,需要保证同步脉冲周期可被多帧时钟周期60ff80789debb_html_35d83598a4a922f.gif 整除。对数据帧进行编号,编号范围为0,1,2,…,M-1,引入多帧结构后,M个数据帧组成一个多帧,多帧时钟相位对应为数据编号为0的数据帧时钟相位,源端和目的端多帧时钟相位和参考脉冲有固定的延迟关系。

  1. 结束语

本文给出了基于SRIO传输协议数据接口的确定性时延设计,可应用于某些测量系统中对数据传输时延有确定性要求的场合。在一个大系统中,系统的确定性时延设计涵盖多个环节,本文给出的思路也可在其他芯片或设备间的数据传输接口确定性时延设计中得到应用。


参考文献

[1] Sam Fuller, Maria Salieva. An Introduction to the RapidIO Bus Functional Models [Z] 2004.03

[2] 杨卿. RapidIO高速互联接口的设计研究与应用[D].电子科技大学, 2009.

[3] 刘倩茹. 基于RapidIO的高速传输接口的研究与设计 [D]. 华北电力大学, 2012.

[4] 沙海珍. 高性能基带池中多核 DSP 底层驱动的设计与实现[D]. 重庆邮电大学, 2017