数据的输出方法及装置与流程

文档序号:16774349发布日期:2019-02-01 18:37阅读:233来源:国知局
数据的输出方法及装置与流程

本发明涉及数据处理领域,具体而言,涉及一种数据的输出方法及装置。



背景技术:

由于serdes(serializer-deserializer)不传送时钟信号,接收端为了正确的恢复模拟信号传送的数据信息而集成了cdr(clockdatarecovery)电路,cdr可以从数据的边沿信息中提取时钟,进而找到最优的采样边界。但是模拟的cdr不能做到宽频锁定,也就是说一旦要求模拟工作在较高频率时,它就很难对低频的数据流进行高质量的数据恢复。对于一个serdes的接收器如何能做到同时精确恢复高频和低频模拟信号成为了一个亟待解决的问题。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种数据的输出方法及装置,以至少解决相关技术中serdes的接收器恢复数据的效率较低的问题。

根据本发明的一个实施例,提供了一种数据的输出方法,包括:接收待恢复的数据流;在所述数据流的频率低于或者等于目标频率的情况下,对接收到的所述数据流进行过采样,得到过采样数据;对所述过采样数据进行边沿检测,得到边沿检测结果,其中,所述边沿检测结果用于指示所述数据流中的边沿数据位;根据所述边沿检测结果确定所述数据流的目标数据,其中,所述目标数据为所述数据流的发送端发送的数据;在所述数据流的频率高于目标频率的情况下,对接收到的所述数据流进行采样,得到采样数据;将所述采样数据确定为目标数据,其中,所述目标数据为所述数据流的发送端发送的数据;对所述目标数据进行对齐输出。

可选地,对接收到的所述数据流进行过采样,得到所述过采样数据包括:获取所述数据流的输入频率;将所述输入频率的n倍的目标频率确定为所述数据流对应的过采样频率,其中,n为大于2的正整数;采用所述过采样频率的时钟对所述数据流进行采样,得到所述过采样数据。

可选地,对所述过采样数据进行边沿检测,得到所述边沿检测结果包括:将所述过采样数据中连续的n个数据划分为一个相位块,其中,每个所述相位块中包括n个相位的数据;对所述过采样数据中每个相邻相位的数据进行异或运算,得到异或数据;确定每个所述相位块中对应相位上的所述异或数据的和,得到具有对应关系的相位与相位和;将所述相位和中最大的数值所对应的相位确定为所述数据流的边界数据位。

可选地,根据所述边沿检测结果确定所述数据流的目标数据包括:根据所述边界数据位确定所述数据流中的目标数据位;将所述目标数据流中位于所述目标数据位的数据确定为所述目标数据。

可选地,根据所述边界数据位确定所述数据流中的目标数据位包括:根据所述边界数据位和n确定移位值,其中,所述移位值用于指示所述目标数据位相对于所述边界数据位所偏移的相位数;根据所述移位值确定所述目标数据位。

可选地,根据所述边沿检测结果确定所述数据流的目标数据包括:对所述边沿检测结果进行误码判断;在判断出所述边沿检测结果存在误码的情况下,对所述边沿检测结果进行纠正,得到纠正结果;根据所述纠正结果确定所述数据流的上述目标数据;在判断出所述边沿检测结果不存在误码的情况下,根据所述边沿检测结果确定所述数据流的目标数据。

根据本发明的另一个实施例,提供了一种数据的输出装置,包括:接收模块,用于接收待恢复的数据流;第一确定模块,用于在所述数据流的频率低于或者等于目标频率的情况下,对接收到的所述数据流进行过采样,得到过采样数据;对所述过采样数据进行边沿检测,得到边沿检测结果,其中,所述边沿检测结果用于指示所述数据流中的边沿数据位;根据所述边沿检测结果确定所述数据流的目标数据,其中,所述目标数据为所述数据流的发送端发送的数据;第二确定模块,用于在所述数据流的频率高于目标频率的情况下,对接收到的所述数据流进行采样,得到采样数据;将所述采样数据确定为目标数据,其中,所述目标数据为所述数据流的发送端发送的数据;输出模块,用于对所述目标数据进行对齐输出。

可选地,所述第一确定模块包括:获取单元,用于获取所述数据流的输入频率;第一确定单元,用于将所述输入频率的n倍的目标频率确定为所述数据流对应的过采样频率,其中,n为大于2的正整数;采样单元,用于采用所述过采样频率的时钟对所述数据流进行采样,得到所述过采样数据。

根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

