CN109358819B - 一种基于Iodelay固件的AD采样自校准系统和方法 - Google Patents
一种基于Iodelay固件的AD采样自校准系统和方法 Download PDFInfo
- Publication number
- CN109358819B CN109358819B CN201811434898.8A CN201811434898A CN109358819B CN 109358819 B CN109358819 B CN 109358819B CN 201811434898 A CN201811434898 A CN 201811434898A CN 109358819 B CN109358819 B CN 109358819B
- Authority
- CN
- China
- Prior art keywords
- delay parameter
- self
- module
- data
- calibration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000005070 sampling Methods 0.000 title claims abstract description 33
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims abstract description 6
- 230000003111 delayed effect Effects 0.000 claims description 63
- 238000003708 edge detection Methods 0.000 claims description 25
- 238000004364 calculation method Methods 0.000 claims description 11
- 230000001934 delay Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 9
- 201000004569 Blindness Diseases 0.000 abstract description 4
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 4
- 101100063435 Caenorhabditis elegans din-1 gene Proteins 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Electric Clocks (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明涉及一种基于Iodelay固件的AD采样自校准系统和方法,属于数字信号处理技术领域。该系统包括差分转单端模块、时钟复位信号产生模块、Iodelay固件模块、延时参数自校准模块及Inserdes模块;同时公开了与此系统属于同一技术构思的方法。本发明解决了现有技术对数据和时钟的相位进行调整通过手动的方法来设置Iodelay的延时参数,需要不断的尝试才能找到最佳延时值,带有一定的盲目性导致耗时耗力且效果不好的问题。
Description
技术领域
本发明涉及数字信号处理技术领域,尤其涉及一种基于Iodelay固件的AD采样自校准系统和方法。
背景技术
随着数字信号处理技术的不断发展以及FPGA可编程器件工艺技术的提升,FPGA与AD之间的速率也越来越高。目前绝大部分AD输出的是并行数据,FPGA根据AD提供的采样时钟来采样数据。由于高频率的采样时钟和数据在传输过程中会出现相位抖动,最终会导致FPGA端采样到错误的数据。目前解决这一问题的方法是在FPGA端采用Iodelay模块对采样时钟和数据的相位进行微调,使采样时钟恰好位于数据中间,这样就能保证采样的数据是正确的了。但由于受器件温度、电压波动等因素的影响,每次上电之后AD输出的采样时钟和数据的相位都不是固定的,因此需要在FPGA端对数据和采样时钟的相位进行手动调节。
现有技术对数据和时钟的相位进行调整是通过手动的方法来设置Iodelay的延时参数,获取最佳延时参数的方法为调整Iodelay的延时参数值,然后观察采样后的数据波形。若采样后的数据波形较差(有毛刺)则继续调整Iodelay的延时参数值,直到采样后的波形较好为止。这是一个反复的过程,需要不断的尝试才能找到最佳延时值。这种方法带有一定的盲目性,需要很长时间才能找到最佳延时参数,不仅耗时耗力,而且最终的效果也不一定好。
发明内容
鉴于上述的分析,本发明旨在提供一种基于Iodelay的AD采样自校准系统和方法,解决了现有技术对数据和时钟的相位进行调整通过手动的方法来设置Iodelay的延时参数,需要不断的尝试才能找到最佳延时值,带有一定的盲目性导致耗时耗力且效果不好的问题。
本发明的目的主要是通过以下技术方案实现的:
一方面,一种基于Iodelay固件的AD采样自校准系统包括差分转单端模块,用于将AD输出的差分数据转换成单端串行数据,以及用于将AD输出的差分时钟转换成单端时钟;时钟复位信号产生模块,用于根据所述单端时钟产生时钟复位信号同时送入Iodelay固件模块、延时参数自校准模块和Inserdes模块;Iodelay固件模块,用于对所述单端串行数据进行延时处理得到延时后的串行数据;延时参数自校准模块,用于根据所述延时后的串行数据计算出最佳延时参数,并根据所述最佳延时参数对所述Iodelay固件模块进行延时参数校准;Inserdes模块,用于将所述延时后的串行数据转换成并行数据后对外输出。
进一步,所述延时参数自校准模块包括数据边沿检测模块、自校准状态机、延时参数设置模块;所述数据边沿检测模块,用于检测所述延时后的串行数据的边沿以确定输入数据的变化;所述自校准状态机,用于根据所述延时后的串行数据计算出最佳延时参数;所述延时参数设置模块,用于将所述最佳延时参数加载至所述Iodelay固件模块。
进一步,所述自校准状态机计算得到所述最佳延时参数包括:当所述数据边沿检测模块检测到输入的所述延时后的串行数据的边沿发生第一次变化时,所述自校准状态机保存第一延时参数;当所述数据边沿检测模块检测到输入的所述延时后的串行数据的边沿发生第二次变化时,所述自校准状态机保存第二延时参数;所述自校准状态机根据所述第一延时参数和第二延时参数计算得到最佳延时参数。
进一步,系统上电后复位释放前,所述自校准状态机处于空闲状态;复位释放后,所述自校准状态机处于初始化状态使得延时参数的初始值为0;所述自校准状态机跳转至第一调整状态,所述延时参数进行自加操作,当所述数据边沿检测模块检测到输入的所述延时后的串行数据的第一个边沿时,所述自校准状态机跳转至第一记录状态同时所述延时参数停止进行自加操作,并将当前所述延时参数记为第一延时参数保存到第一寄存器中;所述自校准状态机跳转至第二调整状态,所述延时参数继续进行自加操作,当所述数据边沿检测模块检测到输入的所述延时后的串行数据的第二个边沿时,所述自校准状态机跳转至第二记录状态同时所述延时参数停止进行自加操作,并将当前所述延时参数记为第二延时参数保存到第二寄存器中;所述自校准状态机跳转至计算参数状态,根据所述第一寄存器中保存的第一延时参数和所述第二寄存器中保存的第二延时参数计算均值得到所述最佳延时参数;所述自校准状态机跳转至设置参数状态,使得所述延时参数设置模块将所述最佳延时参数加载至所述Iodelay固件模块进行延时参数校准。
进一步,差分转单端模块包括差分时钟转单端模块和差分数据转单端模块;其中,AD输出1对差分时钟线连接1个所述差分时钟转单端模块,AD输出N对差分数据线对应连接N个所述差分数据转单端模块。
本技术方案有益效果如下:本发明公开了一种基于Iodelay固件的AD采样自校准系统包括差分转单端模块,用于将AD输出的差分数据转换成单端串行数据,以及用于将AD输出的差分时钟转换成单端时钟;时钟复位信号产生模块,用于根据所述单端时钟产生时钟复位信号同时送入Iodelay固件模块、延时参数自校准模块和Inserdes模块;Iodelay固件模块,用于对所述单端串行数据进行延时处理得到延时后的串行数据;延时参数自校准模块,用于根据所述延时后的串行数据计算出最佳延时参数,并根据所述最佳延时参数对所述Iodelay固件模块进行延时参数校准;Inserdes模块,用于将所述延时后的串行数据转换成并行数据后对外输出。本发明根据时钟和数据的相位关系采用自校准算法来获取Iodelay固件模块的最佳延时参数,然后通过Iodelay固件模块对输入数据进行延时校准,使输入时钟的采样点恰好位于待采数据中间位置,从而在最大程度上保证数据采集的正确性。本发明在系统上电后会自动对延时参数进行校准,相比于传统的手动调整的方法来说简单易行,省时省力,效果也较好。
另一方面,一种基于Iodelay的AD采样自校准方法包括以下步骤:将AD输出的差分数据转换成单端串行数据,同时AD输出的差分时钟转换成单端时钟,并由所述单端时钟产生时钟复位信号;Iodelay固件模块根据所述时钟复位信号对所述单端串行数据进行延时处理得到延时后的串行数据;根据所述延时后的串行数据及所述时钟复位信号计算出最佳延时参数,并根据所述最佳延时参数对所述Iodelay固件模块进行延时参数校准;将所述延时后的串行数据转化成并行数据后向外输出。
进一步,根据所述延时后的串行数据及所述时钟复位信号计算出最佳延时参数包括:根据所述时钟复位信号检测所述延时后的串行数据的边沿以确定输入数据的变化;根据输入的所述延时后的串行数据的边沿变化计算出最佳延时参数。
进一步,设置延时参数的初始值,并对所述延时参数进行自加操作:当检测到输入的所述延时后的串行数据的边沿发生第一次变化时,保存第一延时参数;当检测到输入的所述延时后的串行数据的边沿发生第二次变化时,保存第二延时参数;根据所述第一延时参数和所述第二延时参数计算得到最佳延时参数;根据所述最佳延时参数对所述Iodelay固件模块进行延时参数校准。
进一步,系统上电后复位释放前处于空闲状态,复位释放后处于初始化状态使得延时参数的初始值为0;所述初始化状态变换至第一调整状态,所述延时参数进行自加操作,当检测到输入的所述延时后的串行数据的第一个边沿时,变换至第一记录状态同时所述延时参数停止进行自加操作,并将当前的第一延时参数保存;所述第一记录状态变换至第二调整状态,所述延时参数继续进行自加操作,当检测到输入的所述延时后的串行数据的第二个边沿时,变换至第二记录状态同时所述延时参数停止进行自加操作,并将当前的第二延时参数保存;所述第二记录状态变换至计算参数状态,根据所述第一延时参数和所述第二延时参数计算均值得到所述最佳延时参数;所述计算参数状态变换至设置参数状态,所述最佳延时参数加载至所述Iodelay固件模块进行延时参数校准。
进一步,AD输出1对差分时钟和N对差分数据分别进行差分转单端。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分的从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为本发明实施例的一种基于Iodelay的AD采样自校准系统框图;
图2为本发明实施例的延时参数自校准模块的组成框图;
图3为本发明实施例的延时参数自校准模块的时序图;
图4为本发明实施例的延时参数自校准状态机流程图;
图5为本发明实施例的一种基于Iodelay的AD采样自校准方法流程图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
根据本发明的一个具体实施例,如图1所示,一种基于Iodelay固件的AD采样自校准系统包括差分转单端模块,用于将AD输出的差分数据转换成单端串行数据,以及用于将AD输出的差分时钟转换成单端时钟;时钟复位信号产生模块,用于根据所述单端时钟产生时钟复位信号同时送入Iodelay固件模块、延时参数自校准模块和Inserdes模块;Iodelay固件模块,用于对所述单端串行数据进行延时处理得到延时后的串行数据;延时参数自校准模块,用于根据所述延时后的串行数据计算出最佳延时参数,并根据所述最佳延时参数对所述Iodelay固件模块进行延时参数校准;Inserdes模块,用于将所述延时后的串行数据转换成并行数据后对外输出。
由图1所示可知,本发明实施例的基于Iodelay的AD采样自校准系统包括差分转单端模块、时钟复位信号产生模块、Iodelay固件模块、延时参数自校准模块及Inserdes模块。与现有技术相比,本发明能够根据时钟和数据的相位关系采用自校准算法来获取Iodelay模块的最佳延时参数,然后通过Iodelay模块对输入数据进行延时校准,使输入时钟的采样点恰好位于待采数据的中间位置,从而在最大程度上保证数据采集的正确性。
需要说明的是,实际应用中差分转单端模块、时钟复位信号产生模块、Iodelay固件模块、延时参数自校准模块及Inserdes模块集成到FPGA芯片。由于AD采样速率较高,因此需要利用FPGA内的串并转换模块Inserdes将AD的数据速率降下来。
图2为本发明的延时参数自校准模块的组成框图。
本发明的一个具体实施例,如图2所示,所述延时参数自校准模块包括数据边沿检测模块、自校准状态机、延时参数设置模块;所述数据边沿检测模块,用于检测所述延时后的串行数据的边沿以确定输入数据的变化;所述自校准状态机,用于根据所述延时后的串行数据计算出最佳延时参数;所述延时参数设置模块,用于将所述最佳延时参数加载至所述Iodelay固件模块。也就是说,图2所示的是延时参数自校准模块的内部组成,主要由数据边沿检测模块、自校准状态机、延时参数设置模块三部分组成。数据边沿检测模块主要是检测输入串行数据的边沿以确定数据发生了变化;自校准状态机主要是用来计算最佳延时参数,是本发明的算法核心;延时参数设置模块主要是用来将最佳延时参数加载至Iodelay固件模块中。
图3为本发明的延时参数自校准模块的时序图。
本发明的一个具体实施例,所述自校准状态机计算得到所述最佳延时参数包括:当所述数据边沿检测模块检测到输入的所述延时后的串行数据的边沿发生第一次变化时,所述自校准状态机保存第一延时参数;当所述数据边沿检测模块检测到输入的所述延时后的串行数据的边沿发生第二次变化时,所述自校准状态机保存第二延时参数;所述自校准状态机根据所述第一延时参数和第二延时参数计算得到最佳延时参数。
现有技术中获取最佳延时参数的方法为调整Iodelay的延时参数值,然后观察采样后的数据波形。若采样后的数据波形较差(有毛刺)则继续调整Iodelay的延时参数值,直到采样后的波形较好为止。这是一个反复的过程,需要不断的尝试才能找到最佳延时值。本发明针对这一问题提出了一种自动计算最佳延时参数的方法,即根据输入时钟和数据的相位关系采用自校准算法来获取Iodelay模块的最佳延时参数。本发明相比于现有的方法简单易行,省时省力,效果也较好。
需要说明的是,结合图3所示,初始时Iodelay模块的延时参数Delay_param=0,之后Delay_param进行自加操作。当输入数据由Din0变为Din1时,此时的延时参数Delay_param值为M。接下来继续增加Delay_param的值,当输入数据由Din1变为Din2,此时的延时参数Delay_param的值为N。之后将Delay_param的值设为(M+N)/2,则采样点恰好位于a点,该a点即处于输入数据Din1的中间位置。此时对输入数据进行采样,便能保证采样数据的正确性。
图4为本发明的延时参数自校准状态机流程图。
本发明的一个具体实施例,如图4所示,系统上电后复位释放前,所述自校准状态机处于空闲状态;复位释放后,所述自校准状态机处于初始化状态使得延时参数的初始值为0;所述自校准状态机跳转至第一调整状态,所述延时参数进行自加操作,当所述数据边沿检测模块检测到输入的所述延时后的串行数据的第一个边沿时,所述自校准状态机跳转至第一记录状态同时所述延时参数停止进行自加操作,并将当前所述延时参数记为第一延时参数保存到第一寄存器中;所述自校准状态机跳转至第二调整状态,所述延时参数继续进行自加操作,当所述数据边沿检测模块检测到输入的所述延时后的串行数据的第二个边沿时,所述自校准状态机跳转至第二记录状态同时所述延时参数停止进行自加操作,并将当前所述延时参数记为第二延时参数保存到第二寄存器中;所述自校准状态机跳转至计算参数状态,根据所述第一寄存器中保存的第一延时参数和所述第二寄存器中保存的第二延时参数计算均值得到所述最佳延时参数;所述自校准状态机跳转至设置参数状态,使得所述延时参数设置模块将所述最佳延时参数加载至所述Iodelay固件模块进行延时参数校准。与现有技术相比,本发明在系统上电后会通过自校准状态机的算法自动对延时参数进行校准,相比于传统的手动调整的方法来说简单易行,省时省力,效果也较好。
以下结合图4阐述延时参数自校准状态机的处理流程:系统上电以后复位释放之前,自校准状态机处于IDLE(空闲)状态。复位释放以后,自校准状态机进入PARAM_INIT(初始化)状态。此时将延时参数Delay_param初始化为0,之后状态机会跳转至PARAM_ADJUST1(第一调整)状态,该状态下延时参数Delay_param会进行自加操作。当数据边沿检测模块检测到输入数据的第一个边沿到来,此时状态机会跳转至PARAM_RECORD1(第一记录)状态同时Delay_param停止进行自加操作。在PARAM_RECORD1(第一记录)状态下,当前的Delay_param值会被保存到Param_rec1寄存器中。接下来状态机跳转至PARAM_ADJUST 2(第二调整)状态,该状态下延时参数Delay_param继续进行自加操作。当数据边沿检测模块检测到数据的第二个边沿到来,此时状态机会跳转至PARAM_RECORD2(第二记录)状态同时Delay_param停止进行自加操作。在PARAM_RECORD2(第二记录)状态下,当前的延时参数会被保存到Param_rec2寄存器中。之后状态机会跳转至CAL_NEW_PARAM(计算参数)状态,该状态会根据Param_rec1和Param_rec2寄存器中保留的延时参数,计算出最佳的延时参数Param_new=(Param_rec1+Param_rec2)/2。最后状态机会跳转至SET_NEW_PARAM(设置参数)状态,使得延时参数设置模块将计算出的最佳延时参数加载至Iodelay延时模块中。
本发明的一个具体实施例,差分转单端模块包括差分时钟转单端模块和差分数据转单端模块;其中,AD输出1对差分时钟线连接1个所述差分时钟转单端模块,AD输出N对差分数据线对应连接N个所述差分数据转单端模块。参见图1所示,系统的组成框图中,AD输出1对差分时钟线及N对差分数据线到FPGA中的差分转单端模块。差分数据经过差分转单端模块变成单端数据信号,然后送入Iodelay固件模块进行延时处理,延时参数自校准模块会根据校准算法设置最佳的延时参数给Iodelay模块。
图5为本发明的一种基于Iodelay的AD采样自校准方法流程图。
根据本发明的一个具体实施例,如图5所示,公开了一种基于Iodelay的AD采样自校准方法,该方法包括以下步骤:
S501,将AD输出的差分数据转换成单端串行数据,同时AD输出的差分时钟转换成单端时钟,并由所述单端时钟产生时钟复位信号;
S502,Iodelay固件模块根据所述时钟复位信号对所述单端串行数据进行延时处理得到延时后的串行数据;
S503,根据所述延时后的串行数据及所述时钟复位信号计算出最佳延时参数,并根据所述最佳延时参数对所述Iodelay固件模块进行延时参数校准;
S504,将所述延时后的串行数据转化成并行数据后向外输出。
现有技术对数据和时钟的相位进行调整是通过手动的方法来设置Iodelay的延时参数,这种方法带有一定的盲目性,需要很长时间才能找到最佳延时参数,不仅耗时耗力,而且最终的效果也不一定好。本发明与现有技术相比,根据输入时钟和数据的相位关系采用自校准算法来获取Iodelay固件模块的最佳延时参数,实现方法简单易行,省时省力,效果也较好。
本发明的一个具体实施例,根据所述延时后的串行数据及所述时钟复位信号计算出最佳延时参数包括:根据所述时钟复位信号检测所述延时后的串行数据的边沿以确定输入数据的变化;根据输入的所述延时后的串行数据的边沿变化计算出最佳延时参数。参见图2,本发明实施例实现了所述延时参数自校准模块中的自动计算最佳延时参数的方法,即根据时钟复位信号通过数据边沿检测模块检测输入的延时后的串行数据产生边沿触发信号,从而触发自校准状态机的状态跳转并计算出最佳延时参数。
本发明的一个具体实施例,设置延时参数的初始值,并对所述延时参数进行自加操作:当检测到输入的所述延时后的串行数据的边沿发生第一次变化时,保存第一延时参数;当检测到输入的所述延时后的串行数据的边沿发生第二次变化时,保存第二延时参数;根据所述第一延时参数和所述第二延时参数计算得到最佳延时参数;根据所述最佳延时参数对所述Iodelay固件模块进行延时参数校准。与现有技术对数据和时钟的相位进行调整是通过手动的方法来设置Iodelay的延时参数相比,本发明实施例的自校准算法过程实现了自动计算最佳延时参数。
本发明的一个具体实施例,结合图4所示,系统上电后复位释放前处于空闲状态,复位释放后处于初始化状态使得延时参数的初始值为0;所述初始化状态变换至第一调整状态,所述延时参数进行自加操作,当检测到输入的所述延时后的串行数据的第一个边沿时,变换至第一记录状态同时所述延时参数停止进行自加操作,并将当前的第一延时参数保存;所述第一记录状态变换至第二调整状态,所述延时参数继续进行自加操作,当检测到输入的所述延时后的串行数据的第二个边沿时,变换至第二记录状态同时所述延时参数停止进行自加操作,并将当前的第二延时参数保存;所述第二记录状态变换至计算参数状态,根据所述第一延时参数和所述第二延时参数计算均值得到所述最佳延时参数;所述计算参数状态变换至设置参数状态,所述最佳延时参数加载至所述Iodelay固件模块进行延时参数校准。也就是说,通过自校准状态机的状态跳转,即,空闲状态—>初始化状态—>第一调整状态—>第一记录状态—>第二调整状态—>第二记录状态—>计算参数状态—>设置参数状态,各状态下分别执行相应的判断和操作,具体说明如下:当边沿触发信号产生使得状态机跳转至初始化状态,该状态下设置延时参数Delay_param=0,之后状态机会跳转至PARAM_ADJUST1(第一调整)状态,该状态下延时参数Delay_param会进行自加操作。当数据边沿检测模块检测到输入数据的第一个边沿到来,此时状态机会跳转至PARAM_RECORD1(第一记录)状态同时Delay_param停止进行自加操作。在PARAM_RECORD1(第一记录)状态下,当前的Delay_param值会被保存到Param_rec1寄存器中。接下来状态机跳转至PARAM_ADJUST2(第二调整)状态,该状态下延时参数Delay_param继续进行自加操作。当数据边沿检测模块检测到数据的第二个边沿到来,此时状态机会跳转至PARAM_RECORD2(第二记录)状态同时Delay_param停止进行自加操作。在PARAM_RECORD2(第二记录)状态下,当前的延时参数会被保存到Param_rec2寄存器中。之后状态机会跳转至CAL_NEW_PARAM(计算参数)状态,该状态会根据Param_rec1和Param_rec2寄存器中保留的延时参数,计算出最佳的延时参数Param_new=(Param_rec1+Param_rec2)/2。最后状态机会跳转至SET_NEW_PARAM(设置参数)状态,使得所述延时参数设置模块将计算出的最佳延时参数加载至Iodelay延时模块中。
本发明的一个具体实施例,AD输出1对差分时钟和N对差分数据分别进行差分转单端。参见图1,本发明实施例的AD输出1对差分时钟线及N对差分数据线到FPGA中的差分转单端模块,为实现基于Iodelay固件模块的AD采样自校准方法提供了采用时钟和待采数据。
综上所述,本发明公开了一种基于Iodelay固件的AD采样自校准系统包括差分转单端模块,用于将AD输出的差分数据转换成单端串行数据,以及用于将AD输出的差分时钟转换成单端时钟;时钟复位信号产生模块,用于根据所述单端时钟产生时钟复位信号同时送入Iodelay固件模块、延时参数自校准模块和Inserdes模块;Iodelay固件模块,用于对所述单端串行数据进行延时处理得到延时后的串行数据;延时参数自校准模块,用于根据所述延时后的串行数据计算出最佳延时参数,并根据所述最佳延时参数对所述Iodelay固件模块进行延时参数校准;Inserdes模块,用于将所述延时后的串行数据转换成并行数据后对外输出。同时公开了与本实施例构成同一技术构思的基于Iodelay固件的AD采样自校准方法。本发明技术方案根据时钟和数据的相位关系采用自校准算法来获取Iodelay固件模块的最佳延时参数,然后通过Iodelay固件模块对输入数据进行延时校准,使输入时钟的采样点恰好位于待采数据中间位置,从而在最大程度上保证数据采集的正确性。本发明在系统上电后会自动对延时参数进行校准,相比于传统的手动调整的方法来说简单易行,省时省力,效果也较好。
本领域技术人员可以理解,实现上述实施例中方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (4)
1.一种基于Iodelay固件的AD采样自校准系统,其特征在于,包括:差分转单端模块,用于将AD输出的差分数据转换成单端串行数据,以及用于将AD输出的差分时钟转换成单端时钟;
时钟复位信号产生模块,用于根据所述单端时钟产生时钟复位信号同时送入Iodelay固件模块、延时参数自校准模块和Inserdes模块;
Iodelay固件模块,用于根据所述时钟复位信号对所述单端串行数据进行延时处理得到延时后的串行数据;
延时参数自校准模块,用于根据所述延时后的串行数据及所述时钟复位信号计算出最佳延时参数,并根据所述最佳延时参数对所述Iodelay固件模块进行延时参数校准;所述延时参数自校准模块包括数据边沿检测模块、自校准状态机、延时参数设置模块;
所述数据边沿检测模块,用于检测所述延时后的串行数据的边沿以确定输入数据的变化;
所述自校准状态机,用于根据所述延时后的串行数据计算出最佳延时参数;所述自校准状态机计算得到所述最佳延时参数包括:
当所述数据边沿检测模块检测到输入的所述延时后的串行数据的边沿发生第一次变化时,所述自校准状态机保存第一延时参数;
当所述数据边沿检测模块检测到输入的所述延时后的串行数据的边沿发生第二次变化时,所述自校准状态机保存第二延时参数;
所述自校准状态机根据所述第一延时参数和第二延时参数计算得到最佳延时参数;
所述延时参数设置模块,用于将所述最佳延时参数加载至所述Iodelay固件模块;
Inserdes模块,用于将所述延时后的串行数据转换成并行数据后对外输出;
系统上电后复位释放前,所述自校准状态机处于空闲状态;
复位释放后,所述自校准状态机处于初始化状态使得延时参数的初始值为0;
所述自校准状态机跳转至第一调整状态,所述延时参数进行自加操作,当所述数据边沿检测模块检测到输入的所述延时后的串行数据的第一个边沿时,所述自校准状态机跳转至第一记录状态同时所述延时参数停止进行自加操作,并将当前所述延时参数记为第一延时参数保存到第一寄存器中;
所述自校准状态机跳转至第二调整状态,所述延时参数继续进行自加操作,当所述数据边沿检测模块检测到输入的所述延时后的串行数据的第二个边沿时,所述自校准状态机跳转至第二记录状态同时所述延时参数停止进行自加操作,并将当前所述延时参数记为第二延时参数保存到第二寄存器中;
所述自校准状态机跳转至计算参数状态,根据所述第一寄存器中保存的第一延时参数和所述第二寄存器中保存的第二延时参数计算均值得到所述最佳延时参数,使得采样点位于输入数据的中间位置;
所述自校准状态机跳转至设置参数状态,使得所述延时参数设置模块将所述最佳延时参数加载至所述Iodelay固件模块进行延时参数校准。
2.根据权利要求1所述的系统,其特征在于,差分转单端模块包括差分时钟转单端模块和差分数据转单端模块;其中,AD输出1对差分时钟线连接1个所述差分时钟转单端模块,AD输出N对差分数据线对应连接N个所述差分数据转单端模块。
3.一种基于Iodelay的AD采样自校准方法,其特征在于,包括以下步骤:
将AD输出的差分数据转换成单端串行数据,同时AD输出的差分时钟转换成单端时钟,并由所述单端时钟产生时钟复位信号;
Iodelay固件模块根据所述时钟复位信号对所述单端串行数据进行延时处理得到延时后的串行数据;
根据所述延时后的串行数据及所述时钟复位信号计算出最佳延时参数,包括:根据所述时钟复位信号检测所述延时后的串行数据的边沿以确定输入数据的变化;
根据输入的所述延时后的串行数据的边沿变化计算出最佳延时参数,包括:设置延时参数的初始值,并对所述延时参数进行自加操作:
当检测到输入的所述延时后的串行数据的边沿发生第一次变化时,保存第一延时参数;
当检测到输入的所述延时后的串行数据的边沿发生第二次变化时,保存第二延时参数;
根据所述第一延时参数和所述第二延时参数计算得到最佳延时参数;
并根据所述最佳延时参数对所述Iodelay固件模块进行延时参数校准;
将所述延时后的串行数据转化成并行数据后对外输出;
系统上电后复位释放前处于空闲状态,复位释放后处于初始化状态使得延时参数的初始值为0;
所述初始化状态变换至第一调整状态,所述延时参数进行自加操作,当检测到输入的所述延时后的串行数据的第一个边沿时,变换至第一记录状态同时所述延时参数停止进行自加操作,并将当前的第一延时参数保存;
所述第一记录状态变换至第二调整状态,所述延时参数继续进行自加操作,当检测到输入的所述延时后的串行数据的第二个边沿时,变换至第二记录状态同时所述延时参数停止进行自加操作,并将当前的第二延时参数保存;
所述第二记录状态变换至计算参数状态,根据所述第一延时参数和所述第二延时参数计算均值得到所述最佳延时参数,使得采样点位于输入数据的中间位置;
所述计算参数状态变换至设置参数状态,所述最佳延时参数加载至所述Iodelay固件模块进行延时参数校准。
4.根据权利要求3所述的方法,其特征在于,AD输出1对差分时钟和N对差分数据分别进行差分转单端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811434898.8A CN109358819B (zh) | 2018-11-28 | 2018-11-28 | 一种基于Iodelay固件的AD采样自校准系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811434898.8A CN109358819B (zh) | 2018-11-28 | 2018-11-28 | 一种基于Iodelay固件的AD采样自校准系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109358819A CN109358819A (zh) | 2019-02-19 |
CN109358819B true CN109358819B (zh) | 2024-02-20 |
Family
ID=65343491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811434898.8A Active CN109358819B (zh) | 2018-11-28 | 2018-11-28 | 一种基于Iodelay固件的AD采样自校准系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109358819B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112584031A (zh) * | 2019-09-27 | 2021-03-30 | 江苏北方湖光光电有限公司 | 一种非制冷红外机芯自适应相位校正与数据自动对齐系统 |
CN111371468B (zh) * | 2020-03-24 | 2021-07-23 | 上海格巍半导体有限公司 | 串行通信的信号发送电路、信号接收电路与电子设备 |
CN111431533B (zh) * | 2020-04-26 | 2023-06-16 | 杭州电子科技大学富阳电子信息研究院有限公司 | 一种高速lvds接口adc数据与时钟同步的方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN202551056U (zh) * | 2012-01-16 | 2012-11-21 | 西安奇维科技股份有限公司 | 一种在lvds接口通信中数据自动同步的装置 |
CN103036667A (zh) * | 2012-11-30 | 2013-04-10 | 北京控制工程研究所 | 一种高速串行通讯接口自适应时序校准方法 |
CN104363021A (zh) * | 2014-10-08 | 2015-02-18 | 南京大学 | 基于fpga精细延迟单元的时间数字转换方法及装置 |
CN104378114A (zh) * | 2014-10-23 | 2015-02-25 | 西安电子科技大学 | 一种实现多通道模数转换器同步的方法 |
CN106959934A (zh) * | 2017-02-21 | 2017-07-18 | 深圳市紫光同创电子有限公司 | 低电压差分信号接收接口及低电压差分信号接收方法 |
CN107077449A (zh) * | 2014-11-06 | 2017-08-18 | 赛灵思公司 | 从源同步接口接收的控制设备中的校准 |
CN206711081U (zh) * | 2017-04-07 | 2017-12-05 | 华中师范大学 | 一种基于同步技术的多通道高速串行数据采集系统 |
CN107863967A (zh) * | 2017-11-15 | 2018-03-30 | 中国电子科技集团公司第四十研究所 | 一种多通道同步输出校准装置及方法 |
-
2018
- 2018-11-28 CN CN201811434898.8A patent/CN109358819B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN202551056U (zh) * | 2012-01-16 | 2012-11-21 | 西安奇维科技股份有限公司 | 一种在lvds接口通信中数据自动同步的装置 |
CN103036667A (zh) * | 2012-11-30 | 2013-04-10 | 北京控制工程研究所 | 一种高速串行通讯接口自适应时序校准方法 |
CN104363021A (zh) * | 2014-10-08 | 2015-02-18 | 南京大学 | 基于fpga精细延迟单元的时间数字转换方法及装置 |
CN104378114A (zh) * | 2014-10-23 | 2015-02-25 | 西安电子科技大学 | 一种实现多通道模数转换器同步的方法 |
CN107077449A (zh) * | 2014-11-06 | 2017-08-18 | 赛灵思公司 | 从源同步接口接收的控制设备中的校准 |
CN106959934A (zh) * | 2017-02-21 | 2017-07-18 | 深圳市紫光同创电子有限公司 | 低电压差分信号接收接口及低电压差分信号接收方法 |
CN206711081U (zh) * | 2017-04-07 | 2017-12-05 | 华中师范大学 | 一种基于同步技术的多通道高速串行数据采集系统 |
CN107863967A (zh) * | 2017-11-15 | 2018-03-30 | 中国电子科技集团公司第四十研究所 | 一种多通道同步输出校准装置及方法 |
Non-Patent Citations (2)
Title |
---|
Implementing_Conjunction_Obfuscation_Under_Entropic_Ring_LWE;David Bruce Cousins;《2018 IEEE Symposium on Security and Privacy》;20180726;第354-371页 * |
基于IODELAY的高速ADC自动校准设计;蒲永材;曾熠;;信息通信;20180115(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109358819A (zh) | 2019-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109358819B (zh) | 一种基于Iodelay固件的AD采样自校准系统和方法 | |
CN109104204B (zh) | 用于混合定时恢复的装置、系统和方法 | |
US8644085B2 (en) | Duty cycle distortion correction | |
CN110321316B (zh) | 一种多通道同步数据采集自适应训练控制装置及方法 | |
CN111312307B (zh) | 存储器控制电路及校正方法 | |
JP5318870B2 (ja) | クロック・ジッタを測定する回路装置および方法 | |
US8918686B2 (en) | Determining data valid windows in a system and method for testing an integrated circuit device | |
US7884619B1 (en) | Method and apparatus for minimizing skew between signals | |
US8941423B2 (en) | Method for operating a circuit including a timing calibration function | |
TWI390227B (zh) | 用於探測受測裝置或受測鏈路的積體電路、方法和系統 | |
CN112802516B (zh) | Ddr sdram信号校准装置与方法 | |
US10797984B1 (en) | Systems and methods for timestamping a data event | |
KR100745855B1 (ko) | 지연 라인 캘리브레이션 회로 및 모듈레이터 디바이스 | |
TW201502537A (zh) | 時脈抖動及電源供應雜訊分析 | |
JP2013109637A (ja) | メモリインターフェース回路、および、そのメモリインターフェース回路の動作方法 | |
US20140372787A1 (en) | Methods for dynamically adaptive bit-leveling by sweep sampling with automatic jitter avoidance | |
US11178036B2 (en) | Systems and methods for measuring latency in a network device | |
US10680792B1 (en) | Systems and methods for timing a signal | |
US7984351B2 (en) | Data transfer device and method thereof | |
CN111034049B (zh) | 调节信号定时 | |
US11483007B1 (en) | Multiple clock domain alignment circuit | |
EP1359699A3 (en) | Eye diagram analyzer | |
CN109359010B (zh) | 获取存储模块内部传输延时的方法及系统 | |
TWI650989B (zh) | 自適應延時器及資料與時脈回復電路 | |
WO2021238838A1 (zh) | 时序单元的保持时间的测量方法和测量电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |