EDA课程设计报告-DDS直接数字合成器设计_第1页
EDA课程设计报告-DDS直接数字合成器设计_第2页
EDA课程设计报告-DDS直接数字合成器设计_第3页
EDA课程设计报告-DDS直接数字合成器设计_第4页
EDA课程设计报告-DDS直接数字合成器设计_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

PAGEPAGE7EDA课程设计报告DDS直接数字合成器设计姓名:班级:学号:指导老师:日期:华南农业大学电子工程学院电子信息工程系摘要本文主要研究了基于直接数字合成器(DirectDigitalSynthesizer)技术的波形发生器(ArbitraryWaveformGenerator)的整体方案和核心部分的硬软件设计。同时,对整个系统的性能进行了理论分析。文中讨论了DDS的基本概念和理论,在理论研究的基础上,设计了整个系统的完成方案,用复杂可变成逻辑器件(CPLD)完成了DDS主要部分的设计,其中涉及到软件设计的部分都进行了仿真和说明,从完成电路的性能和综合指标看,基本达到了课题的要求。关键字:直接数字合成波形发生器目录1方案比较与选择 21.1方案选择 21.2方案比较 22DDS原理 22.1DDS基本结构 22.1DDS工作原理 33DDS硬件设计 53.1创龙FPGA开发板 5 3.2TL5724-DAC模块 54DDS软件设计 64.1DDS驱动代码编程 64.2Testbench与ISIM仿真 75仿真及下载 75.1调试 75.2仿真 75.3下载 76讨论及进一步研究建议 87课程设计心得 9Abstract 10参考文献 10附录 111.方案比较与选择1.1方案选择(1)CPLD,FPGA实现。(2)采用分立IC电路系统实现,一般有CPU,RAM,ROM,D/A,CPLD,模拟滤波器等组成。(3)采用高性能DDS单片电路的解决方案。1.2方案比较因为本次实验要求是:(1)实现锯齿波、正弦波、方波的输出。(2)实现频率可调,如调节频率倍数10。(3)用VerilogHDL语言对此DDS发生器进行建模。(4)用XilinxISE14.7开发套件进行仿真测试。基于广州创龙公司提供的FPGA开发板,我们选择使用上述方案一。2.DDS原理2.1DDS基本结构直接合成法是用一个或多个石英晶体振荡器的振荡频率作为基准频率,由这些基准频率产生一系列的谐波,这些谐波具有与石英晶体振荡器同样的频率稳定度和准确度;然后,从这一系列的谐波中取出两个或两个以上的频率进行组合,得出这些频率的和或差,经过适当方式处理(如经过滤波)后,获得所需要的频率。DDS是直接数字式频率合成器(DirectDigitalSynthesizer)的英文缩写。直接数字式频率合成器(DDS)是从相位概念出发直接合成所需波形的一种新的频率合成技术,由相位累加器、波形ROM、D/A转换器和低通滤波器构成。时钟频率给定后,输出信号的频率取决于频率控制字,频率分辨率取决于累加器位数,相位分辨率取决于ROM的地址线位数,幅度量化噪声取决于ROM的数据位字长和D/A转换器位数。结构框图如图1所示。图12.2DDS工作原理 DDS的基本原理是利用采样定理,通过查表法产生波形[1]。由于, (2-1) 其中Δθ为一个采样间隔T之间的相位增量,采样周期,即:(2-2) 控制Δθ就可以控制不同的频率输出。Δθ是由频率控制字M控制的,即: (2-3)所以改变M就可以得到不同的输出频率。该DDS系统的核心是相位累加器,它由一个N位加法器和一个N位相位寄存器级联构成。它的作用是在基准时钟源的作用下进行线性累加,当产生溢出时便完成一个周期,即DDS的一个频率周期。加法器将频率控制字M与累加寄存器输出的累加相位数据相加,把相加后的结果送至累加寄存器的数据输入端。累加寄存器将加法器在上一个时钟脉冲作用后所产生的新相位数据反馈到加法器的输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位累加。由此,可以看出,相位累加器在每一个时钟脉冲输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位,相位累加器的溢出频率就是DDS输出的信号频率。用相位累加器输出的数据作为波形存储器(ROM)的相位取样地址,然后输入到正弦查询表地址上。正弦查询表包含一个周期正弦波的数字幅度信息,每个地址对应正弦波中的0~360°范围的一个相位点。查询表把输入的地址相位信息映射成正弦波幅度的数字量信号,驱动DAC,输出模拟量。相位寄存器每经过2N/M(其中N是相位累加器的字长,对于AD9834芯片,N=28)个fc时钟后基本回到初始状态,相应地正弦查询表经过一个循环也基本回到初始位置,于是整个DDS系统输出一个正弦波周期。在图2-1中,相位累加器输出位并不全部加到查询表,而是只截取高12位。相位截断减小了查询表长度,但并不影响频率分辨率,对最终输出仅增加一个很小的相位噪声。DAC分辨率一般比查询表长度还要小2~4位。图中的参考时钟是一个稳定的晶体振荡器,用来同步整个合成器的各个组成部分,AD9834用的是50MHz的石英晶体振荡器。D/A变换器把数字量变成模拟量,正弦幅度量化序列S(n)经D/A转换后变成了包络为正弦波的阶梯波S(t),D/A转换器的分辨率越高,合成的正弦波S(t)台阶数就越多,输出的波形的精度也就越高。低通滤波器滤除高次谐波和杂散信号,得到所需的信号波形。 DDS的输出频率fout和参考时钟fc、相位累加器长度N以及频率控制字M的关系为:(2-4)DDS的频率分辨率为:(2-5)由于DDS的输出最大频率受奈奎斯特抽样定理限制,为了保证信号的输出质量,输出频率不要高于时钟频率的33%,以避免混叠或谐波落入有用输出频带内。所以,一般取[2]。3.DDS硬件设计3.1创龙FPGA开发板 本设计的硬件开发板采用广州创龙电子科技有限公司的FPGA开发板,选择使用FPGA的原因有以下几点: (1)性能:利用硬件并行的优势,FPGA打破了顺序执行的模式,在每个时钟周期内完成更多的处理任务。 (2)上市时间:尽管上市的限制条件越来越多,FPGA技术仍提供了灵活性和快速原型的能力。用户可以测试一个想法或概念,并在硬件中完成验证,而无需经过自定制ASIC设计漫长的制造过程。 (3)成本:自定制ASIC设计的非经常性工程(NRE)费用远远超过基于FPGA的硬件解决方案所产生的费用。 (4)稳定性:FPGA电路是真正的编程“硬”执行过程对于任何给定的处理器内核,一次只能执行一个指令,且基于处理器的系统时刻面临着严格限时的任务相互取占的风险。而FPGA不使用操作系统,拥有真正的并行执行和专注于每一项任务的确定性硬件,可减少稳定性方面出现问题的可能。 (5)长期维护:FPGA芯片是现场可升级的,无需重新设计ASIC所涉及的时间与费用投入。 开发板外观图如图2所示:图23.2TL5724-DAC模块 ADC(Digitalanalogtoconverter),即数模转换器,是将时间离散、幅值也离散的数字信号转换为时间连续、幅值也连续的模拟量;精度指标主要有转换精度、转换时间。 TL5724是广州创龙基于AD5724开发的快速评估模块,与广州创龙OMAP-L138/AM1808/TMS320C6748等开发板配套使用,用于多路DA串行输出,在电力行业应用广泛,以下为此模块的特点:(1)12位,4通道,SPI串行读取方式,高达30MHz刷新速率;(2)板载/外部模拟电源可选;(3)支持单/双电源,供电方式灵活;(4)pintopin兼容AD5734(14位)、AD5754(16位);(5)软件可调输出范围:0~+5V、0~+10V、0~+10.8V、±5V、±10V、±10.8V;(6)-40℃~+85℃,工业级设计,稳定性强,精度高。模块外观图如图3所示:图34DDS软件设计4.1DDS驱动代码编程 DDS驱动代码如下:moduledds#(parameterPHASE_W=24,parameterDATA_W=12,parameterTABLE_AW=12,parameterMEM_FILE="SineTable.dat")(input[PHASE_W-1:0]FreqWord,input[PHASE_W-1:0]PhaseShift,inputClock,inputClkEn,outputregsigned[DATA_W-1:0]Out);regsigned[DATA_W-1:0]sinTable[2**TABLE_AW-1:0];//SinetableROMreg[PHASE_W-1:0]phase;//PhaseAccumulaterwire[PHASE_W-1:0]addr=phase+PhaseShift;//PhaseShiftinitialbeginphase=0;$readmemh(MEM_FILE,sinTable);//InitializetheROMendalways@(posedgeClock)beginif(ClkEn)phase<=phase+FreqWord;endalways@(posedgeClock)beginOut<=sinTable[addr[PHASE_W-1:PHASE_W-TABLE_AW]];//Lookupthetableendendmodule FPGA建模效果图如图4所示:图44.2Testbench与ISIM仿真timescale1ns/1psmoduletestbench;regclk;reg[23:0]freq;wire[23:0]phaseShift=24'b0;wireclkEn=1'b1;wiresigned[11:0]out;initialbeginclk=1'b1;freq=24'h04_0000;#10010freq=24'h08_0000;#20000freq=24'h0C_0000;#30000freq=24'h10_0000;#40000freq=24'h18_0000;#50000freq=24'h20_0000;#60000freq=24'h30_0000;#70000$stop();endalwaysbegin#10clk=~clk;endDDSdds_inst(.FreqWord(freq),.PhaseShift(phaseShift),.Clock(clk),.ClkEn(clkEn),.Out(out));endmodule仿真波形如图5所示:图54.仿真及下载4.1调试 先保存,将上述电路以字母输入方式输入并保存在工程文件夹中。再将文件置顶,最后进行编译,在主菜单中选择processing项,在弹出的对话框中选择Startcomplication键,则编译开始。在编译过程中,若有任何信息、错误和警告消息,都将显示在自动打开的Message-Compiler窗口中;若由于文件出错而没有通过,则需要返回原文件进行修改,修改后存盘,再编译直至文件通过。4.2仿真 新建一个“VectorWaveformfile”文件,并在下拉列表中选.vwf扩展名,生成波形文件。右键单击,在弹出的菜单中选EnterNodesFromeSNF,在弹出的对话框中选择要观测的节点。选Option\GridSize和File\EndTime,设置相应选项,并给输入引脚加上适当的信号。然后,选File\Save保存。接着选择主菜单中的Simulator项,打开模拟器,点击Start开始仿真。4.3下载1.在主菜单Assignments中选择Device项,在弹出的对话框中选择相应的器件EP1C12Q240C8。2.在主菜单Assignments选“Pins”,打开平面布置图编辑器窗口,将设计的电路图中的各输入输出锁定在相应的管脚上。具体管脚号参见《课程设计参考资料》附录五。3.在主菜单选File\Save保存文件,再次编译项目,生成.sof文件,以用于下载。4.在主菜单Tools选Programmer,在弹出的对话框中单击start,即可完成下载。5.要注意在实验的不同阶段,系统板上各短路帽、跳线帽的插拔与否。5.讨论及进一步研究建议本次实验设计所要求的能输出正余弦、三角波、锯齿波、方波四种波形,经过D/A转换之后能在示波器上显示,而且能通过SerialDebug.exe软件人工改变输出波形的频率。讨论进一步建议是本次实验头一次使用veiloghdl语言编写DDS,一星期的学习一种新的语言比较困难,造成在编写DDS运行程序时遇到各种错误,所以建议使用Vhdl语言编写程序,毕竟这学期有学习VHDL这门课,能够更好的理解编写的程序。6.课程设计心得1、经过近一个星期的课程设计,我们基本掌握了DDS的基本原理及用FPGA实现DDS的方法,学会基本的VerilogHDL语言,熟练掌握了示波器的使用,掌握了用QuartusII进行仿真的方法。2、通过实验我们对DDS产生正弦信号有了较深刻的了解,对信号量化编码有一定理解,对Nyquist抽样定理有了更加直观的理解。3、虽然没有亲自设计制作实验板,但是通过对FPGA管脚的配置,了解了一个DDS信号发生器的硬件组成及各部分参数的相互影响。4、通过实验大大提高了自己的动手能力,对以后的工作有一定的帮助。Abstract Thistextmainlystudiedaccordingtothehardsoftwaredesignofthewholeprojectandthecorepartthatthedirectnumeralsynthesizesaformofmachine(theDirectDigitalSynthesizer)occurrencemachine(theArbitraryWaveformGenerator).Atthesametime,carriedonthetheoriesanalysistothewholefunctionofsystem. ItdiscussedtheDDSbasicconceptandtheoriesesesinthetext,onthefoundationthatthetheoriesstudy,designedthewholesystemtocompletetheproject,usecomplicationsvariablebecomethelogicmachinepiece(CPLD)completedthemainpartofDDSofdesign,amongtheminvolvedthepartsthatthesoftwaredesigntoallcarryontoimitatetrueandelucidation,fromcompletethefunctionandcomprehensiveindexsignsoftheelectriccircuittosee,basiccometoatherequestofthetopic.Keywords:DirectDigitalSynthesizerWaveform参考文献[1].潘松,黄继业.EDA技术实用教程:VHDL版.北京科学出版社.2010=3年.[2].J.Bhasker著;夏宇闻,甘伟译.VerilogHDL入门(第3版).北京航空航天出版社.2008.附录:源程序:`include"romtab.v"`include"claadd8s.v"`include"loadfw.v"`include"loadpw.v"`include"sinlup.v"`include"phasea.v"`include"phasemod.v"`include"pngen.v"/*****************************************************************************************************************************************************************ProjectName:DDS****Author:DanielJ.Morelli**CreationDate:03/04/9621:51:00**VersionNumber:1.0****RevisionHistory:****DateInitialsModification******Description:****ThisisthetopleveloftheDirectDigitalSynthesizer***********************************************************************************/moduledds( RESETN, //globalreset PNCLK, //PNgeneratorclock SYSCLK, //systemclock FREQWORD, //inputfrequencywordfromexternalpins FWWRN, //lowassertedfrequencywordwritestrobe PHASEWORD, //inputphasewordfromexternalpins PWWRN, //lowassertedfrequencywordwritestrobe IDATA, //Iaxisdata QDATA, //Qaxisdata COS, //digitalcosoutput SIN, //digitalsinoutput MCOS, //modulateddigitalcosoutput MSIN, //modulateddigitalsinoutput DACCLK, //DACclocktosignalwhentoloadDDSsinvalue DACOUT); //DACoutputofsinwave//PorttypesinputSYSCLK,PNCLK,RESETN,FWWRN,PWWRN;input[31:0]FREQWORD;input[7:0]PHASEWORD;outputDACCLK,COS,SIN,MCOS,MSIN,IDATA,QDATA;output[7:0]DACOUT;wire[31:0] syncfreq; //synchronousfrequencywordwire[7:0] syncphswd; //synchronousphasewordwire[7:0] phase; //phaseoutputfromphaseaccumulatorwire[7:0] modphase; //modulatedphasevalueafterphasemodblock//designarchitecture assignDACCLK=SYSCLK;////thismoduleisnotpartoftheNCO//thismoduleisusedtogeneraterandomdata//tomodulatetheNCOoutput//pngenU_pngen( RESETN, //globalreset PNCLK, //PNgeneratorclock IDATA, //Iaxisdata QDATA); //Qaxisdata//loadfwU_loadfw( RESETN, //globalreset SYSCLK, //systemclock FREQWORD, //inputfrequencywordfromexternalpins FWWRN, //lowassertedfrequencywordwritestrobe syncfreq); //synchronousfrequencywordloadpwU_loadpw( RESETN, //globalreset SYSCLK, //systemclock PHASEWORD, //inputphasewordfromexternalpins PWWRN, //lowassertedfrequencywordwritestrobe syncphswd); //synchronousphasewordphaseaU_phasea( SYSCLK, //systemclockinput RESETN, //globalreset syncfreq, //synchronousfrequencyword COS, //digitalcosoutput SIN, //digitalsinoutput phase); //8bitquantizedphaseoutputphasemodU_phasemod( SYSCLK, //systemclockinput RESETN, //globalreset syncphswd, //synchronousphaseword phase, //8bitquantizedphasevalue MCOS, //modulateddigitalcosoutput MSIN, //modulateddigitalsinoutput modphase); //modulatedphaseoutputsinlupU_sinlup( SYSCLK, //systemclockinput RESETN, //globalreset modphase, //modulatedphaseoutput DACOUT); //DACoutputofsinwaveEndmodule仿真程序:timescale1ns/1psmoduletestbench;regclk;reg[23:0]freq;wire[23:0]phaseShift=24'b0;wireclkEn=1'b1;wiresigned[11:0]out;initialbeginclk=1'b1;freq=24'h04_0000;#10010freq=24'h08_0000;#20000freq=24'h0C_0000;#30000freq=24'h10_0000;#40000freq=24'h18_0000;#50000freq=24'h20_0000;#60000freq=24'h30_0000;#70000$stop();endalwaysbegin#10clk=~clk;endDDSdds_inst(.FreqWord(freq),.PhaseShift(phaseShift),.Clock(clk),.ClkEn(clkEn),.Out(out));endmodule基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究基于单片机的模糊控制器在工业电阻炉上的应用研究基于双单片机冲床数控系统的研究与开发基于Cygnal单片机的μC/OS-Ⅱ的研究基于单片机的一体化智能差示扫描量热仪系统研究基于TCP/IP协议的单片机与Internet互联的研究与实现变频调速液压电梯单片机控制器的研究基于单片机γ-免疫计数器自动换样功能的研究与实现基于单片机的倒立摆控制系统设计与实现单片机嵌入式以太网防盗报警系统HYPERLINK"/det

温馨提示

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

评论

0/150

提交评论