收藏 分销(赏)

EDA课程设计报告-DDS直接数字合成器设计.doc

上传人:胜**** 文档编号:2929069 上传时间:2024-06-11 格式:DOC 页数:21 大小:421.50KB
下载 相关 举报
EDA课程设计报告-DDS直接数字合成器设计.doc_第1页
第1页 / 共21页
EDA课程设计报告-DDS直接数字合成器设计.doc_第2页
第2页 / 共21页
EDA课程设计报告-DDS直接数字合成器设计.doc_第3页
第3页 / 共21页
EDA课程设计报告-DDS直接数字合成器设计.doc_第4页
第4页 / 共21页
EDA课程设计报告-DDS直接数字合成器设计.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、EDA课程设计报告 DDS直接数字合成器设计 姓 名: 班 级: 学 号: 指导老师: 日期: 华南农业大学电子工程学院电子信息工程系7摘 要本文主要研究了基于直接数字合成器(Direct Digital Synthesizer)技术的波形发生器(Arbitrary Waveform Generator)的整体方案和核心部分的硬软件设计。同时,对整个系统的性能进行了理论分析。文中讨论了DDS的基本概念和理论,在理论研究的基础上,设计了整个系统的完成方案,用复杂可变成逻辑器件(CPLD)完成了DDS主要部分的设计,其中涉及到软件设计的部分都进行了仿真和说明,从完成电路的性能和综合指标看,基本达到

2、了课题的要求。关键字:直接数字合成 波形发生器目 录1方案比较与选择21.1 方案选择21.2 方案比较22 DDS原理22.1 DDS基本结构22.1 DDS工作原理33 DDS硬件设计53.1 创龙FPGA开发板53.2 TL5724-DAC模块54 DDS软件设计64.1 DDS驱动代码编程64.2 Testbench与ISIM仿真75仿真及下载75.1 调试75.2 仿真75.3 下载76讨论及进一步研究建议87课程设计心得9Abstract10参考文献10附录111方案比较与选择1.1方案选择(1)CPLD,FPGA实现。(2)采用分立IC电路系统实现,一般有CPU,RAM,ROM,

3、D/A,CPLD,模拟滤波器等组成。(3)采用高性能DDS单片电路的解决方案。1.2方案比较因为本次实验要求是:(1) 实现锯齿波、正弦波、方波的输出。 (2) 实现频率可调,如调节频率倍数10。 (3) 用Verilog HDL语言对此DDS发生器进行建模。 (4) 用Xilinx ISE14.7开发套件进行仿真测试。基于广州创龙公司提供的FPGA开发板,我们选择使用上述方案一。2DDS原理2.1 DDS基本结构直接合成法是用一个或多个石英晶体振荡器的振荡频率作为基准频率,由这些基准频率产生一系列的谐波,这些谐波具有与石英晶体振荡器同样的频率稳定度和准确度;然后,从这一系列的谐波中取出两个或

4、两个以上的频率进行组合,得出这些频率的和或差,经过适当方式处理(如经过滤波)后,获得所需要的频率。DDS 是直接数字式频率合成器(Direct Digital Synthesizer)的英文缩写。直接数字式频率合成器(DDS)是从相位概念出发直接合成所需波形的一种新的频率合成技术,由相位累加器、波形 ROM、D/A 转换器和低通滤波器构成。时钟频率给定后,输出信号的频率取决于频率控制字,频率分辨率取决于累加器位数,相位分辨率取决于 ROM 的地址线位数,幅度量化噪声取决于 ROM 的数据位字长和 D/A 转换器位数。结构框图如图1所示。图12.2 DDS工作原理DDS 的基本原理是利用采样定理

5、,通过查表法产生波形 1。由于,(2-1)其中为一个采样间隔 T 之间的相位增量,采样周期,即:(2-2)控制就可以控制不同的频率输出。是由频率控制字 M 控制的,即:(2-3)所以改变 M 就可以得到不同的输出频率。该 DDS 系统的核心是相位累加器,它由一个 N 位加法器和一个 N 位相位寄存器级联构成。它的作用是在基准时钟源的作用下进行线性累加,当产生溢出时便完成一个周期,即 DDS的一个频率周期。加法器将频率控制字 M 与累加寄存器输出的累加相位数据相加,把相加后的结果送至累加寄存器的数据输入端。累加寄存器将加法器在上一个时钟脉冲作用后所产生的新相位数据反馈到加法器的输入端,以使加法器

