课程设计可调幅度简易波刺激发生器设计.docVIP

课程设计可调幅度简易波刺激发生器设计.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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)

erterye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档