资源描述
直接数字频率合成器(DDS)实验报告课程名称电类综合实验实验名称直接数字频率合成器设计实验日期2015.6.12013.6.4学生专业测试计量技术及仪器学生学号114101002268学生姓名陈静实验室名称基础实验楼237教师姓名花汉兵成绩5摘要直接数字频率合成器(DirectDigitalFrequencySynthesizer简称DDFS或DDS)是一种基于全数字技术,从相位概念出发直接合成所需波形的一种频率合成技术。本篇报告主要介绍设计完成直接数字频率合成器DDS的过程。其输出频率及相位均可控制,且能输出正弦波、余弦波、方波、锯齿波等五种波形,经过转换后在示波器上显示。经控制能够实现保持、清零功能。除此之外,还能同时显示出频率控制字、相位控制字和输出频率的值。实验要求分析整个电路的工作原理,并分别说明了各子模块的设计原理,依据各模块之间的逻辑关系,将各电路整合到一块,形成一个总体电路。本实验在QuartusII环境下进行设计,并下载到SmartSOPC实验系统中进行硬件测试。最终对实验结果进行分析并总结出在实验过程中出现的问题以及提出解决方案。关键词:QuartusII直接数字频率合成器波形频率相位调节AbstractTheDirectDigitalFrequencySynthesizerisatechnologybasedonfullydigitaltechnique,afrequencycombinationtechniquesynthesesarequiredwaveformfromconceptofphase.ThisreportintroducesthedesigntothecompletionoftheprocessofdirectdigitalfrequencysynthesizerDDS.Theoutputfrequencyandphasecanbecontrolled,andcanoutputsine,cosine,trianglewave,squarewave,sawtoothwave,whicharedisplayedontheoscilloscopeafterconversation.Canbeachievedbythecontroltomaintainclearfunction.Furthercansimultaneouslydisplaythevalueofthefrequency,thephasecontrolwordandtheoutputfrequency.TheexperimentaldesignintheQuartusIIenvironment,thelasthardwaretestdownloadtoSmartSOPCexperimentalsystem.Thefinalresultswillbeanalyzed,thematterwillbeputforwardandthesettlingplancanbegivenatlast.Keywords:QuartusIIDirectDigitalFrequencySynthesizerwaveformFrequencyandphaseadjustment目录一、设计内容4二、设计原理42.1 DDS概念42.2 DDS的组成及工作原理4三、设计要求63.1基本要求63.2提高要求6四、设计内容64.1分频电路64.2频率预置与调节电路104.3累加器124.4波形存储器(ROM)134.5测频电路194.6译码显示电路214.7消颤电路224.8总电路23五、电路调试仿真与程序下载24六、示波器波形图25七、实验中遇到的问题及解决方法25八、电路改进26九、实验感想28十、参考文献28一、设计内容设计一个频率及相位均可控制的具有正弦和余弦输出的直接数字频率合成器(DirectDigitalFrequencySynthesizer简称DDFS或DDS)。二、设计原理2.1 DDS概念直接数字频率合成器(DirectDigitalFrequencySynthesizer简称DDFS或DDS)是一种基于全数字技术,从相位概念出发直接合成所需波形的一种频率合成技术。2.2 DDS的组成及工作原理DDS的基本组成结构如下图2-1所示,其主要由频率预置与调节电路、累加器、波性存储器(如正弦波数据表等)、D/A转换器及低通滤波器等几部分组成。fc图2-1DDS整体电路工作原理图其中相位累加器由N位加法器和N位寄存器构成。每来一个时钟clock,加法器就将频率控制字f与累加寄存器输出的累加相位数据相加,相加的结果又反馈送至累加寄control存器的数据输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位累加。由此可以看出,相位累加器在每一个时钟脉冲输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位,相位累加器的溢出频率就是DDS输出的信号频率。用相位累加器输出的数据作为波形存储器的相位取样地址,这样就可把存储在波形存储器内的波形抽样值(二进制编码)经查找表查出,完成相位到幅值转换。波形存储器的输出送到D/A转换器,由D/A转换器将数字信号转换成模拟信号输出,DDS信号波流程示意图如图2-2所示。图2-2DDS工作流程示意图由于相位累加器为N位,相当于把正弦信号在相位上的精度定为N位,所以分辨率1为一。若系统时钟频率为f,频率控制字f为1,则输出频率为2Nccontrolout2N这个频率相当于“基频”若f为K,则输出频率为:controloutc2N当系统输入时钟频率f不变时,输出信号的频率由频率控制字K所决定。由上式可c得:2NfK=fc其中,K为频率字,注意K要取整,有时会有误差。选取ROM的地址时,可以间隔选项,相位寄存器输出的位数D般取10-16位,这种截取方法称为截断式用法,以减少ROM的容量。D太大会导致ROM容量的成倍上升,而输出精度受D/A位数的限制未有很大改善。图2-3组装模块后的整体工作原理图直接数字频率合成器(DDS)实验报告三、设计要求3.1基本要求(1) 用QuartusII软件和SmartSOPC实验箱实现DDS的设计;(2) DDS中的波形存储器模块用Altera公司的Cyclone系列FPGA芯片中的ROM实现,ROM结构配置成4096X10类型;(3) 具体参数要求:频率控制字K取4位;基准频率fc=lMHz,由实验板上的系统时钟分频得到;(4) 系统具有清零和使能的功能;(5) 利用实验箱上的D/A转换器件将ROM输出的数字信号转换为模拟信号,能够通过示波器观察到正弦波形;(6) 通过开关(实验箱上的Ki)输入DDS的频率和相位控制字,并能用示波器观察加以验证。3.2提高要求(1) 通过按键(实验箱上的Si)输入DDS的频率和相位控制字,以扩大频率控制和相位控制的范围;(注意:按键后有消颤电路)(2) 能够同时输出正余弦两路正交信号;(3) 在数码管上显示生成的波形频率;(4) 充分考虑ROM结构及正弦函数的特点,进行合理的配置,提高计算精度;(5) 设计能输出多种波形(三角波、锯齿波、方波等)的多功能波形发生器;(6) 基于DDS的AM调制器的设计;(7) 自己添加其他功能。四、设计内容4.1分频电路硬件电路的内部时钟为48MHz,使用前必须将它分配至我们需要的0.5Hz、1Hz、2Hz、1KHz和1MHz。分频电路由多个计数器组合而成,主要是由2分频/3分频/10分频这三种基本分频电路以不同形式组合构成。各子分频的输出最好取计数器输出的最高位,这样分出的频率脉冲占空比较大。下图为总分频电路流程图:图4T总分频电路流程图4.1.1二分频电路二分频电路由一个D触发器及一个非门实现,通过将D触发器的Q和Q相连,在Q端即得到一连串的二分频信号,实验电路图及封装图如下:图4-2二分频电路图drv2div2(i图4-3二分频电路封装图其仿真波形为:图4-4二分频电路的仿真波形4.1.2三分频电路三分频电路通过74160用置数法实现,其输出端QQQQ按照0000t0001t0010DCBA的方式循环计数就可以对其输入的脉冲进行三分频,输出信号由0引出。其电路图及封B装图如下图所示:hslLDNABCL40QBDQCENTQDENPRCOCLRNCLKCOUNTER-护:.:.:.:.:.:.:.:3ivd2-CIVd图4-5三分频电路图图4-6三分频电路封装图其仿真波形为:IT:iiTieV:ilueat15.93ns畛0div3iA1a1div3oA03ps15.925nsJ40.0ns80.0ns120.0ns160.0ns200.0ns240.0ns280.0ns320.0nsr图4-7三分频电路的仿真波形4.1.3八分频电路八分频电路实际上就是三个二分频电路相串联而成,其电路图及封装图如下图所示:30图4-8八分频电路图divSinst图4-9八分频电路封装图15.93ns0div8iA1妙11100A1其仿真波形为:ps80.0ns160.0ns240.0ns320.0ils400.0ns480.0ils560.0ns640.0ns720.0ils800.0ns880.0ils960.0njiiiiiiiiiiii15.925ns1i1I11J图4-10八分频电路的仿真波形4.1.4十分频电路十分频点路由一片74163和一个与非门得到,在1100时置数0011,计数器循环方式如下所示:0000T0001T0010T0011T0100T0101T0110T0111TJ1100J1011J1010J1001J1000图4-11十分频电路计数循环图取最高位Q4为计数器的输出端内部结构及其封装图如下图所示:.芒打尹芒打芒0尹芒打/芒打尹住.div10idivlQidivlOoi纟Ifinst羞图4-12十分频电路图图4-13十分频电路封装图其仿真波形为:Jps80.0ns160.0ns240.0he320.0ns400.0ns480.0he560.0ns640.0ns720.0he800.0ns880.0ns960.0fiiiiiiiiiiiiN:aroe0ps3ps.0iA0.匚1口A0iiiiiii1iiiiiiiitiiiiiiiitiiiii1iiiiiiIIIIII1111111iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii图4-14十分频电路的仿真波形从波形仿真图可以看出,10个脉冲信号为一个周期,且高低电平之比为1:1,符合要求。4.1.5千分频电路1000分配电路实际上是三个10分频电路相串联得到的。其波形图及封装图如下图:图4-151000分频电路图divKlOOidiv1QQOdirtst图4-161000分频电路封装图其仿真波形为:101djqrlOOOi图4-171000分频电路的仿真波形4.1.6总分频电路总分频电路图及封装图如图所示:图4-18总分频电路图图4-19总分频电路封装图4.2频率预置与调节电路频率预置与调节电路的主要作用是实现频率控制量的输入,不变量K为相位增量,Kf也叫频率控制字。DDS的输出频率表达式为f=-厶,当K=1时,DDS输出最低频率out2N(也即频率分辨率)为f,而DDS的最高输出频率由Nyquist采样定理决定,即f,也就是说K的最大值为2N-1。设计频率调节模块时,采用74160设计模32计数器来产生频率控制字,1Hz信号输入让其变化,目的是为了使输出频率的调节范围更大一些。该模块为了节省开关以后续可控制波形选择输出,设有清零保持端,由开关控制,以便计数到需要值时保持或清零。输出为8位BCD码,高四位是十位,低四位是个位。此时要在计数器后接一个码转换电路,将BCD码转换为二进制码,再输入累加器进行累加。同样的可以设计出相位调节模块。需要注意的是,这里的加法器是12位的,因此要将频率控制字作为12位地址的低7位输出,高5位赋值为0,这样可以使频率调节的精度更高。而相位控制字要作为12位地址的高7位输出,低5位赋值为0,这样可以使相位调节幅度变大。最好让相位增量和相位控制字通过寄存器,时钟为1MHz的系统时钟,使得电路同步工作。模32电路图、BCD码至二进制码的转换电路图以及频率相位同步图如下所示:图4-20模32计数器电路图W二I、洱T-.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.-.v.v.v.v.v.v.v.v.v.-.v.v.vJ.vTivTI.v.v.-.v-.殴s跑、J-f-|L.ABC4DY5EYEGNY7874184;GD:泊BCD-BINARYibint.iY1ABy.CY4DYSEY&GNY7YSr:2:.x74184mt-BCD-BINARY订聽!盒图4-21BCD码至二进制码的转换电路图1D1Q2D2Q2D3Q4D4Q5D5Q6DSQCLRNCLK74174REGISTER1D1Q2D2Q3D3Q4D4Q5DSQ6D&QCLRNCLK74174instiREGISTER君二Q二bine.O(110:Imlu:|、比匹=图4-22频率相位同步图其封装图如图所示:图4-23频率相位封装图图4-24累加器流程图4.3累加器相位累加器由12位加法器与12位寄存器级联构成,如下图所示。fc每来一个时钟脉冲,加法器就将频率控制字K与累加寄存器输出的累加相位数据相加,相加的结果又反馈送至累加寄存器的数据输入端,寄存器将加法器的上一个时钟作用后所产生的相位数据反馈至加法器的输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位累加。当相位累加器累加满量时就会产生一次溢出,完成一个周期性的动作。累加器电路图及封装图如下图所示:岂074174IDIQ2D2Q3D3Q4D4Q5D5Q6D6QCLRNCLK7s4*4心hnet3”REGISTER,y61s6lyijvs7.P-XA三二y3.V-s9/K-A=::-:J-.1mhz.-.74174ID1Q2D2Q3D3Q4D4Q5D5Q6D6QCLRNCLK.:-+:-*;-期IQ204QinstSREGISTERihz觸f“.K=emihz二ra3.0ifb3.0ifdl3.O何1记2rdO|图4-36测频电路图elks&mihz呵3.匚.seraihc.cepindianluinst4图4-37测频电路封装图4.6译码显示电路4.6.1译码显示电路原理DIGO图4-38译码显示电路原理图DIG1DIG2DIG3DIG4DIGS显示电路主要由数据选择器74151、译码器74138、计数器、显示译码器7447和数码显示管组成,计数器74161设计为模8的循环计数器,其输出既作为四片74151的控制端,又作为3-8译码器74138的控制端。当计数器计数到某一个数值时,四片74151同时选取对应位的输入组成计时器某一位的BCD编码,接入显示译码器7447,与此同时根据计数器的数值,74138译码器也通过数码管的使能端选择对应位有效,从而在实验箱上显示数据。扫描的频率为1KHz,因为人眼的视觉停留,会感觉七个数码管同时显示。4.6.2译码显示电路图74161741617416174151O0wpipfpWABCDOD1D2D3D4D5D6D7YWNMULTIPLEXER74160fWIDOOhz.T-.i*汽二!xphi!XpM111Xfblj;=X二;::.ABCDOD1D2D3D4D5D6D7GNYWNF-.Xil2fh2Wfb2.gnd.ABCDOD1D2D3D4D5D6D7GNYWNinst2MULTIPLEXERb-Xil3:込血3:W:lb3:Id3渦ABCDOD1D2D3D4D5D6D7GNYWNph30:型3.0圖MULTIPLEXERfd3.OI6XHZ,czz3-LDNABQACQBDQCENTQDENPRCOCLRNCLK:iiet.10countcr3.b74138YONAY1NBY2NICY3NG1Y4NG2ANY5NG2BNY6NY7NI1113:5DECODER递;:T::_t$:2:::注:-3::-:777::TTT::-讯y27447AOABOBCOCDODLTNOERBINOFBINOGRBOMTBCDTO7SEG::图4-39译码显示电路图digp.-O.图4-40译码显示电路封装图4.7消颤电路消颤开关由D触发器构成,利用D触发器锁存开关的动作信号,并且屏蔽抖动。消颤电路如下所示:图4-41消颤电路图ko5.Dl.X.Ikhz.:Xki5.菲.二图8-1取反电路图LPM_ROM1空间里存放着的是四分之一周期的数据地址及其对应着的数值,sinll9.O代表着的是第一个1/4周期的波形数值;sin229.O代表着的是第二个1/4周期的波形数值,其先进行了地址取反;sin339.O代表着的是第三个1/4周期的波形数值,其进行了数值取反的操作;sin449.O代表着的是第四个1/4周期的波形数值,其不仅地址取反而且数值也取反了。将四个1/4周期的修改后的sin波形作为LPM_ROM的输入,ksine1.O作为选择并输出,最终输出的sin9.O为四段组合后的正弦波形。!ipmornV?:inst!address9.Oclockq9lpmi_muxOqufandianlu:q9.()1:!;X.Ji9-0o9.0Ipmom1Iaddress9.O小jBr229.ejcluckc-01x-xx-xsine449.O.:sire22j.O;.:data3用9.Hdat自2x【9.Hdata.1x【9.(Hdata(M9.(Hinst!iirtst12:irtstS图8-2四片ROM存储电路九、实验感想本科三年级的时候我们专业学过可编程逻辑器件这门课,当时对这门课很感兴趣,初次接触QuartusII软件,发现这个软件和MAXPlusII软件有很多相似之处。在第一节课上,花汉兵老师花了很多时间给我们讲解了QuartusII软件的使用,还布置了本周实验的内容及要求,在一个星期的操作、检查和修改中,我渐渐熟悉了对QuartusI软件的使用方法,也逐渐掌握了直接数字频率合成器设计的原理和思路。这次实验是我第一次独立完成可编程逻辑器件的使用,个人觉得实验中用原理图来实现整个方案而不是用VHDL语言,可以更容易理解可编程逻辑器件的工作原理。虽然大部分开发设计工作都是使用VHDL语言,但是原理图设计的学习却是不可缺少的一部分。相比TI公司的MSP430系列,虽然可以很容易地用它来实现所需要的功能,但是却不知道其内部是如何工作的。这次实验不仅仅是自己对本科所学数电知识的一次回顾,更是将所学的知识运用到实际当中去的一次实践。在开始设计分频器的初期,我就复习了例如D触发器、74160等元器件的功能和作用,回顾了二分频电路和三分频电路;在计数器设计部分,自己又回顾了同步计数和异步计数的差异,学会用已学器件设计不同模的计数器。这次实验让我对QuartusI软件的使用更加熟练,让我巩固了数电的相关知识,更重要的是通过这一个多星期的学习、实验,我在一次次失败中总结了教训,学会了分析和解决问题,培养了分析和动手能力,让我在以后遇到其他问题时也能通过自己的努力找到答案。希望以后能有更多这种动手实验的机会,能真正将知识与实践相结合,在实践中不断培养自己的能力。十、参考文献1 蒋立平,姜萍,谭雪琴,花汉兵数字逻辑电路与系统设计北京电子工业出版社2008.2 EDA设计实验指导书南京理工大学电子技术中心2008.3 蒋立平数字电路南京理工大学出版社.4 周立功EDA实验与实践北京:北京航空航天大学
展开阅读全文