一种数字芯片接收ADC输出数据的方法及数字芯片与流程

文档序号:11146755阅读:501来源:国知局
一种数字芯片接收ADC输出数据的方法及数字芯片与制造工艺

本申请属于数据传输领域,具体涉及一种数字芯片接收ADC输出数据的方法及数字芯片。



背景技术:

计算机技术、通信技术和微电子技术的高速发展大大促进了ADC技术的发展,ADC的采样率作为一个关键的技术指标也变得越来越高。在进行现代电子设计时,数字芯片(FPGA/CPLD/ASIC)需要将来自ADC的高速输出数据接收并进行处理。目前市面上主流ADC的数据输出接口还是低电压差分信号LVDS(Low-Voltage Differential Signaling)接口,因此在进行ADC接口设计时,能否可靠的接收来自ADC的高速LVDS数据就变得非常的重要。

现有技术的方案如图1所示,数字芯片接收来自ADC的随路时钟Synclk(频率合成时钟),采用内部锁相环PLL对该时钟进行倍频(X2),从而产生采样接收时钟Iclk(FIclk=2*FSynclk)与处理时钟Gclk。数字芯片使用Iclk来接收ADC输出的高速LVDS数据,并将其转换到数字芯片处理时钟Gclk的时钟域上,其中数字芯片内部锁相环产生的采样接收时钟Iclk只有一个相位。

如图2所示,数字芯片内部的数据接收器对于接口上的位周期可以简单的划分为3部分:第一部分是时钟不确定度(clock uncertainty),该部分主要由ADC输出特性及ADC所在单板决定;第二部分是接收器边缘范围(RSKM),该部分主要由数字芯片决定;第三部分为采样窗口(Sample Window),在接收数据时,只有采样时钟沿位于数据的采样窗口范围之内时才能保证数据可靠的被数字芯片采集到。随着ADC采样速率越来越高,LVDS总线上传输的数据速率也越来越快,因而数字芯片(FPGA/CPLD/ASIC)能够接收到ADC输出的高速LVDS数据的窗口也变得越来越小。器件工艺的差别及外界环境的变化,将使得各种情况下(比如不同的芯片或者是不同的环境下)的采样窗口发生变化,使接收到的数据出现误码的几率越来越高,数据变得更加不可靠。



技术实现要素:

本申请提供一种数字芯片接收ADC输出数据的方法,以解决现有技术中数字芯片在接收来自ADC的输出数据时,会因为产品工艺、环境变化等原因导致接收到的数据出现误码而导致可靠性不高的问题,同时提供一种接收ADC输出数据的数字芯片。

根据第一方面,本申请提供了一种数字芯片接收ADC输出数据的方法实施例,该方法包括如下步骤:

数字芯片内预先存储N个相位系数,每一个相位系数对应一个相位;所述N个相位系数用于供数字芯片配置给数字芯片内的锁相环,以使得锁相环根据来自于ADC输出的随路时钟Synclk来产生的采样接收时钟Iclk的相位为被配给锁相环的相位系数对应的相位,其中N为大于1的整数;

在接收由ADC输出的待采集数据之前,查找用于在当前环境下接收ADC数据的采样接收时钟Iclk的最佳相位,并把该最佳相位对应的相位系数配置给锁相环,以产生具有最佳相位的采样接收时钟Iclk;

根据所述具有最佳相位的采样接收时钟Iclk来接收ADC输出的待采集数据。

在一较优实施例中,所述N个相位系数分别对应N个等分的相位。在一较优实施例中,查找用于接收当前待采集数据的采样接收时钟Iclk的最佳相位,包括:

在接收由ADC输出的待采集数据之前,通知ADC发送测试数据并接收;

数字芯片从所述N个相位系数对应的最小相位开始,依次调整锁相环输出的采样接收时钟Iclk的相位,找出当前环境下能够正确接收ADC数据的采样接收时钟Iclk的所有相位,并根据这些相位选择出采样接收时钟Iclk的最佳相位。

在一较优实施例中,选择所述当前环境下能够正确接收ADC数据的采样接收时钟Iclk的所有相位中最中间的一个相位作为所述最佳相位。

在一较优实施例中,数字芯片从所述N个相位系数对应的最小相位开始,依次调整锁相环输出的采样接收时钟Iclk的相位,找出当前环境下能够正确接收ADC数据的采样接收时钟Iclk的所有相位,包括:

第一步:数字芯片将最小相位对应的相位系数配置给锁相环,以产生具有对应相位的采样接收时钟Iclk;

