一种基于SFI4‑2接口查找输入时延的方法及装置与流程

文档序号:13614768阅读:449来源:国知局
一种基于SFI4‑2接口查找输入时延的方法及装置与流程

本发明涉及光传送网(opticaltransportnetwork,otn)技术领域,具体涉及一种基于sfi4-2接口查找输入时延的方法及装置。



背景技术:

sfi4-2接口是由光互联论坛(oif)提出的一种串并行转换器与成帧器间的并行高速接口,sfi4-2接口主要应用在otn系统中,通过4对2.5gb/s的差分数据线实现odu2信号的传送。在实际的otn系统中,一些asic(applicationspecificintegratedcircuits,专用集成电路)芯片的10g信号接口都采用sfi4-2接口,sfi4-2接口使asic芯片之间的对接更加容易。

在otn系统中,接收端输入的高速源同步信号满足光互联论坛oif提出的sfi4-2接口的时钟数据关系,由于在fpga内部,时钟信号与数据信号到达高速接收单元的输入时延不一致,导致无法正确的取样数据。

有鉴于此,急需控制接收方向的时延,以便正确的取样数据。



技术实现要素:

本发明所要解决的技术问题是解决在fpga内部的时钟信号与数据信号到达高速接收单元的输入时延不一致,导致无法正确取样数据的问题。

为了解决上述技术问题,本发明所采用的技术方案是提供一种基于sfi4-2接口查找输入时延的方法,包括以下步骤:

输入数据信号流,并在输入延迟值的可用取值范围内,随机搜索其中一个输入延迟值;

对检测到的数据信号流进行定帧处理,若定帧成功则将该输入延迟值加入取值范围队列,然后继续搜索,直至遍历完可用取值范围内的所有输入延迟值;若定帧失败,则将该输入延迟值从可用取值范围内去除;

对取值范围队列中的输入延迟值进行中间值计算,并将计算出的中间值作为最终的输入延迟值。

在上述技术方案中,对取值范围队列中的输入延迟值进行中间值计算,具体包括以下步骤:

s10、对取值范围队列中的输入延迟值进行筛选,只保留处于连通区域的输入延迟值;

s20、判断取值范围队列是否存在多个连通区域,若是,转s30;否则,转s40;

s30、退出中间值计算,重新确定取值范围队列;

s40、判断连通区域是否包含可用取值范围中的最小值和最大值,若是,转s50;否则转s60;

s50、将连通区域的两端点的数值之和加可用取值范围的周期,然后再取中间值,转s70;

s60、对连通区域的两端点的数值之和取中间值,结束;

s70、判断得到的中间值是否大于可用取值范围的周期,若是,转s80;否则,结束;

s80、将得到的中间值减去可用取值范围的周期,结束。

在上述技术方案中,采用prbs信号作为数据信号流输入,并采用otn帧头对检测到的数据信号流进行定帧处理。

在上述技术方案中,在对检测到的数据信号流进行定帧处理之前,还包括:

复位fifo,若复位fifo后数据信号流正常,则进行定帧处理;否则,重新输入数据信号流。

在上述技术方案中,对检测到的数据信号流反复进行多次定帧处理,直至将可用取值范围中的边界值排除。

在上述技术方案中,定帧处理是否成功的判定条件为:

检测到的数据信号流的帧头正常,则判定为定帧成功;

检测到的数据信号流的帧头异常,则判定为定帧失败。

本发明还提供了一种基于sfi4-2接口查找输入时延的装置,包括prbs发生器、选择器、接口模块、fifo、idelay发生器、定帧模块、中间值计算模块以及控制模块;

prbs发生器,发送prbs信号到接口模块;

选择器,选择prbs发生器发送的prbs信号作为数据信号流,并在输入时延值查找完成时,恢复正常的数据信号流;

接口模块,根据控制模块的控制信号,对接收到的数据信号流进行相应处理;

fifo,根据控制模块的控制信号,对经过接口模块处理的数据信号流按照先进先出进行处理;

