资源描述
南 京 理 工 大 学
研究生电类综合实验实验报告
作 者:
袁一超
学 号:
514101001333
学院(系):
机械工程学院
专 业:
航天工程
题 目:
(DDS)直接数字频率合成器设计
指导者:
花汉兵
姜萍
2015年6月
电类综合实验(实验报告)中文摘要
直接数字频率合成器(Direct Digital Frequency Synthesizer 简称DDFS或DDS)是一种基于全数字技术,从相位概念出发直接合成所需波形的一种频率合成技术。本报告探究了数字频率合成器的构成,使用了Quartus II软件和SmartSOPC实验箱,借助可编程逻辑器件,实现了实验的预期目的,可以进行交换显示,测频,四波形(方波,正弦波,锯齿波,三角波)切换。详细介绍了电路实现的基本原理以及电路的仿真、编译过程。
关键词 EDA设计 DDS Quartus II软件 SmartSOPC实验系统
电类综合实验(实验报告)外文摘要
Title
Design of Direct Digital Frequency Synthesizer
Abstract
Direct Digital Frequency Synthesizer is a technology based on fully digital technique, afrequency combination technique syntheses a required waveform from concept of phase. This report describes the Digital Frequency Synthesizer components, the use of the software and SmartSOPC QuartusII experimental box, with programmable logic device to achieve the desired goal of the experiment, can be exchanged, frequency measurement, the four waveforms (square wave, sine wave , sawtooth, triangle wave) switches. Details of the circuit as well as the basic principles of circuit simulation, the compiler process.
Keywords EDA design DDS QuartusII software SmartSOPC experiment system
电类综合实验(实验报告) 第 II 页 共 II 页
目 次
1 设计内容 1
2 方案论证 1
2.1 DDS 概念 1
2.2 DDS 的组成及工作原理 1
2.3 DDS 的工作流流程图 1
2.4 DDS 的总体框图 2
3 设计要求 3
3.1 设计基本要求 3
3.2 设计提高部分要求 3
4 各基本电路子模块设计原理 3
4.1 脉冲发生电路 3
4.1.1 二分频 4
4.1.2 三分频 4
4.1.3 八分频 4
4.1.4 十分频 5
4.1.5 千分频 5
4.1.6 总脉冲电路图 5
4.2 频率和相位调节电路 5
4.2.1 设计原理 5
4.2.2 频率和相位调节电路总图 6
4.3 累加器 8
4.3.1 累加器的原理 8
4.3.2 电路 8
4.3.3 波形仿真 9
4.4 加法器 9
4.4.1 设计原理 9
4.4.2 电路图 10
4.5 波形存储器(ROM) 10
4.5.1 波形存储器(ROM)的原理 10
4.5.2 存储器(ROM)的设计 11
4.6 DDS电路 15
4.6.1 设计原理 15
4.6.2 电路总图 15
4.7 测频电路 15
4.7.1 设计原理 15
4.7.2 测频电路电路图 16
4.8 动态显示电路 17
4.8.1 设计原理 17
4.8.2 电路图 17
4.9 消颤电路 18
4.9.1 设计原理 18
4.9.2 电路图 18
5 整体封装图 18
6 管脚分配仿真下载 19
6.1 管脚分配 19
6.2 仿真 19
6.3 下载 20
结 论 21
参 考 文 献 22
电类综合实验(实验报告) 第 22 页 共 22 页
1 设计内容
设计一个频率及相位均可控制的具有正弦和余弦输出的直接数字频率合成器(Direct Digital Frequency Synthesizer 简称DDFS或DDS)。
2 方案论证
2.1 DDS 概念
直接数字频率合成器(Direct Digital Frequency Synthesizer)是一种基于全数字技术,从相位概念出发直接合成所需波形的一种频率合成技术。具有相对带宽大、频率转换时间短、分辨力高、相位连续性好等优点,很容易实现频率、相位和幅度的数控调制,广泛应用于通讯领域。
2.2 DDS 的组成及工作原理
DDS 的组成如图2.1所示:
图2.1
由上图可知,DDS的主要由频率预置与调节电路、累加器、波形存储器、D/A转换器及低通滤波器这几部分组成。其主要工作就是相位累加,其输入是控制字,输出送相位调制器,相位调制器除对累加器的结果加上一个偏移量外,还通过相位同步器与时钟同步。正弦ROM查找表完成相位到幅度的转换,它接受相位调制器的输出实际上就是ROM的地址值,其输出送入D/A,就得到最终的正弦波。
2.3 DDS 的工作流流程图
如下图2.2
图2.2
2.4 DDS 的总体框图
根据上述讨论,我们可以总结并归纳出下列总图,频率和相位均可控制的具有正弦和余弦输出的DDS核心单元电路示意图。如图2.3 。SmartSOPC实验系统如图2.4。
图2.3
图2.4
3 设计要求
3.1 设计基本要求
1、利用QuartusII 软件和SmartSOPC 实验箱实现DDS 的设计;
2、 DDS 中的波形存储器模块用Altera 公司的Cyclone 系列FPGA 芯片中的RAM实现,RAM 结构配置成4096×10 类型;
3、具体参数要求:频率控制字K 取4 位;基准频率fc=1MHz,由实验板上的系统时钟分频得到;
4、系统具有清零和使能功能;
5、利用实验箱上的D/A 转换器件将ROM 输出的数字信号转换为模拟信号,能够通过示波器观察到正弦波形;
6、通过开关(实验箱上的Ki)输入DDS 的频率和相位控制字,并能用示波器观察加以验证;
3.2 设计提高部分要求
1、通过按键(实验箱上的Si)输入DDS 的频率和相位控制字,以扩大频率控制和相位控制的范围;(注意:按键后有消颤电路)
2、能够同时输出正余弦两路正交信号;
3、在数码管上显示生成的波形频率;
4、充分考虑ROM 结构及正弦函数的特点,进行合理的配置,提高计算精度;
5、设计能输出多种波形(三角波、锯齿波、方波等)的多功能波形发生器;
6、自己添加其他功能。
4 各基本电路子模块设计原理
4.1 脉冲发生电路
由于SmartSOPC 实验系统提供的脉冲为48MHz,因此我们要通过分频电路得到我们所需要的1KHz,1Hz,0.5Hz 和1MHz。
4.1.1 二分频
图4.1
4.1.2 三分频
图4.2
4.1.3 八分频
图4.3
4.1.4 十分频
图4.4
4.1.5 千分频
1000 分频主要由3 个10 分频电路相连而成,原理与10 分频电路相同。
图4.5
4.1.6 总脉冲电路图
图4.6
4.2 频率和相位调节电路
4.2.1 设计原理
pkz为相位增量,也叫频率控制字。DDS的输出频率表达式为fout=pkz* fC/2N,当pkz=1时,DDS输出最低频率(也即频率分辨率)为fc/2N,而DDS的最高输出频率由Nyquist采样定理决定,即fc/2,也就是说pkz的最大值为2N-1。因此,只要N足够大,DDS可以得到很细的频率间隔。要改变DDS的输出频率,只要改变频率控制字pkz即可。xkz为相位控制字。它与相位累加器的输出相加得到ROM的相位采样地址。它可以使输出波形整体平移,平移量由xkz控制。设计频率调节模块时,用74160设计模100模块,2HZ信号输入让其变化。此时输出的频率最大值为99*1000000/4096=24169.92,因此测频的时候显示高4位,相位的最大值为4064。
4.2.2 频率和相位调节电路总图
图4.7
模100内部电路原理图如图4.8:
图4.8
BCD码至二进制码的转换电路原理图如图4.9:
图4.9
为了把频率字和相位字输入到累加器,而频率字和相位字都是用一个计数器得到,所以结果是8位的bcd码,所以要通过一个bcd到二进制的转换,本次设计采用的是二片74184芯片,直接就能实现把bcd码转换成二进制数。
Pkz和xkz同步电路原理图如图4.10、图4.11:
图4.10
图4.11
同步设计是利用两片74174寄存器,把二进制的频率控制字和相位控制字分别通过一个寄存器,则结果通过寄存器,用来暂时存放数据并输出,同时两片74174加同一个时钟,是的相位字和频率字保持同步。
4.3 累加器
4.3.1 累加器的原理
累加器由N 位加法器N 位寄存器构成,如下图4.12所示。
图4.12
其作用是,每来一个时钟clk,加法器就将频率控制字K 与累加寄存器输出的
累加相位数据相加,相加的结果又反馈送至累加寄存器的数据输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位累加。所以,相位累加器的组成= N 位加法器+N 位寄存器相位累加器的作用:在时钟的作用下,进行相位累加当相位累加器累加满量时就会产生一次溢出,完成一个周期性的动作。
4.3.2 电路
图4.13
4.3.3 波形仿真
图4.14
7483是四位二进制加法器,co为进位信号输入端,c4为进位信号输出端,把低位的进位信号输出给高位号,3片7483就构成12位的加法器,74174为寄存器,把加法器的输出送给寄存器,然后再把寄存器输出的结果返加加法器的输入端,这是因为如果频率控制字为k的话,则要k,2k,3k这样寻址,只有把寄存器的输出与k不断相加,才能实现累加。
4.4 加法器
4.4.1 设计原理
相位累加器输出与相位控制字相加的12位加法器可由3个7483的4位加法器级联而成。其实这就是12位相位累加器的一部分。
4.4.2 电路图
图4.15
4.5 波形存储器(ROM)
4.5.1 波形存储器(ROM)的原理
波形存储器(ROM)的原理图如图4.16所示:
图4.16
作用:进行波形的相位—幅值转换。
原理:ROM 的N 位地址:把0°—360°的正弦角度离散成具有2N 个样值的序列ROM 的D 位数据位:则2N 个样值的幅值量化为D 位二进制数据所以,波形存储器(ROM)的相位取样地址来自于相位累加器输出的数据,这样就可把存储在波形存储器内的波形抽样值(二进制编码)经查找表查出,完成相位到幅值转换。同时,波形存储器中还可存放不同类种波形的地址,例如正弦波、余弦波、方波、矩形波、锯齿波、三角波等,这些波均可通过后面的D/A转换器及低通滤波器将数字信号转化为模拟信号从而进行连续信号的输出与恢复。
4.5.2 存储器(ROM)的设计
1) 正弦ROM的存储数据表参见sin.mif。
2) 余弦ROM的存储数据表与正弦ROM类似(参见cos.mif):存储数据=round(cos(n×2π/4096)×512)+512
3) 三角波ROM的数据表参见three.mif。三角波的数据没有现成的生成三角波的数据,本设计根据图4.17做出相应的函数产生三角波的数据表。
图4.17
所以三角波函数如下:
当n∈(0,1023)时,存储数据=round(n/2)+512;
当n∈(1023,3071)时,存储数据= 1024-round(n/2)+512;
当n∈(3071,4095)时,存储数据= round(n/2)-2048+512;
4) 锯齿波ROM的数据表参见juchi.mif。锯齿波的波形如图4.18。
图4.18
锯齿波的函数如下:
存储数据=round(n/4)
5) 方波ROM的数据表参见squar.mif。方波的波形如下图4.19所示。
图4.19
由上图可得出方波的函数如下:
最后,生成5个存有不同波形的存储器,分别是sine_rom、cos_rom、squar_rom、juchi_rom、three_rom。分别如图4.20、图4.21、图4.22、图4.23、图4.24所示。
图4.20a
图4.21a
图4.22a
图4.23a
图4.24a
正弦波:
图4.20b
余弦波:
图4.21b
三角波:
图4.22b
锯齿波:
图4.23b
方波:
图4.24b
4.6 DDS电路
4.6.1 设计原理
DDS电路就是将上述各模块电路组装起来。为了封装后方便与外围电路连接,要将频率与相位控制字输出,供显示电路使用。
4.6.2 电路总图
图4.25
把累加器累加得到的结果送给正弦 rom,把加法器得到的结果送给余弦,方波,锯齿波,三角波rom,四种不同的波形通过一片4选1的数据选择器,由两个开关来控制把那种波形的数据送给d/a。
4.7 测频电路
4.7.1 设计原理
测频就是计算1 秒钟内脉冲的个数。我们利用计数器和锁存器实现这一功能。由于累加器以频率控制字K 为间隔,从0 到4096 计数,当累加满量时就会产生一次溢出,完成一次周期性的动作,这个周期也就是DDS 信号的一个频率周期,故将的累加器的最高位a [11]作为测频电路计数器的脉冲。
将1HZ 的时钟信号二分频,得到0.5Hz。将0.5Hz 脉冲送入锁存器的时钟端,0.5Hz 反相延时后的脉冲送入计数器的清零端。这样就使计数器在2s 的脉冲周期内,1s 内清零,1s 内计数。由于锁存器的脉冲和计数器的脉冲是反相的,且有一定的延时,所以当锁存器有效脉冲来到时,计数器是清零状态,锁存器就锁存前1s 内计数器的计数信号。这样就完成了1s 内的脉冲计数,再将锁存器的输出送入译码显示电路,就可以在数码管上显示波形频率了。原理如图4.26
图4.26
4.7.2 测频电路电路图
图4.27
计数电路同样采用的74160,把低位的进位信号送给高位的使能端,这样用四片74160级联成模10000计数器,0.5hz的信号加入清零端,下降边沿来到的时候,计数器开始清零,而把0.5hz的反向脉冲加到寄存器的时钟端,在上升边沿来到的时候,把计数器的结果保存,实现了一秒计数,一秒锁存,而在这一秒内计数器的值就是所测的频率。
4.8 动态显示电路
4.8.1 设计原理
本系统中用到8位数码显示,其中高4位显示所测输出波形频率,低4位分别显示频率控制字和相位控制字。为控制8个数码管循环点亮,首先取74161的低3位输出设计成一个模8计数器,后接74138译码,得到输出的d[7..0]分别送至8个数码管的段码,从而依次选通这8个数码管。再用4片74151设计一个4位线宽的8选1数据选择器,将输出接入7447,它可以把4位BCD码转换成数码管显示所需的7位位码。
这里我们给模8计数器的时钟位1KHZ,这样可以使每个数码管选通的频率加快,根据视觉暂留效应,就好像看到8个数码管全部点亮。
4.8.2 电路图
图4.28
4.9 消颤电路
4.9.1 设计原理
可用D触发器来实现开关的消颤,给触发器时钟位1KHZ,实验证明消颤效果较好。
4.9.2 电路图
图4.29
5 整体封装图
图4.30
6 管脚分配仿真下载
6.1 管脚分配
下载前最后一步就是分配管脚,对照SmartSOP实验箱的管脚分配说明书,我们输入
输出端分配管脚,如图6.1所示。
图6.1
6.2 仿真
当整个电路设计完成后,进行模拟仿真,观察波形。选择“File-New”,打
开“other files”标签项,选择“Vector Waveform File”。在谈出对话框右边“Name”下的空白框里双击鼠标,在新弹出的对话框里点击“Node Finder”按钮。在新对话框中的“Filter”中选择“Pins:all”后,点击“Pins:all”后点击“list”按钮,则“Nodes Found”对话框中列出了本工程的所有输入输出节点。双击所要节点,则右边的“ selected nodes ” 框中出现了所选的节点。点击“ OK ”,再点击“OK”,完成节点的添加。再设置时钟脉冲后,进行波形仿真观察波形。
6.3 下载
1. 在主菜单Assignments中选择Device项,在弹出的对话框中选择相应的器件EP1C12Q240C8。再选中Device and Pin Options选项,在弹出的对话框中选择
Configuration选项,在下拉框中选择EPCS4;选择Unused Pins选项,在下拉框中选择As input tri-stated选项。
2. 在主菜单Assignments 选“Pins”,打开平面布置图编辑器窗口,将设计的电路图中的各输入输出锁定在相应的管脚上。
3. 在主菜单选File\Save保存文件,再次编译项目,生成.sof文件,以用于下载。
4. 在主菜单Tools 选Programmer,在弹出的对话框中单击start,即可完成下载。
结 论
在实验中,由于电路设计比较简单,且功能比较单一,但是设计完成后装载成功后却不能显示出波形,检查没有问题,最终经过全面彻底的排查才发现,问题出在的引脚图命名时出了纰漏,导致整个电路都出问题了。最终重新输入引脚命名后便成功显示波形图并实现功能了。因此试验时一定要注意这些细节问题。
通过完成该实验,我能够熟练运用Quartus II软件。这次实验过程中设计电路系统给我带来的快乐也将激励我在后面的时间里不断学习,用实践锻炼并提高自己的能力。
最后,在此真挚地感谢谭雪琴老师给我的指导,在这两次实验的时间里,老师耐心地解答了我的问题,热心地帮我检查电路中的毛病,没有老师的指导,自己也很难这么快这么好地完成整个实验。
参 考 文 献
[1] 李洪伟.基于Quartus II的FPGA/CPLD设计.电子工业出版社,2006.
[2] 蒋立平.数字逻辑电路与系统设计(第二版).电子工业出版社,2012.
[3] Thomas L. Floyd.数字基础Digital Fundamentals(第十版).科学出版社,2011 .
[4] 《EDA设计实验指导书》.南京理工大学电子技术中心.2008.
展开阅读全文