DDS正弦信号发生器设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于DDS的正弦信号发生器

设计报告

院系:电子工程系

专业:电子信息工程

班级:

姓名:

1. DDS信号发生器原理

对于正弦信号发生器,它的输出可以用下式来描述:

其中,S out是指该信号发生器的输出信号波形,f out只输出信号对应的频率。上式的表述对于时间t是连续的,为了用数字逻辑实现该表达式,必须进行离散化处理,用基准时钟clk进行抽样,令正弦信号的的相位θ为

在一个clk周期Tclk,相位θ的变化量为

其中f clk指clk的频率对于2π可以理解为“满”相位,为了对Δθ进行数字量化,把2π切割成2N,用词每个clk周期的相位增量Δθ用量化值BΔθ来描述:BΔθ=(Δθ·2N)/2π,且BΔθ为整数与上式联立可得:

显然,信号发生器可以描述

其中θk-1指前一个clk周期的相位值,同样得出

由以上推倒可以得出,只要对相位的量化值进行简单的累加运算,就可以得到正弦信号的当前相位值,而用于累加的香味增量量化值BΔθ决定了信号的输出频率f out并呈现简单的线性关系。

直接数字合成器DDS就是根据以上原理而设计的数控频率合成器,下图为其基本DDS 结构,主要有相位累加器、相位调制器、正弦ROM查找表构成图中的相位累加器、相位调制器、正弦ROM查找表是DDS结构中的数字部分,

图 1

2. 基于DDS的正弦信号发生器设计实现

根据设计原理框图分别设计出加法器、寄存器、正弦波ROM。

2.1.1. 32位加法器ADDER32设计

在原理图文件文件下在空白处双击,单击“MegaWizard Plug-In Manager”选择第一项

图 2

选择器件为cyclone,语言方式为VerilogHDL。在算数项Arithmetic中选择计数器LPM_ADD_SUB.存于所建工程文件夹下命名为ADDER32.

单击NEXT,进入以后对话框后选择32位加法器工作模式选择有一位加法进位输出,选择有符号加法方式,选择2级流水线工作模式 ,此时该加法器变为有时序电路的模块,最后至finish按钮,编辑完成。如图3所示

图 3

2.1.2. 32位寄存器DFF32设计

寄存器DFF32由LMP_FF宏模块担任,生成方法同ADDER32相同,设置位数为32位,且为时序控制模块。最终生成后如图4所示

图 4

DFF32与ADDER32构成一个32位累加器其高十位A[31..22]为波形数据ROM的地址

2.1.

3. 正弦波ROM设计

1.首先通过mif文件来产生正弦波

注意:在生成正弦波的时候要注意与sin中的数据一致。即位DEPTH = 1024;

WIDTH = 10;这样才能保证在最后的输出中能够有完整的正弦波图形输出。

图 5

存盘并命名为sin.mif

2.LPM_ROM的订制:按ADDER32的产生方法来产生LMP_ROM,在宏模块选择中选“Memory

Complier”中“ROM:1-PORT”项

依次设定地址线与数据线的位宽均为十位,最后产生LMP_ROM,如下图所示:

v

图 7

2.2 DDS信号发生器原理图

图 8

原理图共分为三大部分:相位累加器,相位调制器,正弦ROM查找表。

1.相位累加器

相位累加器是DDS的核心,完成相位累加的过程其输入可以称为频率字输入在输入时增加一个寄存器可以使频率字改变时不会干扰相位累加器的正常工作

2. 相位调制器

相位调制器接受相位累加器的相位输出,加上一个相位偏移值,可用于信号的相位调制。加一个寄存器可用于信号的同步保持。如图10所示

3. 正弦ROM查找表

正弦ROM的输入是相位调制器的输出,即ROM的地址值,输出送往DAC转化为模拟信号。

2.3 硬件调试结果及分析

调试、仿真成功后进行硬件调试阶段,在“Assignment”菜单下选择“Device”项进行器件选择Cyclone中的EP1C12Q240C8器件,在“Assignment”菜单下选择”pins”项,进行管脚锁定。

B0——1 B1——2

B2——3 B3——4

B4——6 B5——7

B6——8 B7——12

CLK——28 DAC 2——217

DAC 3——219 DAC 4——223

DAC 5——225 DAC 6——226

DAC 7——224 DAC 8——222

DAC 9——218

管脚锁定后再次进行编译,成功后选择“tools”菜单下“programmer”项进行下载。用示波器进行波形观察。利用键1、键2来改变输入B[17..0]的频率的大小。

当改变频率字时波形变化如图16所示

图 16

硬件调试结果分析:该调试的结果满足了实验的要求,验证了DDS信号发生器的功

能,即能够调节频率与相位。

实验心得与体会:

这次EDA试验我学会了verilog HDL语言的基本语法规范,了解了quartus软件的

使用方法,学会了用硬件测试的基本技能,在学习过程中也遇到各种各样的问题,下面

就总结出来,做为以后的学习的经验:

1.语法规则不熟悉,verilog HDL语法规则在刚刚接触的时候确实有各种各样的疏

漏,写源代码的时候会不小心遗漏一两个字母或者标点符号,有时候把半角改成

全角,这都会导致编译出错。

2. 在生成正弦波的时候要注意与sin中的数据一致。即位DEPTH = 1024,WIDTH = 10;

这样才能保证在最后的输出中能够有完整的正弦波图形输出。

3. 硬件测试的时候,要选对工作模式,管脚的封装必须正确,否则示波器显示不正

确结果。

相关文档
最新文档