直接数字频率合成器.docx

上传人:b****6 文档编号:4184251 上传时间:2022-11-28 格式:DOCX 页数:14 大小:364.33KB
下载 相关 举报
直接数字频率合成器.docx_第1页
第1页 / 共14页
直接数字频率合成器.docx_第2页
第2页 / 共14页
直接数字频率合成器.docx_第3页
第3页 / 共14页
直接数字频率合成器.docx_第4页
第4页 / 共14页
直接数字频率合成器.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

直接数字频率合成器.docx

《直接数字频率合成器.docx》由会员分享,可在线阅读,更多相关《直接数字频率合成器.docx(14页珍藏版)》请在冰豆网上搜索。

直接数字频率合成器.docx

直接数字频率合成器

 

电子线路课程设计

直接数字频率合成器

 

学号:

姓名:

 

2011年11月

 

摘要

本篇论文主要讲了用eda设计dds。

用quartus软件模拟仿真电路,并下载到芯片。

使电路能输出正余弦波,并可调节频率和相位。

并在这基础上进行一部分扩展,如能输入矩形三角形波。

关键词eda设计ddsquartus

Abstract:

ThisreportintroducestheEDAdesigniscompletedwithDirectDigitalSynthesisDDSprocess.ThisdesignusesDDSQuartusII7.0softwaredesign,anddownloadsSmartSOPCexperimentalsystemhardware.

Keywordedadesignddsquartus

 

设计要求··············································4

方案论证··············································4

各子模块设计原理······································6

调试,仿真及下载······································12

结论··················································13

 

1.设计要求

基本要求:

1、利用QuartusII软件和SmartSOPC实验箱实现DDS的设计;

2、DDS中的波形存储器模块用Altera公司的Cyclone系列FPGA芯片中的RAM实现,RAM结构配置成212×10类型;

3、具体参数要求:

频率控制字K取4位;基准频率fc=1MHz,由实验板上的系统时钟分频得到;

4、系统具有使能功能;

5、利用实验箱上的D/A转换器件将ROM输出的数字信号转换为模拟信号,能够通过示波器观察到正弦波形;

6、过开关(实验箱上的Ki)输入DDS的频率和相位控制字,并能用示波器观察加以验证;

提高部分:

1、通过按键(实验箱上的Si)输入DDS的频率和相位控制字,以扩大频率控制和相位控制的范围;(注意:

按键后有消颤电路)

2、能够同时输出正余弦两路正交信号;

3、在数码管上显示生成的波形频率;

4、充分考虑ROM结构及正弦函数的特点,进行合理的配置,提高计算精度;

5、设计能输出多种波形(三角波、锯齿波、方波等)的多功能波形发生器;

6、基于DDS的AM调制器的设计;

7、自己添加其他功能。

 

2、方案论证

直接数字频率合成器(DirectDigitalFrequencySynthesizer)是一种基于全数字技术,从相位概念出发直接合成所需波形的一种频率合成技术。

dds的组成及工作原理:

每来一个CLOCK,加法器就将频率控制字f与累加寄存器输出的累加相位数据相加,相加的结果又反馈送至累加寄存器的数据输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。

这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位累加。

由此,相位累加器在每一个时钟脉冲输入时,把频率控制字累加以此,相位累加器输出的数据作为波形存储器的相位取样地址,这样就可把存储在波形存储器内的波形抽样值进行找表查出,完成相位到幅值的转换。

由于相位累加器为N位,相当于把正弦信号在相位上的精度定为N位,所以分辨率为1/2N。

若系统时钟频率为fc,频率控制字f为1,则输出频率为fOUT=fC/2N,这个频率相当于"基频"。

若f为K,则输出频率为:

fout=K*fC/2N

当系统输入时钟频率fC不变时,输出信号的频率由频率控制字K所决定。

由上式可得:

K=2N*fout/fC

其中,K为频率字,注意K要取整,有时会有误差。

DSS工作流图:

 

三、各子模块设计原理

1、分频器

实验中需要有1mhz,1khz,2hz,0.5hz的输入信号,而实验像仅能提供48mhz的输入信号,故需要分频。

实验中拟用74163制作3分频,3片74160分别制作1k分频与500分频,用4片触发器做16分频。

16分频:

3分频:

1k分频:

500分频:

 

2、加法器

加法器的目的,其一是作为累加器的一部分,将k进行累加,其二是作为频率控制与相位控制电路的一部分,调整输入给rom的12位地址。

3、寄存器

寄存器的目的,是使加法器出来的结果稍作停留,以便传递给rom的地址位或者是回传给加法器成为加数。

4、累加器

相位累加器的组成=N位加法器+N位寄存器

相位累加器的作用:

在时钟的作用下,进行相位累加

注意:

当相位累加器累加满量时就会产生一次溢出,完成一个周期性的动作。

5、rom的制作

作用:

进行波形的相位—幅值转换。

原理:

ROM的N位地址

把0O—360O的正弦角度离散成具有2N个样值的序列

ROM的D位数据位

则2N个样值的幅值量化为D位二进制数据

以正弦为例:

首先用VC程序产生rom数据值,程序如下:

