收藏 分销(赏)

电子线路课程设计DDS样本.doc

上传人:精**** 文档编号:4626203 上传时间:2024-10-08 格式:DOC 页数:32 大小:3.71MB
下载 相关 举报
电子线路课程设计DDS样本.doc_第1页
第1页 / 共32页
电子线路课程设计DDS样本.doc_第2页
第2页 / 共32页
电子线路课程设计DDS样本.doc_第3页
第3页 / 共32页
电子线路课程设计DDS样本.doc_第4页
第4页 / 共32页
电子线路课程设计DDS样本.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

1、资料内容仅供您学习参考,如有不当之处,请联系改正或者删除。电子线路课程设计直接数字频率合成器姓名: 学号: 院系: 电光学院指导老师: 完成时间: 目录摘要2ABSTRACT2一、 实验设计内容及要求31、 内容32、 设计基本要求33、 设计提高部分4二、 设计方案4三、 子模块电路设计61、 分频模块6( 1) 2分频电路7( 2) 5分频电路7( 3) 48分频电路8( 4) 100分频电路9( 5) 1000分频电路92、 频率, 相位预制和调节模块10( 1) 频率控制字电路10( 2) 相位控制字电路11( 3) 同步寄存器123、 累加器模块124、 加法器模块135、 波形存储

2、器14( 1) 正弦波14( 2) 余弦波17四、 提高设计部分181、 按键输入频率或相位控制字18( 1) 二进制BCD码转码电路19( 2) 译码显示模块202、 测频模块213、 多种波形23( 1) 锯齿波23( 2) 方波24五、 总电路26六、 调试、 仿真、 下载26七、 实验中遇到的问题及解决方法27八、 实验收获与体会28九、 参考文献29摘要本报告主要介绍设计一个具有清零、 使能、 频率控制、 相位控制、 输出多种波形(包括正余弦、 锯齿波、 方波)、 经过D/A转换之后能在示波器上显示的直接数字频率合成器。报告分析了DDS的设计原理及电路的工作原理。电路设计借助了Qua

3、rtusII 7.0软件, 并在SmartSOPC实验系统中进行硬件测试关键词: QuartusII SmartSOPC 正弦波 频率控制 相位控制 测频Abstract The report mainly intraoduced designing Direct digital synthesizer can control using、 reset、 change frequency and phase、 output various wave form(including sine(cosine), sawtooth, square waveform)and after conversi

4、on after also displayed on the oscilloscope。Bsides, it analyzes the theory of the designing DDS and the working principle of the circuit.The whole design works on the QuartusII 7.0,and finally tested on the SmartSOPC system.Key words: QuartusII SmartSOPC Sine wave Frequency-controlling Phase-control

5、ling Frequency-measuring直接数字频率合成器一、 实验设计内容及要求1、 内容设计一个频率及相位均可控制的具有正弦和余弦输出的直接数字频率合成器( Direct Digital Frequency Synthesizer 简称DDFS或DDS) 。2、 设计基本要求1、 利用QuartusII软件和SmartSOPC实验箱实现DDS的设计; DDS中的波形存储器模块用Altera公司的Cyclone系列FPGA芯片中的RAM实现, RAM结构配置成10类型; 2、 具体参数要求: 频率控制字K取4位; 基准频率fc=1MHz,由实验板上的系统时钟分频得到; 3、 系统具有

6、使能功能; 4、 利用实验箱上的D/A转换器件将ROM输出的数字信号转换为模拟信号, 能够经过示波器观察到正弦波形; 5、 经过开关( 实验箱上的Ki) 输入DDS的频率和相位控制字, 并能用示波器观察加以验证; 3、 设计提高部分1、 经过按键( 实验箱上的Si) 输入DDS的频率和相位控制字, 以扩大频率控制和相位控制的范围; (注意: 按键后有消颤电路)2、 能够同时输出正余弦两路正交信号; 3、 在数码管上显示生成的波形频率; 4、 充分考虑ROM结构及正弦函数的特点, 进行合理的配置, 提高计算精度; 5、 设计能输出多种波形( 三角波、 锯齿波、 方波等) 的多功能波形发生器; 6

