一种基于fpga的dds任意波形信号发生器的制造方法

文档序号:7545315阅读:215来源:国知局
一种基于fpga的dds任意波形信号发生器的制造方法
【专利摘要】本发明公开了一种基于FPGA的DDS任意波形信号发生器,现有的信号发生器实现任意波形方式都是通过在线生成下载,这种方式额外增加了任意波形模块,在增加了成本同时也给用户带来不便。并且只是单纯的实现信号再现,无法对频谱做出很好的优化。本发明一种基于FPGA的DDS任意波形信号发生器,整个片上系统包括一个嵌入式锁相环、位宽为10的二选一数据选择器、位宽为8的四选一数据选择器、位宽为32位的第一累加器A、位宽为32位的第二累加器B、片上ROM_三角波、片上ROM_方波、片上ROM_正弦波、片上RAM_任意波、扰码发生器和NIOSII内核。本发明兼容性通用性强,控制操作简便,频谱优化。
【专利说明】—种基于FPGA的DDS任意波形信号发生器
【技术领域】
[0001]本发明属于数字电子【技术领域】,具体涉及一种基于FPGA的DDS任意波形信号发生器。
【背景技术】
[0002]目前市场上的数字信号发生器主要采用直接数字合成(DirectDigitalSynthesizer, DDS)技术,直接数字式频率合成技术(DDS)是一种先进的全数字频率合成技术,它具有多种数字式调制能力(如相位调制、频率调制、幅度调制以及I/Q正交调制等),与传统的频率合成器相比,DDS具有低成本、低功耗、高分辨率和快速转换时间等优点。
[0003]信号发生器在生产实践和科技领域中有着广泛的应用,利用数字方式能够很方便实现各种不同类型的波形,如矩形波(含方波)、正弦波及各种调制波等。信号发生器技术发展至今,引领技术潮流的仍是国外的几大仪器公司,国内信号发生器起步晚,现在已经渐渐跟上了国际的脚步,能够利用高新技术开发出达到国际水平的高性能多功能信号发生器是一个紧迫的课题。现有的信号发生器实现任意波形方式都是通过在线生成下载,这种方式额外增加了任意波形模块(下载接口),在增加了成本同时也给用户带来不便。并且只是单纯的实现信号再现,无法对频谱做出很好的优化。

【发明内容】

