基于FPGA的音乐播放器课程设计.docx
- 文档编号:20778887
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:8
- 大小:19.04KB
基于FPGA的音乐播放器课程设计.docx
《基于FPGA的音乐播放器课程设计.docx》由会员分享,可在线阅读,更多相关《基于FPGA的音乐播放器课程设计.docx(8页珍藏版)》请在冰豆网上搜索。
基于FPGA的音乐播放器课程设计
唐山学院
EDA技术课程设计
题目音乐播放器
系(部)智能与信息工程学院
班级
姓名
学号
指导教师
2016年12月22日至12月30日共2周
2016年12月31日
课程设计成绩评定表
出勤
情况
出勤天数
缺勤天数
成
绩
评
定
出勤情况及设计过程表现(20分)
课设答辩(20分)
设计成果(60分)
总成绩(100分)
提问
(答辩)
问题
情况
综
合
评
定
指导教师签名:
年月日
EDA技术课程设计任务书
一、设计题目、内容及要求
设计题目:
音乐播放器
设计内容:
1.使用蜂鸣器播放音乐
2.三首音乐以上
3.数码管上显示当前播放的歌曲位置(第几首歌曲)
4.能够暂停和开始
5.能够选择上一首和下一首歌曲
设计要求:
(1)根据任务要求确定电路各功能模块
(2)设计程序
(3)时序仿真结果
(4)设计总结
2、设计原始资料
QuartusⅡ软件;EDA实验箱;计算机一台;
3、要求的设计成果(课程设计说明书、设计实物、图纸等)
课程设计说明书1份,不少于2000字,应包含设计原理分析、相关软件介绍、仿真波形分析,实验箱下载验证等。
4、进程安排
设计思路
代码实现
实验验证
五、主要参考资料
徐志军,徐光辉,CPLD/FPGA的开发与应用,电子工业出版社,2001
谭会生,EDA技术基础,湖南大学出版社,2004
李岩,黄夫海,基于FPGA的MIDI音乐发生器设计,2010
指导教师(签名):
教研室主任(签名):
1.设计目的与要求
课程设计目的:
1)加深对EDA技术的理解,掌握音乐播放器的工作原理
2)了解怎样控制音调的高低变化和音长,从而完成乐曲的自动循环演奏。
3)培养自主学习、正确分析和解决问题的能力
课程设计要求:
1)使用蜂鸣器播放音乐
2)三首音乐以上
3)数码管上显示当前播放的歌曲位置(第几首歌曲)
4)能够暂停和开始
5)能够选择上一首和下一首歌曲
2.应用工具介绍
作为当今最流行的计算机软件系统,EDA技术是以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。
EDA可提供文本输入以及图形编辑的方法将设计者的意图用程序或者图形方式表达出来,而我们经常用到的VHDL语言便是用于编写源程序所需的最常见的硬件描述语言(HDL)之一。
EDA技术介绍
EDA是电子设计自动化(ElectronicDesignAutomation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来。
EDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
典型的EDA工具中必须包含两个特殊的软件包,即综合器和适配器。
综合器的功能就是将设计者在EDA平台上完成的针对某个系统项目的HDL、原理图或状态图形描述,针对给定的硬件系统组件,进行编译、优化、转换和综合,最终获得我们欲实现功能的描述文件。
综合器在工作前,必须给定所要实现的硬件结构参数,它的功能就是将软件描述与给定的硬件结构用一定的方式联系起来。
也就是说,综合器是软件描述与硬件实现的一座桥梁。
综合过程就是将电路的高级语言描述转换低级的、可与目标器件FPGA/CPLD相映射的网表文件。
在今天,EDA技术已经成为电子设计的普遍工具,无论设计芯片还是设计系统,没有EDA工具的支持,都是难以完成的。
EDA工具已经成为设计师必不可少的武器,起着越来越重要的作用。
从目前的EDA技术来看,其发展趋势是政府重视、使用普及、应用广泛、工具多样、软件功能强大。
EDA技术发展迅猛,完全可以用日新月异来描述。
EDA技术的应用广泛,现在已涉及到各行各业。
EDA水平不断提高,设计工具趋于完美的地步。
VerilogHDL语言介绍
VerilogHDL是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。
被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。
数字系统能够按层次描述,并可在相同描述中显式地进行时序建模。
作为一种通用化的硬件描述语言,VerilogHDL语言具有下述描述能力:
设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。
所有这些都使用同一种建模语言。
此外,VerilogHDL语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体控制和运行。
VerilogHDL语言不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义。
因此,用这种语言编写的模型能够使用Verilog仿真器进行验证。
语言从C编程语言中继承了多种操作符和结构。
VerilogHDL提供了扩展的建模能力,其中许多扩展最初很难理解。
但是,VerilogHDL语言的核心子集非常易于学习和使用,这对大多数建模应用来说已经足够。
当然,完整的硬件描述语句足以对从最复杂的芯片到完整的电子系统进行描述。
VerilogHDL语言已经成为一种标准的硬件描述语言。
它具有以下特点:
(1)作为一种多用途的硬件描述语言,它具有很好的易学性和易用性。
(2)VerilogHDL语言允许在同一个模块中进行不同抽象层次的描述。
(3)大多数逻辑综合工具都支持VerilogHDL,使得它成为设计人员的一个很好的选择。
(4)所有的制造厂商都提供了VerilogHDL的工艺库,用以支持仿真。
(5)VerilogHDL的程序语言接口拥有强大的功能,允许用户用C语言对内部
数据结构进行描述。
正是以上优点,使得VerilogHDL语言广泛流行。
下面是verilog的设计流程:
Verilog的设计流程图
3.基本原理
音乐播放器的原理是这样的:
组成乐曲的每个音符的频率值(音调)及其持续的时间(音长)是乐曲能连续演奏所需的两个基本数据,因此只要控制输出到扬声器的激励信号频率的高低和持续的时间,就可以使扬声器发出连续的乐曲声。
音调的控制
频率的高低决定了音调的高低。
音乐的十二平均率规定:
每两个8度音(如简谱中的中音1与高音1)之间的频率相差一倍。
在两个8度音之间,又可分为12个半音,每两个半音的频率比为12:
2。
另外,音名A(简谱中的低音6)的频率为440Hz,音名B到C之间、E到F之间为半音,其余为全音。
由此可以计算出简谱中从低音1至高音1之间每个音名对应的频率,如表所示:
表简谱中的音名与频率的关系
音名
频率/Hz
音名
频率/Hz
音名
频率/Hz
低音1
中音1
高音1
低音2
中音2
高音2
低音3
中音3
高音3
低音4
中音4
高音4
低音5
392
中音5
784
高音5
1568
低音6
440
中音6
880
高音6
1760
低音7
中音7
高音7
音长的控制
音符的持续时间必须根据乐曲的速度及每个音符的节拍数来确定。
4.方案实现
1、div_freq
modulediv_freq(clk,rst_n,freq,clk_out);
inputclk;lk(clk),
.rst_n(rst_n),
.freq(1_000),
.clk_out(clk_1k)
);
selsel_dut(
.data(data),
.clk(clk_1k),
.rst_n(rst_n),
.sel(sel),
.show_data(show_data)
);
segseg_dut(
.show_data(show_data),
.seg(seg)
);
endmodule
5.总结
其实,音乐播放器用FPGA来实现是很简单的。
核心部分就是抓住了乐曲的两个要点:
音调的控制和音长的控制。
因此,涉及到两个频率,一个用来控制产生相应的音调,一个是用来控制该音调持续的时间(即节拍)。
不过因为看不太懂乐谱,所以做得不是太好。
其实,可以做的完善和人性化一点,因为声音不只21个音,还有升半调#和降调b,可以加些按键控制,选中某一首歌曲播放。
或者还可以通过按键调整模式,可以有自己弹奏乐曲的模式,和音乐自动播放模式,两种模式进行切换。
6.参考文献
1.《EDA技术与VHDL》清华大学出版社潘松黄继业;
2.《数字电路EDA入门VHDL程序实例集》北京邮电大学出版社张亦华;
3.《VHDL/FPGA应用开发技术与工程实践》科学出版社甘历;
4.《FPGA系统设计与实践》电子工业出版社黄智伟。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA 音乐 播放 课程设计