南京理工大学DDS实验报告Word文档格式.docx
- 文档编号:18638077
- 上传时间:2022-12-30
- 格式:DOCX
- 页数:18
- 大小:242.45KB
南京理工大学DDS实验报告Word文档格式.docx
《南京理工大学DDS实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《南京理工大学DDS实验报告Word文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
显示电路--------------------------------------------------14
调试仿真及下载---------------------------------------15
实验感想---------------------------------------------16
参考文献---------------------------------------------17
摘要
报告内容为设计一个具有清零、使能、频率控制、相位控制、输出多种波形(包括正余弦、三角波、锯齿波、方波)、经过D/A转换之后能在示波器上显示的直接数字频率合成器。
直接数字频率合成技术是一项非常实用的技术,它广泛的应用于数字通信系统。
报告分析了DDS的设计原理和整个电路的工作原理,介绍了ROM查找表设计和相位累加器设计,还分别说明了各子模块的设计原理和调试、仿真、编程下载的过程。
在试验中我们用到了QuartusII7。
0软件。
Abstract
ThereporttellsDirectdigitalsynthesizercancontrolusing、reset、changefrequencyandphase、outputvariouswaveform(includingsine(cosine),trianglewave,sawtooth,squarewaveform)andafterconversionafteralsodisplayedontheoscilloscope。
Directdigitalsynthesizertechnologyisausefulsubject,it’swidelyappliedindigitalcommunication。
Also,itanalyzesthetheoryanddesignaboutdirectdigitalsynthesize(DDS)andanalyzedtheprincipleofallworkandexplainedthedesigningprincipleofdifferentpartsseparatelyanddescribestheprincipleandfeaturesofDDS。
TherealizingmethodofROMfinding-tableandphasecounterandintroducedindetail。
Atthesametimeitintroducedthedebugging,simulating,compiling,programming。
withthehelpofQuartusII7。
0wecompletewell。
关键字
DDSROMQUARTUSII输出波形
Keywords
DirectdigitalsynthesizerROMQuartusII
outputvariouswaveform
实验要求说明
1.实验设计内容
设计一个频率及相位均可控制的具有正弦和余弦输出的直接数字频率合成器(DirectDigitalFrequencySynthesizer简称DDFS或DDS)。
二.设计原理
1、概念
直接数字频率合成器(DirectDigitalFrequencySynthesizer)是一种基于全数字技术,从相位概念出发直接合成所需波形的一种频率合成技术。
2、设计基本要求
(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的频率和相位控制字,并能用示波器观察加以验证。
3、设计提高部分要求
(1)通过按键(实验箱上的Si)输入DDS的频率和相位控制字,以扩大频率控制和相位控制的范围;
(注意:
按键后有消颤电路)
(2)在数码管上显示生成的波形频率;
(3)设计能输出多种波形(三角波、锯齿波、方波等)的多功能波形发生器;
(4)充分考虑ROM结构及正弦函数的特点,进行合理的配置,提高计算精度;
(5)基于DDS的AM调制器的设计;
(6)自己添加其他功能。
4、基本框图
5、工作原理
DDS的基本结构主要由相位累加器、相位调制器、正弦波数据表(ROM)、D/A转换器构成。
相位累加器由N位加法器N位寄存器构成。
每来一个CLOCK,加法器就将频率控制字fwrod与累加寄存器输出的累加相位数据相加,相加的结果又反馈送至累加寄存器的数据输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。
这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位累加。
由此,相位累加器在每一个时钟脉冲输入时,把频率控制字累加以此,相位累加器输出的数据作为波形存储器的相位取样地址,这样就可把存储在波形存储器内的波形抽样值进行找表查出,完成相位到幅值的转换。
由于相位累加器为N位,相当于把正弦信号在相位上的精度定为N位,所以分辨率为1/2N。
若系统时钟频率为fc,频率控制字fword为1,则输出频率为fOUT=fC/2N,这个频率相当于"
基频"
。
若fword为K,则输出频率为:
fout=K*fC/2N
当系统输入时钟频率fC不变时,输出信号的频率由频率控制字K所决定。
由上式可得:
K=2N*fout/fC
其中,K为频率字,注意K要取整,有时会有误差。
选取ROM的地址时,可以间隔选项,相位寄存器输出的位数D一般取10-16位,这种截取方法称为截断式用法,以减少ROM的容量。
D太大会导致ROM容量的成倍上升,而输出精度受D/A位数的限制未有很大改善。
DDS工作流程示意图:
6、整体电路图
各子模块设计原理
1.频率预置和调节电路
(1)设计原理:
K为相位增量,也叫频率控制字。
DDS的输出频率表达式为fout=K*fC/2N,当K=1时,DDS输出最低频率(也即频率分辨率)为fc/2N,而DDS的最高输出频率由Nyquist采样定理决定,即fc/2,也就是说K的最大值为2N-1。
因此,只要N足够大,DDS可以得到很细的频率间隔。
要改变DDS的输出频率,只要改变频率控制字K即可。
设计模块时,用74161设计模16模块,1HZ信号输入让其变化。
该模块有清零和保持端,由开关控制,以便计数到需要值时保持或清零。
输出作为频率控制字低四位,高八位置零,输入累加器进行累加。
(2)电路图如下:
(a)频率控制
由频率控制字控制频率的低4位,使频率在0Hz~16Hz间变化,从而达到控制频率的目的。
电路图如下:
(b)相位控制
由相位控制字控制相位的高4位,使相位较大幅度的变化,从而达到改变相位的目的。
2.累加器
相位累加器由12位加法器与12位寄存器级联构成。
每来一个时钟脉冲,加法器将频率控制字K与寄存器输出的累加相位数据相加,再把相加后的结果送至寄存器的数据输入端。
寄存器将加法器的上一个时钟作用后所产生的相位数据反馈至加法器的输入端,以使加法器在下一个时钟作用下继续与频率控制字进行相加。
这样,相位累加器在时钟作用下,进行相位累加。
当相位累加器累加满量时就会产生一次溢出,完成一个周期性的动作。
(2)原理如下图:
(3)电路图如下:
其中加法器和寄存器器用VHDL语言编写,代码如下:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityadder_12is//加法器
port(clr,clk:
INstd_logic;
in1,in2:
INstd_logic_vector(11Downto0);
ci:
OUTstd_logic;
shuchu:
OUTstd_logic_vector(11Downto0)
);
endadder_12;
architecturebehaveofadder_12is
begin
process(clr,clk)
variabletemp_shuchu:
std_logic_vector(11Downto0);
variabletemp_ci:
std_logic;
if(clr='
0'
)then
ci<
='
;
shuchu<
=(others=>
'
);
elsif(clk'
eventandclk='
1'
temp_ci:
foriin0to11loop
temp_shuchu(i):
=in1(i)xorin2(i)xortemp_ci;
=(in1(i)andin2(i))or((in1(i)xorin2(i))andtemp_ci);
endloop;
=temp_shuchu;
=temp_ci;
endif;
endprocess;
endbehave;
entitysuocunis//寄存器
port(D:
instd_logic_vector(11downto0);
clk:
instd_logic;
Q:
outstd_logic_vector(11downto0)
);
endsuocun;
architecturebehaveofsuocunis
process(clk)is
begin
if(clk'
Q<
=D;
endif;
endprocess;
3.波形存储器
首先创建一个新的mif文件,将要储存的数据输入进去,点击保存。
再创建一个新的ROM,创建过程中选择不同的mif文件即可储存不同的波形。
生成的ROM如下:
四.DDS电路
利用LPM_MUX实现波形选择,从正余弦、三角波、锯齿波、方波选择波形输出。
总DDS电路图如下:
五.分频电路
脉冲发生电路是为计时器提供计时脉冲的,因为设计的是计时器,所以需要产生1Hz的脉冲信号。
EDA实验系统的输入时钟为48MHz,那么要产生1Hz的脉冲信号,则要对输入时钟48MHz进行分频,依次进行48分频、两次1000分频即可得到1Hz的脉冲信号,一次2分频得到0.5Hz。
(3)程序代码
分频电路用Verilog语言编写,代码如下:
modulediv_clk48(clk_in,reset,clk_out);
inputclk_in,reset;
outputclk_out;
regclk_out;
reg[width(n)-1:
0]count;
parametern=24;
//n为参数,可设置成不同分频
always@(posedgeclk_in)
if(~reset)
count<
=0;
elseif(count==n-1)
else
=count+1;
always@(count)
clk_out=0;
clk_out=~clk_out;
clk_out=clk_out;
functionintegerwidth;
inputintegersize;
for(width=0;
size>
0;
width=width+1)
size=size>
>
1;
end
endfunction
endmodule
6、测频电路
测频就是计算1秒钟内脉冲的个数。
我们利用计数器和锁存器实现这一功能。
由于累加器以频率控制字K为间隔,当累加器满量时就会产生一次溢出,完成一次周期性的动作,这个周期也就是DDS信号的一个频率周期,所以将累加器的最高位作为测频电路技术器的脉冲。
将1HZ的时钟信号二分频,得到0.5Hz。
将0.5Hz脉冲送入锁存器的时钟端,0.5Hz反相延时后的脉冲送入计数器的清零端。
这样就使计数器在2s的脉冲周期内,1s内清零,1s内计数。
由于锁存器的脉冲和计数器的脉冲是反相的,且有一定的延时,所以当锁存器有效脉冲来到时,计数器是清零状态,锁存器就锁存前1s内计数器的计数信号。
这样就完成了1s内的脉冲计数,再将锁存器的输出送入译码显示电路,就可以在数码管上显示波形频率了。
(2)原理如下图:
7、译码电路
频率控制字和相位控制字都是四位的二进制码,要转换成8421BCD码才能在数码管上显示。
因此先通过译码电路实现此转换再输入显示电路。
(2)对应转化如下表:
频率控制字kf
十进制个位(kfg[3..0])
十进制十位(kfs[3..0])
0000(0)
0000
0001
(1)
0010
(2)
0011(3)
0100(4)
0101(5)
0110(6)
0111(7)
1000(8)
1001(9)
1010(10)
0001
1011(11)
1100(12)
1101(13)
1110(14)
1111(15)
(3)VHDL程序代码如下:
entityyimais
port(
pl_kz:
instd_logic_vector(3downto0);
xw_kz:
plh:
outstd_logic_vector(3downto0);
pll:
xwh:
xwl:
outstd_logic_vector(3downto0)
endyima;
architecturebehaveofyimais
withpl_kzselect
plh<
="
0000"
when"
"
0001"
0010"
0011"
0100"
0101"
0110"
0111"
1000"
1001"
1010"
1011"
1100"
1101"
1110"
whenothers;
withxw_kzselect
xwh<
withpl_kzselect
pll<
xwl<
八、显示电路
本次实验中用到七位数码显示即七个数码显示管,为控制七个数码管循环点亮,首先设计一个模七计数器,后将其输出经过一个三--八译码器输出位地址,即译码电路7448将输入信号对应的输出信号控制数码管数字的显示,而模块74138译码器选择七个数码管中哪个接受信号。
每个数码显示管同步显示需要显示的数字,由于同一时间至点亮一个数码管,用较高的频率来数码管循环显示,利用人眼的视觉惰性,就实现了动态显示功能。
2)电路图如下:
调试仿真及下载
调试
先保存,将上述电路以字母输入方式输入并保存在工程文件夹中。
再将文件置顶,最后进行编译,在主菜单中选择processing项,在弹出的对话框中选择Startcomplication键,则编译开始。
在编译过程中,若有任何信息、错误和警告消息,都将显示在自动打开的Message-Compiler窗口中;
若由于文件出错而没有通过,则需要返回原文件进行修改,修改后存盘,再编译直至文件通过。
仿真
新建一个“VectorWaveformfile”文件,并在下拉列表中选.vwf扩展名,生成波形文件。
右键单击,在弹出的菜单中选EnterNodesFromeSNF,在弹出的对话框中选择要观测的节点。
选Option\GridSize和File\EndTime
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 南京理工大学 DDS 实验 报告