通过本发明,通过如果接收到的数据流是低频数据流,则采用过采样的方式对接收到的低频数据流进行采样,再对采样到的过采样数据进行边沿检测,检测出该数据流中的边沿数据位,根据边沿检测的结果确定目标数据,如果该数据流是高频数据流,则直接对其进行采样,将采样数据确定为目标数据,从而将发送端发送的数据恢复出来并进行对其输出,能够使得数据的恢复过程既适用于高频数据又适用于低频数据,即使工作在较高频率时,也能够对低频的数据流进行高质量的数据恢复,serdes的接收器能够做到同时精确恢复高频和低频模拟信号。因此,可以解决相关技术中serdes的接收器恢复数据的效率较低问题,达到了提高serdes的接收器恢复数据的效率的效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明实施例的一种数据的输出方法的移动终端的硬件结构框图;

图2是根据本发明实施例的数据的输出方法的流程图;

图3是根据本发明实施例的数据的输出装置的结构框图一;

图4是根据本发明实施例的数据的输出装置的结构框图二;

图5是根据本发明实施例的数据的输出装置的结构框图三;

图6是根据本发明实施例的数据的输出装置的结构框图四;

图7是根据本发明实施例的数据的输出装置的结构框图五。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

实施例1

本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种数据的输出方法的移动终端的硬件结构框图。如图1所示,移动终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的数据的输出方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(networkinterfacecontroller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radiofrequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。

在本实施例中提供了一种数据的输出方法,图2是根据本发明实施例的数据的输出方法的流程图,如图2所示,该流程包括如下步骤:

步骤s202,接收待恢复的数据流;

步骤s204,在数据流的频率低于或者等于目标频率的情况下,对接收到的所述数据流进行过采样,得到过采样数据;对过采样数据进行边沿检测,得到边沿检测结果,其中,边沿检测结果用于指示数据流中的边沿数据位;根据边沿检测结果确定数据流的目标数据,其中,目标数据为数据流的发送端发送的数据;

步骤s206,在数据流的频率高于目标频率的情况下,对接收到的所述数据流进行采样,得到采样数据;将采样数据确定为目标数据,其中,目标数据为数据流的发送端发送的数据;

步骤s208,对目标数据进行对齐输出。

可选地,上述数据的输出方法可以但不限于应用于serdes数据传输的接收端,serdes数据的接收器将接收到的数据发送给控制器,由控制器对接收到的数据进行恢复。该控制器可以但不限于作为一个功能模块嵌入在接收器中,或者也可以是独立与接收器连接的设备。

可选地,在本实施例中,过采样的频率可以但不限有为接收到的数据流的频率的整数倍。例如:3倍、5倍、7倍等等。

可选地,在本实施例中,如果接收到的数据流为高频数据流,则可以直接将采样数据作为恢复出的数据进行输出。

可选地,在本实施例中,过采样过程的时钟可以但不限于由压控振荡(voltagecontrolledoscillator,简称为vco)电路来产生。

通过上述步骤,通过如果接收到的数据流是低频数据流,则采用过采样的方式对接收到的低频数据流进行采样,再对采样到的过采样数据进行边沿检测,检测出该数据流中的边沿数据位,根据边沿检测的结果确定目标数据,如果该数据流是高频数据流,则直接对其进行采样,将采样数据确定为目标数据,从而将发送端发送的数据恢复出来并进行对其输出,能够使得数据的恢复过程既适用于高频数据又适用于低频数据,即使工作在较高频率时,也能够对低频的数据流进行高质量的数据恢复,serdes的接收器能够做到同时精确恢复高频和低频模拟信号。因此,可以解决相关技术中serdes的接收器恢复数据的效率较低问题,达到了提高serdes的接收器恢复数据的效率的效果。

可选地,可以根据接收到的数据流的频率确定过采样时钟的频率。例如:在上述步骤s204中,获取数据流的输入频率;将输入频率的n倍的目标频率确定为数据流对应的过采样频率,其中,n为大于2的正整数;采用过采样频率的时钟对数据流进行采样,得到过采样数据。

可选地,可以对接收到的数据流划分相位块进行存储,每个相位块作为一个窗口进行运算来确定数据流中的边沿数据位,每个相位块可以但不限于包括预定数量的数据,比如:150bit,200bit等等。例如:在上述步骤s204中,将过采样数据中连续的n个数据划分为一个相位块,其中,每个相位块中包括n个相位的数据;对过采样数据中每个相邻相位的数据进行异或运算,得到异或数据;确定每个相位块中对应相位上的异或数据的和,得到具有对应关系的相位与相位和;将相位和中最大的数值所对应的相位确定为数据流的边界数据位。

可选地,在上述步骤s204中,可以根据边界数据位确定数据流中的目标数据位;将目标数据流中位于目标数据位的数据确定为目标数据。

可选地,在本实施例中,可以通过以下方式确定数据流中的目标数据位:根据边界数据位和n确定移位值,其中,移位值用于指示目标数据位相对于边界数据位所偏移的相位数;根据移位值确定目标数据位。

例如:可以对一个窗口(比如150bit,200bit等)的nbit数据位流进行边沿检测,对检测出的边界相位编号加上过采样倍数x除以2加1的相位值作为有效数据位输出。

可选地,在边沿检测后,可以对边沿检测结果进行误码判断,根据误码判断的结果对边沿检测的结果进行相应处理,以提高数据恢复的准确性。例如:在上述步骤s204中,对边沿检测结果进行误码判断;在判断出边沿检测结果存在误码的情况下,对边沿检测结果进行纠正,得到纠正结果;根据纠正结果确定数据流的上述目标数据;在判断出边沿检测结果不存在误码的情况下,根据边沿检测结果确定数据流的目标数据。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

在本实施例中还提供了一种数据的输出装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图3是根据本发明实施例的数据的输出装置的结构框图一,如图3所示,该装置包括:

接收模块32,用于接收待恢复的数据流;

第一确定模块34,用于在数据流的频率低于或者等于目标频率的情况下,对接收到的数据流进行过采样,得到过采样数据;对过采样数据进行边沿检测,得到边沿检测结果,其中,边沿检测结果用于指示数据流中的边沿数据位;根据边沿检测结果确定数据流的目标数据,其中,目标数据为数据流的发送端发送的数据;

第二确定模块36,用于在数据流的频率高于目标频率的情况下,对接收到的数据流进行采样,得到采样数据;将采样数据确定为目标数据,其中,目标数据为数据流的发送端发送的数据;

输出模块38,用于对目标数据进行对齐输出。

可选地,上述数据的输出装置可以但不限于应用于serdes数据传输的接收端,serdes数据的接收器将接收到的数据发送给控制器,由控制器对接收到的数据进行恢复。该控制器可以但不限于作为一个功能模块嵌入在接收器中,或者也可以是独立与接收器连接的设备。

可选地,在本实施例中,过采样的频率可以但不限有为接收到的数据流的频率的整数倍。例如:3倍、5倍、7倍等等。

可选地,在本实施例中,如果接收到的数据流为高频数据流,则可以直接将采样数据作为恢复出的数据进行输出。

可选地,在本实施例中,过采样过程的时钟可以但不限于由压控振荡(voltagecontrolledoscillator,简称为vco)电路来产生。

通过上述装置,通过如果接收到的数据流是低频数据流,则采用过采样的方式对接收到的低频数据流进行采样,再对采样到的过采样数据进行边沿检测,检测出该数据流中的边沿数据位,根据边沿检测的结果确定目标数据,如果该数据流是高频数据流,则直接对其进行采样,将采样数据确定为目标数据,从而将发送端发送的数据恢复出来并进行对其输出,能够使得数据的恢复过程既适用于高频数据又适用于低频数据,即使工作在较高频率时,也能够对低频的数据流进行高质量的数据恢复,serdes的接收器能够做到同时精确恢复高频和低频模拟信号。因此,可以解决相关技术中serdes的接收器恢复数据的效率较低问题,达到了提高serdes的接收器恢复数据的效率的效果。

图4是根据本发明实施例的数据的输出装置的结构框图二,如图4所示,可选地,第一确定模块34包括:

接收单元42,用于接收数据流并获取数据流的输入频率;

第一确定单元44,用于将输入频率的n倍的目标频率确定为数据流对应的过采样频率,其中,n为大于2的正整数;

采样单元46,用于采用过采样频率的时钟对数据流进行采样,得到过采样数据。

可选地,可以根据接收到的数据流的频率确定过采样时钟的频率。

图5是根据本发明实施例的数据的输出装置的结构框图三,如图5所示,可选地,第一确定模块34包括:

划分单元52,用于将过采样数据中连续的n个数据划分为一个相位块,其中,每个相位块中包括n个相位的数据;

运算单元54,用于对过采样数据中每个相邻相位的数据进行异或运算,得到异或数据;

第二确定单元56,用于确定每个相位块中对应相位上的异或数据的和,得到具有对应关系的相位与相位和;

第三确定单元58,用于将相位和中最大的数值所对应的相位确定为数据流的边界数据位。

可选地,可以对接收到的数据流划分相位块进行存储,每个相位块作为一个窗口进行运算来确定数据流中的边沿数据位,每个相位块可以但不限于包括预定数量的数据,比如:150bit,200bit等等。

图6是根据本发明实施例的数据的输出装置的结构框图四,如图6所示,可选地,第一确定模块34包括:

第四确定单元62,用于根据边界数据位确定数据流中的目标数据位;

第五确定单元64,用于将目标数据流中位于目标数据位的数据确定为目标数据。

可选地,第四确定单元包括:第一确定子单元,用于根据边界数据位和n确定移位值,其中,移位值用于指示目标数据位相对于边界数据位所偏移的相位数;第二确定子单元,用于根据移位值确定目标数据位。

例如:可以对一个窗口(比如150bit,200bit等)的nbit数据位流进行边沿检测,对检测出的边界相位编号加上过采样倍数x除以2加1的相位值作为有效数据位输出。

图7是根据本发明实施例的数据的输出装置的结构框图五,如图7所示,可选地,第一确定模块34包括:

判断单元72,用于对边沿检测结果进行误码判断;

第一处理单元74,用于在判断出边沿检测结果存在误码的情况下,对边沿检测结果进行纠正,得到纠正结果;根据纠正结果确定数据流的上述目标数据;

第二处理单元76,用于在判断出边沿检测结果不存在误码的情况下,根据边沿检测结果确定数据流的目标数据。

可选地,在边沿检测后,可以对边沿检测结果进行误码判断,根据误码判断的结果对边沿检测的结果进行相应处理,以提高数据恢复的准确性。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

下面结合本发明可选实施例进行详细说明。

通常cdr(clockdatarecovery)采用反馈电路使用接收端时钟对输入数据的位流进行边沿检测、对齐进而实现数据的恢复。对于serdes数据传输,即可能传输高带宽即高频数据流,也有传输低带宽的数据流需求,对于接收端的vco电路很难同时做到高频和低频数据的宽频锁定。本发明可选实施例提供了一种数据的传输方法,在cdr系统中,该方法通过高频的本地时钟对数据位流进行过采样,然后通过数字算法逻辑对过采样的数据进行精确捡取操作,以恢复serdes实际传输的数据流。可以有效的避免cdr的vco实现低频锁定引入抖动造成的数据接收的误码率。

可选地,在本实施例中,上述流程包括如下步骤:

步骤1,vco产生高于模拟信号输入频率x(如3倍,5倍,7倍等)倍的时钟进行数据位流的过采样;

步骤2,过采样的数据进行分相位(phase)块存储;

步骤3,对一个窗口(比如150bit,200bit等)的nbit数据位流进行边沿检测;

步骤4,对检测出的边界phase编号加上过采样倍数x除以2加1的phase作为有效数据位输出;

步骤5,在窗口切换的边界进行加一个phase和减一个phase的误码判断;

步骤6,通过弹性fifo对选出的数据位流进行对齐输出。

本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

s1,接收待恢复的数据流;

s2,在数据流的频率低于或者等于目标频率的情况下,对接收到的所述数据流进行过采样,得到过采样数据;对过采样数据进行边沿检测,得到边沿检测结果,其中,边沿检测结果用于指示数据流中的边沿数据位;根据边沿检测结果确定数据流的目标数据,其中,目标数据为数据流的发送端发送的数据;

s3,在数据流的频率高于目标频率的情况下,对接收到的所述数据流进行采样,得到采样数据;将采样数据确定为目标数据,其中,目标数据为数据流的发送端发送的数据;

s4,对目标数据进行对齐输出。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

s1,接收待恢复的数据流;

s2,在数据流的频率低于或者等于目标频率的情况下,对接收到的所述数据流进行过采样,得到过采样数据;对过采样数据进行边沿检测,得到边沿检测结果,其中,边沿检测结果用于指示数据流中的边沿数据位;根据边沿检测结果确定数据流的目标数据,其中,目标数据为数据流的发送端发送的数据;

s3,在数据流的频率高于目标频率的情况下,对接收到的所述数据流进行采样,得到采样数据;将采样数据确定为目标数据,其中,目标数据为数据流的发送端发送的数据;

s4,对目标数据进行对齐输出。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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