第二步:当锁相环的时钟锁定之后,检测接收到的ADC测试数据是否存在误码;

第三步:当检测结果为不存在误码时,则将当前配置给锁相环的相位系数对应的相位标记为当前环境下能够正确接收ADC数据的采样接收时钟Iclk的相位;

第四步:判断当前配置给锁相环的相位系数是否为最后一个相位系数,如果不是,则将下一个相位系数配置给锁相环,以产生具有对应相位的采样接收时钟Iclk,并重新从第二步开始往下进行;如果是,则关闭ADC测试数据。

根据第二方面,本申请提供了一种接收ADC输出数据的数字芯片实施例,包括:

锁相环,用于根据来自于ADC输出的随路时钟Synclk产生采样接收时钟Iclk;

存储模块,用于预先存储N个相位系数,每一个相位系数对应一个相位,其中N为大于1的整数;

锁相环配置模块,用于将所述N个相位系数配置给所述锁相环,以使得锁相环根据来自于ADC输出的随路时钟Synclk来产生的采样接收时钟Iclk的相位为被配给锁相环的相位系数对应的相位;

最佳相位确定模块,用于在数字芯片接收由ADC输出的待采集数据之前,查找用于在当前环境下接收ADC数据的采样接收时钟Iclk的最佳相位,并通知锁相环配置模块把该最佳相位对应的相位系数配置给锁相环,以产生具有最佳相位的采样接收时钟Iclk;

数据接收器,用于根据所述具有最佳相位的采样接收时钟Iclk来接收ADC输出的待采集数据。

在一较优实施例中,所述存储模块存储的N个相位系数分别对应N个等分的相位。

在一较优实施例中,所述最佳相位确定模块包括:

开始模块,在数据接收器接收由ADC输出的待采集数据之前,通知ADC发送测试数据以使得数据接收器接收测试数据;

查找模块,用于通知锁相环配置模块从所述N个相位系数对应的最小相位开始,依次将这N个相位系数配置给锁相环以依次输出具有对应相位的采样接收时钟Iclk,以找出当前环境下能够正确接收ADC数据的采样接收时钟Iclk的所有相位,并根据这些相位选择出采样接收时钟Iclk的最佳相位。

在一较优实施例中,所述查找模块包括选择模块,用于选择所述当前环境下能够正确接收ADC数据的采样接收时钟Iclk的所有相位中最中间的一个相位作为所述最佳相位。

在一较优实施例中,所述查找模块还包括:

通知模块,用于通知锁相环配置模块将最小相位对应的相位系数配置给锁相环,以产生具有对应相位的采样接收时钟Iclk;

误码检测模块,用于当锁相环的时钟锁定之后,检测数据接收器接收到的ADC测试数据是否存在误码;

标记模块,用于当误码检测模块的检测结果为不存在误码时,则将当前配置给锁相环的相位系数对应的相位标记为当前环境下能够正确接收ADC数据的采样接收时钟Iclk的相位;

判断模块,用于判断当前配置给锁相环的相位系数是否为最后一个相位系数,如果不是,则通知锁相环配置模块将下一个相位系数配置给锁相环,以产生具有对应相位的采样接收时钟Iclk,并通知误码检测模块继续工作;如果是,则关闭ADC测试数据。

有益效果:

由于本申请的数字芯片接收ADC输出数据的方法和系统,在使用ADC输出的LVDS随路时钟产生数据采样接收时钟时,将采样时钟划分为多个相位。在芯片启动或者用户需要时,查找当前环境下能够接收ADC数据的采样接收时钟Iclk的最佳相位,并把该最佳相位的相位系数配置给锁相环,以产生具有最佳相位的采样接收时钟Iclk;再利用具有最佳相位的采样接收时钟Iclk的最佳相位时钟来接收ADC的输出数据。

该方法是对数字芯片内部的锁相环部分进行优化,支持锁相环输出时钟相位动态重配功能,同时增加了数字芯片ADC接口的自测试过程,以计算出采样接收时钟Iclk的最佳相位,保证接收采样时钟沿尽可能靠近数据采样窗口的中间。

与现有技术相比,本发明在芯片启动或者用户需要时都会进行ADC发送测试数据,数字芯片调整采样接收时钟相位进行测试数据检测过程,找出在当前环境下能够正确接收ADC数据的所有相位,并计算出采样接收时钟Iclk的最佳相位,保证在任何情况下都能有效可靠的接收来自ADC的高速LVDS数据,尽量减少误码比例。

附图说明

图1为现有技术数字芯片接收ADC输出数据方法的结构原理图;

图2为数字芯片内部数据接收器的位周期划分示意图;

