波形同步输出方法及装置与流程

文档序号:21280740发布日期:2020-06-26 23:35阅读:528来源:国知局
波形同步输出方法及装置与流程

本发明涉及计算机技术领域,特别涉及波形同步输出方法及装置。



背景技术:

随着科技的发展,各种芯片得到了广泛的应用,应用于计算机、云端、物联网、多媒体等各个领域,随着这些领域对性能的要求不断增加,da芯片由于其高采样率得到了广泛的使用。

目前,为了满足da芯片最高1ghz的采样率,由于fpga采用250mhz的内部的数据处理时钟,因此需要使用4个ddsip核,通过4:1转换的并行口serdes实现数据的并串转换。

然而,这种方式由于每个ddsip核的输出有效数据的时间不同,因此4路ddsip核有时无法同时有效工作,从而导致后端波形输出不同步。



技术实现要素:

本发明实施例提供了波形同步输出方法及装置,能够同步输出波形。

第一方面,本发明实施例提供了波形同步输出方法,包括:

根据相位累加器以及目标波形数据输出频率计算出相位增量,其中,所述相位累加器用于设置波形输出的位置;

根据所述相位增量计算出基本相位偏移参数;

根据所述基本相位偏移参数计算出每个ddsip核的初始相位,其中,4:1转换的串行器serdes连接现场可编程逻辑门阵列fpga和数模转换da芯片,在所述fpga中设置4个直接数字合成器ddsip核,4个所述ddsip核通过所述serdes连接所述da芯片;

根据每个所述初始相位增量和所述相位增量计算出每个所述ddsip核的输出相位,并控制每个所述ddsip核将所述输出相位输出给所述da芯片,以使所述da芯片通过所述相位累加器使示波器输出所述目标波形数据。

优选地,

所述根据相位累加器以及目标波形数据输出频率计算出相位增量,包括:根据所述相位累加器的精度位数和所述目标波形的输出频率的4倍计算出所述相位增量。

优选地,

所述根据所述相位增量计算出基本相位偏移参数,包括:将所述相位增量除以4,计算出所述基本相位偏移参数。

优选地,

所述根据所述基本相位偏移参数计算出每个所述ddsip核的初始相位,包括:通过如下第一公式,分别计算出每个所述ddsip核的初始相位:

所述第一公式包括:

phase_offset_0=phase_inc*0;

phase_offset_1=phase_inc*1;

phase_offset_2=phase_inc*2;

phase_offset_3=phase_inc*3;

其中,所述phase_inc用于表征所述基本相位偏移参数,所述phase_offset_0用于表征四个所述ddsip核中的第一ddsip核的初始相位,所述phase_offset_1用于表征第二ddsip核的初始相位,所述phase_offset_2用于表征第三ddsip核的初始相位,所述phase_offset_3用于表征第四ddsip核的初始相位。

优选地,

所述根据每个所述初始相位增量和所述相位增量计算出每个所述ddsip核的输出相位,包括:

根据每个所述ddsip核的初始相位和所述相位增量,通过如下第二公式计算出所述输出相位;

phase_out=phase_inc_int+phase_offset;

其中,所述phase_out用于表征所述输出相位,所述phase_inc_int用于表征所述相位增量,所述phase_offset用于表征当前计算的ddsip核的初始相位。

优选地,

在所述4个所述ddsip核通过所述serdes连接所述da芯片前,还包括:

每个所述ddsip核上连接有先入先出fifo模块,以使所述fifo模块控制每个所述ddsip核同时输出所述输出相位。

第二方面,本发明实施例提供了波形同步输出装置,包括:

计算单元和控制单元;

所述计算单元,用于根据相位累加器以及目标波形数据输出频率计算出相位增量,其中,所述相位累加器用于设置波形输出的位置;

根据所述相位增量计算出基本相位偏移参数;

根据所述基本相位偏移参数计算出每个ddsip核的初始相位,其中,4:1转换的串行器serdes连接现场可编程逻辑门阵列fpga和数模转换da芯片,在所述fpga中设置4个直接数字合成器ddsip核,4个所述ddsip核通过所述serdes连接所述da芯片;

