ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:204.29KB ,
资源ID:3259416      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3259416.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于MP3播放器的简易应用.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于MP3播放器的简易应用.docx

1、基于MP3播放器的简易应用摘要根据国家发改委与专业教学委员会对教育机构的要求,为培养适应我国21世纪国民经济发展的电子设计人才;同时基于国家教委面向21世纪电工电子课程体系改革和电工电子工科教学基地建设两项教学改革研究成果。要求高等本科在校学生能够自己动手完成简单的数字器件设计。本次设计在课本梁祝演奏的基础上,通过对频率的改变与矫正,设计出8Hz的频率输出模块,这样一些不能准确播放的音乐也可以很好的通过蜂鸣箱播放,并连接流水灯,通过流水灯显示听到的频率节拍。再用一个音乐选择的按键可以手工直接选择要播的音乐。关键词 FPGA;音乐播放器;QuartusII;VHDL;目录摘要 1第一章 前言 2

2、1.1 关于VHDL 21.2 关于FPGA 31.3 有关本次课程设计 3第二章 设计实现 42.1音乐频率的设定 42.1.1波形仿真 62.2音乐的选择 62.2.1选择的电路图 62.2.2选择编码 72.2.3波形仿真 82.2音乐的乐谱 9伤不起 9另一个天堂 9老男孩 10心跳 102.3.2波形仿真 112.4顶层设计 12第三章 总结与致谢 12参考文献 14第一章 前言1.1关于VHDLVHDL是一种硬件描述语言,它可以对电子电路和系统的行为进行描述,基于这种描述,结合相关的软件工具,可以得到所期望的实际电路与系统。使用VHDL语言描述的电路,可以进行综合和仿真。然而,值得

3、注意的是,尽管所有VHDL代码都是可仿真的,但并不是所有代码都能综合。VHDL被广泛使用的基本原因在于它是一种标准语言,是与工具和工艺无关的,从而可以方便地进行移植和重用。VHDL两个最直接的应用领域是可编程逻辑器件(PLD)和专用集成电路(ASIC),其中可编程逻辑器件包括复杂可编程逻辑器件(CPLD)和现场可编程门阵列(FPGA)。关于VHDL最后要说明的是:与常规的顺序执行的计算机程序不同,VHDL从根本上讲是并发执行的。在VHDL中,只有在进程(PROCESS)、函数(FUNCTION)和过程(PROCEDURE)内部的语句才是顺序执行的。1.2 关于FPGAFPGA是英文Field

4、Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。1.3 关于实验的设计既然是MP3播放器,那么对于乐曲的演奏效果就有了很高的要求。按照教材中的基础模式,我们进行了延伸。在教材中,以梁祝为例,给出了具有两个八度的音符频率,之后又根据一秒钟四拍的速度进行了编曲,我们在进行硬件测试时发现尽管音乐表现出来了,但是基准频率

5、中两个八度的fa都偏高一个半音,于是我们进行了频率的调试,在实测中改写16进制的频率代码。这样做了之后,我们发现对于仅有4Hz,14个音的basic是无法表现节奏更快的乐曲的,并且很多乐曲还需要12音律中的其他五个半音。于是我们在自己的设计中将节拍改为了8Hz,并且经过现场测试调出了另外5个半音的频率,最后构成了两个八度共24个音的音律,这样就为之后进行相关乐曲的编曲打下了坚实的基础。本次设计在课本梁祝演奏的基础上,通过对频率的改变与矫正,设计出8Hz的频率输出模块,这样一些不能准确播放的音乐也可以很好的通过蜂鸣箱播放,并连接流水灯,通过流水灯显示听到的频率节拍。再用一个音乐选择的按键可以手工

6、直接选择要播的音乐。第二章 设计实现2.1.频率的与节拍的设定在教材中,以梁祝为例,给出了具有两个八度的音符频率,之后又根据一秒钟四拍的速度进行了编曲,我们在进行硬件测试时发现尽管音乐表现出来了,但是基准频率中两个八度的fa都偏高一个半音,于是我们进行了频率的调试,在实测中改写16进制的频率代码。这样做了之后,我们发现对于仅有4Hz,14个音的basic是无法表现节奏更快的乐曲的,并且很多乐曲还需要12音律中的其他五个半音。于是我们在自己的设计中将节拍改为了8Hz,并且经过现场测试调出了另外5个半音的频率,最后构成了两个八度共24个音的音律,然后再根据节拍与频率一点点的调,最后确定正确的频率节

7、拍。对于编曲方面,以王力宏的心跳为例,这首乐曲具有很多切分音,对于1秒钟8拍的速度需要把歌曲的原速放慢,在进行编曲是考虑节拍的空拍及音符的长短时很费脑筋,不过这些难题还是在我们的努力下解决了。F_CODE的设计module F_CODE (INX, CODE, H, TO); input4:0 INX; output4:0 CODE; output H; output10:0 TO; reg10:0 TO; reg4:0 CODE; reg H; always (INX) begin case (INX) 0 : begin TO = 11H7FF; CODE=0; H=0; end1 : b