idelay发生器,根据控制模块的控制信号,在输入延迟值的可用取值范围内,随机搜索其中一个输入延迟值;

定帧模块,对检测到的数据信号流进行定帧处理,若定帧成功则将该输入延迟值加入取值范围队列,然后继续搜索,直至遍历完可用取值范围内的所有输入延迟值;若定帧失败,则将该输入延迟值从可用取值范围内去除;

中间值计算模块,对取值范围队列中的输入延迟值进行中间值计算,并将计算出的中间值作为最终的输入延迟值。

在上述技术方案中,所述中间值计算模块包括去抖动单元,对取值范围队列中的输入延迟值进行去抖动处理。

本发明采用动态搜索的方式确定输入时延值的可用取值范围,在可用取值范围内,通过取中间值的方法确定输入延迟值,避免了取值边缘化。

附图说明

图1为本发明提供的一种基于sfi4-2接口查找输入时延的方法流程图;

图2为本发明提供的sfi4-2接口输入时延取中间值的算法示意图;

图3为本发明提供的sfi4-2接口输入时延取中间值的算法示意图;

图4为本发明提供的一种基于sfi4-2接口查找输入时延的装置结构示意图。

具体实施方式

本发明应用在otn系统中,由于每个硬件pcb的不同板卡之间的输入延迟值存在差异性、且不唯一,因此针对不同的硬件pcb不能采用统一的输入延迟值,而是需要采用动态搜索的方式来确定每个硬件pcb的输入延迟值的可用取值范围,在可用取值范围内,通过取中间值的方法确定不同板卡各自唯一确定的输入延迟值,避免了取值边缘化。为了满足实际应用的要求,在otn设备中采用fpga与asic的sfi4-2接口进行对接,实现了asic芯片的odu2信号在fpga内的正确接收及处理后的正确发送,该sfi4-2接口的工作速率为2.5gb/s,主要用于系统之间的连接。

下面结合说明书附图和具体实施方式对本发明做出详细的说明。

本发明实施例提供了一种基于sfi4-2接口查找输入时延的方法,如图1所示,包括以下步骤:

s101、采用prbs(pseudorandombinarysequence,伪随机二进制序列)发生器发送的prbs信号作为数据信号流输入。

上述prbs信号可为otn设备的维护信号(从而下游信号可以采用otn帧头进行定帧处理)。在搜索输入延迟值时,外部信号发生变化可能导致搜索结果出错,将合适的输入延迟值排除在外,于是本方案采用prbs信号,以便进行后续的定帧处理时,可以最大限度地排除外在干扰。

s102、在输入延迟值的可用取值范围内,随机搜索其中一个输入延迟值。

本方案中,将输入延迟值的可用取值范围设为1~20,通过设置输入延迟值,保证了数据信号流对齐。

s103、复位fifo(firstinfirstout,先进先出队列),并判断复位fifo后数据信号流是否正常,如果是,转s104;否则,转s101。

由于fifo的深度有限,存在溢出的可能,因此本方案在进行定帧处理之前,通过复位fifo,对硬件pcb的4个板卡的数据信号流进行对齐处理,最大限度地排除了外在干扰。

s104、采用otn帧头对检测到的数据信号流进行定帧处理,判断是否定帧成功,若是,转s105;否则,转s102。

定帧处理符合g.709和g.798规定,定帧处理是否成功的判定条件为:

检测到的数据信号流的帧头正常,则判定为定帧成功;

检测到的数据信号流的帧头异常,则判定为定帧失败。

s105、将定帧成功的输入延迟值加入取值范围队列。

s106、在可用取值范围内(1~20),判断是否搜索完毕,如果是,转s107;否则,转s102,继续搜索,直至遍历完可用取值范围内的所有输入延迟值。

一般来说,满足定帧要求的取值不止一个,而是一个范围,因此,搜寻值会选择连续的取值范围。于是,在第i个值可以定帧时,继续搜索第i+1个值,直至将全部范围值搜索完毕,再根据搜索到的取值范围进行相应处理,最终确定可用输入时延值。