所述控制单元,用于根据每个所述初始相位增量和所述相位增量计算出输出相位并控制每个所述ddsip核将所述输出相位输出给所述da芯片,以使所述da芯片通过所述相位累加器使示波器输出所述目标波形数据。

优选地,

所述计算单元在执行所述根据相位累加器以及目标波形数据输出频率计算出相位增量时,具体执行:根据所述相位累加器的精度位数和所述目标波形的输出频率的4倍计算出所述相位增量。

优选地,

所述计算单元在执行所述根据所述相位增量计算出基本相位偏移参数时,具体执行:将所述相位增量除以4,计算出所述基本相位偏移参数。

优选地,

所述计算单元在执行所述根据所述基本相位偏移参数计算出每个所述ddsip核的初始相位时,具体执行:通过如下第一公式,分别计算出每个所述ddsip核的初始相位:

所述第一公式包括:

phase_offset_0=phase_inc*0;

phase_offset_1=phase_inc*1;

phase_offset_2=phase_inc*2;

phase_offset_3=phase_inc*3;

其中,所述phase_inc用于表征所述基本相位偏移参数,所述phase_offset_0用于表征四个所述ddsip核中的第一ddsip核的初始相位,所述phase_offset_1用于表征第二ddsip核的初始相位,所述phase_offset_2用于表征第三ddsip核的初始相位,所述phase_offset_3用于表征第四ddsip核的初始相位。

优选地,

所述计算单元,在执行所述根据每个所述初始相位增量和所述相位增量计算出每个所述ddsip核的输出相位时,具体执行:根据每个所述ddsip核的初始相位和所述相位增量,通过如下第二公式计算出所述输出相位;

phase_out=phase_inc_int+phase_offset;

其中,所述phase_out用于表征所述输出相位,所述phase_inc_int用于表征所述相位增量,所述phase_offset用于表征当前计算的ddsip核的初始相位。

优选地,

还包括:4个fifo模块;

所述4个fifo模块,分别于与每个所述ddsip核连接;

所述fifo模块,用于控制每个所述ddsip核同时输出所述输出相位。

本发明实施例提供了波形同步输出方法及装置,波形同步输出方法包括:根据相位累加器以及目标波形数据输出频率计算出相位增量,根据相位增量计算基本相位偏移参数,根据基本相位偏移参数计算每个ddsip核的初始相位,再用初始相位和相位增量分别算出每个ddsip核的输出相位,将输出相位输出给da芯片,da芯片通过相位累加器使示波器输出正确的目标波形数据。本发明通过设置4个ddsip核并分开计算每一个ddsip核的位置,使4个ddsip核能够同时处于有效工作时间,能够准确地输出目标波形,实现4个ddsip核同步输出波形。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一实施例提供的波形同步输出方法的流程图;

图2是本发明一实施例提供的波形同步输出装置的示意图;

图3是本发明一实施例提供的本发明实施例的一种实施方法的流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明实施例提供了波形同步输出方法,该方法可以包括以下步骤:

步骤101:根据相位累加器以及目标波形数据输出频率计算出相位增量,其中,相位累加器用于设置波形输出的位置;

步骤102:根据相位增量计算出基本相位偏移参数;

步骤103:根据基本相位偏移参数计算出每个ddsip核的初始相位,其中,4:1转换的串行器serdes连接现场可编程逻辑门阵列fpga和数模转换da芯片,在fpga中设置4个直接数字合成器ddsip核,ddsip核通过所述serdes连接所述da芯片;

步骤104:根据每个初始相位增量和相位增量计算出每个ddsip核的输出相位,并控制每个ddsip核将输出相位输出给da芯片,da芯片通过所述相位累加器使示波器输出目标波形数据。

本发明实施例提供了波形同步输出方法及装置,包括:根据相位累加器以及目标波形数据输出频率计算出相位增量,根据相位增量计算基本相位偏移参数,根据基本相位偏移参数计算每个ddsip核的初始相位,再用初始相位和相位增量分别算出每个ddsip核的输出相位,将输出相位输出给da芯片,da芯片通过相位累加器使示波器输出正确的目标波形数据。本发明通过设置4个ddsip核并分开计算每一个ddsip核的位置,使4个ddsip核能够同时处于有效工作时间,能够准确地输出目标波形,实现4个ddsip核同步输出波形。