7、、 基于DDS的AM调制器的设计; 7、 考虑节省ROM空间的设计, 例如只提供四分之一的波形或者半波形; 8、 自己添加其它功能。二、 设计方案DDS的基本结构主要由相位累加器、 相位调制器、 正弦波数据表(ROM)、 D/A转换器构成。如下图: 相位累加器由N位加法器N位寄存器构成。每来一个CLOCK, 加法器就将频率控制字fwrod与累加寄存器输出的累加相位数据相加, 相加的结果又反馈送至累加寄存器的数据输入端, 以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。这样, 相位累加器在时钟作用下, 不断对频率控制字进行线性相位累加。由此, 相位累加器在每一个时钟脉冲输入时, 把频率控

8、制字累加以此, 相位累加器输出的数据作为波形存储器的相位取样地址, 这样就可把存储在波形存储器内的波形抽样值进行找表查出, 完成相位到幅值的转换。由于相位累加器为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的地址时, 能够间隔选项,

9、相位寄存器输出的位数D一般取10-16位, 这种截取方法称为截断式用法, 以减少ROM的容量。D太大会导致ROM容量的成倍上升, 而输出精度受D/A位数的限制未有很大改进。DDS工作流程示意图: 三、 子模块电路设计1、 分频模块48MHZ48分频2分频2分频1000分频5分频100分频1/2HZ1HZ2HZ1MHZ1KHZ ( 1) 2分频电路2分频电路是经过将D触发器的端与D端接在一起就能够从Q端得到触发器信号的2分频信号, 电路图如下: 波形图如下: ( 2) 5分频电路5分频器可由模为5的计数器构成, 由最高位输出即可得输入信号的5分频信号。模5计数器由一片74160经过反馈置零法构成

10、。电路图如下: 波形图如下: (3)48分频电路48分频器可由模为48的计数器构成, 由最高位输出即可得输入信号的48分频信号。模48计数器由两片74160经过反馈置数法构成。电路图如下: 波形图如下: (4)100分频电路100分频器可由模为100的计数器构成, 由最高位输出即可得输入信号的100分频信号。模48计数器由两片片片74160直接串联构成。电路图如下: ( 5) 1000分频电路1000分频电路原理与100分频电路类似, 多串联一块74160.电路图如下: 2、 频率, 相位预制和调节模块K为相位增量, 也叫频率控制字。DDS的输出频率表示式为fout=K* fC/2N, 当K=

11、1时, DDS输出最低频率(也即频率分辨率)为fc/2N, 相当于”基频”。因此, 当系统输入时钟FCLK不变时, 输出信号频率为频率控制字k控制。同时为了为了稳定输入的频率控制字需在频率控制字电路后年加上同步寄存器电路。相位控制电路与频率控制电路类似。( 1) 频率控制字电路经过控制频率的低8位, 使频率在0Hz255Hz间变化, 达到控制频率的目的电路图如下: ( 2) 相位控制字电路经过控制相位的高4位, 使相位较大幅度的变化, 达到改变相位的目的。电路图如下: ( 3) 同步寄存器为了保证输出的频率控制字相位控制字信号稳定, 需在其电路后加上同步寄存器电路。电路图如下: 3、 累加器模

12、块相位累加器的组成= N位加法器+N位寄存器。累加器是由12位的加法器和12位的寄存器构成。累加器在时钟fc的控制下以频率控制字K为步长进行累加运算, 产生所需的频率控制数据。寄存器在时钟控制下, 将加法器每次计算的结果寄存下来, 以使加法器在下一个时钟作用下继续与频率控制字进行相加。同时寄存器在时钟的控制下把累加的结果送入相位控制模块。当相位累加器累加满量时就会产生一次溢出, 完成一个周期性的动作。原理图: 电路图如下: 4、 加法器模块12位加法器是为了相位累加器输出与相位控制字相加, 由3个7483的4位加法器级联而成。与累加器的加法器部分类似。电路图如下: 5、 波形存储器波形存储模块

