EDAⅡ实验报告
--直接数字频率合成器
学院:电子工程与光电技术学院 姓名: 学号: 专业: 指导老师:
完成时间: 2012年11 月
南京理工大学EDA实验II—DDS
摘要
设计一个具有清零、使能、频率控制、相位控制、输出多种波形(包括正余弦、三角波、锯齿波、方波)、经过D/A转换之后能在示波器上显示的直接数字频率合成器。直接数字频率合成技术是一项非常实用的技术,它广泛的应用于数字通信系统。报告分析了DDS的设计原理和整个电路的工作原理,介绍了ROM查找表设计和相位累加器设计,还分别说明了各子模块的设计原理和调试、仿真、编程下载的过程。在试验中我们用到了QuartusII 7.0软件。
关键字
DDS ROM QUARTUSII输出波形频率相位控制
Abstract
This experiment is to design aDirect digital synthesizer can control using、reset、change frequency and phase、output various wave form(including sine(cosine), triangle wave,sawtooth, square waveform)and after conversion after alsodisplayed on the oscilloscope。 Direct digital synthesizer technology is a useful subject ,it’s widely applied in digital communication。Also,it analyzes the theory and design about direct digital synthesize(DDS) and analyzed the principle of all work and explained the designing principle of different parts separately and describes the principle and features of DDS 。The realizing method of ROM finding-table and
phase counter and introduced in detail。At thesame time it introduced the debugging, simulating, compiling, programming。With the help of QuartusII 7.0 we complete well。
Keywords
Directdigital synthesizer ROMQuartusII output various wave form frequencyand phase
2
南京理工大学EDA实验II—DDS
目录
一、实验目的„„„„„„„„„„„„„„„„„„„„„„4 二、设计要求说明„„„„„„„„„„„„„„„„„„„„4 三、方案论证„„„„„„„„„„„„„„„„„„„„„„5 四、各子模块设计原理„„„„„„„„„„„„„„„„„„6
1.分频模块„„„„„„„„„„„„„„„„„„„„„„„„„„6 2.频率预置与调节电路„„„„„„„„„„„„„„„„„„„„„8
3.相位累加器模块„„„„„„„„„„„„„„„„„„„„„„„9 4.相位调节模块„„„„„„„„„„„„„„„„„„„„„„„„11 5.地址合成模块„„„„„„„„„„„„„„„„„„„„„„„„11 6.波形存储模块„„„„„„„„„„„„„„„„„„„„„„„„11 7.选波输出模块„„„„„„„„„„„„„„„„„„„„„„„„14 8.四路波形产生总模块„„„„„„„„„„„„„„„„„„„„„15 9.波形输出模块„„„„„„„„„„„„„„„„„„„„„„„„16 10.测频模块 „„„„„„„„„„„„„„„„„„„„„„„„„16 11.译码显示模块 „„„„„„„„„„„„„„„„„„„„„„„18 12.开关分时复用电路„„„„„„„„„„„„„„„„„„„„„23 13.开关消颤电路„„„„„„„„„„„„„„„„„„„„„„„24 14.开关状态电路„„„„„„„„„„„„„„„„„„„„„„„25 15.选波开关寄存电路„„„„„„„„„„„„„„„„„„„„„26 16.DDS总电路图 „„„„„„„„„„„„„„„„„„„„„„„26
五、示波器输出波形„„„„„„„„„„„„„„„„„„„27 六、实验感想„„„„„„„„„„„„„„„„„„„„„„28 七、参考文献„„„„„„„„„„„„„„„„„„„„„„28
3
南京理工大学EDA实验II—DDS
一、实验目的
1)、掌握较为复杂逻辑电路的设计方法。
2)、学习使用FPGA和D/A转换器进行波形发生与扫频信号发生器的设计。 3)、学习LPM_ROM宏功能模块的定制与使用。 4)、学习使用FPGA实现直接数字频率合成器(DDS)。
二、设计要求说明
1.基本要求:
1)、利用QuartusII软件和SmartSOPC实验箱实现DDS的设计;
2)、DDS中的波形存储器模块用Altera公司的Cyclone系列FPGA芯片中的RAM实现,RAM结构配置成21210类型;
3)、具体参数要求:频率控制字K取4位;基准频率fc=1MHz,由实验板上的系统时钟分频得到; 4)、系统具有清零和使能功能;
5)、利用实验箱上的D/A转换器件将ROM输出的数字信号转换为 模拟信号,能够通过示波器观察到正弦波形;
6)、通过开关(实验箱上的Ki)输入DDS的频率和相位控制字, 并能用示波器观察加以验证; 2.提高部分要求:
1)、通过按键(实验箱上的Si)输入DDS的频率和相位控制字,以扩大频率控和相位控制的范围;(注意:按键后有消颤电路) 2)、能够同时输出正余弦两路正交信号; 3)、在数码管上显示生成的波形频率;
4)、充分考虑ROM结构及正弦函数的特点,进行合理的配置, 提高计算精度;
5)、设计能输出多种波形(三角波、锯齿波、方波等)的多功能波形发生器; 6)、自己添加其他功能。
4
南京理工大学EDA实验II—DDS
三、方案论证
DDS即Direct Digital Synthesizer(数字频率合成器),是一种基于全数字技术,从相位概念出发直接合成所需波形的一种频率合成技术,是一种新型的数字频率合成技术。具有相对带宽大、频率转换时间短、分辨力高、相位连续性好等优点,很容易实现频率、相位和幅度的数控调制,广泛应用于通讯领域。 其基本组成及工作原理如下框图所示:
其中,频率预置与调节电路实现频率控制字K的输入;相位累加器在时钟的作用下,进行相位累加加满量时就会产生一次溢出,完成一个周期性的动作;波形存储器把0—360度的正弦角度离散成具有2N个样值的序列送给ROM的N位地址 ,则2N个样值的幅值量化为D位二进制数据从ROM的D位数据位输出;D/A转换器把已经合成的正弦波的数字量转换成模拟量再由低通滤波器滤除生成的阶梯形正弦波中的高频成分,将其变成光滑的正弦波。 电路整体框图如下:
以上为频率和相位均可控制的具有正弦和余弦输出的DDS核心单元电路示意图本实验除了完成以上基本功能之外还外加了测频电路,频率显示电路,输出
5
南京理工大学EDA实验II—DDS
锯齿波三角波等功能。
四、各子模块设计原理
1.脉冲发生电路的设计
实验箱能提供48MHz的频率,本实验所用到的频率包括1MHz、1khz、2Hz、0.5Hz。分频模块由二分频、四十八分频、一千分频等各种子分频模块组成。
将48MHz经24分频再经2分频后得1MHz频率,将48MHz经24分频再经1次1000分频后得2KHz频率,再经2分频后得到1KHz频率,再经2分频后得到0.5Hz。
脉冲发生电路原理图如下:
48MHz 3分频 8分频 2分频 1MHz 1000分频 1000分频 1KHz 1000分频 1000分频 2分频 0.5Hz 2Hz
a.2分频电路
6
南京理工大学EDA实验II—DDS
模块封装:
此处由一个D触发器Q端接非门送入D实现二分频。 二分频电路仿真波形:
b.3分频电路
模块封装:
7
南京理工大学EDA实验II—DDS
3分频电路即为1模3计数器,个使用74160组成模3计数器实现3分频。当计数到0100(即2)时同步置数为0000,因此将QB接到LDN端,实现从0000、0001、0010、0000、0001、0010...计数,从而实现三分频。 仿真波形:
c.8分频电路
模块封装:
8分频电路由3个D触发器组成,在此不再赘述。 仿真波形:
d.1000分频电路
8
南京理工大学EDA实验II—DDS
模块封装:
1000分频电路由3个模10计数器组成,其中模10计数器由74160组成,在模1000计数器末端加了一些门电路,使得输出为QAQBQD+QCQD,化简得如图的门电路形式,即当模10计数为0000,0001,0010,0011,0100时输出为1,其他输出为0,即0~4为1,5~9为0,从而实现1:1占空比。 仿真波形:
e.总分频电路
模块封装:
9
南京理工大学EDA实验II—DDS
2.频率预置与调节电路
为达到精确调节频率,我们设计一个模块专门用来产生8位频率控制字,能以1为间距进行调节。该模块由两片74161构成可进行0-99模100的计数器,输出端接译码显示器显示现在步长设置数,下面的7483和74175构成的电路用来产生8位步长二进制数。
其工作状态为,当有一脉冲信号(开关有效信号)产生时,模100计数器和累加器以及寄存器构成的模组同时工作。加上一定的其他附加电路,能实现当输入是个位信号时,累加器低位加1;当输入为十位脉冲信号时,累加器自动加10,用这样的方式一达到与计数器输出数字相一致。 原理图如下:
10
南京理工大学EDA实验II—DDS
模块封装:
3.相位累加模块
相位累加器的由N位加法器和N位寄存器组成。在时钟的作用下,相位累加器进行相位累加,当相位累加器累加满量时就会产生一次溢出,完成一个周期性
11
南京理工大学EDA实验II—DDS
的动作。
12位加法器由三片7483构成,在时钟作用下将频率控制字加到低四位,高八位全部接零。
12位寄存器由三片74175构成。工作时,将寄存器寄存的加法器的输出结果持续不断地送回加法器的输入端,实现其与频率控制字的累加,累加器的结果实际上是波形存储器ROM的地址,用它作为 波形ROM的相位量化的结果实现对ROM的寻址。 原理图如下:
封装形式如下:
4.相位调节模块
为达到精确调节相位,我们设计一个模块专门用来产生12位相位控制字,能以1为间距进行调节。该模块由三片74161构成可进行0-999模1000的计数器,输出端接译码显示器显示现在步长设置数,下面的7483和74175构成的电路用来产生12位步长二进制数。
12
南京理工大学EDA实验II—DDS
其工作状态为,当有一脉冲信号(开关有效信号)产生时,模100计数器和累加器以及寄存器构成的模组同时工作。加上一定的其他附加电路,能实现当输入是个位信号时,累加器低位加1;当为十位脉冲信号时,累加器自动加10;当为百位脉冲信号时,累加器自动加100,用这样的方式一达到与计数器输出数字相一致。 原理图如下:
13
南京理工大学EDA实验II—DDS
封装形式如下:
5.地址合成模块
将相位累加器的输出与相位调节字合成12位地址。 原理图如下:
封装形式如下:
14
南京理工大学EDA实验II—DDS
6.波形存储模块
通过ROM进行波形的相位—幅值转换,把0—360度的正弦角度离散成具有2N个样值的序列送给ROM的N位地址 ,则2N个样值的幅值量化为D位二进制数据从ROM的D位数据位输出。
本实验中我是用C语言编辑程序将需将相位0-2π量化到0-4095,-1~1量化到0-1023,最后将由函数产生的数据导入到mif文件的波形数据表中生成存储正弦波形数据的mif文件。本实验中共生成了四个mif文件,分别是正弦、余弦、三角波、锯齿波。具体如下所示:
正弦mif: 余弦mif: 三角波mif: 锯齿波mif:
15
南京理工大学EDA实验II—DDS
ROM封装如下:
余弦ROM 正弦ROM
锯齿波ROM 三角波ROM
16
四个
南京理工大学EDA实验II—DDS
方波ROM 仿真图如下:
7、选波输出模块
实验用到的SmartSOPC实验系统提供两个D/A转换芯片,但是本实验中却产生了四路波形,为了能够有控制的输出波形,我们做出一个数据选择器,保证余先波一定输出,手动输入两位控制字,其他从四种波中选一路输出。 原理图如下:
封装形式为:
17
南京理工大学EDA实验II—DDS
8.波形产生总模块
为达到用一个示波器能同时显示出不同波形,并加以比较。故选择使用两个选择电路模组,再用四个开关两两一组分别控制个开关分别可以选波输出。则示波器输出可以有4*4=16种双波输出搭配。 原理图如下:
封装形式如下:
18
南京理工大学EDA实验II—DDS
9.波形输出模块
波形输出模块主要包括D/A转换和滤波模块,都是SmartSOPC实验系统中的硬件。无需我们自己设计。
10.测频模块
测频电路的基本原理是通过测定相位累加器输出的ROM地址信号在1秒钟内溢出的次数来测定输出频率的。并将测得的频率用寄存器锁存下来,用于后面的显示。
其中clk给的是输出端的最高位,因为输出端十位字中其最高位在一个周期内维持的高电平形成一个脉冲,也就是说,每一个周期其最高位产生一个高电平。计数电路可以通过测得最高位脉冲数量来显示频率。 原理图如下:
19
南京理工大学EDA实验II—DDS
封装形式如下:
11.译码显示模块
动态译码显示电路原理
显示电路主要由数据选择器74151、译码器74138、计数器、显示译码器7447和数码显示管组成。显示电路示意图如下:
20
南京理工大学EDA实验II—DDS
8421BCDSLSHMLMHHLHHwe0DIG0DIG1DIG2DIG0DIG124选4MUX8421BCD显示译码器7447abcdefgDIG2DIG3DIG4A2 A1 A0CLK2计数器译码器DIG3DIG4DIG5DIG6DIG7DIG574138DIG6DIG7
用动态扫描显示法进行数据显示,即每次只显示一位,按照一定的显示时间间隔轮流显示。每个显示位均为四位二进制数,所以需要4片数选器;数选器的选择信号有三位,要用一个模8循环计数器作为数选器的地址选择端,供轮流选择带显示的数据;此外,还要用一个3-8译码器74138来选择数码管(DIG位)来显示对应的数据。
由于要显示内容包括了开关状态、步长、相位、测得频率所以8个LED灯不够用,需要用开关k实现显示复用。通过开关的选择,选通不用的信号到动态显示电路上。这样开关状态、测得频率为一组,步长、相位为另一组,通过开关就能实现分组显示。实现该功能需要8片74157数据选择器,有开关k控制需要选择输入的数据。
21
南京理工大学EDA实验II—DDS
封装模块
22
南京理工大学EDA实验II—DDS
计数器74161设计为模8的循环计数器,其输出既作为4片74151的控制端,又作为3-8译码器74138的控制端。当计数器计数到某一个数值时,四片74151同时选取对应位的输入组成计时器某一位的BCD编码,接入显示译码器7447,与此同时根据计数器的数值,74138译码器也通过数码管的使能端选择对应位有效,从而在实验箱上显现数据。扫描的频率为1KHz,因为人眼的视觉停留,会感觉七个数码管同时显示。
12.开关分时复用电路
由于要进行复位、校步长、校相位、双选波、显示转换功能,而开发板上只有8个开关,故必须要使用开关分时复用电路对开关进行分时复用。
封装模块:
23
南京理工大学EDA实验II—DDS
开关功能说明: K0 复位 K1 显示控制
K2 K3 K4 选波 K5 K6 选波 K7 控制k4、k5、k6、 K7功能 调节步长和相位 13.开关消颤电路
由D触发器构成消颤电路,利用D触发器锁存开关的动作信号,并避免颤抖。 消颤开关组
封装模块:
开关总消颤电路:
24
南京理工大学EDA实验II—DDS
封装模块:
管脚说明:
输入:2hz为脉冲输入,k0-k7为开关信号输入 输出:k0o-k7o为消颤后开关输出。
14.开关状态电路
由于开关设计较多,故设计一电路将开关目前状态显示在数码管上,方便查看。 原理图如下:
封装模块:
25
南京理工大学EDA实验II—DDS
15.选波开关寄存电路
由于开关需要分时复用,故在选波开关被用于其他调节作用时,必须将之前的选波信号寄存,不影响输出的波形。 原理图如下:
封装模块:
16、DDS总设计图
原理图如下:
26
南京理工大学EDA实验II—DDS
五、示波器输出波形
正弦波和余弦波:
锯齿波如下:
27
南京理工大学EDA实验II—DDS
三角波如下:
六、实验感想
本次试验较第一次试验来说相对没有那么复杂,对软件和试验操作平台也有过了很好的理解。另外有了第一次试验的经验后,我们在任务分配方面更加细致,避免了第一次试验所出现的配合不默契问题。由于我们小组在许多细小环节上设计了比要求更多的内容,故工作量也是“相当可观”,最终也是赶了两个晚上才搞定。
总的来说,这次实验是真正意义上贴近实际应用的。在实验过程中,我们不仅仅局限于完成课本规定的内容,更可以发挥自己的创造能力,实现我们自己感兴趣的功能。在这次实验过后,我对数电的实际应用有了更深层次的理解。
最后感谢姜萍老师的指导以及同学之间的帮助,对我们顺利完成实验有重大意义。
七、参考文献
[1] 蒋立平主编. 数字逻辑电路与系统设计. 北京:电子工业出版社.2008
28
南京理工大学EDA实验II—DDS
[2] 王建新,姜萍编著. 电子线路实践教程.北京:科学出版社.2003 [3] 南京理工大学电子技术中心编. EDA设计实验指导书 .2008
[4]SOPC嵌入式系统基础教程 .周立功 等北京航空航天大学出版社.2006
29
因篇幅问题不能全部显示,请点此查看更多更全内容