具体来说,da芯片的数据位宽是16位,采样率为1ghz,fpga内部的数据处理时钟采用250mhz,为了满足da芯片的采样率,fpga就要用4:1的并串转换serdes,因此,fpga一个时钟周期内要发送64位数据,一个ddsip核的输出位宽为3-26位,为了满足64位宽的要求,所以选用4个16位的ddsip核,4个16位的输出并在一起就成为了64位。第一ddsip核输出0-15位数据,第二ddsip核输出16-31位数据,第三ddsip核输出32-47位,第四ddsip核输出48-63位。由于是4个ddsip核满足4:1转换的关系,因此这4个ip核需要的初始相位不同,如果不通过计算并进行调整就会出现波形输出不同步的情况。本发明通过计算每个ddsip核的初始相位及对应的输出相位,使4个ddsip核能够同步输出数据,从而输出正确的波形。

在本发明一实施例中,步骤101中根据根据相位累加器以及目标波形数据输出频率计算出相位增量,包括:根据相位累加器的精度位数和目标波形的输出频率的4倍计算出相位增量。

具体来说,比如目标波形数据为4mhz,相位累加器采用32位精度,乘以4后算得相位增量为32'h04189374。

在本发明一实施例中,步骤102中根据相位增量计算出基本相位偏移参数,包括:将相位增量除以4,计算出基本相位偏移参数。

具体来说,相位增量为32'h04189374,除以4后得到基本相位偏移参数为32'h010624dd。

在本发明一实施例中,步骤103中根据基本相位偏移参数计算出每个所述ddsip核的初始相位,包括:通过如下第一公式,分别计算出每个ddsip核的初始相位,

第一公式包括:

phase_offset_0=phase_inc*0;

phase_offset_1=phase_inc*1;

phase_offset_2=phase_inc*2;

phase_offset_3=phase_inc*3;

其中,phase_inc用于表征基本相位偏移参数,phase_offset_0用于表征四个ddsip核中的第一ddsip核的初始相位,phase_offset_1用于表征第二ddsip核的初始相位,phase_offset_2用于表征第三ddsip核的初始相位,phase_offset_3用于表征第四ddsip核的初始相位。

具体来说,将上述实施例中计算出的相位增量、基本相位偏移参数带入。

得到:

phase_inc_int=32'h04189374;

phase_inc=32'h010624dd;

phase_offset_0=phase_inc*0=32'h0;

phase_offset_1=phase_inc*1=32'h010624dd;

phase_offset_2=phase_inc*2=32'h020c49ba;

phase_offset_3=phase_inc*3=32'h03126e97;

在本发明实施例中,步骤104中根据每个初始相位增量和相位增量计算出每个ddsip核的输出相位,包括:

根据每个ddsip核的初始相位和相位增量,通过如下第二公式计算出输出相位;

phase_out=phase_inc_int+phase_offset;

其中,phase_out用于表征输出相位,phase_inc_int用于表征相位增量,phase_offset用于表征当前计算的ddsip核的初始相位。

具体来说,将上一实施例中计算出的每个ddsip核的初始相位分别代入上述第二公式,得到4个ddsip核的输出相位,送到da芯片后即可输出正确目标波形。

在本发明一实施例中,ddsip核上连接有先入先出fifo模块,以使所述fifo模块控制每个ddsip核同时输出所述输出相位。

具体来说,通过上述实施例中的方法能够保证同步输出波形,为了进一步增加发明的可靠性,加入了fifo模块,利用fifo模块的空满信号来确定什么时候从fifo中读取数据送到后端da芯片。

举例来说,比如,如果4路ddsip核有一路输出的数据比另外三路晚几个时钟周期,这是其他三路打入fifo数据后fifo标志是非空的,但是晚有效数据的fifo的非空标志是标的空状态,这时候后端的da控制模块不会读取数据,只有所有的4路fifo非空标志都是非空时,后端da控制模块读取数据。

如图2所示,本发明一实施例提供了波形同步输出装置,包括:

计算单元201和控制单元202;

计算单元201根据相位累加器以及目标波形数据输出频率计算出相位增量,其中,相位累加器用于设置波形输出的位置;