s107、对取值范围队列中的输入延迟值进行中间值计算,并将计算出的中间值作为最终的输入延迟值

对检测到的数据信号流反复进行多次定帧处理,直至将可用取值范围中的边界值排除。

s108、取消发送prbs信号,恢复正常数据信号流。

如图2所示,为sfi4-2接口输入时延取中间值的算法示意图,输入延迟值的可用取值范围为1~20,由于定帧成功的输入延迟值并不唯一,因此在1~20范围内采用取中间值的算法,进行取值搜索。去掉孤立点,在逐个点的尝试过程中,由于整个取值范围为一个圆(循环),可能出现取值范围为不连续的两个区间,因此需要针对不连续的区间进行周期处理,最终取得合适的中间值。

如图3所示,为sfi4-2接口输入时延取中间值的算法流程图,具体包括以下步骤:

s10、对取值范围队列中的输入延迟值进行筛选,只保留处于连通区域的输入延迟值。

由于输入延迟的取值均是整数,有一个取值范围,一个区域内数值之间不能间断,例如取值为1、2、3、4则是表示连通,如果取值为1、2、3、5,存在单个的散点,则表示不连通,其中,连通区域至少包括两个数值。

s20、判断取值范围队列是否存在多个连通区域,若是,转s30;否则,转s40。

如果取值范围队列中有多个数值,而且这多个数值可划分为多段,每一段中均是连续值,则认为该取值范围队列中存在多个连通区域,例如取值范围队列中包括数值1、2、3、6、7、8,则1、2、3为一个连通区域,6、7、8为一个连通区域。

s30、退出中间值计算,重新确定取值范围队列。

如果连通区域存在多个,则无法取值中间点,因此搜索出的范围不符合要求,如果不存在多个连通区域,则表明取值范围队列的输入延迟值正常,输入延迟值的分布合理。

s40、判断连通区域是否包含可用取值范围中的最小值和最大值,若是,转s50;否则转s60。

s50、将连通区域的两端点的数值之和加可用取值范围的周期,然后再取中间值,转s70。

这里是一个周期的概念,由于连通区域刚好包含了最小值和最大值,因此需要对最小值加入一个周期(20)然后取中间值。

s60、对连通区域的两端点的数值之和取中间值,转s100。

s70、判断得到的中间值是否大于可用取值范围的周期,若是,转s80;否则,转s90。

s80、将得到的中间值减去可用取值范围的周期,转s100。

当得到的中间值大于20时,则表明得到的中间值加入了一个周期,因此需要减去20;当得到的中间值小于20时,则表明得到的中间值在正常范围(1~20)。

s90、将得到的中间值直接作为最终的输入时延值,转s100。

s100、结束。

本发明实施例还提供了一种基于sfi4-2接口查找输入时延的装置,如图4所示,包括prbs发生器10、选择器20,接口模块30、fifo40、idelay发生器50、定帧模块60、中间值计算模块70以及控制模块80;

prbs发生器10,发送prbs信号到接口模块30;

选择器20,选择prbs发生器10发送的prbs信号作为数据信号流,并在输入时延值查找完成时,恢复正常的数据信号流;

接口模块30,根据控制模块80的控制信号,对接收到的数据信号流进行相应处理;

fifo40,根据控制模块80的控制信号,对经过接口模块30处理的数据信号流按照先进先出进行处理;

idelay发生器50,根据控制模块80的控制信号,在输入延迟值的可用取值范围内,随机搜索其中一个输入延迟值;

定帧模块60,对检测到的数据信号流进行定帧处理,若定帧成功则将该输入延迟值加入取值范围队列,然后继续搜索,直至遍历完可用取值范围内的所有输入延迟值;若定帧失败,则将该输入延迟值从可用取值范围内去除;

中间值计算模块70,对取值范围队列中的输入延迟值进行中间值计算,并将计算出的中间值作为最终的输入延迟值。

中间值计算模块70包括去抖动单元701,对取值范围队列中的输入延迟值进行去抖动处理。

本发明不局限于上述最佳实施方式,任何人在本发明的启示下作出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。

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