[0004]本发明的目的是针对现有信号发生器的不足而设计出的一种基于FPGA的DDS任意波形信号发生器。
[0005]本发明方案依托于SOPC系统开发技术采用Altera公司基于FPGA解决方案的SOC片上系统设计技术,即将嵌入式处理器、I/o 口、存储器以及各类功能模块集成到一个FPGA器件上,构成一个可编程的片上系统。SOPC设计包括以32位NIOS II软核处理器为核心的嵌入式系统的硬件配置、硬件设计、硬件仿真、软件设计、软件调试等。内嵌于FPGA的32位NIOS II处理器包含一套通用外设和接口库,可以灵活选择或增减可以自定制用户逻辑作为外设或接口设备。通过PC端的软件定制需要的波形,存储到U盘,由NIOS II处理器通过相应的I/O 口控制CH376芯片对U盘中的波形文件进行读取并将数据发送到片上RAM以实现任意波形,同时由矩阵键盘输入需要的频率,选择需要输出的波额类型(正弦波、三角波、方波、任意波)通过NIOS II处理器处理后将数据发送到DDS模块并在IXD1602上显示频率、输出的波的类型,DDS将输出位宽为32的数据其高10位被截取作为片上RAM/R0M的地址线,在时钟的驱动下输出相应的波形数据,经由D/A转换器和低通椭圆滤波器得到模拟信号,另外我们借助MATLAB/DSP Builder生成了扰码发生器模块与DDS模块相连实现频谱的优化。
[0006]本发明一种基于FPGA的DDS任意波形信号发生器,包括一个嵌入式锁相环、位宽为10的二选一数据选择器、位宽为8的四选一数据选择器、位宽为32位的第一累加器A、位宽为32位的第二累加器B、片上R0M_三角波、片上R0M_方波、片上R0M_正弦波、片上RAM_任意波、扰码发生器和NIOS II内核。
[0007]嵌入式锁相环具有5个端口,包括一个输入端CLK和四个输出端,四个输出端分别是CO、Cl、C2、C3,嵌入式锁相环的CLK直接锁定到片外时钟;嵌入式锁相环的输出端CO与Nios II内核的SYSTEM_CLK接口相连接,嵌入式锁相环的输出接口 Cl与FPGA上的D/A转换器时钟脚管脚相连接;嵌入式锁相环的输出端C2与FPGA上的CH376时钟脚管脚相连接;嵌入式锁相环的输出端C3分别与RAM_任意波的CLK接口、片上R0M_三角波的CLK接口、片上R0M_方波的CLK接口、片上R0M_正弦波的CLK接口、扰码发生器的CLK接口、第一累加器A的CLK接口、第二累加器B的CLK接口连接;
二选一数据选择器具有4个端口包括三个输入端和一个输出端口,三个输入端分别是 SEL 接口、DATA_0 [9:0]接口、DATA_1 [9:0]接口,一个输出端 OUTPUT [9:0]接口;SEL接口与NIOS II内核的RAM_RW接口连接;DATA_0[9:0]接口与第二累加器B的OUTPUT[31:0]高十位接口连接;DATA_1[9:0]接口与 NIOS II 内核的 RAM_ADDR[9:0]接口连接;OUTPUT [9:0]接口与RAM_任意波的ADDRESS [9:0]接口连接;
扰码发生器具有2个端口,为一个输入CLK接口和一个输出OUTPUT [21:0]接口,输出OUTPUT [21:0]接口与第一累加器A的DATA_B[31:0]的低22位接口连接。
[0008]第一累加器A具有4个端口,包括三个输入端和一个输出端,三个输入端分别是CLK 接口、DATA_A[31:0]接口、DATA_B[31:0]接口,一个输出端 OUTPUT[31:0]接口,DATA_A[31:0]接口与 NIOS II 内核的 DDS_ADDR[31:0]接口连接,OUTPUT[31:0]接口与第二累加器B的DATA_B[31:0]接口连接。
[0009]第二累加器B具有4个端口,包括三个输入端和一个输出端,三个输入端分别是 CLK 接口、DATA_A[31:0]接口、DATA_B [31:0]接口,一个输出端 OUTPUT [31:0]接口,OUTPUT[31:0]接口与第二累加器B的DATA_A[31:0]接口连接。
[0010]片上RAM_任意波具有五个端口,包括四个输入端和一个输出端,四个输入端分别是 CLK 接口、DATA[7:0]接口、ADDRESS [9:0]接口和 W/R 接口,一个输出端 OUTPUT [7:0]接口,DATA[7:0]接口与 NIOS II 内核的 RAM_DATA[7:0]接口连接;W/R接口与 NIOS II 内核的RAM_RW接口连接;OUTPUT [7:0]接口与四选一数据选择器的DATA_3[7:0]接口连接。
[0011]片上R0M_正弦波具有3个端口,包括两个输入端和一个输出端,两个输入端分别是 CLK 接口和 ADDRESS[9:0]接口,一个输出端为 OUTPUT[7:0]接口;ADDRESS[9:0]接口与第二累加器B的OUTPUT[31:0]高十位接口连接;0UTPUT[7:0]接口与的四选一数据选择器的DATA_0[7:0]接口连接。
[0012]片上R0M_三角波具有3个端口,包括两个输入端和一个输出端,两个输入端分别是 CLK 接口和 ADDRESS[9:0]接口,一个输出端为 OUTPUT[7:0]接口;ADDRESS[9:0]接口与第二累加器B的OUTPUT[31:0]高十位接口连接;0UTPUT[7:0]接口与四选一数据选择器的 DATA_2[7:0]接口 连接。
[0013]片上R0M_方波具有3个端口,包括两个输入端和一个输出端,两个输入端分别是CLK 接口和 ADDRESS[9:0]接口,一个输出端为 OUTPUT[7:0]接口 ;ADDRESS[9:0]接口与第二累加器B的OUTPUT[31:0]高十位接口连接;OUTPUT[7:0]接口与四选一数据选择器的 DATA_1[7:0]接口 连接。
[0014]四选一数据选择器具有6个端口包括五个输入端和一个输出端,五个输入端分别是 SEL[1:0]接口、DATA_0[7:0]接口、DATA_1 [7:0]接口、DATA_2[7:0]接口、DATA_3[7:0]接口,一个输出端为 0UTPUT[7:0]接口。SEL[1:O]接口与 NIOS II 内核的BoMux_Bus[l:0]接口连接;0UTPUT[7:0]接口直接锁定到FPGA的管脚。
[0015]NIOS II内核外围I/O接口包括EPCS控制器接口、SDRAM控制器接口、IXD显示屏接口、CH376S接口和RESET接口 ;所述的EPCS控制器接口包括EPCS_DATA0接口、EPCS_DCLK 接口、EPCS_SD0 接口和 EPCS_SCE 接口 ;SDRAM 控制器接口包括 SDRAM_ADDR[11:0]接口、SDRAM_BA[1:O]接口、SDRAM_CAS 接口、SDRAM_CKE 接口、SDRAM_CS 接口、SDRAM_DQ[15:0]接口、SDRAM_DQM[1:0]接口、SDRAM_RAS 接口和 SDRAM_WE 接口 ;LCD 显示屏接口包括 LCD_DB [7:0]接口、LCD_EN 接口、LCD_RS 接口和 LCD_RW 接口 ;CH376S 接口 包括 CH376_USB_INT接口、CH376_USB_A0 接口、CH376_USB_CS 接口、CH376_USB_DATA [7:0]接口、CH376_USB_RD接口和 CH376_USB_WR 接口。
[0016]本发明的有益效果:
1、兼容性通用性强:采用CH376芯片能够兼容市面上绝大多数的U盘,同时此芯片还能实现SD卡的读写,还可以作为信号发生器与上位机之间接口实现两者的通信。
[0017]2、方便控制操作简便^IAnios II处理器使得用户可以设定输出频率摆脱了以往DDS步进式调节的方式。
[0018]3、频谱优化:采用相位扰动技术优化频谱,在不增加RAM/R0M资源下得到较高质量的信号。
[0019]【专利附图】