根据相位增量计算出基本相位偏移参数;

根据基本相位偏移参数计算出每个ddsip核的初始相位,其中,4:1转换的串行器serdes连接现场可编程逻辑门阵列fpga和数模转换da芯片,在fpga中设置4个直接数字合成器ddsip核,4个ddsip核通过serdes连接da芯片;

控制单元202据每个初始相位增量和相位增量计算出输出相位并控制每个ddsip核将输出相位输出给da芯片,以使da芯片通过相位累加器使示波器输出目标波形数据。

在本发明一实施例中,计算单元101在执行根据相位累加器以及目标波形数据输出频率计算出相位增量时,具体执行:根据相位累加器的精度位数和目标波形的输出频率的4倍计算出相位增量。

在本发明一实施例中,计算单元101在执行根据相位增量计算出基本相位偏移参数时,具体执行:将相位增量除以4,计算出基本相位偏移参数。

在本发明一实施例中,

计算单元101在执行根据基本相位偏移参数计算出每个ddsip核的初始相位时,具体执行:通过如下第一公式,分别计算出每个ddsip核的初始相位:

第一公式包括:

phase_offset_0=phase_inc*0;

phase_offset_1=phase_inc*1;

phase_offset_2=phase_inc*2;

phase_offset_3=phase_inc*3;

其中,phase_inc用于表征基本相位偏移参数,phase_offset_0用于表征四个ddsip核中的第一ddsip核的初始相位,phase_offset_1用于表征第二ddsip核的初始相位,phase_offset_2用于表征第三ddsip核的初始相位,phase_offset_3用于表征第四ddsip核的初始相位。

在本发明一实施例中,计算单元101,在执行根据每个初始相位增量和相位增量计算出每个ddsip核的输出相位时,具体执行:根据每个ddsip核的初始相位和相位增量,通过如下第二公式计算出输出相位;

phase_out=phase_inc_int+phase_offset;

其中,phase_out用于表征输出相位,phase_inc_int用于表征相位增量,phase_offset用于表征当前计算的ddsip核的初始相位。

在本发明一实施例中,波形同步输出装置还包括:4个fifo模块;

4个fifo模块,分别于与每个ddsip核连接;

fifo模块,用于控制每个ddsip核同时输出输出相位。

上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

如图3所示,本发明实施例的一种实施方法包括以下步骤:

步骤301:将板卡电源和后端示波器连接好,通过开关设置为内部dds工作模式;

步骤302:将板卡上电,通过上位机控制界面配置期望输出的波形频率,如希望输出4mhz;

步骤303:拨动工作开关按键后,在后端示波器显示出一个期望频率的正弦波形。

本发明各个实施例至少具有如下有益效果:

1、在本发明一实施例中,根据相位累加器以及目标波形数据输出频率计算出相位增量,根据相位增量计算基本相位偏移参数,根据基本相位偏移参数计算每个ddsip核的初始相位,再用初始相位和相位增量分别算出每个ddsip核的输出相位,将输出相位输出给da芯片,da芯片通过相位累加器使示波器输出正确的目标波形数据。本发明通过设置4个ddsip核并分开计算每一个ddsip核的位置,使4个ddsip核能够同时处于有效工作时间,能够准确地输出目标波形,实现4个ddsip核同步输出波形。

2、在本发明实施例中,通过在fpga中设置4个ddsip核,能够满足da芯片的高采样率,使其适用于计算机领域、云终端、物联网终端、多媒体终端、汽车电子终端等需要ddsip核的产生经过高采样率da芯片的应用场景中,提高了发明的可用性。

3、在本发明实施例中,每个ddsip核上连接有先入先出fifo模块,以使fifo模块控制每个ddsip核同时输出输出相位,进一步提高了发明的可靠性。

本发明还提供了一种计算机可读介质,存储用于使一计算机执行如本文所述的波形同步输出方法的指令。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。

在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。

用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd+rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。

此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。

此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的cpu等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。

需要说明的是,上述各流程和各系统结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。

以上各实施例中,硬件单元可以通过机械方式或电气方式实现。例如,一个硬件单元可以包括永久性专用的电路或逻辑(如专门的处理器,fpga或asic)来完成相应操作。硬件单元还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。

上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。

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