图3为本申请数字芯片接收ADC输出数据方法实施例的流程图;

图4为本申请锁相环输出时钟相位划分实施例的示意图;

图5为本申请查找用于接收当前待采集数据的采样接收时钟实施例的流程图;

图6为本申请找出当前环境下能够正确接收ADC数据的采样接收时钟的所有相位实施例的流程图;

图7为确定最佳相位并进行锁相环配置实施例的流程图;

图8为本申请接收ADC输出数据的数字芯片实施例的原理框图;

图9为本申请接收ADC输出数据的数字芯片中查找模块实施例的原理框图。

具体实施方式

下面通过具体实施方式结合附图对本申请作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了使得本申请能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本申请相关的一些操作并没有在说明书中显示或者描述,这是为了避免本申请的核心部分被过多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。

另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。

由于ADC输出到数字芯片的数据由多对LVDS信号组成,每对LVDS信号中采样窗口相对于随路时钟的边沿的延迟可能都不一样。因此调整采样时钟的延迟,使得对于每对LVDS数据来说,采样时钟沿位于采样窗口内(最好是采样窗口中间)是非常重要的。另外由于工艺的差异,每片ADC、数字芯片或者是每一块单板中数据的有效采样窗口可能都不一样,对于不同的对象(ADC/数字芯片/单板)可能需要调整的采样时钟的延迟是不一样的。

基于上述考虑,本申请对现有数字芯片的接收方法进行了改进,如图3所示提供了该方法实现结构的一种实施例,在该实施例中,数字芯片接收ADC输出数据的方法包括如下步骤:

步骤S31:数字芯片内预先存储N个相位系数,每一个相位系数对应一个相位;这N个相位系数用于供数字芯片配置给数字芯片内的锁相环,以使得锁相环根据来自于ADC输出的随路时钟Synclk来产生的采样接收时钟Iclk的相位为被配给锁相环的相位系数对应的相位,其中N为大于1的整数。

优选地,相位系数的生成过程为:数字芯片通过内部的锁相环将来自于ADC输出的随路时钟Synclk产生数据的采样接收时钟Iclk时,根据数字芯片内部的锁相环所支持的特性,将锁相环输出的采样接收时钟Iclk等分为N个相位,并按照锁相环工作原理生成这N个相位的相应系数,将上述相位系数存储在该数字芯片的存储模块中,这里的存储模块优选数字芯片内部的ROM,以供数字芯片配置给数字芯片内的锁相环。

如图4所示为本发明提供的一种锁相环输出时钟相位划分实施例的示意图由图可知,根据来自于ADC输出的随路时钟Synclk,数字芯片将锁相环输出的时钟Iclk等分为8个相位,相邻相位的间隔为45度,按照锁相环工作原理生成这8个相位的相应系数并存储在该数字芯片内部的ROM中。

步骤S32:当数字芯片启动或者用户需要时,在接收由ADC输出的待采集数据之前,查找用于在当前环境下接收ADC数据的采样接收时钟Iclk的最佳相位,并把该最佳相位对应的相位系数配置给锁相环,以产生具有最佳相位的采样接收时钟Iclk。

优选地,如图5所示,查找用于接收当前待采集数据的采样接收时钟Iclk的最佳相位,包括:

步骤S51:在接收由ADC输出的待采集数据之前,设置采样接收时钟Iclk的初始相位,通知ADC发送测试数据并接收;

步骤S52:数字芯片从预先存储在ROM中的N个相位系数对应的初始相位(一般为最小相位0)开始,依次调整锁相环输出的采样接收时钟Iclk的相位,找出当前环境下能够正确接收ADC数据的采样接收时钟Iclk的所有相位(包括相位个数及位置),并根据这些相位选择出采样接收时钟Iclk的最佳相位。

优选地,选择当前环境下能够正确接收ADC数据的采样接收时钟Iclk的所有相位中最中间的一个相位作为所述最佳相位。

优选地,如图6和图7所示,数字芯片从N个相位系数对应的最小相位开始,依次调整锁相环输出的采样接收时钟Iclk的相位,找出当前环境下能够正确接收ADC数据的采样接收时钟Iclk的所有相位过程如下:

第一步S61:数字芯片将最小相位对应的相位系数配置给锁相环,以产生具有对应相位的采样接收时钟Iclk;

第二步S62:当锁相环的时钟锁定之后,检测接收到的ADC测试数据是否存在误码;

第三步S63:当检测结果为不存在误码时,则将当前配置给锁相环的相位系数对应的相位标记为当前环境下能够正确接收ADC数据的采样接收时钟Iclk的相位;

