直接数字合成器_第1页
直接数字合成器_第2页
直接数字合成器_第3页
直接数字合成器_第4页
直接数字合成器_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、一、dds基本原理直接数字式频率合成器(digital direct synthesizer,简称为dds)是以数字信号处理理论为基础,从信号的幅度相位关系出发进行频率合成的。与传统的频率合成器相比,dds具有极高的分辨率、快速的频率转换时间、很宽的相对带宽、任意波形的输出能力和数字调制等优点。在数字化的调制解调模块中, 频率合成技术用于电子系统和设备的频率源设计。1、dds设计思路根据奈奎斯特取样定理,从连续信号的相位出发,对一个正弦信号取样、量化、编码,形成一个正弦函数表,储存在只读存储器中,合成时通过改变相位累加器的频率控制字,改变相位增量,相位增量的不同导致一周期内的取样点不同,从而使

2、得输出频率不同。2、dds电路工作原理设时钟频率为,输出频率为 ,累加器的宽度为 ,输出数据的宽度为,频率控制字,相位控制字。每来一个时钟脉冲,n位加法器将频率控制数据k与累加寄存器输出的累加相位数据相加,把相加后的结果送至累加寄存器的输入端。累加寄存器一方面将在上一时钟周期作用后所产生的新的相位数据反馈到加法器的输入端,以使加法器在下一时钟的作用下继续与频率控制数据k相加;另一方面将这个值作为取样地址值送入幅度/相位转换电路,幅度/相位转换电路根据这个地址输出相应的波形数据。最后经d/a转换器和低通滤波器将波形数据转换成所需要的模拟波形。相位累加器在基准时钟的作用下,进行线性相位累加。当相位

3、累加器加满量时就会产生一次溢出,这样就完成了一个周期,这个周期也就是dds信号的频率周期。输出频率为,时频率最小。3、dds特点(1)频率分辨率高。dds的频率分辨率在fc固定时,取决于相位累加器的位数n,只要n足够大,理论上就可以获得相应的分辨精度,这是传统方法难以实现的。(2)频率变换速度快。在dds中,一个频率的建立时间通常取决于滤波器的带宽。影响因素为相位累加器,rom内的工艺结构,da转换器及其它信号处理过程中可能产生的时延。其中,信号处理的时延与时钟周期相关。由于dds中不要相位反馈控制,频率建立及切换快,与频率分辨率、频谱纯度相互独立,明显优于ppl。(3)dds中相位改变是线性

4、过程。数字相位累加器是优良的线性数字增值发生器。因此,dds的相位误差主要依赖于时钟的相位特性,相位误差小。另外,dds的相位是连续变化的,形成的信号具有良好的频谱特性,这是传统的直接频率合成方法所无法实现的。(4)输出频率范围宽。理论上,dds输出的频率范围在0fc2,实际上,考虑到低通滤波器的设计,为40fc,而fpga的时钟频率可达到100mhz,因此,利用fpga,可以实现输出频率范围很宽的正弦信号。 二、dds的代码设计本设计是基于quartus ii软件平台的。quartus ii design 是最高级和复杂的,用于system-on-a-programmable-chip (s

5、opc)的设计环境。quartus ii 设计软件改进了性能、提升了功能性、解决了潜在的设计延迟等,在工业领域率先提供fpga与mask-programmed devices开发的统一工作流程。作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。 根据设计要求,在fpga上实现的电路部分见下图。1、定制rom1)matlab生成sin函数数据在matlab主窗口中输入以下命令,生成data.mif文件存储sin函数数据。累加器的宽度为,输出数据的宽度为。2)quartus 2生成rom.mif,格式如下图,将matlab生成的data.mif中

6、数据拷贝到rom.mif中content begin end之间。3)quartus 2生成rom.v利用quartus 2里的megawizard plug-in manager 设置相关数据,导入以上生成的rom.mif文件,生成rom.v。注意设置address=8,输出q=10。2、累加器模块的设计累加器模块主要用于rom地址的生成,代码如下:3、top模块的设计top模块用于调入acc和rom模块4、建立工程使用quartus2软件建立dds工程,调入rom.v,dds.v,acc.v文件三、dds的fpga实现本设计所使用的fpga是altera中等规模fpga :cyclone(

7、飓风),2003年推出,0.13um工艺,1.5v内核供电,与stratix结构类似,是一种低成本fpga系列 ,是目前主流产品,其配置芯片也改用全新的产品。1、模式选择在fpga板子上选择模式1,键7,键8分别作为清零信号和使能信号,键1、键2构成频率控制字,键3、键4构成相位控制字。2、引脚设置在quartus软件中选择assignment下pins进行引脚设置,具体设置见下图:代码端口信号名称引脚号clearpio48107clockclock0123enpio49108freg3:0pio3-0freg7:4pio7-4phase3:0pio11-8phase7:4pio15-12ou

8、t0p94out1p91out2p82out3p79out4p62out5p61out6p60out7p59out8p58out9p573、quartus编译点击start complication,编译完成若出现如下情况表示编译成功。3、外围电路连接 由于要将sin函数波形显示出来,所以要用到示波器。将示波器的信号端连接到gwac3的aout(a),接地端接到gwac3的gnd。4、下载调试点击programmer,导入dds.sof,点击start开始下载,process进行到100%时表示下载成功。调试时,在fpga板子上选择模式1,将键7(清零信号)和键8(使能信号)置于高电平。初始时

9、示波器显示一条直线(如图1),按一下键1产生一个脉冲表示频率控制字加1,按一下键2表示频率控制字加0001_0000,图2图3分别表示按了一次和两次键1之后得示波器图形,图4、5、6是按了多次键1键2之后示波器的波形图。键3、键4构成相位控制字,按键3键4进行相位控制,但是在示波器上没法显示出来的。四、收获感想通过这一周半的课程设计,我对一些专业知识和数字集成电路设计有了更深的了解,同时也尝试着去应用自己的所掌握的知识。本次课程设计主要是对本学年学习的veriloghdl和超大规模集成电路的应用,同时加上一些设备的应用,设计的课题。经过几天的奋战,我感受很深。1、首先感谢两位老师在整个课程设计过程中给予我们的帮助和支持。老师在百忙之中抽出时间来为我们排忧解难,我们大家都很感动。2、肯定自己在整个设计过程中所做的努力,作为小组负责人,通过资料收集,代码编写,软件的熟悉、上板调试等过程,自身的能力也得到了进一步提高。3、课程设计是个团队活动,我们运用各自在各方面的优势中和起来,形成了一个

温馨提示

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

评论

0/150

提交评论