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

文档序号:7527980阅读:194来源:国知局
基于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]本实用新型一种基于FPGA的DDS任意波形信号发生器,包括一个嵌入式锁相环、位宽为10的二选一数据选择器、位宽为8的四选一数据选择器、位宽为32位的第一累加器A、位宽为32位的第二累加器B、片上R0M_三角波、片上R0M_方波、片上R0M_正弦波、片上RAM_任意波、扰码发生器和NIOS II内核。
[0006]嵌入式锁相环具有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接口连接;
[0007]二选一数据选择器具有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]接口连接;[0008]扰码发生器具有2个端口,为一个输入CLK接口和一个输出OUTPUT [21:0]接口,输出OUTPUT[21:0]接口与第一累加器A的DATA_B[31:0]的低22位接口连接。
[0009]第一累加器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]接口连接。
[0010]第二累加器B具有4个端口,包括三个输入端和一个输出端,三个输入端分别是 CLK 接口、DATA_A[31:0]接口、DATA_B [31:0]接口,一个输出端 OUTPUT [31:0]接口,OUTPUT[31:0]接口与第二累加器B的DATA_A[31:0]接口连接。
[0011]片上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]接口连接。
[0012]片上R0M_正弦波具有3个端口,包括两个输入端和一个输出端,两个输入端分别是 CLK 接口和 ADDRESS[9:0]接口,一个输出端为 OUTPUT[7:0]接口;ADDRESS[9:0]接口与第二累加器B的OUTPUT[31:0]高十位接口连接;0UTPUT[7:0]接口与的四选一数据选择器的DATA_0[7:0]接口连接。
[0013]片上R0M_三角波具有3个端口,包括两个输入端和一个输出端,两个输入端分别是 CLK 接口和 ADDRESS[9:0]接口,一个输出端为 OUTPUT[7:0]接口;ADDRESS[9:0]接口与第二累加器B的OUTPUT[31:0]高十位接口连接;0UTPUT[7:0]接口与四选一数据选择器的 DATA_2[7:0]接口 连接。
[0014]片上R0M_方波具有3个端口,包括两个输入端和一个输出端,两个输入端分别是CLK 接口和 ADDRESS[9:0]接口,一个输出端为 OUTPUT[7:0]接口 ;ADDRESS[9:0]接口与第二累加器B的OUTPUT[31:0]高十位接口连接;0UTPUT[7:0]接口与四选一数据选择器的 DATA_1[7:0]接口 连接。
[0015]四选一数据选择器具有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的管脚。
[0016]NIOS II内核外围1/0接口包括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 接 口。
[0017]本实用新型的有益效果:
[0018]1、兼容性通用性强:能够兼容市面上绝大多数的U盘,同时此芯片还能实现SD卡的读写,还可以作为信号发生器与上位机之间接口实现两者的通信。
[0019]2、方便控制操作简便^IAnios II处理器使得用户可以设定输出频率摆脱了以往DDS步进式调节的方式。
[0020]3、频谱优化:采用相位扰动技术优化频谱,在不增加RAM/R0M资源下得到较高质量的信号。
[0021]【专利附图】

【附图说明】:
[0022]图1为本实用新型片上系统连线图;
[0023]图2为嵌入式锁相环;
[0024]图3为位宽为10的二选一数据选择器;
[0025]图4 (a)为累加器A ;
[0026]图4(b)为 累加器B;
[0027]图5为扰码发生器;
[0028]图6为片上R0M_正弦波;
[0029]图7为片上R0M_方波;
[0030]图8为片上R0M_三角波;
[0031 ] 图9为片上RAM_任意波;
[0032]图10为位宽8的四选一数据选择器;
[0033]图11为NIOS II内核及与其相关的外设I/O 口。
【具体实施方式】
[0034]如图1所示,本实用新型一种基于FPGA的DDS任意波形信号发生器,整个片上系统包括一个嵌入式锁相环、位宽为10的二选一数据选择器、位宽为8的四选一数据选择器、位宽为32位的第一累加器A、位宽为32位的第二累加器B、片上R0M_三角波、片上R0M_方波、片上R0M_正弦波、片上RAM_任意波、扰码发生器和NIOS II内核。
[0035]如图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接口连接;
[0036]如图3所示,二选一数据选择器具有4个端口包括三个输入端和一个输出端口,三个输入端分别是SEL接口、DATA_0[9:0]接口、DATA_1[9:0]接口,一个输出端OUTPUT[9:0]接口;SEL 接口与 NIOS II 内核的 RAM_RW 接口连接;DATA_0[9:0]接口与第二累加器B的0UTPUT[31:0]高十位接口连接;DATA_1[9:0]接口与NIOS II内核的RAM_ADDR [9:0]接口连接;OUTPUT [9:0]接口与 RAM_ 任意波的 ADDRESS [9:0]接口连接;
[0037]如图5所示,扰码发生器具有2个端口,为一个输入CLK接口和一个输出OUTPUT[21:0]接口,输出 OUTPUT[21:0]接口与累加器 A 的 DATA_B[31:0]的低 22 位接口连接。[0038]如图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]接口连接。
[0039]如图4(b)所示,第二累加器B具有4个端口,包括三个输入端和一个输出端,三个输入端分别是CLK接口、DATA_A[31:0]接口、DATA_B[31:0]接口,一个输出端OUTPUT[31:0]接口,OUTPUT[31:0]接口与第二累加器B的DATA_A[31:0]接口连接。
[0040]如图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]接口 连接。
[0041]如图6所示,片上R0M_正弦波具有3个端口,包括两个输入端和一个输出端,两个输入端分别是CLK接口和ADDRESS [9:0]接口,一个输出端为0UTPUT[7:0]接口;ADDRESS [9:0]接口与第二累加器B的OUTPUT [31:0]高十位接口连接;OUTPUT [7:0]接口与的四选一数据选择器的DATA_0[7:0]接口连接。
[0042]如图8所示,片上R0M_三角波具有3个端口,包括两个输入端和一个输出端,两个输入端分别是CLK接口和ADDRESS[9:0]接口,一个输出端为OUTPUT[7:0]接口 ;ADDRESS [9:0]接口与第二累加器B的OUTPUT [31:0]高十位接口连接;OUTPUT [7:0]接口与四选一数据选择器的DATA_2[7:0]接口连接。
[0043]如图7所示,片上R0M_*波具有3个端口,包括两个输入端和一个输出端,两个输入端分别是CLK接口和ADDRESS[9:0]接口,一个输出端为OUTPUT [7:0]接口;ADDRESS[9:0]接口与第二累加器B的OUTPUT[31:0]高十位接口连接;OUTPUT[7:0]接口与四选一数据选择器的DATA_1[7:0]接口连接。
[0044]如图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的管脚。
[0045]如图11所示,NIOS II内核外围1/0接口包括EPCS控制器接口、SDRAM控制器接口、LCD显示屏接口、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 接 口。
【权利要求】
1.基于FPGA的DDS任意波形信号发生器,包括一个嵌入式锁相环、位宽为10的二选一数据选择器、位宽为8的四选一数据选择器、位宽为32位的第一累加器A、位宽为32位的第二累加器B、片上ROM_三角波、片上ROM_方波、片上ROM_正弦波、片上RAM_任意波、扰码发生器和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/02GK203775161SQ201420135619
【公开日】2014年8月13日 申请日期:2014年3月24日 优先权日:2014年3月24日
【发明者】周明珠, 刘小强, 王栋 申请人:杭州电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1