一种数据窗口查询方法及电路与流程

文档序号:12691816阅读:191来源:国知局
一种数据窗口查询方法及电路与流程

本发明涉及FPGA(Field-Programmable GateArray,可编程逻辑器件)领域,尤其涉及一种数据窗口查询方法及电路。



背景技术:

由于LVDS(Low Voltage Differential Signaling,低压差分信号)技术的高抗扰、低功耗等特性,已被广泛应用于高速数据传输的领域,LVDS接口则在硬件逻辑上实现了对高速数据的发送和接收。由于LVDS接口发送和接收的是串行数据,需要对接收数据做训练training,以保证接收模块在任何时刻都可以接收到正确稳定的数据。训练training的过程就是数据窗口查询的过程,数据窗口是所有能够采到稳定数据的采样点的集合,而数据窗口的中心则是最佳采样点。

现有常见的数据窗口查询方法是通过调节PLL(PhaseLockedLoop,锁相回路或锁相环)的相位来实现的,这种方法是以采样数据为参照物,逐步移动采样时钟的相位来找到能够正确采到数据的相位范围,此相位范围转换成时间宽度便是直观的数据窗口。

目前主流FPGA芯片的PLL的相位调节范围通常是8-16个相位,即把一个时钟周期平均分为8-16份,每调节一个相位相当于把时钟相对于数据向后延迟八分之一个时钟或者十六分之一个时钟,由此可以计算出调节一个相位的时间宽度。对于采样低速信号,这种方法是可行的。但是对于采样高速信号并且对硬件环境的要求比较高时,通过调节PLL相位来实现数据窗口的查询则显得力不从心,因为高速信号的每一位的传输时间很短,在数据窗口查询时必然要求窗口的调节精度要高,而使用上述方法往往不满足要求,其结果是由于PLL的抖动,很容易采到数据的亚稳态,从而接收到错误数据。

如图1所示,数据采用DDR(Double Data Rate,双倍速率同步动态随机存储器)的方式传输,即一个时钟周期传输两位数据;通过调节PLL的相位,使采样时钟clock相对于数据data从左向右移动,依次遍历phase0,phase1,……直到phase7的采样数据情况。由图1可知,在phase2和phase3能够采到稳定数据,而phase1和phase4则有采到亚稳态数据的风险;因此它的数据窗口是phase2和phase3的时间宽度和,可以phase2或者phase3作为采样点,但是,phase2左侧和phase3右侧都很靠近数据的亚稳态区域,当PLL抖动时,采样时钟很容易偏离数据的稳定区域而采到亚稳态数据,因此这种方法不仅导致采样点少,而且有采到亚稳态数据的风险。



技术实现要素:

本发明提供了一种数据窗口查询方法及电路,以解决现有基于PLL的数据窗口查询技术不能实现LVDS接口正确稳定地接收高速数据的问题。

本发明提供了一种数据窗口查询方法,用于查询可编程逻辑器件中低压差分信号接口接收数据的数据窗口,数据窗口查询方法包括:

将来自低压差分信号接口的串行接收数据转换为并行数据,得到目标数据;基于当前输入输出延迟单元的步进,对目标数据进行采样,得到当前步进对接收数据的采样结果;

根据当前步进的采样结果,以及预设的亚稳态判断参数,判断并输出当前步进的亚稳态属性、状态有效标识及步进位置信息,亚稳态属性包括正常及亚稳态;步进位置自加一,并输出至输入输出延迟单元;

根据接收数据的状态,确定数据窗口的窗口边界,输出数据窗口。

进一步的,采样结果为对目标数据中的恢复时钟进行采样得到的字段。

进一步的,在输出数据窗口之后,还包括:在数据窗口内进行采样,判断采样结果是否正确,若不正确,则重新确定数据窗口。

进一步的,在确定数据窗口之后,还包括:计算数据采样中心,停止对目标数据进行采样。

