DDS正弦信号发生器设计报告_第1页
DDS正弦信号发生器设计报告_第2页
DDS正弦信号发生器设计报告_第3页
DDS正弦信号发生器设计报告_第4页
DDS正弦信号发生器设计报告_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

基于DDS的正弦信号发生器设计报告院系:电子工程系专业:电子信息工程班级:姓名:1.DDS信号发生器原理对于正弦信号发生器,它的输出可以用下式来描述:其中,Sout是指该信号发生器的输出信号波形,fout只输出信号对应的频率。上式的表述对于时间t是连续的,为了用数字逻辑实现该表达式,必须进行离散化处理,用基准时钟clk进行抽样,令正弦信号的的相位θ为在一个clk周期Tclk,相位θ的变化量为其中fclk指clk的频率对于2π可以理解为“满”相位,为了对Δθ进行数字量化,把2π切割成2N,用词每个clk周期的相位增量Δθ用量化值BΔθ来描述:BΔθ=(Δθ·2N)/2π,且BΔθ为整数与上式联立可得:显然,信号发生器可以描述其中θk-1指前一个clk周期的相位值,同样得出由以上推倒可以得出,只要对相位的量化值进行简单的累加运算,就可以得到正弦信号的当前相位值,而用于累加的香味增量量化值BΔθ决定了信号的输出频率fout并呈现简单的线性关系。直接数字合成器DDS就是根据以上原理而设计的数控频率合成器,下图为其基本DDS结构,主要有相位累加器、相位调制器、正弦ROM查找表构成图中的相位累加器、相位调制器、正弦ROM查找表是DDS结构中的数字部分,图12.基于DDS的正弦信号发生器设计实现根据设计原理框图分别设计出加法器、寄存器、正弦波ROM。2.1.1.32位加法器ADDER32设计在原理图文件文件下在空白处双击,单击“MegaWizardPlug-InManager”选择第一项图2选择器件为cyclone,语言方式为VerilogHDL。在算数项Arithmetic中选择计数器LPM_ADD_SUB.存于所建工程文件夹下命名为ADDER32.单击NEXT,进入以后对话框后选择32位加法器工作模式选择有一位加法进位输出,选择有符号加法方式,选择2级流水线工作模式,此时该加法器变为有时序电路的模块,最后至finish按钮,编辑完成。如图3所示图32.1.2.32位寄存器DFF32设计寄存器DFF32由LMP_FF宏模块担任,生成方法同ADDER32相同,设置位数为32位,且为时序控制模块。最终生成后如图4所示图4DFF32与ADDER32构成一个32位累加器其高十位A[31..22]为波形数据ROM的地址2.1.3.正弦波ROM设计1.首先通过mif文件来产生正弦波注意:在生成正弦波的时候要注意与sin中的数据一致。即位DEPTH=1024;WIDTH=10;这样才能保证在最后的输出中能够有完整的正弦波图形输出。图5存盘并命名为sin.mif2.LPM_ROM的订制:按ADDER32的产生方法来产生LMP_ROM,在宏模块选择中选“MemoryComplier”中“ROM:1-PORT”项图6依次设定地址线与数据线的位宽均为十位,最后产生LMP_ROM,如下图所示:v图72.2DDS信号发生器原理图图8原理图共分为三大部分:相位累加器,相位调制器,正弦ROM查找表。相位累加器相位累加器是DDS的核心,完成相位累加的过程其输入可以称为频率字输入在输入时增加一个寄存器可以使频率字改变时不会干扰相位累加器的正常工作2.相位调制器相位调制器接受相位累加器的相位输出,加上一个相位偏移值,可用于信号的相位调制。加一个寄存器可用于信号的同步保持。如图10所示3.正弦ROM查找表正弦ROM的输入是相位调制器的输出,即ROM的地址值,输出送往DAC转化为模拟信号。2.3硬件调试结果及分析调试、仿真成功后进行硬件调试阶段,在“Assignment”菜单下选择“Device”项进行器件选择Cyclone中的EP1C12Q240C8器件,在“Assignment”菜单下选择”pins”项,进行管脚锁定。B0——1B1——2B2——3B3——4B4——6B5——7B6——8B7——12CLK——28DAC2——217DAC3——219DAC4——223DAC5——225DAC6——226DAC7——224DAC8——222DAC9——218管脚锁定后再次进行编译,成功后选择“tools”菜单下“programmer”项进行下载。用示波器进行波形观察。利用键1、键2来改变输入B[17..0]的频率的大小。当改变频率字时波形变化如图16所示图16硬件调试结果分析:该调试的结果满足了实验的要求,验证了DDS信号发生器的功能,即能够调节频率与相位。实验心得与体会:这次EDA试验我学会了verilogHDL语言的基本语法规范,了解了quartus软件的使用方法,学会了用硬件测试的基本技能,在学习过程中也遇到各种各样的问题,下面就总结出来,做为以后的学习的经验:语法规则不熟悉,verilogHDL语法规则在刚刚接触的时候确实有各种各样的疏漏,写源代码的时候会不小心遗漏一两个字母或者标点符号,有时候把半角改成全角,这都会导致编译出错。2.在生成正弦波的时候要注意与sin中的数据一致。即位DEPTH=1024,WIDTH=10;

温馨提示

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

评论

0/150

提交评论