DDS 直接数字频率合成器实验报告_第1页
DDS 直接数字频率合成器实验报告_第2页
DDS 直接数字频率合成器实验报告_第3页
DDS 直接数字频率合成器实验报告_第4页
DDS 直接数字频率合成器实验报告_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、直接数字频率合成器(DDS)实验报告直接数字频率合成器(DDS)实验报告课程名称 电类综合实验 实验名称 直接数字频率合成器设计 实验日期 2015.6.12013.6.4 学生专业 测试计量技术及仪器 学生学号 114101002268 学生姓名 陈 静 实验室名称 基础实验楼237 教师姓名 花汉兵 成 绩 摘 要直接数字频率合成器(Direct Digital Frequency Synthesizer 简称 DDFS 或 DDS)是一种基于全数字技术,从相位概念出发直接合成所需波形的一种频率合成技术。本篇报告主要介绍设计完成直接数字频率合成器DDS的过程。其输出频率及相位均可控制,且能

2、输出正弦波、余弦波、方波、锯齿波等五种波形,经过转换后在示波器上显示。经控制能够实现保持、清零功能。除此之外,还能同时显示出频率控制字、相位控制字和输出频率的值。实验要求分析整个电路的工作原理,并分别说明了各子模块的设计原理,依据各模块之间的逻辑关系,将各电路整合到一块,形成一个总体电路。本实验在Quartus 环境下进行设计,并下载到SmartSOPC实验系统中进行硬件测试。最终对实验结果进行分析并总结出在实验过程中出现的问题以及提出解决方案。关键词:Quartus 直接数字频率合成器 波形 频率相位调节AbstractThe Direct Digital Frequency Synthes

3、izer is a technology based on fully digital technique, a frequency combination technique syntheses a required waveform from concept of phase. This report introduces the design to the completion of the process of direct digital frequency synthesizer DDS. The output frequency and phase can be controll

4、ed, and can output sine, cosine, triangle wave, square wave, sawtooth wave, which are displayed on the oscilloscope after conversation. Can be achieved by the control to maintain clear function. Further can simultaneously display the value of the frequency, the phase control word and the output freq

5、uency. The experimental design in the Quartus environment, the last hardware test download to SmartSOPC experimental system. The final results will be analyzed, the matter will be put forward and the settling plan can be given at last.Key words: Quartus Direct Digital Frequency Synthesizer waveform

6、Frequency and phase adjustment目 录一、 设计内容3二、 设计原理32.1 DDS概念32.2 DDS的组成及工作原理3三、 设计要求53.1 基本要求53.2 提高要求5四、 设计内容54.1 分频电路54.2 频率预置与调节电路94.3 累加器114.4 波形存储器(ROM)124.5 测频电路184.6 译码显示电路204.7 消颤电路214.8 总电路22五、 电路调试仿真与程序下载23六、 示波器波形图24七、 实验中遇到的问题及解决方法24八、 电路改进25九、 实验感想27十、 参考文献2731、 设计内容设计一个频率及相位均可控制的具有正弦和余弦输

7、出的直接数字频率合成器(Direct Digital Frequency Synthesizer 简称 DDFS 或 DDS)。2、 设计原理2.1 DDS概念直接数字频率合成器(Direct Digital Frequency Synthesizer 简称 DDFS 或 DDS)是一种基于全数字技术,从相位概念出发直接合成所需波形的一种频率合成技术。2.2 DDS的组成及工作原理DDS的基本组成结构如下图2-1所示,其主要由频率预置与调节电路、累加器、波性存储器(如正弦波数据表等)、D/A转换器及低通滤波器等几部分组成。图2-1 DDS整体电路工作原理图其中相位累加器由N位加法器和N位寄存器

8、构成。每来一个时钟clock,加法器就将频率控制字与累加寄存器输出的累加相位数据相加,相加的结果又反馈送至累加寄存器的数据输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位累加。由此可以看出,相位累加器在每一个时钟脉冲输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位,相位累加器的溢出频率就是DDS输出的信号频率。用相位累加器输出的数据作为波形存储器的相位取样地址,这样就可把存储在波形存储器内的波形抽样值(二进制编码)经查找表查出,完成相位到幅值转换。波形存储器的输出送到D/A转换器,由D/A转换器将数字

