简易音乐播放器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目 录
引言 (1)
1 设计任务及设计要求 (2)
1.1设计任务 (2)
1.2设计要求 (2)
2 设计总体思路 (2)
2.1各单元电路设计 (3)
2.1.1 CONTROL模块 (3)
2.1.2 NOTETABS模块 (3)
2.1.3 TONETABA模块 (4)
2.1.4 LED模块 (4)
2.1.5 SPEAKER模块 (5)
2.1.6 SELTIME模块 (6)
2.1.7 DELED模块 (6)
2.2总电路设计 (7)
3 设计调试体会与总结 (7)
3.1设计调试 (7)
3.1.1 管脚锁定 (7)
3.1.2 各模块仿真波形图 (8)
3.2体会与总结 (10)
3.2.1 体会 (10)
3.2.2 总结 (10)
3.3改进意见 (12)
4 实验箱调试现象 (12)
参考文献 (13)
附录1:乐谱 (14)
歌曲名:梁祝 (14)
歌曲名:世上只有妈妈好 (14)
歌曲名:隐形的翅膀 (14)
歌曲名:一剪梅 (15)
附录2:VHDL描述 (16)
CONTROL模块 (16)
TONETABA模块 (17)
NOTETABS模块 (18)
LED模块 (19)
SELTIME模块 (20)
SREAKER模块 (21)
DELED模块 (22)
引言
EDA技术即电子设计自动化技术,它是以可编程逻辑器件(PLD)为载体,以硬件描述语言(VHDL)为主要的描述方式,以EDA软件为主要的开发软件的电子设计过程。它主要采用“自顶向下”的设计方法,设计流程主要包括:设计输入、综合、仿真、适配、下载。
《EDA课程设计》(注:EDA即电子设计自动化,Electronics Design Automation)是电子技术基础的一部分,随着可编程器件技术的发展,EDA技术已广泛用于电子系统设计开发中,EDA技术已经成为电子信息类专业人员必须掌握的一门技术。
《EDA课程设计》是继《模拟电子技术基础》、《数字电子技术基础》、《电子技术基础》课程后电气、电子灯专业综合性实验训练课程,重在培养学生对VHDL 语言的理解、EDA软件的使用和简单电子电路设计的思想,提高学生动手能力。
VHDL是一种硬件描述语言,它可以对电子电路和系统的行为进行描述,结合相关的软件工具,可以得到所期望的实际电路与系统。
使用VHDL语言描述的电路,可以进行综合和仿真。然而,值得注意的是,尽管所有VHDL代码都是可仿真的,但并不是所有代码都能综合。
1 设计任务及设计要求
1.1 设计任务
产生音乐的两个因素是音乐频率和音乐的持续时间,以纯硬件完成演奏电路比利用微处理器(CPU)来实现乐曲演奏要复杂的多如果不借助于功能强大的EDA 工具和硬件描述语言,凭借传统的数字逻辑技术,即使最简单的演奏电路也难以实现。根据设计要求,乐曲硬件演奏电路系统主要由数控分频器和乐曲存储模块组成。数控分频器对FPGA的基准频率进行分频,得到与各个音阶对应的频率输出。乐曲存储模块产生节拍控制和音阶选择信号,即在此模块中可存放一个乐曲曲谱真值表,由一个计数器来控制此真值表的输出,而由计数器的计数时钟信号作为乐曲节拍控制信号。
1.2 设计要求
完成简易音乐播放器的VHDL语言描述及电路设计使其具有播放不同曲谱的音乐,用VHDL语言设计乐音的节拍与音符产生电路,用VHDL语言设计分频系数,音符显示数据产生电路,用VHDL语言设计分频器电路;并且由数码管显示对应乐谱的高低音,LED灯显示对应的节拍,设置使能端控制切换歌曲。理解简易音乐播放器的总体设计方案。
2 设计总体思路
产生音乐的两个因素是音乐频率和音乐的持续时间,以纯硬件完成演奏电路比利用微处理器来实现音乐播放要复杂的多,如果不借助EDA工具和硬件描述语言,凭借传统的数字逻辑技术,即使是最简单的电路也难以实现。乐曲硬件演奏电路系统主要由数控分频器和乐曲存储模块组成。数控分频器对FPGA 的基准频率进行分频。得到各个音阶对应的频率输出。乐曲存储模块产生节拍控制信号和音阶选择信号,即在此模块中存放所要演奏的乐曲曲谱真值表,由一个计数器来控制此真值表的输出,而由计数器的计数时钟信号作为乐谱节拍控制信号。
表1 简谱中的音名与频率的关系
音名 频率/Hz 音名 频率/Hz 音名 频率/Hz 低音1 261.63 中音1 1532.25 高音1 11046.50 低音2 2293.67 中音2 2587.33 高音2 21174.66 低音3 3329.63 中音3 3659.25 高音3 31318.51 低音4 4349.23 中音4 4698.46 高音4 41396.92 低音5 5391.99 中音5 5783.99 高音5 51567.98 低音6 6440 中音6 6880 高音6 61760 低音7 7493.88 中音7 7987.76 高音7 71975.52 由于音阶频率多为非整数,而分频系数又不能为小数,所以必须将分频后的数四舍五入取整。如果基频过低,由于分频系数过小,取整后的误差较大,若基频过大,虽然误码差变小,但分频结构将变大。综合考虑两方面因素,在尽量减小频率误差的前提下取舍合适的基准频率。本设计选取4MHZ的基准频率。 2.1 各单元电路设计
2.1.1 CONTROL模块
图2-1 总控制模块
这个模块的主要功能是控制乐曲的播放和切换歌曲,模块中含有en和switch两个输入,起功能分别是en控制音乐的播放,在switch上升沿时切换歌曲。当en=“1”时,播放;en=“0”时,停止。
2.1.2 NOTETABS模块
地址发生器模块设置了一个4位二进制计数器,作为音符数据表地址发生器。每来一个时钟脉冲信号(clk)计数器就计数一次,数据表地址随着递增,乐谱中的音符也就一个接一个连续的取出来。
在硬件描述中,计数器的计数频率选为4Hz,即每一计数值的停留时间为