一种基于FPGA的SRIO光纤链路在线重链接的实现方法与流程

文档序号:11205601阅读:5643来源:国知局
一种基于FPGA的SRIO光纤链路在线重链接的实现方法与流程

本发明涉及通信技术领域,具体涉及一种基于fpga的srio光纤链路在线重链接的实现方法。



背景技术:

srio为一种串行的rapidio技术,rapidio技术是一种高性能、高可靠性、低时延、低引脚数且基于报文交换的高速互联技术,它包括并行rapidio和串行rapidio两类技术,并行接口主要面向高性能微处理器、网络处理器与高性能背板的8位或16位并行链路的互连,其传输距离比较有限。而串行接口则一般以1x、2x或4x的方式实现高性能dsp、fpga、微处理器或与背板之间的高速串行互连,串行rapidio技术(srio)也因为传输距离更长、可靠性更高、引脚数较少的特点得到了更为广泛的应用。

fpga是一种可编程的逻辑器件,具有其他集成电路芯片所不具有的可编程灵活性,同时fpga有丰富的i/o引脚,开发周期短,可靠性较高。xilinx公司的serialrapidioip核可以很方便的在fpga器件上实现srio的接口协议,其中,virtex-7系列器件支持的serialrapidiogen2v3.2版本ip核可以实现单通道最高6.25gbps的数据传输。serialrapidioip核底层硬件基于fpga的gtx收发器,支持1x、2x和4x多种位宽的接口方式,在virtex-7系列器件中,srioip核的实现使用最新的axi4接口协议。完整的serialrapidio端点ip核实现方案共包括四个部分:serialrapidio物理层协议ip核(phy)、逻辑(i/o)和传输层ip核(log)、数据缓冲ip核以及控制时钟、复位和配置信息的相关逻辑。

雷达与记录仪之间的光纤链路存在一个建立的过程,当雷达和记录仪都已经上电,再将两者之间的光纤st或lc接口接上时,若srio模块不做有效复位会导致链路建立的失败。此外,若srio光纤链路建立后,因某些突发原因导致链路断开,若不在fpga中监测srio光纤链路的状态并做有效复位,重新建立链路,也会导致数据传输失败。



技术实现要素:

为了解决上述问题,本发明提供了一种基于fpga的srio光纤链路在线重链接的实现方法。目的是监测任意时刻雷达与记录仪之间光纤链路的通断,若链路断开,则控制fpga逻辑做链路复位来尝试重新建立光纤链路。

该实现方法主要包括以下步骤:

步骤一、周期内获取srio链路上port_initialized变量值与link_initialized变量值;

步骤二、若port_initialized变量处于上升沿或者link_initialized变量值为0,则继续执行步骤三,否则,返回步骤一,在下一个周期内重新取值,所述上升沿是指连续周期内port_initialized变量值处于上升趋势;

步骤三、启动计时器,计时4秒;

步骤四、启动复位指令,复位有效保持2秒;

步骤五、复位结束后,等待2秒,之后返回步骤一,重复执行上述过程。

优选的是,所述步骤一中,周期的时钟频率为200mhz。

优选的是,在所述步骤二中,所述判断port_initialized变量处于上升沿包括:第一次检测port_initialized变量值;延时一个周期后第二次检测port_initialized变量值;第二次检测值大于第一次检测值。

通过上述方式,以时钟周期为最小时间间隔,持续进行链路中两个变量的检测,以判断srio链路是否需要重连,并在需要进行srio链路重连时,启动重连步骤,实现链路复位来尝试重新建立光纤链路。

本发明可应用于雷达与记录仪之间基于fpga的srio光纤链路的在线重链接,并可推广到任何基于fpga的srio链路在线重链接。

附图说明

图1为本发明基于fpga的srio光纤链路在线重链接的实现方法的一优选实施例的流程图。

图2为雷达信号处理板与记录仪之间的srio光纤链路结构框图。

具体实施例

为使本发明实施的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施例是本发明一部分实施例,而不是全部的实施例。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。下面结合附图对本发明的实施例进行详细说明。

