DDS信号源设计数字系统设计实践论文_第1页
DDS信号源设计数字系统设计实践论文_第2页
DDS信号源设计数字系统设计实践论文_第3页
DDS信号源设计数字系统设计实践论文_第4页
DDS信号源设计数字系统设计实践论文_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数字系统设计实践设计报告实验DDS信号源的设计摘要DDS是直接数字频率合成的缩写。DDS技术是直接数字频率合成技术。属于第三代频率合成技术,从“相位”概念合成频率。该电路频率分辨率高,可实现快速频率切换,且在变化时能保持相位连续,易于实现频率、相位和幅度的数控调制。利用DDS的这些优点,本实验采用FPGA+DAC设计了DDS信号发生器。这个程序会输入一个频率控制字,然后传输到相位累加器,输出高8位到正弦查找表。存储在表中的数字波形将由D/A转换器处理并滤波形成模拟波形。控制字和输出频率将通过乘法器和除法器由十六进制转换成十进制,并显示在数码管上。关键词:DDS,信号发生器,相位累积,频率目录T

2、OC o 1-3 h z u HYPERLINK l _RefHeading_Toc319705002 一、设计任务1 HYPERLINK l _RefHeading_Toc319705003 二、设计要求1 HYPERLINK l _RefHeading_Toc319705003 三、系统方案13. HYPERLINK l _RefHeading_Toc319705008 1 频率控制字输入模块的论证与选择13. HYPERLINK l _RefHeading_Toc319705008 2 rom模块的论证与选择13. HYPERLINK l _RefHeading_Toc319705008

3、 3 相位累加器模块的论证与选择23. HYPERLINK l _RefHeading_Toc319705008 4 相位寄存器模块的论证与选择23. HYPERLINK l _RefHeading_Toc319705008 5 频率控制字M转码输出模块的论证与选择23. HYPERLINK l _RefHeading_Toc319705008 6 输出频率转化输出模块的论证与选择33. HYPERLINK l _RefHeading_Toc319705008 7 输出选择模块的论证与选择3 HYPERLINK l _RefHeading_Toc319705010 四、系统理论分析与计算34.

4、1理论分析34.2理论计算4 HYPERLINK l _RefHeading_Toc319705010 五、电路与程序设计4 HYPERLINK l _RefHeading_Toc319705011 5.1电路的设计4 HYPERLINK l _RefHeading_Toc319705011 5.1.1DDS信号源顶层图形设计45. HYPERLINK l _RefHeading_Toc319705012 1.2系统电路原理图5 HYPERLINK l _RefHeading_Toc319705011 5.2程序的设计55. HYPERLINK l _RefHeading_Toc3197050

5、12 2.1频率控制字输入模块的vhdl设计65. HYPERLINK l _RefHeading_Toc319705012 2.2相位累加器模块的vhdl设计75. HYPERLINK l _RefHeading_Toc319705012 2.3输出选择模块的vhdl设计8 HYPERLINK l _RefHeading_Toc319705016 六、测试方案与测试结果9 HYPERLINK l _RefHeading_Toc319705011 6.1测试方案96. HYPERLINK l _RefHeading_Toc319705012 1.1软件测试96. HYPERLINK l _Re

6、fHeading_Toc319705012 1.2硬件测试9 HYPERLINK l _RefHeading_Toc319705011 6.2测试结果与分析106.2. HYPERLINK l _RefHeading_Toc319705017 1.测试结果106.2. HYPERLINK l _RefHeading_Toc319705018 2.测试分析与结论12设计任务利用FPGA+DAC设计了DDS信号发生器。设计要求1.分辨率优于1Hz2.ROM表长8位,宽10位。3.输出频率优于100kHz(每周期50点以上)4.显示信号频率/频率控制字(可切换)5.输入频率控制字或直接输出频率。三、

7、系统方案3.1频率控制字输入模块的演示和选择选项1:输入三位二进制数进行选择,分别给M加1,10,100,1000,10000,100000。选项2:也是输入一个三位二进制数进行选择,控制M的不同位数加1,把20位的M分成5部分,每部分4位,最后把5部分组合起来给M赋值。选项:两个选项的复杂度差不多,两个选项都很直观。我们在这里使用选项二。3.2 ROM模块的演示和选择ROM模块的核心是正弦查询表,它包含了一个周期正弦波的数字幅度信息,每个地址对应正弦波中围的一个相位点。设计要求ROM表长度8位、位宽10位,即在正弦的一个周期()中对波形采样256()个点。已知正弦波在一个周期存在正负两个半周

8、,又由于DAC输出的时候只能输出正向的数据,所以我们需要在编码时进行如下的公式转换。公式:我们将公式导入Excel,a依次的取0256,计算得到x的数值,如下表所示为本次设计中实际采用的ROM数据。查找表将输入的地址相位信息映射成正弦波幅度的数字信号,驱动DAC,输出模拟量。我们知道FPGA芯片上D/A的输入是8位,输出是10位,符合设计要求。3.3相位累加器模块的演示和选择DDS系统的核心是相位累加器,它由加法器和相位寄存器组成。每个时钟,相位寄存器步进递增,相位寄存器的输出加上频率控制字(M),然后输入到正弦查找表地址。3.4相位寄存器模块的演示和选择累加器的高8位输入相位寄存器以寻址Si