6、在下一个时钟脉冲的作用下继续与频率控制字相加。这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位累加。由此,可以看出,相位累加器在每一个时钟脉冲输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位,相位累加器的溢出频率就是 DDS 输出的信号频率。用相位累加器输出的数据作为波形存储器(ROM)的相位取样地址,然后输入到正弦查询表地址上。正弦查询表包含一个周期正弦波的数字幅度信息,每个地址对应正弦波中的0360范围的一个相位点。查询表把输入的地址相位信息映射成正弦波幅度的数字量信号,驱动 DAC,输出模拟量。相位寄存器每经过2N /M(其中 N 是相位累加器的字长,对于

7、AD9834芯片,N = 28)个 fc 时钟后基本回到初始状态,相应地正弦查询表经过一个循环也基本回到初始位置,于是整个 DDS 系统输出一个正弦波周期。在图2-1中,相位累加器输出位并不全部加到查询表,而是只截取高12位。相位截断减小了查询表长度,但并不影响频率分辨率,对最终输出仅增加一个很小的相位噪声。DAC 分辨率一般比查询表长度还要小24位。图中的参考时钟是一个稳定的晶体振荡器,用来同步整个合成器的各个组成部分,AD9834用的是50MHz 的石英晶体振荡器。D /A 变换器把数字量变成模拟量,正弦幅度量化序列 S(n)经 D/A 转换后变成了包络为正弦波的阶梯波 S(t),D/A

8、转换器的分辨率越高,合成的正弦波 S(t)台阶数就越多,输出的波形的精度也就越高。低通滤波器滤除高次谐波和杂散信号,得到所需的信号波形。DDS 的输出频率 fout 和参考时钟 fc、相位累加器长度 N 以及频率控制字 M 的关系为:(2-4)DDS 的频率分辨率为:(2-5)由于 DDS 的输出最大频率受奈奎斯特抽样定理限制,为了保证信号的输出质量,输出频率不要高于时钟频率的33%,以避免混叠或谐波落入有用输出频带内。所以, 一般取 2 。3.DDS硬件设计3.1 创龙FPGA开发板本设计的硬件开发板采用广州创龙电子科技有限公司的FPGA开发板,选择使用FPGA的原因有以下几点:(1)性能:

9、利用硬件并行的优势,FPGA打破了顺序执行的模式,在每个时钟周期内完成更多的处理任务。(2)上市时间:尽管上市的限制条件越来越多,FPGA技术仍提供了灵活性和快速原型的能力。用户可以测试一个想法或概念,并在硬件中完成验证,而无需经过自定制ASIC设计漫长的制造过程。(3)成本:自定制ASIC设计的非经常性工程(NRE)费用远远超过基于FPGA的硬件解决方案所产生的费用。(4)稳定性:FPGA电路是真正的编程“硬”执行过程对于任何给定的处理器内核,一次只能执行一个指令,且基于处理器的系统时刻面临着严格限时的任务相互取占的风险。 而FPGA不使用操作系统,拥有真正的并行执行和专注于每一项任务的确定

10、性硬件,可减少稳定性方面出现问题的可能。(5)长期维护:FPGA芯片是现场可升级的,无需重新设计ASIC所涉及的时间与费用投入。开发板外观图如图2所示:图23.2 TL5724-DAC模块ADC (Digital analog to converter),即数模转换器,是将时间离散、幅值也离散的数字信号转换为时间连续、幅值也连续的模拟量;精度指标主要有转换精度、转换时间。TL5724是广州创龙基于AD5724开发的快速评估模块,与广州创龙 OMAP-L138/AM1808/TMS320C6748 等开发板配套使用,用于多路 DA 串行输出,在电力行业应用广泛,以下为此模块的特点: (1)12

11、位,4 通道,SPI 串行读取方式,高达 30MHz 刷新速率; (2)板载/外部模拟电源可选; (3)支持单/双电源,供电方式灵活; (4)pin to pin 兼容 AD5734(14 位)、AD5754(16 位); (5)软件可调输出范围:0+5 V、0+10 V、0+10.8 V、5 V、10 V、10.8 V; (6)-40+85,工业级设计,稳定性强,精度高。模块外观图如图3所示:图34 DDS软件设计4.1 DDS驱动代码编程DDS驱动代码如下:module dds #( parameter PHASE_W = 24, parameter DATA_W = 12, parame

12、ter TABLE_AW = 12, parameter MEM_FILE = SineTable.dat)( input PHASE_W - 1 : 0 FreqWord, input PHASE_W - 1 : 0 PhaseShift, input Clock, input ClkEn, output reg signed DATA_W - 1 : 0 Out) ; reg signed DATA_W - 1 : 0 sinTable2 * TABLE_AW - 1 : 0; / Sine table ROM reg PHASE_W - 1 : 0 phase; / Phase Accu

