- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
EDA技术课程设计报告
EDA技术
课程设计报告
专 业:测控技术与仪器
学生姓名:刘鹏飞
学 号:2010043123
完成年月日
2013年6月23日
摘要
本次课程设计中我们成功设计出了具有自动播放和手动输入功能的音乐播放器,播放器由按键输入、音符输出、音调输出、选择输出、和数控分频五个模块组成。
其中各个模块的功能如下:(1)按键输入模块主要由控制按键和音符输入按键组成,党控制按键按下时开始自动播放;(2)音符输出模块主要实现将存储在rom表中的音符读出并送入音调输出模块中;(3)音调输出模块主要是通过查表来实现找到各个音调对应的分频预置数;(4)选择输出模块主要是通过按键控制来实现自动播放和手动弹奏输出功能;(5)数控分频模块实现在给定分频预置数的情况下分频输出驱动蜂鸣器输出相应的音调。
关键词:乐谱存储 乐谱输出 按键输入 选择输出 数控分频
第一章 概述
随着计算机技术和集成电路技术的发展,现代电子与电工设计,已经步入了电子设计自动化(EDA)的时代,采用虚拟仿真的手段对电子产品进行前期工作的调试,已成为一种发展的必然趋势。通过对实际电子线路的仿真分析,从而提高对电路的分析、设计和创新能力。EDA技术作为现代电子设计最新技术的结晶,其广阔的应用前景和深远的影响已毋庸置疑,它在信息工程类专业中的基础地位和核心作用也逐渐被人们所认识。许多高等学校开设了相应的课程,并为学生提供了课程设计、综合实践、电子设计竞赛、毕业设计、科学研究和产品开发等EDA技术的综合应用实践环节。相关的工程技术人员也特别重视学习EDA技术,并渴望提高其工程应用能力。
本次设计是在EDA开发平台上利用VHDL语言设计一个乐曲硬件演奏电路,由键盘输入控制音响或自动演奏。用户可以将自己编制的乐曲存入硬件演奏电路,演奏时可以选择键盘输入乐曲或者自动演奏已存入的乐曲。
第二章 设计要求
2.1、FPGA配合按键、蜂鸣器演奏一段简单音乐;
2.2、当前演奏音调对应的阿拉伯数字用一位数码管显示;
2.3、用LED灯亮的个数指示当前演奏音调。
第三章 总体构思
首先将该任务分成五个模块进行设计,分别为:乐谱存储、乐谱输出、按键输入、选择输出、数控分频模块。系统设计框图如图3.1所示:
图3.0 系统框图
3.1、乐谱存储(NoteTabs模块)
该模块的功能就是定义音符数据ROM“music”随着该模块中的计数器控制时钟频率速率作加法计数时,即地址值递增时,ROM中的音符数据将从ROM中逐渐通过ToneIndex[3..0]端口输向ToneTaba模块,ROM中存储的曲目被读出。对应模块图如图3.1所示:
图3.1 notebas模块图
3.2、乐谱输出(ToneTaba模块)
该模块主要是是乐曲简谱码对应的分频预置数查找表电路,其中设置了乐曲的全部音符对应的分频置数,每一音符的停留时间由音乐节拍和音调发生器模块NoteTabs的CLK的输入频率决定,这些值由对应于ToneTaba的4位输入值Index[3..0]确定,最多有16种可选值。输向ToneTaba中Index[3..0]的值ToneIndex[3..0]的输出值与持续的时间由模块NoteTabs决定。
对应模块图如图3.2所示
图3.2 tonetaba模块
3.3、按键输入模块
该模块主要由控制按键s8控制自动播放或者手动输入,输入音符按键s1- -s7分别代表音符1、2、3、4、5、6、7七个音符,控制时钟clk。同时states输出对应音符,led显示输出音符的变化,pl为十一位分频预置数来控制分频器分频输出。
图3.3 按键输入模块图
3.4、选择输出模块
该模块通过控制按键s9来控制选择自动播放输出(s9为高电平)或者按键弹奏输出(s9为低电平)。
图3.4 选择输出模块
3.5、数控分频模块
数控分频器的功能是当在输入端给定不同的输入数时,将对输入的时钟信号有不同的分频比,数控分频器是用计数值可并行预置的加法计数器来完成的。在此,音符的频率可由数控分频器Speakera获得。由其clk端输入一具有较高频率的信号,通过Speakera分频后由 SpkS 输出,输入的clk的频率经16分频后,在经一次二分频驱动蜂鸣器发生。Speakera对clk输入信号的分频比由11位预置数Tone[10..0]决定。SpkS 的输出频率将决定每一音符的音调,这样分频计数器的预置值Tone[10..0]与SpkS的输出频率就有了对应关系。
图3.5 数控分频输出模块图
3.6、顶层电路搭建
对前几个模块实现综合编写的顶层电路。
第四章 各单元电路的实现及仿真
4
文档评论(0)