eda课程设计——函数信号发生器

eda课程设计——函数信号发生器

ID:11108073

大小:7.25 MB

页数:15页

时间:2018-07-10

eda课程设计——函数信号发生器_第1页
eda课程设计——函数信号发生器_第2页
eda课程设计——函数信号发生器_第3页
eda课程设计——函数信号发生器_第4页
eda课程设计——函数信号发生器_第5页
资源描述:

《eda课程设计——函数信号发生器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、EDA课程设计——函数信号发生器实验报告学院(系)专业、班级学生姓名学号小组其他队员:指导教师(1)实验要求(2)总体设计思路(3)程序仿真(4)实验结果(5)心得体会一.实验要求(1)利用VHDL语言设计一个多功能信号发生器,可以产生正弦波,三角波,锯齿波和方波的数字信号。(1)焊接一个D/A转换器,对输出的数字信号转换成模拟信号并在示波器上产生波形。(2)在电路板上可以对波形进行选择输出。(3)在电路板上可以对波形的频率与幅度进行调节。二.总体设计思路信号发生器主要由分频,波形数据的产生,四选一多路选择,调幅和D/A转换五个部分组成。总体框架图如下:(1

2、)分频分频器是数字电路中最常用的电路之一,在FPGA的设计中也是使用效率非常高的基本设计。实现的分频电路一般有两种方法:一是使用FPGA芯片内部提供的锁相环电路,如ALTERA提供的PLL(PhaseLockedLoop),Xilinx提供的DLL(DelayLockedLoop);二是使用硬件描述语言,如VHDL、VerilogHDL等。本次我们使用VHDL进行分频器设计,将奇数分频,和偶数分频结合起来,可以实现50%占空比任意正整数的分频。分频器原理图:在我们本次试验中的实现即为当按下按键时,频率自动减半。如当输入为100MHZ,输出为50MHZ。(1)

3、信号的产生。根据查找资料,我们最终确定了在QUARTUS中波形数据产生的方法,即利用地址信号发生器和LPM_ROM模块。ROM的地址信号发生器,有七位计数器担任。LPM_ROM底层是FPGA中的M4K等模块。然后在VHDL顶层程序设计中将两部分调用从而实现信号的发生。ROM中存放不同的初始化MIF文件(存放不同波形的数据)从而产生不同的波形。信号产生模块:7位计数器波形数据存储ROM数据产生信号产生RTL图:此环节最重要的还有MIF文件的建立,经过查找资料,下载了MIFMAKER2010软件,从而较为简单的产生了MIF文件。MIF文件制作图:(1)四选一多路

4、选择。多路选择器模块是实验模块之中最简单的模块,因为在上一学期的EDA学习中曾经做过四路选择器模块。此模块的基本四路是通过一个两位的输入信号s来决定输出的信号数据,例:s=00时,输出a;s=01输出b;s=10时,输出c;s=11时,输出d。多路选择器原理图:(1)调幅。调幅的思路基本上是运用乘法器来完成数据的翻倍从而达到幅度的变化。因此此模块的完成最主要的任务是乘法器的实现。本实验我们开始采用的乘法器是两个矢量类型的数据作为输入,一个是波形数据,另一个则为幅度的变化倍数(变化范围为1,2,3倍)。如下图:但后来在硬件上实现时倍数高时容易波形顶部容易产生失

5、真,因此我们对此进行了改进,即将输入的两个八位矢量类型数据通过conv_integer函数产生整数数据,对整数数据进行小幅度乘除(如c=a*b/16),然后将整数数据通过conv_std_logic(c,8)函数转换成八位整数数据输出。从而完成调幅的完美实现。改进后如下图:(1)D/A转换。D/A转换是把数字信号转换为信息基本相同的模拟信号而设计的处理过程,大多数DA转换器由电阻阵列和放大器构成。根据公式u0=Rf(ui1/R1+ui2/R2+ui3/R3+…)计算出R43=2*R44=4*R45=8*R46=16*R47=32*R48=64*R49=128

6、*R50R50=2*R42因此可以选取R40=R41=R42=1kΩR43=256kΩR44=128kΩR45=64ΩR46=32kΩR47=16kΩR48=8kΩR49=4kΩR50=2kΩ三.程序仿真正弦波仿真:三角波仿真:锯齿波仿真:方波仿真:分频器仿真:多路选择仿真:乘法器仿真:总电路仿真:四.实验结果正弦波输出:调频后:调幅后:三角波输出:锯齿波输出:方波输出:实物图:五.心得体会本设计基于VHDL语言进行设计,利用FPGA芯片为主要芯片,在编程过程中分体现了进程的并行性,利用了五个基本的模块实现了上述的功能。其实本实验的关键还是EDA软件QUAR

7、TUSII的使用,在一开始的接触中,完全不知道本软件的使用方法,在经过一天的视频学习后,对此软件的使用有了较为初步的认识。然后就是vhdl语言的编写,由于本人的编程语言以前学的不是很好,因此只能一边参照课本一边进行语言的编写。让我印象最深刻的就是分频器和乘法器的编写,分频器是我第一次编写的比较复杂的模块,实现的不理想,因此借用了网上查阅的资料。乘法器的编写最初的思路有些偏差,在和组员的讨论中编写了更为理想的程序,这件事情让我感触很深,深刻的认识到了合作的重要性以及程序语言的乐趣,最终当波形通过配置在示波器上显示出来的时候,心里的感觉是无法言语的。虽然自己完成

8、的结果不是最好的,但我尽了自己的最大努力,我收获很大

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。