9、信号转换成模拟信号输出,DDS信号波流程示意图如图2-2所示。图2-2 DDS工作流程示意图由于相位累加器为N位,相当于把正弦信号在相位上的精度定为N位,所以分辨率为。若系统时钟频率为,频率控制字为1,则输出频率为这个频率相当于“基频”。若为K,则输出频率为:当系统输入时钟频率不变时,输出信号的频率由频率控制字K所决定。由上式可得:其中,K为频率字,注意K要取整,有时会有误差。选取ROM的地址时,可以间隔选项,相位寄存器输出的位数D一般取10-16位,这种截取方法称为截断式用法,以减少ROM的容量。D太大会导致ROM容量的成倍上升,而输出精度受D/A位数的限制未有很大改善。4位频率控制字K相位

10、累加器12位相位寄存器data11.0clkdata1data2q11.0result11.0data1data2result11.0q9.0q9.04位相位控制字P余弦ROM正弦ROMaddr11.0addr11.0q9.0q9.0余弦波数值输出至D/A(1)正弦波数值输出至D/A(2)clkclk基准时钟fc加法器图2-3 组装模块后的整体工作原理图3、 设计要求3.1 基本要求(1)用QuartusII软件和SmartSOPC实验箱实现DDS的设计;(2)DDS中的波形存储器模块用Altera公司的Cyclone系列FPGA芯片中的ROM实现,ROM结构配置成4096×10类型

11、;(3)具体参数要求:频率控制字K取4位;基准频率fc=1MHz,由实验板上的系统时钟分频得到;(4)系统具有清零和使能的功能;(5)利用实验箱上的D/A转换器件将ROM输出的数字信号转换为模拟信号,能够通过示波器观察到正弦波形;(6)通过开关(实验箱上的Ki)输入DDS的频率和相位控制字,并能用示波器观察加以验证。3.2 提高要求(1)通过按键(实验箱上的Si)输入DDS的频率和相位控制字,以扩大频率控制和相位控制的范围;(注意:按键后有消颤电路)(2)能够同时输出正余弦两路正交信号;(3)在数码管上显示生成的波形频率;(4)充分考虑ROM结构及正弦函数的特点,进行合理的配置,提高计算精度;

12、(5)设计能输出多种波形(三角波、锯齿波、方波等)的多功能波形发生器;(6)基于DDS的AM调制器的设计;(7)自己添加其他功能。4、 设计内容4.1 分频电路硬件电路的内部时钟为48MHz,使用前必须将它分配至我们需要的0.5Hz、1Hz、2Hz、1KHz和1MHz。分频电路由多个计数器组合而成,主要是由2分频/3分频/10分频这三种基本分频电路以不同形式组合构成。各子分频的输出最好取计数器输出的最高位,这样分出的频率脉冲占空比较大。下图为总分频电路流程图:图4-1 总分频电路流程图4.1.1 二分频电路二分频电路由一个D触发器及一个非门实现,通过将D触发器的和相连,在端即得到一连串的二分频

13、信号,实验电路图及封装图如下: 图4-2 二分频电路图 图4-3 二分频电路封装图其仿真波形为:图4-4 二分频电路的仿真波形4.1.2 三分频电路三分频电路通过74160用置数法实现,其输出端按照的方式循环计数就可以对其输入的脉冲进行三分频,输出信号由引出。其电路图及封装图如下图所示: 图4-5 三分频电路图 图4-6 三分频电路封装图其仿真波形为:图4-7 三分频电路的仿真波形4.1.3 八分频电路八分频电路实际上就是三个二分频电路相串联而成,其电路图及封装图如下图所示: 图4-8 八分频电路图图4-9 八分频电路封装图其仿真波形为:图4-10 八分频电路的仿真波形4.1.4 十分频电路十

14、分频点路由一片74163和一个与非门得到,在1100时置数0011,计数器循环方式如下所示:图4-11 十分频电路计数循环图取最高位为计数器的输出端,内部结构及其封装图如下图所示: 图4-12 十分频电路图 图4-13 十分频电路封装图其仿真波形为:图4-14 十分频电路的仿真波形从波形仿真图可以看出,10个脉冲信号为一个周期,且高低电平之比为1:1,符合要求。4.1.5 千分频电路1000分配电路实际上是三个10分频电路相串联得到的。其波形图及封装图如下图:图4-15 1000分频电路图图4-16 1000分频电路封装图其仿真波形为:图4-17 1000分频电路的仿真波形4.1.6 总分频电

