EDA课程设计波形发生器的设计.doc

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EDA课程设计波形发生器的设计

目录 一 题目要求..............................................2 1.1波形发生器…………………………………………………………2 1.1.1题目要求…………………………………………………………2 1.1.2 设计前提…………………………………………………………2 二 方案论证……………………………………………………………3 2.1设计思路 3 2.1.1原理分析和讨论 3 三 程序设计……………………………………………………………5 3.1 程序流程图…………………………………………………………5 3.2 部分程序功能介绍…………………………………………………6 四 结果分析..............................................5 4.1实验波形图…………………………………………………………8 4.2 结果分析……………………………………………………………9 五 总结与体会…………………………………………………………10 参考文献 ………………………………………………………………11 附录 ……………………………………………………………………12 一 题目要求 1.1波形发生器简介 波形发生器是一种数据信号发生器,在调试硬件时,常常需要加入一些信号,以观察电路工作是否正常。用一般的信号发生器,不但笨重,而且只发一些简单的波形,不能满足需要。就可以定义串口数据。通过逻辑探勾输出,调试起来简单快捷。1.1.1题目要求 设计制作一个简易波形发生器,该波形发生器能产生正弦波、方波、三角波,通过键盘控制可以改变输出信号的频率和幅度。能产生正弦波、方波、三角波3种周期波形通过键盘控制可以改变幅度和频率 输出信号幅度在0~5V连续可调MAX+plus II操作流程,熟练运用VHDL语言。 (2) 熟练掌握有关DAC0832芯片的相关功能 (3) 熟练掌握数字示波器的使用。 二 方案论证 2.1设计思路 2.1.1原理分析和讨论 本次课题的设计思路可分为5个部分,如图1所示,即启动DAC0832、波形的幅度调节、周期的调节、波形幅度值到BCD码转化以及显示幅度值。 启动DAC0832时需认真阅读有关实验箱的手册,以及DAC0832的引脚功能,由于DAC0832是由FPGA输出的信号wr、cs驱动、控制的,当reset为高电平时,DAC0832关闭[1],因此根据实验箱的操作手册,我们只需将开关的1、5、8位置“ON”,其他的打到“OFF”档,DAC0832的启动只需将cs、wr1设为‘0’即可。 对于波形的幅度调节,我们是通过两个按键up、down来实现的,按下up键,波形的幅值增大,按下down键则与之相反,该功能的实现主要是通过if语句来判断up、down键是否按下,并根据判断结果做出相应的操作。 对于波形的周期调节,我们是通过两个按键up0、down0来实现的,按下up0键,波形的周期增大,按下down0键则与之相反,该功能主要是通过改变变量的值间接实现周期的调节,另外通过按下up、down键也可改变波形的周期。 波形幅度值到BCD码的转化是本课题中比较重要的一部分,这部分的正确性对后面的幅度显示起决定性作用。通过查阅资料我们得出DAC0832的参考电压时12V,根据公式Vout=Vref/256*D即可得出波形的输出电压值,得出输出电压值后,将该电压的每一位数值通过一定的方法取出来,再将其值送到相应位的数码管上显示即可完成。 三 程序设计 3.1.1程序流程图 图2 幅度调节 3.1.2 部分程序功能介绍 ENTITY SANJ IS PORT( CLK :IN STD_LOGIC; RESET :IN STD_LOGIC; FDD :IN STD_LOGIC; SAN :IN STD_LOGIC; --三角波使能 FANG :IN STD_LOGIC; --方波使能 WR :OUT STD_LOGIC; D :OUT STD_LOGIC_VECTOR(7 DOWNTO 0); ); END SANJ; 以上是变量的设置 SIGNAL DS :STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL FD :STD_LOGIC_VECTOR(7 DOWNTO 0); 以上是幅度调节的变量 PROCESS(FDD)IS BEGIN IF(FDDEVENT AND FDD=1) THEN --幅度调节 IF(FDXFF) THEN FD=FD+1; ELSE FD=X0F; END IF; END IF;

文档评论(0)

almm118 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档