进一步的,根据接收数据的状态,确定数据窗口的窗口边界,输出数据窗口包括:顺序对各步进的亚稳态属性进行分析,如果当前步进输出的亚稳态属性与前一个步进输出的亚稳态属性不一致,则找到了一条数据窗口的边界,边界位置以当前步进位置为准;确定至少两个边界、最多三个边界;根据至少两个边界、最多三个边界确定数据窗口的窗口边界,输出得到数据窗口。

一种数据窗口查询电路,用于查询可编程逻辑器件中低压差分信号接口接收数据的数据窗口,数据窗口查询电路包括:

采样电路,用于将来自低压差分信号接口的串行接收数据转换为并行数据,得到目标数据,基于当前输入输出延迟单元的步进,对目标数据进行采样,得到当前步进对接收数据的采样结果;

判断电路,用于根据当前步进的采样结果,以及预设的亚稳态判断参数,判断并输出当前步进的亚稳态属性、状态有效标识及步进位置信息,亚稳态属性包括正常及亚稳态;步进位置自加一,并输出至输入输出延迟单元;

确定电路,用于根据接收数据的状态,确定数据窗口的窗口边界,输出数据窗口。

进一步的,采样电路用于对目标数据中的恢复时钟进行采样,得到恢复时钟的字段,作为采样结果。

进一步的,采样电路在确定数据窗口之后,还用于在数据窗口内进行采样,触发判断电路判断采样结果是否正确,若不正确,则触发确定电路重新确定数据窗口。

进一步的,确定电路还用于在确定数据窗口的之后,计算数据采样中心,停止对目标数据进行采样。

进一步的,确定电路用于顺序对各步进的亚稳态属性进行分析,如果当前步进输出的亚稳态属性与前一个步进输出的亚稳态属性不一致,则找到了一条数据窗口的边界,边界位置以当前步进位置为准;确定至少两个边界、最多三个边界;根据至少两个边界、最多三个边界确定数据窗口的窗口边界,输出得到数据窗口。

本发明的有益效果:

本发明提供了一种数据窗口查询方法及对应的电路,通过动态调节输入输出延迟单元IODELAY的延迟参数,对LVDS接口的接收数据进行延迟调节,通过接收数据的状态找出数据窗口边界,实现了以采样时钟为参照物,通过调节数据相对采样时钟的相位来改变采样点,提高了调节精度,使数据窗口更加精细,采样点也更加丰富。

附图说明

图1为现有基于PLL的数据窗口查询方法的示意图;

图2为本发明第一实施例提供的数据窗口查询方法的流程图;

图3为本发明第二实施例提供的数据窗口查询电路的结构示意图;

图4为本发明第三实施例提供的数据窗口查询电路的逻辑框图;

图5为本发明第三实施例涉及的rx-ctrl模块的时序图;

图6为本发明第三实施例涉及的sample-ctrl模块的时序图;

图7为本发明提供的数据窗口采样点与现有采样点的对比示意图。

具体实施方式

现通过具体实施方式结合附图的方式对本发明做出进一步的诠释说明。

第一实施例:

图2为本发明第一实施例提供的数据窗口查询方法的流程图,由图2可知,在本实施例中,本发明提供的数据窗口查询方法包括以下步骤:

S201:将来自低压差分信号接口的串行接收数据转换为并行数据,得到目标数据;基于当前输入输出延迟单元的步进,对目标数据进行采样,得到当前步进对接收数据的采样结果;

S202:根据当前步进的采样结果,以及预设的亚稳态判断参数,判断并输出当前步进的亚稳态属性、状态有效标识及步进位置信息,亚稳态属性包括正常及亚稳态;步进位置自加一,并输出至输入输出延迟单元;

S203:根据接收数据的状态,确定数据窗口的窗口边界,输出数据窗口。