8、egin TO = 11H305; CODE=1; H=0; end2 : begin TO = 11H355; CODE=2; H=0; end3 : begin TO = 11H390; CODE=3; H=0; end4 : begin TO = 11H409; CODE=4; H=0; end5 : begin TO = 11H40C; CODE=5; H=0; end6 : begin TO = 11H457; CODE=6; H=0; end 7 : begin TO = 11H483; CODE=7; H=0; end8 : begin TO = 11H4AD; CODE=8;

9、H=0; end9 : begin TO = 11H4E3; CODE=9; H=0; end10 : begin TO = 11H50A; CODE=10; H=0; end11 : begin TO = 11H533; CODE=11; H=0; end12 : begin TO = 11H55C; CODE=12; H=0; end13 : begin TO = 11H582; CODE=1; H=1; end14 : begin TO = 11H5A1; CODE=2; H=1; end15 : begin TO = 11H5C8; CODE=3; H=1; end16 : begin

10、 TO = 11H5E2; CODE=4; H=1; end17 : begin TO = 11H606; CODE=5; H=1; end18 : begin TO = 11H620; CODE=6; H=1; end19 : begin TO = 11H638; CODE=7; H=1; end20 : begin TO = 11H656; CODE=8; H=1; end21 : begin TO = 11H670; CODE=9; H=1; end22 : begin TO = 11H684; CODE=10; H=1; end23 : begin TO = 11H69A; CODE=

11、11; H=1; end default : begin TO = 11H69A; CODE=1; H=1; end endcase end endmodule 2.1.1F_CODE的仿真2.2.音乐的选择2.2.1选择的电路图2.2.2选择的VHDL编码module Mucic_Chs (S,A,B,C,D,Co); input 3:0 S; input 4:0 A; input 4:0 B; input 4:0 C; input 4:0 D; output 4:0 Co; reg 4:0Co; always (S,Co) case (S) 6b0001 :begin Co=A; end

12、6b0010 :begin Co=B; end 6b0100 :begin Co=C; end 6b1000 :begin Co=D; end default :begin Co=A; end endcaseendmodule 在顶层文件中,通过音乐的选择设计,可以通过人工的方式来直接选择要听的音乐。2.2.3仿真波形2.3音乐的乐谱Music模块存放乐曲中的音符数据,它是利用LPM-ROM来实现的,将乐谱中相应的音符放在一个连续的地址上。它首先是编写音符数据文件,将乐谱中相应的音符存放在一个连续的地址上。因为1拍的时间定为1秒,提供的是4Hz的时钟频率(即1/4拍的整数倍),则需将这个音符存

13、储在相应次数的连续几个地址上。然后对音符数据进行ROM定制,最后对定制好的ROM文件进行测试和仿真。以下是通过的各个音乐的乐谱。包括伤不起、心跳、老男孩和另一个天堂四首曲子。伤不起另一个天堂老男孩心跳、2.4.顶层设计全部歌曲采用8Hz的频率的输入,一共可以输出24种不同的音符,可以准确的播放出需要的音调,而且通过音乐的选择模块,可以直接选择想听的哪一首音乐。另外,外部的LED灯可以同步显示音乐的24中不同的音符,并且当是高位频时,输出的HIGH的闪烁显示。第三章 总结与致谢我们设计的实验相对于那些比较大的实验来说,比较简单,也没有向他们那样设计与运用了那么多的模块和知识,但是我们也有我们自己

14、的优势与创新,其他的组如果做音乐演奏,基本上都是和课本上一样采用4Hz的频率输入,但是这样只能设定14中不同的音符,对于现在的很多音乐来说,不能够正确的通过蜂鸣箱来表达,我们于是采取了8Hz的频率输入,在原有的基础上增加了10个音符,一共设定了24中不同的音符。但是在设定这些音符的频率的时候我们也遇到了很大的困难,首先,我们不知道对应音符所应该设定的频率大小,不知道要设多大,如何设,于是我们参考了课本上梁祝的频率,然后做了一些细微的调整,并大略的估计了添加的音符的频率,但是这样设的并不标准,有着很大的误差,于是我们就输入一些校准的频率,通过听这些标准的音符发出的声音,然后将不准的频率的音符的频率一点点的更正,有的音符比较准确,很好调,但也有的很不好调,有的都调了超过了5次才调好。在音乐的频率设定上我们花费了很大的精力,主要的工作也是做这个,花费了我们的大部分时间。最后,我们要向陈龙老师表示我们诚挚的谢意,非常感谢陈龙老师在自己百忙之中还给我们开这门数字电路技术基础课,让我们及早的接触与学习数电这门课,通过这门课,激发了我们学习的兴趣,当我们完成一个实验的时候,我们感到我们的成功,我们感到骄傲与自豪。诚恳的对老师说一声:“谢谢您!”。同时也希望数电课的后续课程能够继续开下去,让我们学到更多。参考文献潘松、陈龙、黄继业, 实用数字电子技术基础 北京:电子工业出版社 2010.9

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2