会员注册 | 登录 | 微信快捷登录 QQ登录 微博登录 | 帮助中心 人人文库renrendoc.com美如初恋!
站内搜索 百度文库

热门搜索: 直缝焊接机 矿井提升机 循环球式转向器图纸 机器人手爪发展史 管道机器人dwg 动平衡试验台设计

   首页 人人文库网 > 资源分类 > DOC文档下载

基于FPGA音乐硬件演奏电路设计.doc

  • 资源星级:
  • 资源大小:304.50KB   全文页数:20页
  • 资源格式: DOC        下载权限:注册会员/VIP会员
您还没有登陆,请先登录。登陆后即可下载此文档。
  合作网站登录: 微信快捷登录 支付宝快捷登录   QQ登录   微博登录
友情提示
2:本站资源不支持迅雷下载,请使用浏览器直接下载(不支持QQ浏览器)
3:本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

基于FPGA音乐硬件演奏电路设计.doc

EDA技术实用教程课程设计题目基于FPGA音乐硬件演奏电路设计目录摘要11.系统设计总述1.1设计要求21.2系统组成32.总体程序设计2.1顶层模块设计流程图42.2顶层电路VHDL程序设计53.单元模块程序设计3.1音乐节拍和音调发生器模块63.2音乐谱对应分频预制数查表83.3音乐符数控11分频电路模块103.4乐曲演奏音符数据文件123.5定制音符数据的ROM文件144.VHDL音乐硬件演奏电路系统仿真与调试4.1NoteTabs音乐节拍和音调发生器模块的仿164.2ToneTaba分频预置数查表模块的仿真164.3Speakera音乐符数控分频模块的仿真174.1扩大此音乐硬件演奏电路的通用性195.心得体会216.参考文献21摘要根据国家教委与专业教学委员会对教育机构的要求,为培养适应我国21世纪国民经济发展需要的电子设置人才同时基于国家教委面向21世纪电工电子课程体系改革和电工电子工科教学基地建设两项教学改革研究成果。要求高等专科学校学生能够自己动手完成简单数字器件的设计。这不但反应了我国当前在电子电路的实验教学体系、内容和方法上的改革思路和教学水平的提高,更重要的是在加强以传统电子设计方法为基础的工程设计训练的同时,使学生能够尽快掌握现代电子设计自动化技术的新方法、新工具和新手段系统的、科学的培养了学生的实际动手能力、理论联系实际的能力、工程设计能力,创新能力,提高了学生对基础实验的兴趣。本次设计在EDA开发平台QUARTUS||6.0上利用VHDL语言设计数控分频器电路,利用数控分频的原理设计音乐硬件演奏电路,并定制LPMROM存储音乐数据,以梁祝和月亮代表我的心两首乐曲为例,将音乐数据存储到LPMROM,就达到了以纯硬件的手段来实现乐曲的演奏效果。只要修改LPMROM所存储的音乐数据,将其换成其他乐曲的音乐数据,再重新定制LPMROM,连接到程序中就可以实现其它乐曲的演奏。本设计采用的是杭州康芯电子有限公司生产的GW48CK实验系统,FPGA目标芯片型号为Altera公司的Cyclone系列中的EPFl0K10LC84。芯片配置成功后即可进行硬件测试选择实验电路结构图NO.1,使CLK6MH2与C10ck9相接接受6MHz时钟频率,CLK4Hz与CLOCK2相接接受4Hz时钟频率,发音输出接SPEAK,当乐曲一遍演奏完成后,乐曲发生器能自动从头开始循环演奏,按下SEL键时播放第二首歌,按下RST键时从头开始播放歌曲。关键词FPGA/CPLD,音乐硬件演奏电路,VHDL语言设计,QUARTUS||6.01.系统设计总述1.1设计要求(1)顺序播放乐曲功能(2)具有通过按键任意切换乐曲功能1.2系统组成(1)音乐硬件演奏电路基本原理硬件电路的发声原理,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制FPGA芯片某个引脚输出一定频率的矩形波,接上扬声器就能发出相应频率的声音。乐曲中的每一音符对应着一个确定的频率,要想FPGA发出不同音符的音调,实际上只要控制它输出相应音符的频率即可。乐曲都是由一连串的音符组成,因此按照乐曲的乐谱依次输出这些音符所对应的频,就可以在扬声器上连续地发出各个音符的音调。而要准确地演奏出一首乐曲,仅仅让扬声器能够发生是不够的,还必须准确地控制乐曲的节奏,即乐曲中每个音符的发生频率及其持续时间是乐曲能够连续演奏的两个关键因素。(2)音符频率的获得多个不同频率的信号可通过对某个基准频率进行分频器获得。由于各个音符的频率多为非整数,而分频系数又不能为小数,故必须将计算机得到的分频系数四舍五入取整。若基准频率过低,则分频系数过小,四舍五入取整后的误差较大。若基准频率过高,虽然可以减少频率的相对误差,但分频结构将变大。实际上应该综合考虑这两个方面的因素,在尽量减少误差的前提下,选取合适的基准频率。本设计中选取750KHz的基准频率。由于现有的高频时钟脉冲信号的频率为12MHz,故需先对其进行16分频,才能获得750KHz的基准频率。对基准频率分频后的输出信号是一些脉宽极窄的尖脉冲信号(占空比1/分频系数)。为提高输出信号的驱动能力,以使扬声器有足够的功率发音,需要再通过一个分频器将原来的分频器的输出脉冲均衡为对称方波(占空比1/2),但这时的频率将是原来的1/2。下表中各音符的分频系数就是从750KHz的基准频率二分频得到的375KHz频率基础上计算得到的。由于最大分频系数是1274,故分频器采用11位二进制计数器能满足要求,乐曲中的休止符,只要将分频系数设为0,即初始值21112047,此时扬声器不会发声。音符名频率Hz分频系数计数初值音符名频率Hz分频系数计数初值休止符37500002047中音4796.1784681579低音1294.3491274773中音5882.3534251622低音2330.3961135912中音6989.4463791668低音3370.9210111036中音71136.3633301717低音4386.5989701077高音11175.5493191728低音5394.7379501197高音21353.7902771770低音6495.3767571290高音31512.0972481799RSTSELclkToneIndex3..0Index3..0HIGHCODE3..0Tone10..0clkTone10..0SpkSCODE13..0SPKOUTCLK12MHZSELRSTNoteTabsu1CLK8HZToneTabau2Speakerau3HIGH1各个音符的频率及其对应的分频系数(基准频率375KHz)(3)乐曲节奏的控制本设计中的梁祝和月亮代表我的心的乐曲,最小的节拍为1/4拍,若将1拍的时间定为1秒,则只需要提供一个4Hz的时钟频率即可产生1/4拍的时长(0.25秒),对于其它占用时间较长的节拍(必为1/4拍的整数倍)则只需要将该音符连续输出相应的次数即可。计数时钟信号作为输出音符快慢的控制信号,时钟快时输出节拍速度就快,演奏的速度也就快,时钟慢时输出节拍的速度就慢,演奏的速度自然降低。(4)乐谱发生器本文将乐谱中的音符数据存储在LPMROM中,如梁祝乐曲中的第一个音符为3,此音在逻辑中停留了4个时钟节拍,即1秒的时间,相应地,音符3就要在LPMROM中连续的四个地址上都存储。当一个4Hz的时钟来时,相应地就从LPMROM中输出一个音符数据。(5)音乐硬件演奏电路总体设计流程当一个4Hz的时钟脉冲来到时,乐谱发生器模块输出一个音符数据给分频系数模块,分频系数模块输出此音符相应的分频系数,将分频系数送给数控分频器模块,当12MHz的时钟脉冲来到时,数控分频器就根据分频系数输出相应的频率即此音符所对应的发生频率给扬声器,扬声器就可发出对应音符的声音来.连续的4Hz的时钟脉冲就将乐谱发生器里所存储的音符数据一个接一个的送给了分频系数模块,再经过数控分频模块,最后扬声器一个接一个的发出音符数据所对应的声音来。曲子也就流畅的播放出来了,当乐曲一遍演奏完成后,乐曲发生器能自动从头开始循环演奏,按下SEL键时播放第二首歌,按下RST键时从头开始播放歌曲。音乐硬件演奏电路主要是用VHDL语言来设计,并利用Quartus6.0软件工具来编译、测试和仿真,音乐硬件演奏电路设计总体设计方框图如下图所示2.总体程序设计低音7555.566751372高音41609.4422331814中音1588.6976371410高音51802.8842081839中音2638.845871480高音62027.0271851862中音3742.5745051542高音72272.7271651882

注意事项

本文(基于FPGA音乐硬件演奏电路设计.doc)为本站会员(网游小王子)主动上传,人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知人人文库网([email protected]),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。

copyright@ 2015-2017 人人文库网网站版权所有
苏ICP备12009002号-5