- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计可调幅度简易波刺激发生器设计
1、前言
可调幅度简易波形刺激发生器,如正弦波,三角波和方波等,因而广泛用于通信、雷达、导航、宇航等领域。
在本设计中它能够产生多种波形,如正弦波,三角波和方波等,并能实现对各种波形幅度的改变。正因为其在生活中应用的重要性,人们它做了大量的研究,总结出了许多实现方式。可以基于FPGA 、VHDL、单片机、DOS技能、数字电路等多种方法实现。
本设计是采用VHDL来实现的可调幅度简易波形刺激发生器设计,三角波和方波。且对各种波形的要求如下:
(1)设计一个简易多功能信号发生器,产生稳定的波形:
正弦波,三角波,方波;
(2)信号发生器波形信号的选择由拨码开关控制选择。
(3)信号发生器输出信号幅度要求:幅度为1.25V、2.5V、5V。 幅度控制由拨码开关实现。输出频率不做要求。
(4)波形通过DA转换后在示波器上显示。
2、FPGA原理及特点
FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。
FPGA的基本特点主要有:
1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。
2)FPGA可做其它全定制或半定制ASIC电路的中试样片。
3)FPGA内部有丰富的触发器和I/O引脚。
4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。
5) FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。
可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。
FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。
加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。
3、设计方案
3.1实验要求及总体框图
根据实验设计要求,可将设计分为以下几个模块(如图3.1):
波形产生模块。主要用来产生三种波形(正弦波、三角波、方波)。
波形选择模块。该模块用于选择当前输出的为何种波形。
幅度控制模块。用于控制输出信号的幅度,本设计中要求有三个档位,即1.25V,2.5V,5V。
DA转换。用于将前面的数字信号转换成模拟信号。
输出模块。用实验室提供的示波器观察检测生成的波形。
图3.1
本设计采用模块化编程,在工程中编写各个模块的程序,然后生成symbol 文件,最后在顶层文件中连线编译下载即可。
3.2、单元程序设计及仿真分析
3.2.1方波的发生模块
设计中利用计数的方法来产生方波,原理类似于分频器:对脉冲进行计数,从0计到31即计数32个脉冲,输出高电平(1023);从32计到63即再计32个脉冲,输出为低电平,程序编写成功后生成的元件模块图如图3.2,其时序仿真波形图如图3.3所示:
图3.2
图3.3
由波形图可以看出,每计数31个时钟脉冲,输出电平进行一次翻转,形成占空比为50%的方波信号。
3.2.2正弦波的发生模块
对于正弦波(如图3.4),由于是周期信号,可以通过对一个完整周期内以一定点数的采样来离散化。又由于D/A转换接口为10位输入,所以必须要考虑到采样个数和采样值的大小。如果仅以原始波形为基础进行采样,必然会出现小数和负数,这将使得二进制的转化和编程变的很困难。
综合所述,要解决的问题就是消除小数和负数,使采样数值变成正整数,我们采用了以下的算法:首先,将原始波形幅度扩大为原来的512倍,如(图3.5)。然后将波形向上移动512,如图3.6。接着,利用抽样点来产生正弦波,外部接线每产生一个上升沿,记一次数,同时根据计数值选择要输出的正弦采样点数值。设定64个抽样点,每个抽样点的幅值为:
其中 n=0,1,2,…,63。
根据抽样点所对应的函数值,DA转换后就可得到一个正弦波。
在Quartus II软件编写VHDL代码,通过编译和时序仿真,可得到如下图(图3.7和图3.8)所示的元件模块图和时序仿真波形。
图3.7
图3.8
3.2.3三角波的发生模块
三角波的波形也呈现一定的规律,可以通过外部脉冲刺激,在原来数值的基础上进行加(减)一个固定值,本设计利用状态机来实现,状
文档评论(0)