13、的功能主要是完成从相位到幅值的转换, 因此它的输入应该是对相位量化的地址数据, 输出应该是量化的幅值数据。其原理框图如下: 建立ROM步骤为: 建立空白工程 新建ROM宏单元初始化文件*.mif(4096/10) 在当前使用的工程中建立ROM宏单元, 并调用*.mif文件。( 1) 正弦波下面以正弦波波形存储器的建立为例。其采样数据由VC+程序获得, 其程序如下: 正弦波#includestdio.h#includemath.hint main(int argc,char*argv) int i;double s;for(i=0;i4096;i+)s=sin(atan(1)*8*i/4096)

14、;printf(%d:%x;n,i,(int)(s+1)*1023/2);return 0;将数据导入Excel, 取整后得到建立*.mif文件所用数据。如下图所示: 在元器库中选取LPM-ROM, 设置ROM的信息, 数据宽度为10bits, 数据个数为4096; 设置ROM为寄存器输出, 不需要时钟和异步清零信号; 指定ROM的初始化数据来源, 选择刚刚所生成的mif文件。然后点击”finish”即可生成ROM单元了。电路图如下: ( 2) 余弦波同理可生成余弦波romVC+程序: #includestdio.h#includemath.hint main(int argc,char*ar

15、gv) int i;double s;for(i=0;i4096;i+)s=sin(atan(1)*8*i/4096);printf(%d:%x;n,i,(int)(s+1)*1023/2);return 0;Mif文件: 四、 提高设计部分1、 按键输入频率或相位控制字设计原理: 将频率或相位预制产生的信号在数码管上显示, 经过控制开关来控制频率或相位预制电路的使能端, 当数码管显示的结果为自己需要的时, 保持住。其中开关控制电路很简单即在频率或相位预制电路留下使能端和清零端的接口。比较复杂的是显示电路。因为频率或相位预制电路使用的是74161, 产生的是二进制信号因此在输入到数码管前还需要

16、进行二进制BCD码的转换, 需设计转码电路。( 1) 二进制BCD码转码电路电路由 8片二进制BCD码转换器74185构成( 2) 译码显示模块译码显示电路原理框图如下: 显示电路主要有24选4的数据选择器, 计数器、 74138译码器、 7447显示译码器组成。由于要求是动态显示, 需要以足够高的频率来分别显示时钟的时位、 分位和秒位。计数器的作用是驱动24选4的数据选择器分别选择时钟的时位、 分位和秒位送给显示译码器7447去驱动数码管发光, 同时又要经过译码器74138来选择使用哪个数码管显示时钟的时位、 分位和秒位。由于时、 分、 秒每个都需要两个数码管来显示, 因此计数器应该为模6的

17、计数器。24选4的计数器可由3个74157组成, 其中每个74157的相同的输出相或后充当新的输出。实际的电路图如下: 2、 测频模块设计原理: 测频是计算1秒钟内脉冲的个数。由于累加器以频率控制字K为间隔,当累加器满量时就会产生一次溢出,意味着达到一个周期 ,这个周期就是输出信号的频率周期,因此将累加器的最高位也就是溢出位作为测频电路技术器的脉冲。将0.5Hz脉冲送入锁存器的时钟端,0.5Hz反相延时后的脉冲作为锁存器的CLK信号。由于锁存器的脉冲和计数器的脉冲是反相的,且有一定的延时,因此当锁存器有效脉冲来到时,计数器是清零状态,锁存器就锁存前1s内计数器的计数信号。这样就完成了1s内的脉