在一些实施例中,上述实施例中的采样结果为对目标数据中的恢复时钟进行采样得到的字段,本实施例以恢复时钟作为目标数据,是因为恢复时钟的数据结构/内容简单,一般为“1111000”,那样与其对应的亚稳态判断参数就可以很简单,此时,亚稳态判断参数可以为:在当前步进连续采集数据,经过多次前后比对,如果采到的数据始终是“1111000”,“1110001”,“1100011”,“1000111”,“0001111”,“0011110”,“0111100”中的一种,则该步进对应的亚稳态属性为正常,否则该步进对应的亚稳态属性为亚稳态。

在一些实施例中,上述实施例中的方法在输出数据窗口之后,还包括:在数据窗口内进行采样,判断采样结果是否正确,若不正确,则重新确定数据窗口。本实施例是考虑到数据传输的实际情况,在实际的数据传输中,因为外界因素可能导致的数据通路暂时中断或者电路电压不稳定,因此就需要动态的调整数据窗口,使得数据窗口可以正常使用。

在一些实施例中,为了降低功耗,上述实施例中的方法在输出数据窗口之后,还包括:计算数据采样中心,停止对目标数据进行采样。

在一些实施例中,上述实施例中的根据接收数据的状态,确定数据窗口的窗口边界,输出数据窗口包括:顺序对各步进的亚稳态属性进行分析,如果当前步进输出的亚稳态属性与前一个步进输出的亚稳态属性不一致,则找到了一条数据窗口的边界,边界位置以当前步进位置为准;确定至少两个边界、最多三个边界;根据至少两个边界、最多三个边界确定数据窗口的窗口边界,输出得到数据窗口。在实际应用中,可以将边界进行进一步的区分,其中,由亚稳态属性为亚稳态的步进与亚稳态属性为正常的步进组成的边界为数据窗口的开始边界,由亚稳态属性为正常的步进与亚稳态属性为亚稳态的步进组成的边界为数据窗口的结束边界,可以将相邻的开始边界与结束边界之间的窗口作为数据窗口。

第二实施例:

图3为本发明第二实施例提供的数据窗口查询电路的结构示意图,由图3可知,在本实施例中,本发明提供的数据窗口查询电路包括:

采样电路31,用于将来自低压差分信号接口的串行接收数据转换为并行数据,得到目标数据,基于当前输入输出延迟单元的步进,对目标数据进行采样,得到当前步进对接收数据的采样结果;

判断电路32,用于根据当前步进的采样结果,以及预设的亚稳态判断参数,判断并输出当前步进的亚稳态属性、状态有效标识及步进位置信息,亚稳态属性包括正常及亚稳态;步进位置自加一,并输出至输入输出延迟单元;

确定电路33,用于根据接收数据的状态,确定数据窗口的窗口边界,输出数据窗口。

在一些实施例中,上述实施例中的采样电路31用于对目标数据中的恢复时钟进行采样,得到恢复时钟的字段,作为采样结果。

在一些实施例中,上述实施例中的采样电路31在确定数据窗口之后,还用于在数据窗口内进行采样,触发判断电路32判断采样结果是否正确,若不正确,则触发确定电路33重新确定数据窗口。

在一些实施例中,上述实施例中的确定电路33还用于在确定数据窗口的之后,计算数据采样中心,停止对目标数据进行采样。

在一些实施例中,上述实施例中的确定电路33用于顺序对各步进的亚稳态属性进行分析,如果当前步进输出的亚稳态属性与前一个步进输出的亚稳态属性不一致,则找到了一条数据窗口的边界,边界位置以当前步进位置为准;确定至少两个边界、最多三个边界;根据至少两个边界、最多三个边界确定数据窗口的窗口边界,输出得到数据窗口。

对应的,本发明提供了一种可编程逻辑器件,其设置有本发明提供的数据窗口查询电路以及LVDS接口。

第三实施例:

现结合具体应用场景对本发明做进一步的诠释说明。

目前所有的FPGA都具有IODELAY单元,其功能是调节在IO上流通的数据的延迟。调节方法可以通过设置固定参数进行固定值的延迟,或者通过FPGA内部逻辑进行动态调节数据延迟。