13、mulater wire PHASE_W - 1 : 0 addr = phase + PhaseShift; / Phase Shift initial begin phase = 0; $readmemh(MEM_FILE, sinTable); / Initialize the ROM end always(posedge Clock) begin if(ClkEn) phase = phase + FreqWord; end always(posedge Clock) begin Out = sinTableaddrPHASE_W - 1 : PHASE_W - TABLE_AW; /

14、 Look up the table end endmodule FPGA建模效果图如图4所示:图44.2 Testbench与ISIM仿真timescale 1ns/1psmodule testbench; reg clk; reg 23:0 freq; wire 23:0 phaseShift = 24b0; wire clkEn = 1b1; wire signed 11:0 out; initial begin clk = 1b1; freq = 24h04_0000; #10010 freq = 24h08_0000; #20000 freq = 24h0C_0000; #30000

15、 freq = 24h10_0000; #40000 freq = 24h18_0000; #50000 freq = 24h20_0000; #60000 freq = 24h30_0000; #70000 $stop(); end always begin #10 clk = clk; end DDS dds_inst( .FreqWord(freq), .PhaseShift(phaseShift), .Clock(clk), .ClkEn(clkEn), .Out(out) ;endmodule 仿真波形如图5所示:图54.仿真及下载4.1调试先保存,将上述电路以字母输入方式输入并保存

16、在工程文件夹中。再将文件置顶,最后进行编译,在主菜单 中选择processing项,在弹出的对话框中选择Start complication键,则编译开始。在编译过程中,若有任何信息、错误和警告消息,都将显示在自动打开的Message-Compiler窗口中;若由于文件出错而没有通过,则需要返回原文件进行修改,修改后存盘,再编译直至文件通过。4.2仿真新建一个“Vector Waveform file”文件,并在下拉列表中选.vwf扩展名,生成波形文件。右键单击,在弹出的菜单中选Enter Nodes Frome SNF,在弹出的对话框中选择要观测的节点。选OptionGrid Size和Fi

17、leEnd Time,设置相应选项,并给输入引脚加上适当的信号。然后,选FileSave保存。接着选择主菜单中的Simulator项,打开模拟器,点击Start开始仿真。4.3下载1. 在主菜单Assignments中选择Device项,在弹出的对话框中选择相应的器件EP1C12Q240C8。 2. 在主菜单Assignments 选“Pins”,打开平面布置图编辑器窗口,将设计的电路图中的各输入输出锁定在相应的管脚上。具体管脚号参见课程设计参考资料附录五。 3. 在主菜单选FileSave保存文件,再次编译项目,生成.sof文件,以用于下载。 4. 在主菜单Tools 选Programmer

18、,在弹出的对话框中单击start,即可完成下载。 5. 要注意在实验的不同阶段,系统板上各短路帽、跳线帽的插拔与否。5. 讨论及进一步研究建议本次实验设计所要求的能输出正余弦、三角波、锯齿波、方波四种波形,经过D/A转换之后能在示波器上显示,而且能通过SerialDebug.exe软件人工改变输出波形的频率。讨论进一步建议是本次实验头一次使用veilog hdl语言编写DDS,一星期的学习一种新的语言比较困难,造成在编写DDS运行程序时遇到各种错误,所以建议使用Vhdl语言编写程序,毕竟这学期有学习VHDL这门课,能够更好的理解编写的程序。6.课程设计心得1、 经过近一个星期的课程设计,我们基

19、本掌握了DDS的基本原理及用FPGA实现DDS的方法,学会基本的Verilog HDL语言,熟练掌握了示波器的使用,掌握了用Quartus II进行仿真的方法 。 2、 通过实验我们对DDS产生正弦信号有了较深刻的了解,对信号量化编码有一定理解,对Nyquist抽样定理有了更加直观的理解。 3、 虽然没有亲自设计制作实验板,但是通过对FPGA管脚的配置,了解了一个DDS信号发生器的硬件组成及各部分参数的相互影响。4、 通过实验大大提高了自己的动手能力,对以后的工作有一定的帮助。AbstractThis text mainly studied according to the hard soft

20、ware design of the whole project and the core part that the direct numeral synthesizes a form of machine( the Direct Digital Synthesizer) occurrence machine( the Arbitrary Waveform Generator).At the same time, carried on the theories analysis to the whole function of system.It discussed the DDS basi

21、c concept and theorieseses in the text, on the foundation that the theories study, designed the whole system to complete the project, use complications variable become the logic machine piece( CPLD) completed the main part of DDS of design, among them involved the parts that the software design to a