18、冲计数,再将输出送入译码显示电路,即可显示输出频率。要注意的是由于FPGA平台只有8片数码显示管, 前面在显示频率控制字及相位控制字已完全用掉, 因此在显示输出频率时设计一个二选一用开关控制选择输出的内容。原理图: 测频电路图: 显示选择电路: 3、 多种波形多种波形原理比较简单, 即再设计几种波形的rom, 我设计了方波和锯齿波, 再经过一个三选一选择输出波形。Rom设计前文已经详细介绍, 下面只列出VC+代码段: ( 1) 锯齿波: #includestdio.h#includemath.hint main(int argc,char*argv) int i;int s;for(i=0;i

19、4096;i+)s=i/4;printf(%d:%x;n,i,s);return 0;( 2) 方波: 前半周期: #includestdio.h#includemath.hint main(int argc,char*argv) int i;int s;for(i=0;i2048;i+)s=1023;printf(%d:%x;n,i,s);return 0;后半周期: #includestdio.h#includemath.hint main(int argc,char*argv) int i;int s;for(i=2048;i4096;i+)s=0;printf(%d:%x;n,i,s)

20、;return 0;波形选择电路图: 电路图: 五、 总电路六、 调试、 仿真、 下载选择”Processing-start complication”进行全编译, 编译经过后要进行管脚分配, 选择”AssignmentsPins”, 如图: 在打开的对话框中的”Location”栏中选择相应的管脚填入, 并将未用到的管脚置为三态, 最后将程序下载到SmartSOPC实验系统中运行。七、 实验中遇到的问题及解决方法1、 首先是波形存储器这一模块很不熟悉, 以前也没有遇到过。虽然老师上课提了一部分, 可是自己操作起来还是遇到不少困难。于是我将波形存储这一部分放到最后做, 而且在实际操作前又查了几

21、次资料, 并与同学进行了交流才解决了问题。2、 第一次下载时还是比较成功, 不过却遇到了用作显示复选的开关没有作用。起初自己以为是电路问题, 重新进行仿真之后, 发现仿真结果并没有错误。说明电路没有错误, 于是检验管脚分配发现果然是开关的管脚分配出现了问题, 修改过来后下载成功。3、 测频的附加电路设计时, 一开始采用的方案是高四位数码管显示频率, 低四位显示频率控制字或相位控制字, 用开关进行频率或相位的复选。后来实际操作时发现一个问题, 所测频率的范围超过了高四位的量程, 查找资料后, 发现实验指导书上提供了一种解决方案一种用小数点改变量程的方法, 可是自己没能完全搞懂, 于是另寻方法。经

22、过思考后, 决定改变初始设计方案, 高四位显示相位控制字, 低四位显示频率比控制字, 显示复选后用8位显示频率, 成功解决了测频电路的显示问题。八、 实验收获与体会因为这次实验的前一周刚做完eda多功能数字时钟的实验, 有了前一周实验的基础, 这次实验相对而言轻松了一点。可是自己的收获依然很多。首先还是电路设计能力的提高, 这次实验设计的电路相对而言还是比较大的。因此模块化的设计在此时显得很重要。而这实验也着重锻炼了我的模块化设计理念与能力。让我学会了如何合理规划模块设计模块, 如何合理设计各模块之间的接口。其次就是从事科研的品质, 细心依旧是首位, 一个小小的错位也会导致结果面目全非。还有就

23、是学会思考, 不能人云亦云, 不能只会盲目的模仿书上的东西, 要要自己的思考, 遇到问题时不能总是期待别人的帮助, 要自己多思考去解决问题, 这样自己的能力才会提高, 在做附加电路设计时我对这一点感触最深。另外还要学会沟通, 与同学于与老师之间的沟通, 多听取她人的意见, 你会的到很多的收获。虽然每次做实验的时候都是比较痛苦的, 特别是在下载时遇到问题, 而自己又无从下手时。但一周实验做完, 当自己在FPGA平台上运行成功是, 那种满足感与成绩感足以冲淡所有先前的辛苦, 感觉自己的付出也是值得的。最后还是感谢谭雪琴老师还有同学在实验中给予我的帮助。九、 参考文献1 数字逻辑电路与系统设计 蒋立平主编 电子工业出版社2 EDA设计实验指导书 南京理工大学电子技术中心

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服