15、路总分频电路图及封装图如图所示:图4-18 总分频电路图图4-19 总分频电路封装图4.2 频率预置与调节电路频率预置与调节电路的主要作用是实现频率控制量的输入,不变量K为相位增量,也叫频率控制字。DDS的输出频率表达式为,当K=1时,DDS输出最低频率(也即频率分辨率)为,而DDS的最高输出频率由Nyquist采样定理决定,即,也就是说K的最大值为。设计频率调节模块时,采用74160设计模32计数器来产生频率控制字,1Hz信号输入让其变化,目的是为了使输出频率的调节范围更大一些。该模块为了节省开关以后续可控制波形选择输出,设有清零保持端,由开关控制,以便计数到需要值时保持或清零。输出为8位B

16、CD码,高四位是十位,低四位是个位。此时要在计数器后接一个码转换电路,将BCD码转换为二进制码,再输入累加器进行累加。同样的可以设计出相位调节模块。需要注意的是,这里的加法器是12位的,因此要将频率控制字作为12位地址的低7位输出,高5位赋值为0,这样可以使频率调节的精度更高。而相位控制字要作为12位地址的高7位输出,低5位赋值为0,这样可以使相位调节幅度变大。最好让相位增量和相位控制字通过寄存器,时钟为1MHz的系统时钟,使得电路同步工作。模32电路图、BCD码至二进制码的转换电路图以及频率相位同步图如下所示:图4-20 模32计数器电路图图4-21 BCD码至二进制码的转换电路图图4-22

17、 频率相位同步图其封装图如图所示:图4-23 频率相位封装图4.3 累加器相位累加器由12位加法器与12位寄存器级联构成,如下图所示。图4-24 累加器流程图每来一个时钟脉冲,加法器就将频率控制字K与累加寄存器输出的累加相位数据相加,相加的结果又反馈送至累加寄存器的数据输入端,寄存器将加法器的上一个时钟作用后所产生的相位数据反馈至加法器的输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位累加。当相位累加器累加满量时就会产生一次溢出,完成一个周期性的动作。累加器电路图及封装图如下图所示:图4-25 累加器电路图图4-26 累

18、加器电路封装图4.4 波形存储器(ROM)波形存储器的原理图如图所示:图4-27 波形存储器的原理图波形存储器的相位取样地址来自于相位累加器输出的数据这样就可把存储在波形存储器内的波形抽样值(二进制编码)经查找表查出,完成相位到幅值转换。同时,波形存储器中还可存放不同类种波形的地址,例如正弦波、余弦波、方波、矩形波、锯齿波、三角波等。为了能让电路输出五种波形,使用五块不同的波形存储器分别存放这五种波形一个周期内的数据。考虑到硬件包括两块相同的DAC板,正弦波的输出值直接在DAC0板上,其余四种波的输出值经过一个四选一数据选择器,由两个开关控制选择波形输出到DAC1板。LPM_ROM的设定则由m

19、if文件产生五个ROM的数据值。在元器库种选取LPM_ROM,设置ROM信息,数据宽度为10bits,数据个数为4096,设置ROM为寄存器输出,指定ROM的初始化数据来源,选择由MATLAB软件生成的mif文件,然后点击“finish”即可生成ROM单元。 图4-28 设置LPM_ROM方法4.4.1 各波形对应mif文件的生成(1) 正弦波depth=4096; %存储单元数;widths=10; %数据宽度为10位;N=0:1:4096;s=sin(pi*N/2048); %计算0pi/2的Sin值;fidc=fopen('sin.mif','wt');

