DDS实验报告.docx
《DDS实验报告.docx》由会员分享,可在线阅读,更多相关《DDS实验报告.docx(23页珍藏版)》请在冰点文库上搜索。
DDS实验报告
电子线路课程设计
--直接数字频率合成器(DDS)
2014年11月
摘要
本实验通过使用QuartusⅡ软件,并结合数字逻辑电路的知识设计,使用DDS
的方法设计一个任意频率的正弦信号发生器,要求具有频率控制、相位控制、以及使能开关等功能。
在此基础上,本实验还设计了扩展功能,包括测频、切换波形,动态显示。
在控制电路的作用下能实现保持、清零功能,另外还能同时显示输出频率、相位控制字、频率控制字。
在利用QuartusⅡ进行相应的设计、仿真、调试后下载到SmartSOPC实验实现D/A转换,验证实验的准确性,并用示波器观察输出波形。
关键词:
SmartSOPC实验箱QUARTUSⅡ数字频率合成仿真
Abstract
ThisexperimentisbasedonQuartusⅡ,withthehelpofknowledgerelatingtothedigitallogiccircuitsandsystemdesign,todesignasinesignalgeneratorwhichgeneratesanyfrequencybythemethodofDDS.Thisgeneratorisprovidedwiththefunctionsoffrequencycontrol,phasecontrolandswitchcontrol.Basedonthebasicdesign,Ialsodesignextrafunctions,includingfrequencymeasurement,changesofwaveformsanddynamicdisplay.Thecontrolcircuitcanbemaintainedtimeclearingandtimekeepingfunctions,andalsoshowstheoutputfrequency,phasecontrolcharacters,frequencycontrolword.AllthedesigningandsimulatingworkarebasedonQuartusⅡ.Afteralltheworkfinishedoncomputer,IdownloadedthefinalcircuittoSmartSOPCexperimentsystemtorealizethetransformationofD/A,andthentesttheaccuracyofthedesignbymeansofoscilloscopeobservingthewaveforms.
Keywords:
SmartSOPCQUARTUSⅡDDSSimulation
摘要.....................................................1
目录.....................................................2
一、设计要求.............................................3
二、方案论证.............................................3
三、直接数字频率合成器总电路图...........................4
四、各子模块设计原理及分析说明...........................5
4.1、脉冲发生电路....................................5
4.2、频率相位预置与调节电路..........................9
4.3、累加器电路......................................10
4.4、相位控制电路...................................11
4.5、波形存储器ROM电路.............................12
4.6、测频电路.......................................14
4.7、不同波形选择电路...............................15
4.8、动态译码显示电路...............................16
五、程序下载、仿真与调试................................17
六、实验结果............................................18
七、实验总结与感想......................................23
八、参考文献............................................23
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的频率和相位控制字,并能用示波器观察加以验证;
7、可适当添加其他功能
2、方案论证
直接数字频率合成器(DirectDigitalFrequencySynthesizer)是一种基于全数字技术,从相位概念出发直接合成所需波形的一种频率合成技术。
具有相对带宽大,频率转换时间短、分辨力高、相位连续性好等优点,很容易实现频率、相位和幅度的数字调制,广泛应用于通信领域。
本实验使用DDS的方法设计一个任意频率的正弦信号发生器,要求具有频率控制、相位控制、测频、切换波形,动态显示以及使能开关等功能。
利用QuartusII7.0完成设计、仿真等工作。
并利用SmartSOPC实验箱实现电路,用示波器观察输出波形。
DDS主要由相位累加器、相位调制器、正弦波数据表(ROM)、D/A转换器构成。
相位累加器由N位加法器N位寄存器构成。
每来一个CLOCK,加法器就将频率控制字fword与累加寄存器输出的累加相位数据相加,相加的结果又反馈送至累加寄存器的数据输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。
这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位累加。
由此,相位累加器在每一个时钟脉冲输入时,把频率控制字累加一次,相位累加器输出的数据作为波形存储器的相位取样地址,这样就可把存储在波形存储器内的波形抽样值进行找表查出,完成相位到幅值的转换。
由于相位累加器为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位数的限制未有很大改善。
3、直接数字频率合成器总电路图
4、各子模块设计原理及分析说明
4.1脉冲发生电路
该实验平台已经提供了48MHz的时钟频率,而计时电路所用的时钟是1Hz的信号,蜂鸣器蜂鸣信号也需要500Hz和1000Hz的信号,故需要用分频电路对48MHz信号进行分频得到所需信号。
为提高电路设计的简便性和准确性,该分频电路主要有二分频、三分频、十分频、十六分频等电路模块组装而成:
二分频电路就是一个D触发器,具体电路如图4-1:
电路原理图:
仿真波形图:
图4-1
三分频电路则用到了74163计数器,利用74163的异步清零端,构成一个模为3的计数器,在0011时立即跳转回到0000,将第二位QB作为输出信号即实现三分频功能,其原理图见图4-2:
电路原理图:
仿真波形图:
图4-2
十分频电路则用到74160设计一个模为5的计数器,在0100是立即跳转到0000,即构成一个五分频电路,同时在其后加上一个由D触发器构成的二分频电路,则得到了一个十分频电路,其原理图如图4-3所示:
电路原理图:
仿真波形图:
图4-3
此外,还利用74163的模十六计数功能得到十六分频电路如图4-4:
电路原理图:
仿真波形图:
图4-4
在这四个基础分频器的基础上,选择适当的分频器级联即可得到分频电路
具体电路图如:
图4-5:
图4-5
经封装以后可得到图4-6:
图4-6
4.2频率相位预置与调节电路
频率频率预置与调节电路实现频率控制量(步长)的输入。
其中,K被称为相位增量,也叫频率控制字。
DDS的输出频率表达式为fout=K*fc/2N,当K=1时,DDS输出最低频率为fc/2N,而DDS的最高输出频率由Nyquist采样定理决定,即f/2,也就是说K的最大值为2N-1。
由于ROM中设定的相位取样地址为12位,考虑到本实验对于相位的控制精度要求不高,且较小的相位差也不便于观察,故本设计采用4位频率控制字和4位相位控制字进行步长与相位的控制。
在实验中用12位的高4位作为相位控制字,同时用低4位作为频率控制字。
所以,在这里我们可以用一片74163(十六进制)实现计数,通过开关控制计数器的ENTENP得到所需的相位的二进制数表示。
同时使用两片74160组成10进制的计数器与74163同步计数、同步置数,可以实现二进制数到8421BCD码的转换,同时输出k[3..0],H[3..0],L[3..0]三路信号。
k[3..0]为相位控制字高四位的信号(底八位全部置0),H[3..0],L[3..0]为相位控制字的显示信号。
具体电路图如图4-7所示:
图4-7
4.3累加器电路
相位累加器由N位加法器与N位寄存器级联构成。
本实验中N取12,每来一个时钟脉冲,加法器就将步长与寄存器输出的累加相位数据相加,再把相加后的结果送至寄存器的数据输入端。
寄存器将加法器在上一个时钟作用后所产生的相位数据反馈到加法器的输入端;以使加法器在下一个时钟作用下继续与频率控制字进行相加。
这样,相位累加器在时钟的作用下,进行相位累加。
当相位累加器达到满量时就会产生一次溢出,完成一个周期性的动作。
原理结构图如图如下:
从而得到电路原理图如图4-8:
图4-8
4.4相位控制电路
相位控制电路实际上是用一个12位的加法器将之前累加器的输出结果的高四位与四位相位控制字相加,输出端作为波形存储器的输出端,从而构成相位控制电路。
其中清零与保持端分别由开关控制,以便得到所需相位。
原理图如图4-9:
图4-9
4.5波形存储ROM电路
用相位控制电路输出的数据作为波形存储器的取样地址,进行波形的相位—幅值转换,即可在给定的时间上确定输出的波形的抽样幅值。
12位的寻址ROM相当于把0-2πrad的正弦信号离散成具有2N(本实验中N=12)个样值的序列,若波形ROM有D位数据位(本实验中规定D=10),则4096(212)个样值得幅值以10位二进制数值固化在ROM中,按照地址的不同可以输出相应相位的正弦信号的幅值。
其中相位-幅度变换原理图如下所示:
本实验中,我使用Matlab编程求出正弦、余弦、方波、锯齿波和三角波的波形数据(4096个),并通过Matlab中xlswrite命令将数据导入到Excel的工作表中,最后建立对应波形的mif文件并经过一些简单的设置构建出ROM。
余弦波MATLAB程序如下:
在元器库中选取LPM-ROM,设置ROM的信息,数据宽度为10bits,数据个数为4096;设置ROM为寄存器输出,不需要时钟和异步清零信号;指定ROM的初始化数据来源,选择刚刚所生成的mif文件。
然后点击“finish”即可生成ROM单元了。
得到ROM源文件如下(截取开头与中间部分):
封装得到电路图如下:
采用同样的方法可得到正弦波,方波三角波以及锯齿波,封装结果如图4-10:
正弦波
方波
三角波
锯齿波
图4-10
4.6 测频电路
对于测频电路模块,我们采用如下方法,由于在ROM里预先存储的正弦函数的幅度值为|511|(由于采用无符号数的D/A转换,我们将其取值范围变为0~1023),所以幅度值输出的最高位每个周期由0-1的变化只有一次,因此可以利用这个变化来测试频率。
只要测试出一秒中其变化的次数即是其输出正弦波的频率。
在这个思想之上,这个电路需要提供一个频率为0.5赫兹、占空比为50%的脉冲,这个可以通过对1赫兹的频率的二分频得到。
而利用一个计数器记录下这期间的脉冲个数,就实现了测频。
由于采用频率字采用四位,基本脉冲频率为1MHz,所以这个信号源提供的正弦波的频率范围为0~3662赫兹(f0=fCK/2NfC为基准时钟频率,N为累加器的位数)。
因此,计数器的范围为0~3999就可以了,显示只要做四位。
根据此思想,我们设计出如下的电路图:
图4-11
经封装后得到电路如图:
图4-12
4.7不同波形选择电路
通过观察分析,只要改变ROM中所存储的幅值大小,并将改变后的幅值按一定的波形关系存储,在某种程度上就可得到一些固定的波形。
在制作好不同波形的ROM后,我们还必须处理波形的选择输出,因为SmartSOPC实验箱只有2片D/A芯片,也就是说每次允许通过的波形只有2路,所以,我们设计了波形选择电路模块,利用双四选一数据选择器74153,选择需要输出的信号(也可直接用软件中自带的专门选通ROM地址的器件),电路原理图如下:
图4-13
封装后得到电路如下:
图4-14
4.8动态译码显示电路
此次设计的显示电路为动态显示电路即使用一片译码器,轮流扫描显示相位字以及输出频率。
由于人眼的视觉暂留现象,频率稍高就感觉不到轮流显示的现象,与同时显示的结果一致。
对于动态显示,设计思想如下:
频率显示以及相位字的显示共6位,一共6路信号。
因此可以使用八选一数据选择器依次选择八路信号单独通过译码器7447,并使用3-8译码器控制对应的数码管显示。
而对于显示信号的输出,只需要使用一个模6计数器不断的循环计数就可以简单的实现控制。
此模块的设计电路图如下:
图4-15
经封装后得到电路图如下:
图4-16
5、程序下载仿真与调试
在下载之前首先要进行管脚分配,对照SmartSOP实验箱的管脚分配说明书,我们给所需输入输出端分配管脚。
分配结果如下图:
下载:
1.在主菜单Assignments中选择Device项,在弹出的对话框中选择相应的器件EP1C12Q240C8。
再选中DeviceandPinOptions选项,选择UnusedPins选项,选择asinputtri-stated选项。
2.在主菜单Assignments选“Pins”,打开平面布置图编辑器窗口,将设计的电路图中的各输入输出锁定在相应的管脚上。
3.在主菜单选File\Save保存文件,再次编译项目,生成.sof文件,以用于下载。
4.在主菜单Tools选Programmer,选择program/configure,再选择start,即完成下载到实验台上。
六、实验结果
(1)余弦波
(2)正弦波
(3)锯齿波
(4)方波
(5)三角波
根据示波器可知,波形显示正常。
测得频率:
当改变预置频率时:
K较小时:
由测频电路测得频率:
K较大时:
由测频电路测得频率:
由测频电路测出的频率与示波器测得的频率基本一致,由此可见,测频电路正常工作。
当改变相位预置时,相位作如下变化:
由此可见,相位能够按照要求变化。