音乐播放器设计Word文件下载.docx
- 文档编号:16113788
- 上传时间:2022-11-20
- 格式:DOCX
- 页数:8
- 大小:262.30KB
音乐播放器设计Word文件下载.docx
《音乐播放器设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《音乐播放器设计Word文件下载.docx(8页珍藏版)》请在冰豆网上搜索。
2016年6月30日
、设计要求
1、至少能演奏两首乐曲,曲目不限“梁祝”除外,同时用数码管或2004液晶屏显示当前乐曲名称及编号。
2、具有播放、暂停、选曲及演奏模式切换(单曲循环、顺序播放)等功能。
、音乐播放器设计背景及其研究意义
现代EDA技术代表了当今电子设计技术的最新发展方向,它的基本特征是采用硬件描述语言进行电路与系统的设计,具有系统级仿真和综合能力.FPGA和EDA使设计方法发生了质的变化.把以前"
电路设计+硬件搭试+调试焊接"
转化为"
功能设计+软件模拟+仿真下载"
.随着电脑普及,互联网飞速发展,这些技术使得各种电子产品迅速的进入了我们的生活,每一个产品的诞生都离不开EDA技术,从彩色电视机,智能冰箱,再到个人随身用的音乐播放器都需要EDA技术提供支持.人们生活水平逐步提高,顺应电子技术的发展趋势,可利用EDA开发平台,采用可编程逻辑器件FPGA使硬件的功能可通过编程来实现音乐播放器,Quartus2软件是进行FPGA设计的操作平台,其功能强大,界面友好,使用便捷.Quartus2软件集成了Altera公司的可编程逻辑器件开发流程中所涉及的几乎所有的工具和第三方软件接口,主要能够实现设计输入、综合、布局布线、时序分析、仿真、编程和配置,系统级设计、软件开发、时序逼近、调试和工程更改管理的功能。
因此,基于FPGA的电路设计过程更加灵活且通用性更好。
关键词:
音乐播放器,VerilogHDL,Quartus2,FPGA,LMP
、设计思路
1、
利用VHDL硬件描述语言结合FPGA器件设计一个音乐播放器
为其他电路的设计提供一定借鉴作用。
2
、了解音乐播放器的原理,运用刚刚学过的数电知识设计并制作音乐播放器,而且通过音乐播放器的制作进一步了解各种在制作中用到的中小规模集成电路的作用及其使用方法。
通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法,从而实现理论与实践相结合.
四、基本原理
1、为了便于理解,首先介绍一下硬件电路的发声原理.我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制FPGA某个引脚输出一定频率的矩形波,接上扬声器就能发出相应频率的声音.而乐曲中的每一音符对应着一个确定的频率,因此,要想FPGA发出不用音符的音调,实际上只要控制它输出相应音符的频率即可.乐曲都是由一连串的音符组成,因此按照乐曲的乐谱依次输出这些音符所对应的频率,就可以在扬声器上连续地发出各个音符的音调.而要准确地演奏出一首乐曲,仅仅让扬声器能够发声是不够的,还必须准确地控制乐曲的节奏,即每个音符的持续时间.由此可见,乐曲中每个音符的发音频率及其持续的时间是乐曲能够连续演奏的两个关键因素。
2、音调的控制频率的高低决定了音调的高低.音乐的十二平均率规定:
每两个八度音(如简谱中的中音1和高音1)之间的频率相差一倍.在两个八度音之间又分为十二个半音.另外,音名A(简谱中的低音6)的频率为440Hz,音名B到C之间、E到F之间为半音,其余为全音.由此可以计算出简谱中从低音1到高音1之间每个音名对应的频率,所有不同频率的信号都是从同一个基准频率分频得到的.由于音阶频率多为非整数,而分频系数又不能为小数,因此必须将计算得到的分频数四舍五入取整.若基准频率过低,则由于分频比太小,四舍五入取整后的误差较大,若基准频率过高,虽然误差较小,但分频数将变大.实际的设计应综合考虑这两方面的因素,在尽量减小频率误差的前提下取合适的基准频率.因此,要想FPGA发出不同音符的音调,实际上只要控制它输出相应音符的频率即可.综合考虑各因素,本文中选取4MHZ作为CLK的分频计数器的输入分频信号。
乐曲都是由一连串的音符组成,因此按照乐曲的乐谱依次输出这些音符所对应的频率,就可以在扬声器上连续地发出各个音符的音调。
分频信号乐曲都是由一连串的音符组成,因此按照乐曲的乐谱依次输出这些音符所对应的频率,就可以在扬声器上连续地发出各个音符的音调.
简谱中的音名与频率的关系
音名
频率/Hz
音名
频率/Hz
频率/Hz
低音1
261.6
中音1
523.3
高音1
1045.5
低音2
293.7
中音2
587.3高音2
1174.7
低音3
329.6
中音3
659.3
高音3
1318.5
低音4
349.2
中音4
698.5
高音4
1396.9
低音5
392中音5
784
高音5
1568
低音6
440
中音6
880
高音6
1760
低音7
493.9
中音7
987.8
高音7
1975.5
3、音长的控制
音符的持续时间须根据乐曲的速度及每个音符的节拍数来确定.因此,在想控制音符的音长,就必须知道乐曲的速度和每个音符所对应的节拍数,在这个设计中所播放的乐曲的最短的音符为四分音符,如果将全音符的持续时间设为1s的话,那么一拍所应该持续的时间为0.25秒,则只需要再提供一个4HZ的时钟频率即可产生四分音符的时长.要想让系统知道现在应该播放哪个音符,而这个音符持续的时间应该是多少,就必须编写乐曲文件,在乐曲文件中音符是按地址存放的,当系统工作时就按4Hz的频率依次读取简谱,当系统读到某个音符的简谱时就对应发这个音符的音调,持续时间为0.25秒,而如果在曲谱文件中这个音符为三拍音长,那又该如何控制呢?
其实只要将该音符连续书写三遍,这时系统读乐曲文件的时候就会连续读到三次,也就会发三个0.25秒的音长,这时我们听上去就会持续了三拍的时间,通过这样一个简单的操作就可以控制音乐的音长了.
五、设计内容及步骤
1、系统原理图
2、分频模块
由于开发板系统时钟为20MHz,而在设计中所需时钟为1KHz所以需通过分频得到所需时钟,通过软件自带工具建立模块如下:
3、蜂鸣器模块
modulebuzzer(CLK,C,SPEAKER);
inputCLK;
input[1:
3]C;
outputSPEAKER;
integerN;
//定义变量N用于蜂鸣器计时
reg[1:
3]M;
//定义寄存器M存放C的状态用以判断C是否产生变化
regSPEAKER;
always@(posedgeCLK)
begin
if(C==0)beginN<
=3000;
SPEAKER<
=0;
M<
end
else
if(C!
=M)
begin
N<
=N-1;
if(N>
0)SPEAKER<
=1;
elsebeginSPEAKER<
N<
=C;
/*当C变化之后小于以前那个值蜂鸣三秒,即多个输入信号T同时存在时,若优先级较高的输入消失,系统检测到新的输入,蜂鸣器响三秒*/
endmodule
封装如下:
4、在工程下完成整个电路的连接编译并进行引脚分配如下:
5、可预置计数器模块
6、乐谱码ROM存储
7、液晶显示模块2004
8、二选一多路选择器程序
9、下载到开发板并完成验证
通过下载到开发板进行分析说明,验证其功能的实现
10、调试
本文设计的音乐播放器实现了整体复位、按键选择播放方式、循环演奏以及发光管显示乐谱的功能.数控分频器模块的仿真时一定要处理好时序问题,
音调发生器的程序中通过时钟计数来决定音符的输出,会加大编程的繁杂度,这时一个很好的解决办法就是把将要演奏的乐谱存放在人为开辟的存储空间里,这样只需要在相应地址中读出音符即可.
六、对设计的体会与感想
通过本次论文设计,让我学会了利用Quartus2软件绘制原理图,硬件描述语言VerilogHDL的编写程序,仿真等具体应用.并能根据仿真结果分析设计的存在的问题和缺陷从而进行程序的调试和完善.同时了解了数控分频器的工作原理和功能作用,并会了利用LPM模块制作ROM文件的方法,也更深一层地懂得了顶层文件通过例化语句与其他模块结合的好处,对EDA实验箱的操作也有了进一步的了解,熟悉掌握了EDA的文本编程设计方法和仿真波形的编辑.在设计电路中,往往是先仿真后连接实物图但有时候仿真和电路连接并不是完全一致的例如在对具体模块的仿真的过程中往往没有考虑到整体设计的层面以及与上下模块接口的设计.再加上器件对信号的延时等问题实际下载硬件电路上后会出现一系列的问题.相信随着电子技术的发展数字钟的功能会更加多样化满足人们的各种需要.设计过程也将变得相对简单容易修改.同时特别感谢谷雷老师在Quartus2软件绘制上的指导和对论文规范修改提出的宝贵意见.
七、参考文献
1、《EDA技术实用教程-VerilogHDL版(第五版)》
2、网上查阅。
3、FPGA开发技术手册
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 音乐 播放 设计