直接数字频率合成器quartus(9页).doc
-直接数字频率合成器quartus-第 9 页电子线路课程设计直接数字频率合成器学号:姓名:2011年11月摘要 本篇论文主要讲了用eda设计dds。用quartus 软件模拟仿真电路,并下载到芯片。使电路能输出正余弦波,并可调节频率和相位。并在这基础上进行一部分扩展,如能输入矩形三角形波。关键词 eda设计 dds quartus Abstract:This report introduces the EDA design is completed with Direct Digital Synthesis DDS process. This design uses DDS QuartusII 7.0 software design, and downloads SmartSOPC experimental system hardware. Key word eda design dds quartus目录设计要求··············································4方案论证··············································4各子模块设计原理······································6调试,仿真及下载······································12结论··················································13一 设计要求基本要求:1、利用QuartusII软件和SmartSOPC实验箱实现DDS的设计;2、DDS中的波形存储器模块用Altera公司的Cyclone系列FPGA芯片中的RAM实现,RAM结构配置成212×10类型;3、具体参数要求:频率控制字K取4位;基准频率fc=1MHz,由实验板上的系统时钟分频得到;4、系统具有使能功能;5、利用实验箱上的D/A转换器件将ROM输出的数字信号转换为模拟信号,能够通过示波器观察到正弦波形;6、过开关(实验箱上的Ki)输入DDS的频率和相位控制字,并能用示波器观察加以验证;提高部分:1、 通过按键(实验箱上的Si)输入DDS的频率和相位控制字,以扩大频率控制和相位控制的范围;(注意:按键后有消颤电路)2、 能够同时输出正余弦两路正交信号;3、 在数码管上显示生成的波形频率;4、 充分考虑ROM结构及正弦函数的特点,进行合理的配置,提高计算精度;5、 设计能输出多种波形(三角波、锯齿波、方波等)的多功能波形发生器;6、 基于DDS的AM调制器的设计;7、 自己添加其他功能。二、 方案论证直接数字频率合成器(Direct Digital Frequency Synthesizer)是一种基于全数字技术,从相位概念出发直接合成所需波形的一种频率合成技术。dds的组成及工作原理: 每来一个CLOCK,加法器就将频率控制字f与累加寄存器输出的累加相位数据相加,相加的结果又反馈送至累加寄存器的数据输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位累加。由此,相位累加器在每一个时钟脉冲输入时,把频率控制字累加以此,相位累加器输出的数据作为波形存储器的相位取样地址,这样就可把存储在波形存储器内的波形抽样值进行找表查出,完成相位到幅值的转换。由于相位累加器为N位,相当于把正弦信号在相位上的精度定为N位,所以分辨率为1/2N。若系统时钟频率为fc,频率控制字f为1,则输出频率为fOUT=fC/2N,这个频率相当于"基频"。若f为K,则输出频率为:fout=K* fC/2N当系统输入时钟频率fC不变时,输出信号的频率由频率控制字K所决定。由上式可得:K=2N*fout/fC其中,K为频率字,注意K要取整,有时会有误差。DSS工作流图:三、各子模块设计原理1、分频器实验中需要有1mhz,1khz,2hz,0.5hz的输入信号,而实验像仅能提供48mhz的输入信号,故需要分频。实验中拟用74163制作3分频,3片74160分别制作1k分频与500分频,用4片触发器做16分频。16分频:3分频:1k分频:500分频:2、 加法器加法器的目的,其一是作为累加器的一部分,将k进行累加,其二是作为频率控制与相位控制电路的一部分,调整输入给rom的12位地址。3、 寄存器寄存器的目的,是使加法器出来的结果稍作停留,以便传递给rom的地址位或者是回传给加法器成为加数。4、 累加器相位累加器的组成= N位加法器+N位寄存器相位累加器的作用:在时钟的作用下,进行相位累加注意:当相位累加器累加满量时就会产生一次溢出,完成一个周期性的动作。5、 rom的制作 作用:进行波形的相位幅值转换。 原理: ROM的N位地址 把0O360O的正弦角度离散成具有2N个样值的序列 ROM的D位数据位 则2N个样值的幅值量化为D位二进制数据以正弦为例:首先用VC程序产生rom数据值,程序如下:#include"stdio.h"#include"math.h"int main(int argc,char*argv)int i;double s;for(i=0;i<4096;i+)s=sin(atan(1)*8*i/4096);printf("%d:%x;n",i,(int)(s+1)*1023/2);return 0;上述程序编译后,生成一个可执行文件rogen.exe,在DOS命令下执行:生成sine.mif文件,再加上*.mif文件的头部说明即可,格式如下: DEPTH=4096; WIDTH=10; ADDRESS_RADIX=DEC; DATA_RADIX=HEX; CONTENT BEGIN . -ROM中的数据,每个占用一行 END然后设定LPM-ROM在元器库中选取LPM-ROM,设置ROM的信息,数据宽度为10bits,数据个数为4096;设置ROM为寄存器输出,不需要时钟和异步清零信号;指定ROM的初始化数据来源,选择刚刚所生成的mif文件。然后点击“finish”即可生成ROM单元了。器件图如下:6、 显示电路由于译码器一次只能输入一个数字的7位控制信号进入系统,为了使8个数字同时亮,则需要用到计数器与若干选择器,将想要输入系统的信号轮流送入。电源接通,1khz的clk接入,计数器开始工作,产生07以控制8个数字同时亮。7、 测频电路测频就是计算1秒钟内脉冲的个数。我们利用计数器和锁存器实现这一功能。由于累加器以频率控制字K为间隔,当累加器满量时就会产生一次溢出,完成一次周期性的动作,这个周期也就是DDS信号的一个频率周期,所以将累加器的最高位作为测频电路技术器的脉冲。将1HZ的时钟信号二分频,得到0.5Hz。将0.5Hz脉冲送入锁存器的时钟端,0.5Hz反相延时后的脉冲送入计数器的清零端。这样就使计数器在2s的脉冲周期内,1s内清零,1s内计数。由于锁存器的脉冲和计数器的脉冲是反相的,且有一定的延时,所以当锁存器有效脉冲来到时,计数器是清零状态,锁存器就锁存前1s内计数器的计数信号。这样就完成了1s内的脉冲计数,再将锁存器的输出送入译码显示电路,就可以在数码管上显示波形频率了。原理图如下:电路图如下:8、 总电路将累加器所得与k与p进行处理,以实现对相频的控制,再送入rom地址端,为了实现多波形输出,对开关输入信号进行判别,根据不同情况送入不同rom以实现多波形输出。最后再合并上显示电路与测频电路。四、 调试,仿真及下载调试先保存,将上述电路以字母输入方式输入并保存在工程文件夹中。再将文件置顶,最后进行编译,在主菜单 中选择processing项,在弹出的对话框中选择Start complication键,则编译开始。在编译过程中,若有任何信息、错误和警告消息,都将显示在自动打开的Message-Compiler窗口中;若由于文件出错而没有通过,则需要返回原文件进行修改,修改后存盘,再编译直至文件通过。仿真新建一个“Vector Waveform file”文件,并在下拉列表中选.vwf扩展名,生成波形文件。右键单击,在弹出的菜单中选Enter Nodes Frome SNF,在弹出的对话框中选择要观测的节点。选OptionGrid Size和FileEnd Time,设置相应选项,并给输入引脚加上适当的信号。然后,选FileSave保存。接着选择主菜单中的Simulator项,打开模拟器,点击Start开始仿真。其中dds的cos部分仿真结果如下图所示:Sin部分如下图所示:下载1.在device&pin中,configuration标签页,采用串行配置器件EPCS4的主动配置方式。在unused pins标签页,进行没有使用管脚的配置,设置为高阻输入,避免损坏。2.选择processing-start compilation进行全程编译。五、 结论同时输入正弦余弦波:同时输入正弦波与方波:同时输入正弦波与三角波:相位改变功能演示:测频功能检测:(单位hz)频率控制字理论输出频率示波器显示频率测频显示频率13224461464.2391464153662.0913661误差均在允许范围内。六、遇到的问题和解决方法想做位相控制的位拓展,将原模16换成模64,原是低四位或者高四位相加,改为低8位或者高8位相加,实现了功能拓展。七、 实验感想本次实验是对我们数电能力实际应用的一次考验,通过这次实验我们灵活运用了我们所学习过的知识,尝试了自主探究与创新。这是我们经历过的最长的一个单项实验,整整一周的时间里我们独立设计出了一个dds,遇到很多问题,通过独立探索或者与他人的交流讨论我们克服了困难并作出了成果。本次实验里我学习到了创新的精神以及活学活用的道理。参考文献1. 蒋立平编著.数字电路.南京理工大学出版社2. 南京理工大学电子技术中心编.EDA设计实验指导书3. 付文红、花汉兵编著.EDA技术与实验.机械工业出版社