网站大量收购独家精品文档,联系QQ:2885784924

梁祝乐曲_乐曲硬件演奏电路的VHDL设计_eda课程设计.docVIP

梁祝乐曲_乐曲硬件演奏电路的VHDL设计_eda课程设计.doc

  1. 1、本文档共13页,可阅读全部内容。
  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文档。上传文档
查看更多
. . 乐曲硬件演奏电路的VHDL设计 姓名:张哲铭 班级:12微电子 一、设计题目:乐曲硬件演奏电路的VHDL设计 二、设计目标: 了解一般乐曲演奏电路设计设计方法,学习VHDL语言,熟悉EDA设计软件QuartusII和MAX+plusⅡ,加强独立完成电子设计的能力。 (1)能够播放“梁祝”乐曲。 (2)能够通过LED显示音阶。 (3)(选作)具有“播放/停止”功能,并在此基础上实现“按键演奏”的电子琴功能。 主芯片型号为FLEX10K10LC84-4 三、实验电路的工作原理:(演奏电路逻辑图) ???组成乐曲的每个音符的发音频率值及其持续的时间是乐曲能够连续演奏所需的两个基本要素,设计演奏电路的关键就是获得这两个要素所对应的数值以及通过纯硬件的手段来利用这些数值实现所希望乐曲的演奏效果。 演奏电路逻辑图有三部分:音乐节拍和音调发生器、简谱码对应的分频预置数查表电路、数控分频与演奏发生器。 演奏电路逻辑图: 四、设计内容: 1.完成程序的编辑工作。 2.将音乐数据制作成LMP_ROM文件. 3.将程序加载到MAX+plusⅡ中进行编译、仿真,并保存仿真结果。 4.到实验室进行下载验证。引脚进行锁定,然后下载到实验芯片中观察实验结果。 五、仿真结果: 1.音乐节拍和音调发生器(NoteTabs.VHD) notetabs模块中设置了一个8位二进制计数器(计数最大值138),作为音符数据ROM的地址发生器。这个计数器的计数频率选为4Hz,即每一个计数值的停留时间为0.25秒,恰为当全音符设为1秒时,四四拍的4分音符持续时间。随着notetabs模块中的计数器按4Hz的时钟速率作为加法计数时,即随地址值递增时,音符数据ROM中的音符数据将从ROM中通过ToneIndex[3..0]端口输向ToneTaba模块,“梁祝”乐曲就开始连续自然的演奏起来了。 Notetabs模块仿真图: 2.简谱码对应的分频预置数查表电路(ToneTaba.VHD) 音符的持续时间需根据乐曲的速度及每个音符的节拍数来确定,tonetaba模块的功能首先是为speakera提供决定所发音符的预置数,而此数在speakera输入口停留的时间即为此音符的节拍值。Tonetaba模块是乐曲简码对应的分频预置数查表电路。其中设置了“梁祝”乐曲全部音符所对应的分频预置数,共13个,每一音符的停留时间由音乐节拍和音调发生器模块NoteTabs的clk的输入频率决定。这13个值的输出由对应于ToneTaba的4位输入值Index[3..0]确定,而Index[3..0]最多有16种可选值。输向ToneTaba中Index[3..0]的值ToneIndex[3..0]的输出值与持续时间有模块notetabs决定。 Tonetaba仿真图: 4.数控分频与演奏发生器(Speakera.VHD) 音符的频率可由次模块获得,这是一个数控分频器,由其clk端输入一个具有较高频率的信号,通过speakera分频后由spkout输出,由于直接从数控分频器中出来的输出信号是脉冲较窄的脉冲信号,为了有助于驱动扬声器,需另加一个D触发器以均衡其占空比,但这时的频率是原来的1/2。Speakera对clk输入信号的分频的预置数Tone[10..0]与spkout的输出频率就有了对应关系。 Sperkera模块仿真图: 5.《梁祝》music.vhd(音乐数据): 将数据保存为.mif格式然后制作成LMP_ROM文件。 六、实验结果:(程序下载验证是否通过) ????试验成功! 将设计出的演奏电路的程序经过编译(Compiler)后,选择FLEX10K系列中EPF10K10LC84-4作为目标器件(Assign/Device),并进行管脚锁定(Floorplan Editor)。器件编程(Programmer),将编译生成的*.sof文件下载到目标芯片。观察到数码管5显示出演奏时的音乐简谱,发光二极管D5指示音调高低,同时实验箱自带蜂鸣器(Speaker)奏出“梁祝”那凄美动人的旋律,实验成功。 七、总结: 本次乐曲硬件演奏电路的VHDL设计主要采用数控分频原理来实现,在本次EDA课程设计中,我与其他同学相互交流,相互学习,提高了用VHDL语言编程的技能及进一步加强了MAX+plusⅡ对这种EDA流行软件的应用,通过这次设计,我们温故了已学的理论知识和实践操作技能,同时也学习了更多的新的知识和技能,为以后进一步的学习和工作打下了坚实的基础。 本设计得到的电路可以作为一个乐曲演奏模块,如果要演奏出另外一首曲子,只需将该曲子出现的简谱分频预置数写入ToneTaba.VHD

文档评论(0)

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

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

1亿VIP精品文档

相关文档