20、%以"wt"的形式打开,n为换行% 写入 dds.mif %fprintf(fidc,'depth=%d;n',depth);fprintf(fidc,'width=%d;n',widths);fprintf(fidc,'address_radix=dec;n');fprintf(fidc,'data_radix = dec;n');fprintf(fidc,'Content Beginn');for(x=1:depth)fprintf(fidc,'%d:%d;n',x-1, r

21、ound(2047*sin(pi*(x-1)/ 2048)+2048);endfprintf(fidc,'end;');fclose(fidc);k=1:1:depth;plot(k,(2047*sin(pi*(k-1)/ 2048)+2048);%画图图4-29 matlab生成正弦波图形(2) 余弦波depth=4096; %存储单元数;widths=10; %数据宽度为10位;N=0:1:4096;s=cos(pi*N/2048); %计算0pi/2的cos值;fidc=fopen('cos.mif','wt'); %以"wt&q

22、uot;的形式打开,n为换行% 写入 dds.mif %fprintf(fidc,'depth=%d;n',depth);fprintf(fidc,'width=%d;n',widths);fprintf(fidc,'address_radix=dec;n');fprintf(fidc,'data_radix = dec;n');fprintf(fidc,'Content Beginn');for(x=1:depth)fprintf(fidc,'%d:%d;n',x-1, round(2047*co

23、s(pi*(x-1)/ 2048)+2048);endfprintf(fidc,'end;');fclose(fidc);k=1:1:depth;plot(k,round(2047*cos(pi*(k-1)/ 2048)+2048)%画图图4-30 matlab生成余弦波图形(3) 方波depth=4096; %存储单元数;widths=10; %数据宽度为10位;for n=1:2048 s(n)=4095; s(n+2048)=1;endfidc=fopen('fb.mif','wt'); %以"wt"的形式打开,n为换行

24、% 写入 dds.mif %fprintf(fidc,'depth=%d;n',depth);fprintf(fidc,'width=%d;n',widths);fprintf(fidc,'address_radix=dec;n');fprintf(fidc,'data_radix = dec;n');fprintf(fidc,'Content Beginn');for x=1:1:depthfprintf(fidc,'%d:%d;n',x-1, s(x);endfprintf(fidc,'

25、end;');fclose(fidc);k=1:1:depth;plot(k,round(s)%画图图4-31 matlab生成方波图形(4) 锯齿波depth=4096; %存储单元数;widths=10; %数据宽度为10位;for n=1:2048 s(n)=n; s(n+2048)=n;endfid=fopen('jcb.mif','wt'); %以"wt"的形式打开,n为换行% 写入 dds.mif %fprintf(fid,'depth=%d;n',depth);fprintf(fid,'width

26、=%d;n',widths);fprintf(fid,'address_radix=dec;n');fprintf(fid,'data_radix = dec;n');fprintf(fid,'Content Beginn');for(x=1:depth)fprintf(fid,'%d:%d;n',x-1, s(x);endfprintf(fidc,'end;');fclose(fidc);k=1:1:depth;plot(k,round(s) 图4-32 matlab生成锯齿波图形(5) 三角波depth

27、=4096; %存储单元数;widths=10; %数据宽度为10位;for n=1:2048 s(n)=2*(n-1); s(n+2048)=2*(2048-n);endfidc=fopen('sjb.mif','wt'); %以"wt"的形式打开,n为换行% 写入 dds.mif %fprintf(fidc,'depth=%d;n',depth);fprintf(fidc,'width=%d;n',widths);fprintf(fidc,'address_radix=dec;n');fpr

28、intf(fidc,'data_radix = dec;n');fprintf(fidc,'Content Beginn');for(x=1:depth)fprintf(fidc,'%d:%d;n',x-1, s(x);endfprintf(fidc,'end;');fclose(fidc);k=1:1:depth;plot(k,round(s)图4-33 matlab生成三角波图形4.4.2 五种波形存储器的封装图及选择电路图 图4-34 五种波形存储器的封装图及选择电路图4.5 测频电路4.5.1 测频电路原理数码管的右边四位

29、用来输出频率控制字与相位控制字,左边四位用来显示相应的波形频率,需设计测频电路来测量频率。测频就是计算1秒钟内脉冲的个数。可以利用计数器和锁存器实现这一功能。通过观察可知,每当输出一个周期的波形时,波形数据输出的最高位也变化一周期,因此可以用它q9来表征输出波形的频率。测频电路原理图如下图所示:图4-35 测频电路原理图使用模10000的计数器来统计输出波形的频率,时钟即为测频脉冲。将0.5Hz脉冲送入锁存器的时钟端,0.5Hz反相延时后的脉冲送入计数器的清零端。这样就使计数器在2s的脉冲周期内,1s内清零,1s内计数。由于锁存器的脉冲和计数器的脉冲是反相的,且有一定的延时,所以当锁存器有效脉

30、冲来到时,计数器是计数的末状态,锁存器就锁存前1s内计数器的计数信号。这样就完成了1s内的脉冲计数,再将锁存器的输出送入译码显示电路,就可以在数码管上显示波形频率了。4.5.2 测频电路及封装图图4-36 测频电路图图4-37 测频电路封装图4.6 译码显示电路4.6.1 译码显示电路原理图4-38 译码显示电路原理图显示电路主要由数据选择器74151、译码器74138、计数器、显示译码器7447和数码显示管组成,计数器74161设计为模8的循环计数器,其输出既作为四片74151的控制端,又作为3-8译码器74138的控制端。当计数器计数到某一个数值时,四片74151同时选取对应位的输入组成计

31、时器某一位的BCD编码,接入显示译码器7447,与此同时根据计数器的数值,74138译码器也通过数码管的使能端选择对应位有效,从而在实验箱上显示数据。扫描的频率为1KHz,因为人眼的视觉停留,会感觉七个数码管同时显示。4.6.2 译码显示电路图图4-39 译码显示电路图图4-40 译码显示电路封装图4.7 消颤电路消颤开关由D触发器构成,利用D触发器锁存开关的动作信号,并且屏蔽抖动。消颤电路如下所示:图4-41 消颤电路图图4-42 消颤电路封装图4.8 总电路总电路如下图4-41所示:图4-43 总电路图5、 电路调试仿真与程序下载每部分模块设计好后均需对其仿真。波形仿真正确无误后,就可以下

32、载到芯片上,进行硬件实施。在下载之前,必须先对每个管脚进行分配。选择“Assignments-Pins”中的“Pin Planner”对话框,每个管脚都配置完成后,点击“Save”保存配置并关闭窗口。把未使用的管脚设置为高阻抗状态,之后下载,在硬件上观察波形和数据,验证程序是否正确。管脚分配如下:图5-1 管脚分配图6、 示波器波形图示波器波形图如下图所示:图6-1 示波器波形图(部分)7、 实验中遇到的问题及解决方法本科三年级的时候我们专业学过可编程逻辑器件这门课,当时对这门课很感兴趣,初次接触Quartus 软件,发现这个软件和MAX Plus 软件有很多相似之处。在做实验之前,我用周末的

33、时间自学了Quartus 软件。实验过程中,在将程序下载到实验箱之前我对每个部分都做了波形仿真,仿真的结果也是正确的,但出乎意料的是程序下载到实验箱以后结果却是错的,不过倒是可以通过实验结果找出可能出现错误的地方,这是让我觉得收获很大的经验。数码管是可以显示数字的,说明错误不在显示模块,最终发现主要问题是测频电路的问题。影响测频电路输出的主要有三方面因素:一方面是输入0.5Hz的频率,一方面是测频电路内部电路设计合理性问题,最后是输入时钟信号。0.5Hz与分频电路设计合理性有关,最好采用同步分频电路。输入时钟信号可有多种选择途径,一种是选择累加器的溢出信号,一种是选择q9作为输入信号。处于稳定

34、性考虑,选择q9作为输入信号最佳。8、 电路改进考虑到正弦波、余弦波、方波、锯齿波和三角波在一个周期内的波形都具有很强的对称性,可以在ROM中只存储1/4周期的波形,剩下3/4周期的波形可以利用对称性,通过前1/4周期的波形计算得到。各取正弦波、余弦波、方波、锯齿波、三角波的前1/4周期数据,整合到一个深度为4096、位数为10的ROM中。这样输出不同波形时所查找的ROM相同,大大节省了ROM的空间。因为查找1/4周期波形的数据只需要低10位地址即可,高2位地址可以通过置数来选择要查找的波形,如表8-1所示。再对取反操作后的ROM输出值进行一个选择的组合,通过LPM_ROM这个模块来实现,最后输出完整的正弦波形。表8-1 最高两位与输出关系a11a10地址、数值操作rom输出00地址、数值均不取反sin1101地址取反,数值不变sin2210地

温馨提示

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

评论

0/150

提交评论