针对调节PLL相位而产生的调节精度低的不足,并且为了避免PLL抖动而带来的采样偏差,本实施例地引入一种通过动态调节IODELAY来查询数据窗口的方法。此方法是以采样时钟为参照物,通过调节数据相对采样时钟的相位来改变采样点。这种方法的调节范围是128个step,每个step的时间宽度是25ps。若数据以700Mbps的速率以及DDR方式的传输,通过动态调节IODELAY的方法遍历一位数据,需要调节56次step。显而易见,这大大提高了调节精度,使数据窗口更加精细,采样点也更加丰富。

本实施例使用动态调节IODELAY的方法来实现LVDS接口的数据窗口查询,由FPGA内部逻辑实时产生IODELAY的delay参数,动态控制IODELAY单元对LVDS接口的接收数据进行延迟调节;通过接收数据的状态找出数据窗口边界;由不同的边界情况计算出数据的采样中心并重新向IODELAY单元发送delay参数;实时监控接收数据的状态,如果接收数据异常则重复上述的数据窗口查询操作。

由图7可知,本实施例提高了LVDS接口的数据窗口查询的调节精度,丰富了采样点,大大降低了采到数据亚稳态的概率,优化了数据窗口的查询。

在LVDS的实际应用中,通常是恢复时钟与多路数据同时收发,并且数据实时变化。为了方便实现数据窗口查询,本实施例只查询恢复时钟的数据窗口,并且认为恢复时钟的数据窗口即是各路数据的窗口(基于硬件上的对称性)。本实施例把恢复时钟的那路数据称为pattern,pattern的组成是“1111000”。

LVDS接口的数据窗口查询电路的内部实现如图4所示,以Verilog HDL硬件描述语言实现,其包括:

rx_ctrl模块41,其工作时序图如图5所示,判断在当前step采到的pattern是正确的还是处于亚稳态的;具体方法是,经过多次对比前后采到的pattern,如果不一致则判断在当前step采到的pattern为亚稳态;如果一致但不是连续的4个1和3个0则判断为亚稳态;如果一致并且是连续的4个1和3个0则判断为稳态。step从0开始遍历,每判断完一个step,输出亚稳态信息和step位置信息等,然后再判断下一个step。如果收到sample_ctrl模块发来的boundary_end有效信号,则停止training,输出修正后的step;training结束后开始对采样到的pattern进行监测,如果采到的pattern出现错误则重新做training。

sample_ctrl模块42,其工作时序图如图6所示,对rx_ctrl模块发来的每一个step对应的数据采样状态信息进行比对,找出至多3个边界。当找到完整的数据窗口后无需遍历完128个step即停止模块工作,计算得出数据采样中心并重新调整IODELAY单元的delay参数,返回给rx_ctrl模块。

idelay_ctrl模块43,输出IODELAY单元所需的3位控制信号。

本实施例通过以上设计,细化了查询数据窗口的精度,使稳定的采样点丰富起来,采样中心相对于数据窗口两边的裕量更大,大大降低了采到亚稳态数据的概率,因而优化了LVDS接口的数据窗口查询方法。查询数据窗口过程中,无需遍历所有step,根据逻辑找到完整的数据窗口即可停止查询,进入监控状态,省略了不必要的操作。

综上可知,通过本发明的实施,至少存在以下有益效果:

本发明提供了一种数据窗口查询电路,通过动态调节输入输出延迟单元IODELAY的延迟参数,对LVDS接口的接收数据进行延迟调节,通过接收数据的状态找出数据窗口边界,实现了以采样时钟为参照物,通过调节数据相对采样时钟的相位来改变采样点,提高了调节精度,使数据窗口更加精细,采样点也更加丰富。

以上仅是本发明的具体实施方式而已,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施方式所做的任意简单修改、等同变化、结合或修饰,均仍属于本发明技术方案的保护范围。

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