#include"stdio.h"

#include"math.h"

intmain(intargc,char*argv[])

{

inti;

doubles;

for(i=0;i<4096;i++)

{

s=sin(atan

(1)*8*i/4096);

printf("%d:

%x;\n",i,(int)((s+1)*1023/2));

}

return0;

}

上述程序编译后,生成一个可执行文件rogen.exe,在DOS命令下执行:

rogen>sine.mif

生成sine.mif文件,再加上*.mif文件的头部说明即可,

格式如下:

DEPTH=4096;

WIDTH=10;

ADDRESS_RADIX=DEC;

DATA_RADIX=HEX;

CONTENT

BEGIN

......-----ROM中的数据,每个占用一行

......

END

然后设定LPM-ROM

在元器库中选取LPM-ROM,设置ROM的信息,数据宽度为10bits,数据个数为4096;设置ROM为寄存器输出,不需要时钟和异步清零信号;指定ROM的初始化数据来源,选择刚刚所生成的mif文件。

然后点击“finish”即可生成ROM单元了。

器件图如下:

6、显示电路

由于译码器一次只能输入一个数字的7位控制信号进入系统,为了使8个数字同时亮,则需要用到计数器与若干选择器,将想要输入系统的信号轮流送入。

电源接通,1khz的clk接入,计数器开始工作,产生0—7以控制8个数字同时亮。

7、测频电路

测频就是计算1秒钟内脉冲的个数。

我们利用计数器和锁存器实现这一功能。

由于累加器以频率控制字K为间隔,当累加器满量时就会产生一次溢出,完成一次周期性的动作,这个周期也就是DDS信号的一个频率周期,所以将累加器的最高位作为测频电路技术器的脉冲。

将1HZ的时钟信号二分频,得到0.5Hz。

将0.5Hz脉冲送入锁存器的时钟端,0.5Hz反相延时后的脉冲送入计数器的清零端。

这样就使计数器在2s的脉冲周期内,1s内清零,1s内计数。

由于锁存器的脉冲和计数器的脉冲是反相的,且有一定的延时,所以当锁存器有效脉冲来到时,计数器是清零状态,锁存器就锁存前1s内计数器的计数信号。

这样就完成了1s内的脉冲计数,再将锁存器的输出送入译码显示电路,就可以在数码管上显示波形频率了。

原理图如下:

电路图如下:

8、总电路

将累加器所得与k与p进行处理,以实现对相频的控制,再送入rom地址端,为了实现多波形输出,对开关输入信号进行判别,根据不同情况送入不同rom以实现多波形输出。

最后再合并上显示电路与测频电路。

 

4、调试,仿真及下载

调试

先保存,将上述电路以字母输入方式输入并保存在工程文件夹中。

再将文件置顶,最后进行编译,在主菜单中选择processing项,在弹出的对话框中选择Startcomplication键,则编译开始。

在编译过程中,若有任何信息、错误和警告消息,都将显示在自动打开的Message-Compiler窗口中;若由于文件出错而没有通过,则需要返回原文件进行修改,修改后存盘,再编译直至文件通过。

仿真

新建一个“VectorWaveformfile”文件,并在下拉列表中选.vwf扩展名,生成波形文件。

右键单击,在弹出的菜单中选EnterNodesFromeSNF,在弹出的对话框中选择要观测的节点。

选Option\GridSize和Time,设置相应选项,并给输入引脚加上适当的信号。

然后,选保存。

接着选择主菜单中的Simulator项,打开模拟器,点击Start开始仿真。

其中dds的cos部分仿真结果如下图所示:

Sin部分如下图所示:

下载

1.在device&pin中,configuration标签页,采用串行配置器件EPCS4的主动配置方式。

在unusedpins标签页,进行没有使用管脚的配置,设置为高阻输入,避免损坏。

2.选择processing-startcompilation进行全程编译。

 

5、结论

同时输入正弦余弦波:

同时输入正弦波与方波:

 

同时输入正弦波与三角波:

相位改变功能演示:

 

测频功能检测:

(单位hz)

频率控制字

理论输出频率

示波器显示频率

测频显示频率

1

244.1

244.032

244

6

1464.8

1464.239

1464

15

3662.1

3662.091

3661

误差均在允许范围内。

六、遇到的问题和解决方法

想做位相控制的位拓展,将原模16换成模64,原是低四位或者高四位相加,改为低8位或者高8位相加,实现了功能拓展。

7、实验感想

本次实验是对我们数电能力实际应用的一次考验,通过这次实验我们灵活运用了我们所学习过的知识,尝试了自主探究与创新。

这是我们经历过的最长的一个单项实验,整整一周的时间里我们独立设计出了一个dds,遇到很多问题,通过独立探索或者与他人的交流讨论我们克服了困难并作出了成果。

本次实验里我学习到了创新的精神以及活学活用的道理。

 

参考文献

1.蒋立平编著.《数字电路》.南京理工大学出版社

2.南京理工大学电子技术中心编.《EDA设计实验指导书》

3.付文红、花汉兵编著.《EDA技术与实验》.机械工业出版社

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1