基于fpga的音乐播放器的本科毕业论文_第1页
基于fpga的音乐播放器的本科毕业论文_第2页
基于fpga的音乐播放器的本科毕业论文_第3页
基于fpga的音乐播放器的本科毕业论文_第4页
基于fpga的音乐播放器的本科毕业论文_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计课程名称:可编程数字片上系统实训设计题目:基于FPGA的音乐播放器设计院系:电气信息学院指导教师:谷雷专业:通信工程学号:122700109姓名:尚斌成长春建筑学院2015年12月31日摘要在开发环境下,采用硬件描述语言设计了一个可以在芯片上实现的音乐播放器.通过将音乐播放器电路设计进行模块化分解,层次化设计,分成几个单独的结构体,每个结构体实现部分功能,经顶层文件将各单独结构体进行综合,最后将设计代码结合模块制作的文件下载到实验箱进行功能验证,实现乐曲播放.由于音乐播放器的通用性及语言的可移植性,因此本音乐播放器可直接应用于各种不同系列的芯片的设计中.关键词:音乐播放器,,,,

目录TOC\o"1-3"\h\u1416第一章设计目的 分频预置数,仿真波形图证明了程序实现了模块的功能.4.2.4发声频率产生模块图4-6生成元件符号端口说明:CLK12MHZ端口:作为发音频率初始信号输入端口,TONE[10..0]端口:作为音符数据分频预置数的输入端,SPKS端口:作为乐曲的声音输出端口.这是乐曲演奏电路最重要的模块,由它产生乐曲发音所需要的对应频率.此模块的核心是一个可预置数控分频器,下面是可预置数控分频器的原理介绍:它是由一个初值可变的加法计数器组成.为了得到合适的发音频率,在进行预置计数分频之前需要将本文选择的12MHZ初始频率信号进行十六分频,采用四位加法计数方式分频,当输入一个脉冲信号,计数器做一次加法计数,此时输入信号脉宽展宽一倍(即进行一次二分频),十六分频后得到0.75MHZ输入频率.由于数控分频器输出的信号是脉宽很窄的信号,为了有利于驱动扬声器发音,需要加一个D触发器以均衡占空比,但这样一来,此时频率变为原来的二分之一即0.375MHZ.可预置计数分频器就是将0.375MHZ按照各音符发音所需要的频率值进行预置数分频.这里计数器设为11位(Tone[10..0]),模为2047(预置数可由预置数查表电路模块查得).若取音符3发音频率为659HZ,需要将0.375MHZ进行约569次分频才能得到此频率.预置数即可用公式"模-分频系数=预置数Tone[10..0]"算出,此时为"2047-569=1478(换成11位二进制计数为10111000110)".表4-3《生日快乐》各音阶对应的分频预置数关系音符分频预置数二进制码音符分频预置数二进制码中音1132910100110001中音5156811000100000中音2140810110000000中音6162011001010100中音3147810111000110低音5108710000111111中音4151010111100110低音6119410010101010发声频率产生模块的仿真波形如(图4-7)所示:图4-7的仿真波形图波形分析:音乐符数控分频此模块的功能是根据初始值Tone的值,对输入时钟信号ClK的频率进行分频,得到想要的音符的发声频率其时钟(Clk)端输入的是在十六进制模块里对12MHz的信号进行16分频得到的750KHz,750KHz的信号根据分频预置数模块中所提供的计数初值,分别得出相应音符频率的两倍值.在分频预置数模块中若取tone[10..0]=912,将发出音符为低音2的信号频率的发声频率等等其它状态,因此这个程序实现了模块的功能.4.2.5简易电子琴功能模块此模块完成简易电子琴的设计,实现按键输入音符,发出与之相应声音.其原理与预先定制的乐曲播放原理相似,同样需要一个可预置数控分频器,一个可预置查表电路,不过,为了体现程序设计的优越性,此模块,在做将数控分频器与可预置查表电路合二为一,在同一个功能模块下实现,使原本复杂的程序设计更加简单化.为了产生与表4-3音符对应的频率信号,在此还必须用到有源时钟Clock,且把它当作乐曲的基频,而所有不同的频率信号都从这一基频分频而取得,本文选取的是12MHz时钟,中音1(对应的频率值为523.3Hz)的分频系数应改为:12×106/523.3×2=0x2cc9,这样只需对系统时钟进行0x2cc9次分频即可得所要的中音1.至于其他音符,同样可由上式求出对应的分频系数,这样利用程序可以很轻松地得到相应的乐声.4.2.6顶层电路据各个模块产生的元件符号,连接组成乐曲播放电路顶层文件,其顶层电路分为三个模块,音符数据地址发生器模块,预置数查表电路电路模块,发声频率产生模块,顶层电路组成图如图4-8所示.图4-8顶层电路组成图4.3电路测试将当前工程文件中所生成的文件通过计算机下载到实验箱中,验证此设计是否符合要求.先通过开发工具对各个模块的源程序及顶层电路进行编译、逻辑综合,完成电路的纠错、验证、仿真等各种测试工作.再对顶层文件进行编译,配置下载电缆,选择下载模式,进行下载验证操作.将设计的顶层电路组成图文件内容下载到对应的配置芯片中,外接扬声器,系统成功实现了《生日快乐》的播放,能自动从头开始循环播放,也可随时起停、整体复位、按键选择播放方式、循环演奏以及发光管二极管动态显示播放的音符和高8度音调.(引脚锁定的对应关系如表4-4所示),经实际电路测试验证,达到了设计的要求.在软件中进行基于的数字钟电路的设计过程,真正实现了硬件设计的软件化,展示了使用技术进行电子电路设计的特点,是进行现代电子电路设计的一种更可取的方法.表4-4实验箱主板与下载板元件的连接封装关系表器件名称信号名端口名EPF10K10器件名称信号名端口名EPF10K10输出发光管LED1CODE427拨位开关KD1RST54输出发光管LED2CODE328拨位开关KD2SEL58输出发光管LED3CODE229输出发光管LED8HIGH38输出发光管LED4CODE130全局时钟1P2.4CLK4HZ1输出发光管LED5CODE035全局时钟2P2.5CLK12MHZ43喇叭SPEAKSPKOUT34.4结束语本文设计的音乐播放器实现了整体复位、按键选择播放方式、循环演奏以及发光管显示乐谱的功能.数控分频器模块的仿真时一定要处理好时序问题,音调发生器的程序中通过时钟计数来决定音符的输出,会加大编程的繁杂度,这时一个很好的解决办法就是把将要演奏的乐谱存放在人为开辟的存储空间里,这样只需要在相应地址中读出音符即可.第五章心得体会通过本次论文设计,让我学会了利用软件绘制原理图,硬件描述语言的编写程序,仿真等具体应用.并能根据仿真结果分析设计的存在的问题和缺陷从而进行程序的调试和完善.同时了解了数控分频器的工作原理和功能作用,并会了利用模块制作文件的方法,也更深一层地懂得了顶层文件通过例化语句与其他模块结合的好处,对实验箱的操作也有了进一步的了解,熟悉掌握了的文本编程设计方法和仿真波形的编辑.在设计电路中,往往是先仿真后连接实物图但有时候仿真和电路连接并不是完全一致的例如在对具体模块的仿真的过程中往往没有考虑到整体设计的层面以及与上下模块接口的设计.再加上器件对信号的延时等问题实际下载硬件电路上后会出现一系列的问题.相信随着电子技术的发展数字钟的功能会更加多样化满足人们的各种需要.设计过程也将变得相对简单容易修改.同时特别感谢谷雷老师在软件绘制上的指导和对论文规范修改提出的宝贵意见.参考文献潘松,黄继业编著,技术实用教程.科学出版社,2007.12.王永维.一种基于的数字秒表设计方法.电子元器件应用,2012.李岩,黄夫海,基于FPGA的MIDI音乐发生器设计,2010

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论