本发明基于fpga的srio光纤链路在线重链接的实现方法,目的是监测任意时刻雷达与记录仪之间光纤链路的通断,不管何种原因造成的链路断开,都控制fpga逻辑做链路复位来尝试重新建立光纤链路。

rapidio互连架构是一种点对点的包交换技术,支持芯片间以及板间的互连与通信,其数据传输速率能够达到1gbps至60gbps。rapidio互联体系结构共分为三层,分别为逻辑层、传输层和物理层。逻辑层规范处于最高层,定义了全部操作协议和包格式,为端点器件发起和完成事务提供必要的信息;传输层规范处于协议层次的中间层,该层定义了rapidio的地址空间、寻址机制和用于包交换的路由信息;物理层规范处于最底层,内容包括器件级接口的细节,如包传输机制、流量控制、电气参数以及低级错误管理。

如图2所示,为本发明针对的雷达信号处理板与记录仪之间的srio光纤链路结构框图。在雷达信号处理领域,数据在雷达信号处理板与记录仪间通常是通过光纤链路传输的。首先,数据在雷达信号处理板上由fpga按srio协议打包送往四路并行光收发一体模块,光模块将电信号转换成光信号后送到光纤链路,光纤与记录仪之间通过四路st或lc收发接口连接,数据由此经光纤传输到记录仪上,再经过逆变换转换成数字信号并存储下来。

调用fpga的srioip核,在链路建立时,有如下特征:port_initialized=1且link_initialized=1,(port_initialized为端口初始化状态,link_initialized为链路初始化状态)若链路断开,则port_initialized上下跳变或link_initialized=0(例如图2中右侧光纤st或lc接口与记录仪接口断开,会导致端口初始化上下跳变,链路初始化link_initialized为0,即使接口重新连接,该状态也会保持,若不在fpga中监测srio光纤链路的断开状态并做有效复位,重新建立链路,也会导致数据传输失败),利用该特征,本技术在fpga的逻辑算法上对这两个信号进行检测,将port_initialized变量处于上升沿或者link_initialized变量值为0作为srio链路复位的判决条件,从而进行srio链路在线重链接,如图1所示,具体包括以下步骤:

步骤一、周期内获取srio链路上port_initialized变量值与link_initialized变量值;

步骤二、若port_initialized变量处于上升沿或者link_initialized变量值为0,则继续执行步骤三,否则,返回步骤一,在下一个周期内重新取值,所述上升沿是指连续周期内port_initialized变量值处于上升趋势;

步骤三、启动计时器,计时4秒;

步骤四、启动复位指令,复位有效保持2秒;

步骤五、复位结束后,等待2秒,之后返回步骤一,重复执行上述过程。

本实施例中,在所述步骤一中,每个时钟周期检测一次,时钟频率为200mhz。

本实施例中,在所述步骤二中,所述判断port_initialized变量处于上升沿包括:第一次检测port_initialized变量值;延时一个周期后第二次检测port_initialized变量值;第二次检测值大于第一次检测值。例如,步骤一至步骤二可以修改为:将srio的port_initialized延时1个时钟周期,进去初始状态;初始状态,计数器清零,复位信号置0,进入下一步;判断状态,利用port_initialized的延时状态检测其上升沿或者检测srio的link_initialized=0,若条件为真,进入下一步,否则,继续监测port_initialized的上升沿或link_initialized=0。

本技术方案应考虑到srio链路重新建立所需的时间,所以复位信号恢复为0,即失效后,应保持2秒再进入port_initialized和link_initialized信号的下一次检测判断状态。该重链接实现方法耗时8秒,包括等待状态、复位状态与保持状态,其中复位信号置1为有效,置0为无效。具体参考图1,等待状态,计数器计数4秒后,复位信号置1,进入下一步;复位状态,计数器计数2秒后,复位信号置0,进入下一步;保持状态,计数器计数2秒后,保证复位完成,链路重新建立,跳回两个变量的监测步骤,继续监测链路状态。

最后需要指出的是:以上实施例仅用以说明本发明的技术方案,而非对其限制。尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1