9、n表,然后输出波形。3.5频率控制字M的转码输出模块的演示和选择用五个除法器对M进行转码,M经过一个除法器后,余数作为十进制数M的第一位,商输入第二个除法器,依此类推。总共使用五个分频器。3.6输出变频输出模块的演示和选择同样,使用五个分频器来实现十进制输出。3.7输出选择模块的演示和选择选项1:用系统提供的数据选择器lpm_mux选择输出。选项2:自己写一个数据选择程序。选项:选项1稍微方便一点,但是选项2也非常简单灵活,所以这里我用选项2来实现。四、系统理论分析与计算4.1理论分析为了更容易地控制输出频率的变化,可以使用相位累加器来使输出频率与时钟频率和相位增量的乘积成比例。下图是本次设计

10、实际采用的设计图纸:图2.2 DDS基本原理结构框图工作流程:存储在数据表中的数字波形经D/A转换器滤波后形成模拟波形。改变输出信号的频率:(1)改变查找表寻址的时钟频率和输出波形的频率。(2)改变输出信号DDS的寻址步长和频率。步长是数字波形查找表的相位增量。相位增量由累加器累加,累加器的值用作查找地址。正弦波在相位上的精度定义为n,那么分辨相当于。用时钟频率依次读取数字相位圆周上各点,这里的数字值作为一个地址,读出相应的ROM中的数值,然后通过DAC重构成正弦波。这里多了一个相位累加器,它的作用是在读取数字相位圆周上的各点时可以每隔M个点读一个数值,M即为本次设计中的频率控制字。这样DAC

11、的输出频率应该满足如下的公式:上式中的是DDS的系统工作时钟,n通常的取值围在2432,相位寄存器的输出一般在1016位,若DAC为N位,则ROM的字长也需要选取N位。输出正弦波的周期,输出正弦比的频率:频率控制字该DDS的最小分辨率4.2 理论计算根据下面三个设计要求列出表达式:1.分辨率优于1Hz2. ROM表长度8位、位宽10位3.输出频率优于100kHz(每周期大于50个点)根据这三个公式得出m最小取17位,在实验中可取m的位数为20,n的位数取24位,时钟频率fc取10mhz。动词 (verb的缩写)电路和程序设计5.1电路设计5 . 1 . 1 DDS信号源的顶层图形设计系统电路原

12、理图(1)信号产生部分(2)m变换部分(3)f变换部分(4)m和F开关显示部分(5)总电路图5.2程序设计5.2.1频率控制字输入模块的vhdl设计图书馆ieee使用IEEE . STD _ logic _ 1164 . all;使用IEEE . STD _ logic _ unsigned . all;使用IEEE . STD _ logic _ arith . all;实体DDS输入为端口(a,b,c,cp,clr:在std_logic中;q1、q2、q3、q4、q5:缓冲区无符号(3向下到0);end ddsinputddsinput的架构a为信号q:STD _ logic _ vect

13、or(2 down to 0);开始q = c & b & a;流程(cp、q、clr)开始如果clr=1 那么q1 = 0000q2 = 0000q3 = 0000q4 = 0000q5 Q1 Q2 Q3 q4 q5 NULL结束案例;结束if;结束进程;结束a;5.2.2相位累加器模块的vhdl设计图书馆ieee使用IEEE . STD _ logic _ 1164 . all;使用IEEE . STD _ logic _ unsigned . all;使用IEEE . STD _ logic _ arith . all;实体魏翔是port(m:in STD _ logic _ vecto

14、r(19 down to 0);cp,clr:在std_logic中;data:out STD _ logic _ vector(23 down to 0);结束魏翔;魏翔的建筑a是信号q:std_logic_vector(23下降到0);开始流程(clr、cp、m、q)开始如果clr=1 那么q = 0000000elsif (cpevent and cp=1 )然后q = q+m;结束if;数据 = q;结束进程;结束a;5.2.3输出选择模块的vhdl设计图书馆ieee使用IEEE . STD _ logic _ 1164 . all;使用IEEE . STD _ logic _ ari

15、th . all;实体切欢是端口(en:in位;r:无符号(19下到0);x:无符号(19向下到0);f:out无符号(19向下到0);结束;重庆的建筑a是开始过程(环境)开始如果en=1 那么f = r;否则f = x;结束if;结束进程;结束a;不及物动词测试方案和测试结果6.1测试计划软件测试在quartus7.1环境下,对电路进行了仿真和测试。硬件测试A.将程序下载到EDA实验箱进行测试,观察是否与理论结果一致。B.引脚分配输入:a,b,c:键0,1,2用来控制控制M加1的不同位数。Clr:键3,用于清除频率控制字和相位加法器。Cp:按键5,用于推动频率控制字模块的操作。2: CLK1

16、,用于控制相位累加器和相位寄存器模块的工作,驱动实验箱的A/D模块。输出:F19.0:数码管1,2,3,4,5,以十进制形式显示M和F。6.2测试结果和分析测试结果A.模拟了频率控制字输入模块结果与代码功能一致,清除和添加功能没有问题。b .模拟相位累加器模块这里m是1,数据也是每个脉冲加1,表示功能正常。c .模拟输出选择模块当en为1时,输出f等于R,当en为0时,输出f等于X,与理论相符。D.下载到实验箱后,所有按键功能正常,频率控制和频率输入输出都没有问题。数码管可以对应显示小数,示波器波形显示也正常。如图所示,数码管上的输出频率与示波器上的输出频率相同。E.波形输出频率测试频率控制字的m值输出频率的理论值输出频率的实际值绝对误差值13107778.122千赫78.125千赫0.003千赫兹6152036.666千赫36.669千赫0.003千赫兹4915229.295千赫29.297千赫0.002千赫122887.323千赫7.324千赫0.001千赫81924.882千赫4.883千赫0.001千赫21121.258千赫1.259千赫0.001千赫1344801.024赫兹801.070赫兹0.046赫兹880524.480赫兹524.542赫兹0.062赫兹11266.752赫兹66.743赫兹0.009赫兹5029.8

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论