22、ll carry on to imitate true and elucidation, from complete the function and comprehensive index signs of the electric circuit to see, basic come to a the request of the topic.Keywords:Direct Digital Synthesizer Waveform参考文献1. 潘松,黄继业.EDA技术实用教程:VHDL版.北京科学出版社.2010=3年.2. JBhasker 著;夏宇闻,甘伟 译. Verilog HDL

23、入门(第3版).北京航空航天出版社.2008.附录:源程序:include romtab.vinclude claadd8s.vinclude loadfw.vinclude loadpw.vinclude sinlup.vinclude phasea.vinclude phasemod.vinclude pngen.v/* * * * * Project Name : DDS * * Author : Daniel J. Morelli * Creation Date : 03/04/96 21:51:00 * Version Number : 1.0 * * Revision Histor

24、y : * * Date Initials Modification * * * Description : * * This is the top level of the Direct Digital Synthesizer * * */ module dds(RESETN,/ global resetPNCLK,/ PN generator clockSYSCLK,/ system clockFREQWORD,/ input frequency word from external pinsFWWRN,/ low asserted frequency word write strobeP

25、HASEWORD,/ input phase word from external pinsPWWRN,/ low asserted frequency word write strobeIDATA,/ I axis dataQDATA,/ Q axis dataCOS,/ digital cos outputSIN,/ digital sin outputMCOS,/ modulated digital cos outputMSIN,/ modulated digital sin outputDACCLK,/ DAC clock to signal when to load DDS sin

26、valueDACOUT);/ DAC output of sin wave/ Port typesinput SYSCLK, PNCLK, RESETN, FWWRN, PWWRN;input31:0 FREQWORD;input7:0 PHASEWORD;output DACCLK, COS, SIN, MCOS, MSIN, IDATA, QDATA;output7:0 DACOUT;wire31:0 syncfreq;/synchronous frequency wordwire7:0syncphswd;/synchronous phase wordwire7:0 phase;/ pha

27、se output from phase accumulatorwire7:0modphase;/ modulated phase value after phase mod block/ design architectureassign DACCLK = SYSCLK;/-/ this module is not part of the NCO/ this module is used to generate random data/ to modulate the NCO output/- pngen U_pngen(RESETN,/ global resetPNCLK,/ PN gen

28、erator clockIDATA,/ I axis dataQDATA);/ Q axis data/- loadfw U_loadfw(RESETN,/ global resetSYSCLK,/ system clockFREQWORD,/ input frequency word from external pinsFWWRN,/ low asserted frequency word write strobesyncfreq);/ synchronous frequency word loadpw U_loadpw(RESETN,/ global resetSYSCLK,/ syste

29、m clockPHASEWORD,/ input phase word from external pinsPWWRN,/ low asserted frequency word write strobesyncphswd);/ synchronous phase word phasea U_phasea(SYSCLK,/ system clock inputRESETN,/ global resetsyncfreq,/ synchronous frequency wordCOS,/ digital cos outputSIN,/ digital sin outputphase);/ 8 bi

30、t quantized phase output phasemod U_phasemod (SYSCLK,/ system clock inputRESETN,/ global resetsyncphswd,/ synchronous phase wordphase,/ 8 bit quantized phase valueMCOS,/ modulated digital cos outputMSIN,/ modulated digital sin outputmodphase);/ modulated phase output sinlup U_sinlup (SYSCLK,/ system

31、 clock inputRESETN,/ global resetmodphase,/ modulated phase outputDACOUT);/ DAC output of sin waveEndmodule仿真程序:timescale 1ns/1psmodule testbench; reg clk; reg 23:0 freq; wire 23:0 phaseShift = 24b0; wire clkEn = 1b1; wire signed 11:0 out; initial begin clk = 1b1; freq = 24h04_0000; #10010 freq = 24

32、h08_0000; #20000 freq = 24h0C_0000; #30000 freq = 24h10_0000; #40000 freq = 24h18_0000; #50000 freq = 24h20_0000; #60000 freq = 24h30_0000; #70000 $stop(); end always begin #10 clk = clk; end DDS dds_inst( .FreqWord(freq), .PhaseShift(phaseShift), .Clock(clk), .ClkEn(clkEn), .Out(out) ;endmodule 1.

