基于EDA的智能函数发生器的设计.docVIP

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

EDA课程设计报告书 课题名称 基于EDA的智能函数发生器的设计 姓 名 学 号 院、系、部 专 业 指导教师 2016年6月2日 1. 函数发生器能够产生方波、三角波、正弦波、及梯形波。 2. 可以通过选择开关选择相应的波形输出。 3. 通过按键确定输出的波形及确定是否输出波形。 4. 系统具有复位的功能。 指导教师签名: 2016年 月 日 二、指导教师评语: 指导教师签名: 2016年 月 日 三、成绩 指导教师签名: 2016年 月 日 基于EDA的智能函数发生器的设计 1 设计目的 (1)熟悉集成电路的引脚安排。掌握各芯片的逻辑功能及使用方法。了解面包板结构及其接线方法。了解的组成及工作原理。熟悉的设计与制作。 (3)设计方波发生电路。 通过以上分析设计要求完成的功能,确定函数发生器可由三角波产生模块、梯形波产生模块、正弦波产生模块、方波产生模块和输出波形选择模块组成,以及按键复位控制和时钟输入。由此可确定系统的总体原理框图为: 3 设计过程 3.1波形函数发生方案对比选择 波形函数发生是本设计的最重要的部分,实现函数发生的途径也有很多,因此必须选择一种易于实现且精度高的方案,以此来提高本设计的实用性。 方案一:通过单片机控制D/A,输出三种波形。此方案输出的波形不够稳定,抗干扰能力弱,不易调节。 方案二:使用传统的锁相频率合成方法。通过芯片IC145152,压控振荡器搭接的锁相环电路输出稳定性极好的正弦波再利用过零比较器转换成方波,积分电路转换成三角波。此方案,电路复杂,干扰因素多,不易实现。 方案三:利用MAX038芯片组成的电路输出波形。MAX038是精密高频波形产生电路,能够产生准确的三角波、方波和正弦波三种周期性波形。 用VHDL语言编写程序,调试成功后下载至实验装置的芯片上,再利用外接电路实现以上设计功能。 系统时钟输入后,通过复位开关选择是否产生波形,当各个模块产生相应的信号波形后,通过波形选择模块波形选择开关选泽输出不同的波形,再通过D/A转换器转换,就可以把数字信号(由FPGA输出)变成了相应模拟的信号波形。整个系统设计的核心就是FPGA部分。 4.各模块程序设计及仿真 根据自上而下的思路进行项目设计。明确每个模块的功能以后,开始编写各个模块的程序。正弦波sin的VHDL程序如附录所示,其中clk是输入时钟端口,sel0、sel1、sel2为选择波形按键值,reset为输入复位端口,q为八位二进制输出端口。 图5 正弦波模块仿真图 正弦波产生原理:通过循环不断地从波形数据ROM文件中依次读取正弦波一个周期在时域上64个采样点的波形数据送入波形DAC,从而产生正弦波。 4.4方波模块 方波模块的square的VHDL程序描述如下:其中clk为输入时钟端口,sel0、sel1、sel2为选择波形按键值,reset为输入复位端口,q为整数输出端口。 图6 方波模块仿真图 方波模块的设计是当内部计数cnt达到64时,根据输出标志a的数值输出对应的数值,当a=0输出0,也即是方波周期中的低电平,当a=1,输出255,也即是方波周期中的高电平。连续的输出便成了观测到的方波波形。其VHDL描述如下: IF clr=0 THEN a=0; ELSIF clkEVENT AND clk=1 THEN --检测时钟上升沿 IF cnt63 THEN --计数64个点 cnt:=cnt+1;--计数 ELSE cnt:=0; --当计数的值大于64时,清零。 a=NOT a; --对内部a变量取反,a变化启动进程END PROCESS; ............... PROCESS(clk,a) BEGIN IF clkEVENT AND clk=1 THEN IF a=1 THEN q=255; --a=1,输出一个波形周期内的高电平 ELSE q=0; --a=0,输出一个波形周期的低电平。 4.5输出波形选择模块 波形选择模块是一个设计位6选1的数据选择器,其中sel为波形数据选择端口,d0

文档评论(0)

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

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

1亿VIP精品文档

相关文档