基于FPGA的音乐播放器的设计-毕业设计论文
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
表3-1 简谱中的音名与频率的关系
音名
频率/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
3总的来说,本次设计有助于学生对电子线路知识的整合和电子线路设计能力的训练,并为后继课程的学习和毕业设计打下一定的基础.
第二章
2.1
2.1.1
设计并实现具有一定功能的音乐播放器:
1实现预先设置乐曲的播放功能.
2实现乐曲按键输入,实现简易电子琴功能.
3 实现实时连续播放.
2.1.2
1 采用 语言编写程序,启动 全程编译,生成具体输入,输出端口的图形文件.启动全程功能仿真,生成仿真波形文件.生成下载文件,在 实验开发板上利用 公司的 芯片进行功能验证.
高音5
1568
低音6
440
中音6
880
高音6
1760
低音7
493.9
中音7
987.8
高音7
1975.5
3.1.2 音长的控制
音符的持续时间须根据乐曲的速度及每个音符的节拍数来确定.因此,在想控制音符的音长,就必须知道乐曲的速度和每个音符所对应的节拍数,在这个设计中所播放的乐曲的最短的音符为四分音符,如果将全音符的持续时间设为1s的话,那么一拍所应该持续的时间为0.25秒,则只需要再提供一个4HZ的时钟频率即可产生四分音符的时长.要想让系统知道现在应该播放哪个音符,而这个音符持续的时间应该是多少,就必须编写乐曲文件,在乐曲文件中音符是按地址存放的,当系统工作时就按4Hz的频率依次读取简谱,当系统读到某个音符的简谱时就对应发这个音符的音调,持续时间为0.25秒,而如果在曲谱文件中这个音符为三拍音长,那又该如何控制呢?其实只要将该音符连续书写三遍,这时系统读乐曲文件的时候就会连续读到三次,也就会发三个0.25秒的音长,这时我们听上去就会持续了三拍的时间,通过这样一个简单的操作就可以控制音乐的音长了.
关键词:音乐播放器, , , ,
目录
第一章设计目的
1.1
现代 技术代表了当今电子设计技术的最新发展方向, 它的基本特征是采用硬件描述语言进行电路与系统的设计, 具有系统级仿真和综合能力. 和 使设计方法发生了质的变化.把以前"电路设计+硬件搭试+调试焊接"转化为"功能设计+软件模拟+仿真下载".随着电脑普及,互联网飞速发展,这些技术使得各种电子产品迅速的进入了我们的生活,每一个产品的诞生都离不开 技术,从彩色电视机,智能冰箱,再到个人随身用的音乐播放器都需要 技术提供支持.人们生活水平逐步提部分.顺应电子技术的发展趋势,可利用 开发平台,采用可编程逻辑器件 使硬件的功能可通过编程来实现音乐播放器, 软件是进行 设计的操作平台, 它是由 公司开发的进行基于 技术的可编程逻辑器件设计的一种设计软件, 其功能强大,界面友好,使用便捷. 软件集成了 公司的可编程逻辑器件开发流程中所涉及的几乎所有的工具和第三方软件接口,可以创建,组织和管理用户的设计.主要能够实现设计输入,综合,布局布线,时序分析,仿真,编程和配置,系统级设计,软件开发,时序逼近,调试和工程更改管理的功能.可以根据不同的配置模式, 采用不同的编程方式, 能够反复使用, 无需专用的 编程器, 只要换一片 芯片即可修改 功能.增强了设计的灵活性,有效地提高了工作效率,增加了系统的可靠性和稳定性,提高了技术指标.因此, 基于 的电路设计过程更加灵活且通用性更好.
2 编写设计报告,要求包括方案选择,程序清单,调试过程,测试结果及心得.
第三章
3.1
为了便于理解,首先介绍一下硬件电路的发声原理.我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制 某个引脚输出一定频率的矩形波,接上扬声器就能发出相应频率的声音.而乐曲中的每一音符对应着一个确定的频率,因此,要想 发出不用音符的音调,实际上只要控制它输出相应音符的频率即可.乐曲都是由一连串的音符组成,因此按照乐曲的乐谱依次输出这些音符所对应的频率,就可以在扬声器上连续地发出各个音符的音调.而要准确地演奏出一首乐曲,仅仅让扬声器能够发声是不够的,还必须准确地控制乐曲的节奏,即每个音符的持续时间.由此可见,乐曲中每个音符的发音频率及其持续的时间是乐曲能够连续演奏的两个关键因素.
课程设计
课程名称:可编程数字片上系统实训
设计题目:基于FPGA的音乐播放器设计
院系:电气信息学院
指导教师:谷雷
专业:通信工程
学号:122700109Leabharlann Baidu
姓名:尚斌成
长春建筑学院
2015年12月31日
摘 要
在 开发环境下,采用 硬件描述语言设计了一个可以在 芯片上实现的音乐播放器.通过将音乐播放器电路设计进行模块化分解,层次化设计,分成几个单独的结构体,每个结构体实现部分功能,经顶层文件将各单独结构体进行综合,最后将设计代码结合 模块制作的 文件下载到 实验箱进行功能验证,实现乐曲播放.由于音乐播放器的通用性及 语言的可移植性, 因此本音乐播放器可直接应用于各种不同系列的 芯片的设计中.
1.2
1 利用 硬件描述语言结合 器件设计一个音乐播放器,为其他电路的设计提供一定借鉴作用.
2 了解音乐播放器的原理,运用刚刚学过的数电知识设计并制作音乐播放器,而且通过音乐播放器的制作进一步了解各种在制作中用到的中小规模集成电路的作用及其使用方法.由于音乐播放器包括组合逻辑电路和时序电路,通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法,从而实现理论与实践相结合.
而简易电子琴,工作原理与乐曲演奏一样,只是将固定预置乐曲变成了手动按键输入,节拍时间取决于按键的停留时间,如果合适,同样能播放出完整的歌曲来.
3.1.1
频率的高低决定了音调的高低.音乐的十二平均率规定:每两个八度音(如简谱中的中音1和高音1)之间的频率相差一倍.在两个八度音之间又分为十二个半音.另外,音名A(简谱中的低音6)的频率为440Hz,音名B到C之间、E到F之间为半音,其余为全音.由此可以计算出简谱中从低音1到高音1之间每个音名对应的频率,所有不同频率的信号都是从同一个基准频率分频得到的.由于音阶频率多为非整数,而分频系数又不能为小数,因此必须将计算得到的分频数四舍五入取整.若基准频率过低,则由于分频比太小,四舍五入取整后的误差较大,若基准频率过高,虽然误差较小,但分频数将变大.实际的设计应综合考虑这两方面的因素,在尽量减小频率误差的前提下取合适的基准频率.因此,要想 发出不同音符的音调,实际上只要控制它输出相应音符的频率即可.综合考虑各因素,本文中选取12MHZ作为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
3总的来说,本次设计有助于学生对电子线路知识的整合和电子线路设计能力的训练,并为后继课程的学习和毕业设计打下一定的基础.
第二章
2.1
2.1.1
设计并实现具有一定功能的音乐播放器:
1实现预先设置乐曲的播放功能.
2实现乐曲按键输入,实现简易电子琴功能.
3 实现实时连续播放.
2.1.2
1 采用 语言编写程序,启动 全程编译,生成具体输入,输出端口的图形文件.启动全程功能仿真,生成仿真波形文件.生成下载文件,在 实验开发板上利用 公司的 芯片进行功能验证.
高音5
1568
低音6
440
中音6
880
高音6
1760
低音7
493.9
中音7
987.8
高音7
1975.5
3.1.2 音长的控制
音符的持续时间须根据乐曲的速度及每个音符的节拍数来确定.因此,在想控制音符的音长,就必须知道乐曲的速度和每个音符所对应的节拍数,在这个设计中所播放的乐曲的最短的音符为四分音符,如果将全音符的持续时间设为1s的话,那么一拍所应该持续的时间为0.25秒,则只需要再提供一个4HZ的时钟频率即可产生四分音符的时长.要想让系统知道现在应该播放哪个音符,而这个音符持续的时间应该是多少,就必须编写乐曲文件,在乐曲文件中音符是按地址存放的,当系统工作时就按4Hz的频率依次读取简谱,当系统读到某个音符的简谱时就对应发这个音符的音调,持续时间为0.25秒,而如果在曲谱文件中这个音符为三拍音长,那又该如何控制呢?其实只要将该音符连续书写三遍,这时系统读乐曲文件的时候就会连续读到三次,也就会发三个0.25秒的音长,这时我们听上去就会持续了三拍的时间,通过这样一个简单的操作就可以控制音乐的音长了.
关键词:音乐播放器, , , ,
目录
第一章设计目的
1.1
现代 技术代表了当今电子设计技术的最新发展方向, 它的基本特征是采用硬件描述语言进行电路与系统的设计, 具有系统级仿真和综合能力. 和 使设计方法发生了质的变化.把以前"电路设计+硬件搭试+调试焊接"转化为"功能设计+软件模拟+仿真下载".随着电脑普及,互联网飞速发展,这些技术使得各种电子产品迅速的进入了我们的生活,每一个产品的诞生都离不开 技术,从彩色电视机,智能冰箱,再到个人随身用的音乐播放器都需要 技术提供支持.人们生活水平逐步提部分.顺应电子技术的发展趋势,可利用 开发平台,采用可编程逻辑器件 使硬件的功能可通过编程来实现音乐播放器, 软件是进行 设计的操作平台, 它是由 公司开发的进行基于 技术的可编程逻辑器件设计的一种设计软件, 其功能强大,界面友好,使用便捷. 软件集成了 公司的可编程逻辑器件开发流程中所涉及的几乎所有的工具和第三方软件接口,可以创建,组织和管理用户的设计.主要能够实现设计输入,综合,布局布线,时序分析,仿真,编程和配置,系统级设计,软件开发,时序逼近,调试和工程更改管理的功能.可以根据不同的配置模式, 采用不同的编程方式, 能够反复使用, 无需专用的 编程器, 只要换一片 芯片即可修改 功能.增强了设计的灵活性,有效地提高了工作效率,增加了系统的可靠性和稳定性,提高了技术指标.因此, 基于 的电路设计过程更加灵活且通用性更好.
2 编写设计报告,要求包括方案选择,程序清单,调试过程,测试结果及心得.
第三章
3.1
为了便于理解,首先介绍一下硬件电路的发声原理.我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制 某个引脚输出一定频率的矩形波,接上扬声器就能发出相应频率的声音.而乐曲中的每一音符对应着一个确定的频率,因此,要想 发出不用音符的音调,实际上只要控制它输出相应音符的频率即可.乐曲都是由一连串的音符组成,因此按照乐曲的乐谱依次输出这些音符所对应的频率,就可以在扬声器上连续地发出各个音符的音调.而要准确地演奏出一首乐曲,仅仅让扬声器能够发声是不够的,还必须准确地控制乐曲的节奏,即每个音符的持续时间.由此可见,乐曲中每个音符的发音频率及其持续的时间是乐曲能够连续演奏的两个关键因素.
课程设计
课程名称:可编程数字片上系统实训
设计题目:基于FPGA的音乐播放器设计
院系:电气信息学院
指导教师:谷雷
专业:通信工程
学号:122700109Leabharlann Baidu
姓名:尚斌成
长春建筑学院
2015年12月31日
摘 要
在 开发环境下,采用 硬件描述语言设计了一个可以在 芯片上实现的音乐播放器.通过将音乐播放器电路设计进行模块化分解,层次化设计,分成几个单独的结构体,每个结构体实现部分功能,经顶层文件将各单独结构体进行综合,最后将设计代码结合 模块制作的 文件下载到 实验箱进行功能验证,实现乐曲播放.由于音乐播放器的通用性及 语言的可移植性, 因此本音乐播放器可直接应用于各种不同系列的 芯片的设计中.
1.2
1 利用 硬件描述语言结合 器件设计一个音乐播放器,为其他电路的设计提供一定借鉴作用.
2 了解音乐播放器的原理,运用刚刚学过的数电知识设计并制作音乐播放器,而且通过音乐播放器的制作进一步了解各种在制作中用到的中小规模集成电路的作用及其使用方法.由于音乐播放器包括组合逻辑电路和时序电路,通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法,从而实现理论与实践相结合.
而简易电子琴,工作原理与乐曲演奏一样,只是将固定预置乐曲变成了手动按键输入,节拍时间取决于按键的停留时间,如果合适,同样能播放出完整的歌曲来.
3.1.1
频率的高低决定了音调的高低.音乐的十二平均率规定:每两个八度音(如简谱中的中音1和高音1)之间的频率相差一倍.在两个八度音之间又分为十二个半音.另外,音名A(简谱中的低音6)的频率为440Hz,音名B到C之间、E到F之间为半音,其余为全音.由此可以计算出简谱中从低音1到高音1之间每个音名对应的频率,所有不同频率的信号都是从同一个基准频率分频得到的.由于音阶频率多为非整数,而分频系数又不能为小数,因此必须将计算得到的分频数四舍五入取整.若基准频率过低,则由于分频比太小,四舍五入取整后的误差较大,若基准频率过高,虽然误差较小,但分频数将变大.实际的设计应综合考虑这两方面的因素,在尽量减小频率误差的前提下取合适的基准频率.因此,要想 发出不同音符的音调,实际上只要控制它输出相应音符的频率即可.综合考虑各因素,本文中选取12MHZ作为CLK的分频计数器的输入分频信号.乐曲都是由一连串的音符组成,因此按照乐曲的乐谱依次输出这些音符所对应的频率,就可以在扬声器上连续地发出各个音符的音调.