33、基于C8051F单片机直流电动机反馈控制系统的设计与研究2. 基于单片机的嵌入式Web服务器的研究 3. MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究 4. 基于模糊控制的电阻钎焊单片机温度控制系统的研制 5. 基于MCS-51系列单片机的通用控制模块的研究 6. 基于单片机实现的供暖系统最佳启停自校正(STR)调节器7. 单片机控制的二级倒立摆系统的研究8. 基于增强型51系列单片机的TCP/IP协议栈的实现 9. 基于单片机的蓄电池自动监测系统 10. 基于32位嵌入式单片机系统的图像采集与处理技术的研究11. 基于单片机的作物营

34、养诊断专家系统的研究 12. 基于单片机的交流伺服电机运动控制系统研究与开发 13. 基于单片机的泵管内壁硬度测试仪的研制 14. 基于单片机的自动找平控制系统研究 15. 基于C8051F040单片机的嵌入式系统开发 16. 基于单片机的液压动力系统状态监测仪开发 17. 模糊Smith智能控制方法的研究及其单片机实现 18. 一种基于单片机的轴快流CO,2激光器的手持控制面板的研制 19. 基于双单片机冲床数控系统的研究 20. 基于CYGNAL单片机的在线间歇式浊度仪的研制 21. 基于单片机的喷油泵试验台控制器的研制 22. 基于单片机的软起动器的研究和设计 23. 基于单片机控制的高

35、速快走丝电火花线切割机床短循环走丝方式研究 24. 基于单片机的机电产品控制系统开发 25. 基于PIC单片机的智能手机充电器 26. 基于单片机的实时内核设计及其应用研究 27. 基于单片机的远程抄表系统的设计与研究 28. 基于单片机的烟气二氧化硫浓度检测仪的研制 29. 基于微型光谱仪的单片机系统 30. 单片机系统软件构件开发的技术研究 31. 基于单片机的液体点滴速度自动检测仪的研制32. 基于单片机系统的多功能温度测量仪的研制 33. 基于PIC单片机的电能采集终端的设计和应用 34. 基于单片机的光纤光栅解调仪的研制 35. 气压式线性摩擦焊机单片机控制系统的研制 36. 基于单

36、片机的数字磁通门传感器 37. 基于单片机的旋转变压器-数字转换器的研究 38. 基于单片机的光纤Bragg光栅解调系统的研究 39. 单片机控制的便携式多功能乳腺治疗仪的研制 40. 基于C8051F020单片机的多生理信号检测仪 41. 基于单片机的电机运动控制系统设计 42. Pico专用单片机核的可测性设计研究 43. 基于MCS-51单片机的热量计 44. 基于双单片机的智能遥测微型气象站 45. MCS-51单片机构建机器人的实践研究 46. 基于单片机的轮轨力检测 47. 基于单片机的GPS定位仪的研究与实现 48. 基于单片机的电液伺服控制系统 49. 用于单片机系统的MMC卡

37、文件系统研制 50. 基于单片机的时控和计数系统性能优化的研究 51. 基于单片机和CPLD的粗光栅位移测量系统研究 52. 单片机控制的后备式方波UPS 53. 提升高职学生单片机应用能力的探究 54. 基于单片机控制的自动低频减载装置研究 55. 基于单片机控制的水下焊接电源的研究 56. 基于单片机的多通道数据采集系统 57. 基于uPSD3234单片机的氚表面污染测量仪的研制 58. 基于单片机的红外测油仪的研究 59. 96系列单片机仿真器研究与设计 60. 基于单片机的单晶金刚石刀具刃磨设备的数控改造 61. 基于单片机的温度智能控制系统的设计与实现 62. 基于MSP430单片机

38、的电梯门机控制器的研制 63. 基于单片机的气体测漏仪的研究 64. 基于三菱M16C/6N系列单片机的CAN/USB协议转换器 65. 基于单片机和DSP的变压器油色谱在线监测技术研究 66. 基于单片机的膛壁温度报警系统设计 67. 基于AVR单片机的低压无功补偿控制器的设计 68. 基于单片机船舶电力推进电机监测系统 69. 基于单片机网络的振动信号的采集系统 70. 基于单片机的大容量数据存储技术的应用研究 71. 基于单片机的叠图机研究与教学方法实践 72. 基于单片机嵌入式Web服务器技术的研究及实现 73. 基于AT89S52单片机的通用数据采集系统 74. 基于单片机的多道脉冲幅度分析仪研究 75. 机器人旋转电弧传感角焊缝跟踪单片机控制系统 76. 基于单片机的控制系统在PLC虚拟教学实验中的应用研究77. 基于单片机系统的网络通信研究与应用 78. 基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究79. 基于单片机的模糊控制器在工业电阻炉上的应用研究 80. 基于双单片机冲床数控系统的研究与开发 81. 基于Cygnal单片机的C/OS-的研究82. 基于单

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服