【附图说明】:
图1为本发明片上系统连线图;
图2为嵌入式锁相环;
图3为位宽为10的二选一数据选择器;
图4 Ca)为累加器A ;
图4 (b)为累加器B ;
图5为扰码发生器;
图6为片上R0M_正弦波;
图7为片上R0M_方波;
图8为片上R0M_三角波;
图9为片上RAM_任意波;
图10为位宽8的四选一数据选择器;
图11为NIOS II内核及与其相关的外设I/O 口。
【具体实施方式】
[0020]如图1所不,本发明一种基于FPGA的DDS任意波形信号发生器,整个片上系统包括一个嵌入式锁相环、位宽为10的二选一数据选择器、位宽为8的四选一数据选择器、位宽为32位的第一累加器A、位宽为32位的第二累加器B、片上R0M_三角波、片上R0M_方波、片上R0M_正弦波、片上RAM_任意波、扰码发生器和NIOS II内核。
[0021] 如图2所示,嵌入式锁相环具有5个端口,包括一个输入端CLK和四个输出端,四个输出端分别是CO、Cl、C2、C3,嵌入式锁相环的CLK直接锁定到片外时钟;嵌入式锁相环的输出端CO与Nios II内核的SYSTEM_CLK接口相连接,嵌入式锁相环的输出接口 Cl与FPGA上的D/A转换器时钟脚管脚相连接;嵌入式锁相环的输出端C2与FPGA上的CH376时钟脚管脚相连接;嵌入式锁相环的输出端C3分别与RAM_任意波的CLK接口、片上R0M_三角波的CLK接口、片上R0M_方波的CLK接口、片上R0M_正弦波的CLK接口、扰码发生器的CLK接口、第一累加器A的CLK接口、第二累加器B的CLK接口连接;
如图3所示,二选一数据选择器具有4个端口包括三个输入端和一个输出端口,三个输入端分别是 SEL 接口、DATA_0[9:0]接口、DATA_1[9:0]接口,一个输出端 OUTPUT[9:0]接口;SEL接口与NIOS II内核的RAM_RW接口连接;DATA_0[9:0]接口与第二累加器B的OUTPUT[31:0]高十位接口连接;DATA_1[9:0]接口与 NIOS II 内核的 RAM_ADDR[9:0]接口连接;OUTPUT [9:0]接口与RAM_任意波的ADDRESS [9:0]接口连接;
如图5所示,扰码发生器具有2个端口,为一个输入CLK接口和一个输出OUTPUT[21:0]接口,输出OUTPUT[21:0]接口与累加器A的DATA_B[31:0]的低22位接口连接。
[0022]如图4(a)所示,第一累加器A具有4个端口,包括三个输入端和一个输出端,三个输入端分别是CLK接口、DATA_A[31:0]接口、DATA_B[31:0]接口,一个输出端OUTPUT[31:0]接口,DATA_A[31:0]接口与 NIOS II 内核的 DDS_ADDR[31:0]接口连接,OUTPUT[31:0]接口与第二累加器B的DATA_B[31:0]接口连接。
[0023]如图4(b)所示,第二累加器B具有4个端口,包括三个输入端和一个输出端,三个输入端分别是CLK接口、DATA_A[31:0]接口、DATA_B[31:0]接口,一个输出端OUTPUT[31:0]接口,OUTPUT[31:0]接口与第二累加器B的DATA_A[31:0]接口连接。
[0024]如图9所示,片上RAM_任意波具有五个端口,包括四个输入端和一个输出端,四个输入端分别是CLK接口、DATA[7:0]接口、ADDRESS[9:0]接口和W/R接口,一个输出端 OUTPUT[7:0]接口,DATA[7:0]接口与 NIOS II 内核的 RAM_DATA[7:0]接口 连接;W/R接口与NIOS II内核的RAM_RW接口连接;0UTPUT[7:0]接口与四选一数据选择器的DATA_3[7:0]接口 连接。
[0025]如图6所示,片上R0M_正弦波具有3个端口,包括两个输入端和一个输出端,两个输入端分别是CLK接口和ADDRESS[9:0]接口,一个输出端为OUTPUT[7:0]接口 ;ADDRESS [9:0]接口与第二累加器B的OUTPUT [31:0]高十位接口连接;OUTPUT [7:0]接口与的四选一数据选择器的DATA_0[7:0]接口连接。
[0026]如图8所示,片上R0M_三角波具有3个端口,包括两个输入端和一个输出端,两个输入端分别是CLK接口和ADDRESS [9:0]接口,一个输出端为0UTPUT[7:0]接口;ADDRESS [9:0]接口与第二累加器B的OUTPUT [31:0]高十位接口连接;OUTPUT [7:0]接口与四选一数据选择器的DATA_2[7:0]接口连接。
[0027]如图7所示,片上R0M_*波具有3个端口,包括两个输入端和一个输出端,两个输入端分别是CLK接口和ADDRESS[9:0]接口,一个输出端为OUTPUT [7:0]接口;ADDRESS[9:0]接口与第二累加器B的OUTPUT[31:0]高十位接口连接;OUTPUT[7:0]接口与四选一数据选择器的DATA_1[7:0]接口连接。
[0028]如图10所示,四选一数据选择器具有6个端口包括五个输入端和一个输出端,五个输入端分别是 SEL[1:0]接口、DATA_0[7:0]接口、DATA_1 [7:0]接口、DATA_2[7:0]接口、DATA_3[7:0]接口,一个输出端为 OUTPUT[7:0]接口。SEL[1:0]接口与 NIOS II 内核的BoMux_Bus[l:0]接口连接;0UTPUT[7:0]接口直接锁定到FPGA的管脚。
[0029]如图11所示,NIOS II内核外围I/O接口包括EPCS控制器接口、SDRAM控制器接口、LCD显示屏接口、CH376S接口和RESET接口 ;所述的EPCS控制器接口包括EPCS_DATA0接 口、EPCS_DCLK 接 口、EPCS_SD0 接口和 EPCS_SCE 接 口 ;SDRAM 控制器接 口包括 SDRAM_ADDR [ 11:0]接口、SDRAM_BA [ 1: O]接口、SDRAM_CAS 接 口、SDRAM_CKE 接 口、SDRAM_CS 接 口、SDRAM_DQ[15:0]接口、SDRAM_DQM[1:0]接口、SDRAM_RAS 接口和 SDRAM_WE 接口 ;LCD 显示屏接 口 包括 LCD_DB [7:0]接口、LCD_EN 接 口、LCD_RS 接口和 LCD_RW 接 口 ;CH376S 接口包括 CH376_USB_INT 接 口、CH376_USB_A0 接 口、CH376_USB_CS 接 口、CH376_USB_DATA[7:0]接口、CH376_USB_RD接口和CH376_USB_WR接口。(I)外部时钟源,采用的贴片有源晶振(20MHZ)用来为整个系统电路提供驱动源,包括FPGA内部电路和外部电路。(2)FLASH是用来存储FPGA配置信息,这里采用的型号为EPCS16SI8N。(3) SDRAM用来运行Nios II处理器的程序,这里采用具体型号是三星K4S641632H。(4) CH376芯片用来读取U盘文件,这里采用的型号是CH376S。(5)显示屏型号为IXD1602,用来显示相关设定参数。(6)D/A转换器型号为TDA8702,用来将数字信号转化为模拟信号。
[0030]该发明工作过程如下:PC端用户定制波形文件,本系统采用的是.mif文件并命取特定名称,将定制的文件拷贝到U盘。系统上电后会自动读取U盘中的文件,通过处理器(N10S II)控制自动将RAM_RW设定为高电平,即一直保持向片上RAM写入数据,RAM_Rff为高电平时SEL_21数据选择器会选择来自NIOS II内核的RAM_ADDR作为RAM_任意波的地址,此地址由程序处理来自波形文件里的数据得到,即保证了片上RAM中的地址与数据对应关系与波形文件中的一致;波形文件中全部被读取到片上RAM后,处理器(N10S II)将RAM_Rff设定为低电平,此时,二选一数据选择器会选择来自累加器B的OUTPUT高十位作为RAM_任意波的地址。按“设定/确定”键进入设定状态,依次进行如下步骤:按“波形选择”键设定输出波的类型(正弦波、方波、三角波、任意波),LCD会实时显示选择的类型,然后按“确定”键。接下来进入频率设定阶段:每键入一个数字LCD光标往下移一位,依次设定,然后对单位进行选择:按“单位选择键”(HZ、KHZ、MHZ)。按“设定/确定”键,处理器对上述操作进行处理,并根据处理结果对BoMux[l:0]和DDS_ADDR[31:0]赋予相应的值即可得到所需波以及对应的频率。
【权利要求】
1.一种基于FPGA的DDS任意波形信号发生器,包括一个嵌入式锁相环、位宽为10的二选一数据选择器、位宽为8的四选一数据选择器、位宽为32位的第一累加器A、位宽为32位的第二累加器B、片上ROM_三角波、片上ROM_方波、片上ROM_正弦波、片上狀11_任意波、扰码发生器和NIOS II内核; 其特征在于:嵌入式锁相环具有5个端口,包括一个输入端CLK和四个输出端,四个输出端分别是CO、Cl、C2、C3,嵌入式锁相环的CLK直接锁定到片外时钟;嵌入式锁相环的输出端CO与Nios II内核的SYSTEM_CLK接口相连接,嵌入式锁相环的输出接口 Cl与FPGA上的D/A转换器时钟脚管脚相连接;嵌入式锁相环的输出端C2与FPGA上的CH376时钟脚管脚相连接;嵌入式锁相环的输出端C3分别与RAM_任意波的CLK接口、片上R0M_三角波的CLK接口、片上R0M_方波的CLK接口、片上R0M_正弦波的CLK接口、扰码发生器的CLK接口、第一累加器A的CLK接口、第二累加器B的CLK接口连接; 二选一数据选择器具有4个端口包括三个输入端和一个输出端口,三个输入端分别是 SEL 接口、DATA_0 [9:0]接口、DATA_1 [9:0]接口,一个输出端 OUTPUT [9:0]接口;SEL接口与NIOS II内核的RAM_RW接口连接;DATA_0[9:0]接口与第二累加器B的OUTPUT[31:0]高十位接口连接;DATA_1[9:0]接口与 NIOS II 内核的 RAM_ADDR[9:0]接口连接;OUTPUT [9:0]接口与RAM_任意波的ADDRESS [9:0]接口连接; 扰码发生器具有2个端口,为一个输入CLK接口和一个输出OUTPUT[21:0]接口,输出OUTPUT [21:0]接口与第一累加器A的DATA_B[31:0]的低22位接口连接; 第一累加器A具有4个端口,包括三个输入端和一个输出端,三个输入端分别是CLK接口、DATA_A[31:0]接口、DATA_B[31:0]接口,一个输出端 OUTPUT [31:0]接口,DATA_A[31:0]接口与NIOS II内核的DDS_ADDR[31:0]接口连接,OUTPUT[31:0]接口与第二累加器B的DATA_B[31:0]接口连接; 第二累加器B具有4个端口,包括三个输入端和一个输出端,三个输入端分别是CLK 接口、DATA_A[31:0]接口、DATA_B[31:0]接口,一个输出端 OUTPUT[31:0]接口,OUTPUT[31:0]接口与第二累加器B的DATA_A[31:0]接口连接; 片上RAM_任意波具有五个端口,包括四个输入端和一个输出端,四个输入端分别是CLK 接口、DATA[7:0]接口、ADDRESS[9:0]接口和 W/R 接口,一个输出端 OUTPUT[7:0]接Π ,DATA [7:0]接口与 NIOS II 内核的 RAM_DATA[7:0]接口连接;W/R接口与 NIOS II 内核的RAM_RW接口连接;OUTPUT [7:0]接口与四选一数据选择器的DATA_3[7:0]接口连接;片上R0M_正弦波具有3个端口,包括两个输入端和一个输出端,两个输入端分别是CLK接口和 ADDRESS[9:0]接口,一个输出端为 OUTPUT[7:0]接口;ADDRESS[9:0]接口与第二累加器B的OUTPUT[31:0]高十位接口连接;OUTPUT[7:0]接口与的四选一数据选择器的DATA_0[7:0]接口连接; 片上R0M_三角波具有3个端口,包括两个输入端和一个输出端,两个输入端分别是CLK 接口和 ADDRESS[9:0]接口,一个输出端为 OUTPUT[7:0]接口;ADDRESS[9:0]接口与第二累加器B的OUTPUT[31:0]高十位接口连接;0UTPUT[7:0]接口与四选一数据选择器的DATA_2[7:0]接口连接; 片上R0M_方波具有3个端口,包括两个输入端和一个输出端,两个输入端分别是CLK接口和 ADDRESS[9:0]接口,一个输出端为 OUTPUT[7:0]接口 ;ADDRESS[9:0]接口与第二累加器B的OUTPUT[31:0]高十位接口连接;0UTPUT[7:0]接口与四选一数据选择器的DATA_1[7:0]接口连接; 四 选一数据选择器具有6个端口包括五个输入端和一个输出端,五个输入端分别是SEL[1:O]接口、DATA_0[7:0]接口、DATA_1 [7:0]接口、DATA_2[7:0]接口、DATA_3[7:0]接口,一个输出端为 0UTPUT[7:0]接口;SEL[1:0]接口与 NIOS II 内核的 BoMux_Bus [1:0]接口连接;0UTPUT[7:0]接口直接锁定到FPGA的管脚; NIOS II内核外围I/O接口包括EPCS控制器接口、SDRAM控制器接口、IXD显示屏接口、CH376S 接口和 RESET 接口 ;所述的 EPCS 控制器接口包括 EPCS_DATA0 接口、EPCS_DCLK接口、EPCS_SD0 接口和 EPCS_SCE 接口 ;SDRAM 控制器接口包括 SDRAM_ADDR[11:0]接口、SDRAM_BA[1:0]接口、SDRAM_CAS 接口、SDRAM_CKE 接口、SDRAM_CS 接口、SDRAM_DQ [15:0]接口、SDRAM_DQM[1:0]接口、SDRAM_RAS 接口和 SDRAM_WE 接口 ;LCD 显示屏接口包括 LCD_DB [7:0]接口、LCD_EN 接口、LCD_RS 接口和 LCD_RW 接口 ;CH376S 接口 包括 CH376_USB_INT接口、CH376_USB_A0 接口、CH376_USB_CS 接口、CH376_USB_DATA [7:0]接口、CH376_USB_RD接口和 CH376_USB_WR 接口。
【文档编号】H03K3/02GK103956994SQ201410112241
【公开日】2014年7月30日 申请日期:2014年3月24日 优先权日:2014年3月24日
【发明者】周明珠, 刘小强, 王栋 申请人:杭州电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1