第四步S64:判断当前配置给锁相环的相位系数是否为最后一个相位系数,如果不是,则将下一个相位系数配置给锁相环,以产生具有对应相位的采样接收时钟Iclk,并重新从第二步开始往下进行;如果是,则关闭ADC测试数据。

步骤S33:根据具有最佳相位的采样接收时钟Iclk来接收ADC输出的待采集数据,将其转换到数字芯片处理时钟Gclk时钟域上。

在另一个实施例中,如图8所示,本发明还提供了一种接收ADC输出数据的数字芯片,由图可知,该芯片包括:

锁相环82,用于根据来自于ADC输出的随路时钟Synclk产生采样接收时钟Iclk;

存储模块81,用于预先存储N个相位系数,每一个相位系数对应一个相位,其中N为大于1的整数;

锁相环配置模块83,用于将N个相位系数配置给锁相环,以使得锁相环根据来自于ADC输出的随路时钟Synclk来产生的采样接收时钟Iclk的相位为被配给锁相环的相位系数对应的相位;

最佳相位确定模块84,用于在数字芯片接收由ADC输出的待采集数据之前,查找用于在当前环境下接收ADC数据的采样接收时钟Iclk的最佳相位,并通知锁相环配置模块83把该最佳相位对应的相位系数从存储模块81读取出来配置给锁相环,以产生具有最佳相位的采样接收时钟Iclk;

数据接收器85,用于根据具有最佳相位的采样接收时钟Iclk来接收ADC输出的待采集数据。

在一个实施例中,存储模块81存储的N个相位系数分别对应N个等分的相位。

在另一个实施例中,最佳相位确定模块84包括:

开始模块,在数据接收器85接收由ADC输出的待采集数据之前,通知ADC发送测试数据以使得数据接收器85接收测试数据;

查找模块,用于通知锁相环配置模块83从N个相位系数对应的最小相位开始,依次将这N个相位系数从存储模块81读取出来配置给锁相环以依次输出具有对应相位的采样接收时钟Iclk,以找出当前环境下能够正确接收ADC数据的采样接收时钟Iclk的所有相位,并根据这些相位选择出采样接收时钟Iclk的最佳相位。

在另一个实施例中,查找模块包括选择模块,用于选择当前环境下能够正确接收ADC数据的采样接收时钟Iclk的所有相位中最中间的一个相位作为最佳相位。

在另一个实施例中,如图9所示,除了选择模块105以外,该查找模块还包括:

通知模块101,用于通知锁相环配置模块83将最小相位对应的相位系数配置给锁相环,以产生具有对应相位的采样接收时钟Iclk;

误码检测模块102,用于当锁相环的时钟锁定之后,检测通过数据接收器85接收到的ADC测试数据是否存在误码;

标记模块103,用于当误码检测模块102的检测结果为不存在误码时,则将当前配置给锁相环的相位系数对应的相位标记为当前环境下能够正确接收ADC数据的采样接收时钟Iclk的相位;

判断模块104,用于判断当前配置给锁相环的相位系数是否为最后一个相位系数,如果不是,则通知锁相环配置模块83将下一个相位系数配置给锁相环,以产生具有对应相位的采样接收时钟Iclk,并通知误码检测模块102继续工作;如果是,则关闭ADC测试数据。

本发明的数字芯片在使用ADC输出的LVDS随路时钟产生数据采样接收时钟时,将采样时钟划分为多个相位。在芯片启动或者用户需要时都会通知ADC发送测试数据,并且调整数字芯片内部锁相环输出的采样接收时钟的相位,找出在当前环境下能够正确接收ADC数据的所有相位的个数及位置,并根据这些相位选择出采样接收时钟Iclk的最佳相位。该方法是对数字芯片内部的锁相环部分进行优化,支持锁相环输出时钟相位动态重配功能,同时增加了数字芯片ADC接口的自测试过程,以计算出采样接收时钟Iclk的最佳相位,保证接收采样时钟沿尽可能靠近数据采样窗口的中间。

本申请中所涉及的功能既可通过上述实施例中描述的程序的方式实现,也可通过硬件的方式实现,例如通过门电路搭建成专用集成电路。本领域技术人员可以理解,上述实施方式中各种程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘或光盘等,数据处理模块可通过执行程序实现上述功能。

以上应用了具体个例对本申请进行阐述,只是用于帮助理解本申请,并不用以限制本申请。对于本申请所属技术领域的技术人员,依据本申请的思想,还可以做出若干简单推演、变形或替换。

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