如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
音乐盒设计报告学院:物信学院专业:电子信息科学与技术班级:11电信一班姓名:陈兵何得中学号:2011106010220111060108一、引言随着EDA技术的进展,基于可编程的数字电子系统设计的完整方案越来越受到人们的重视。与利用微处理器(CPU或MCU)来实现乐曲演奏相比,以纯硬件完成乐曲演奏电路的逻辑要复杂得多,如果不借助于功能强大的EDA工具和硬件描述语言,仅凭传统的数字逻辑技术,即使最简单的演奏电路也难以实现。如何使用EDA工具设计电子系统是人们普遍关心的问题。本课程设计主要是采用FPGA器件驱动小扬声器构成一个乐曲演奏电路,FPGA器件选择Altera的EPM570,在MAXⅡ的EDA软件平台上,实现了乐曲演奏电路的设计。关键词:VerilogHDL;蜂鸣器;LCD;LED;红外遥控二、设计目的1.加深对EDA技术的理解,掌握乐曲演奏电路的工作原理;2.了解怎样控制音调的高低变化和音长,从而完成乐曲的自动循环演奏;3.培养自主学习、正确分析和解决问题的能力。三、设计内容1.设计一个简单的4按键的音乐播放器,要求该播放器能够实现播放、暂停、停止、换曲几项基本播放器常规功能外,还能根据音调的高低点亮不同数目的led灯,并且用LCD显示演奏的当前曲目;2.利用verilogHDL编程语言编写合适的能实现1中要求的基本具体功能的语言程序。四、功能介绍1.循环播放程序内预存的第1首乐曲;2.设置暂停键,乐曲播放时按该键则暂停播放,再按则继续播放;3.设置停止键,乐曲播放时按该键则停止播放,再按则从头开始;4.用红外遥控控制歌曲的切换,按遥控器上的1键开始循环播放器程序内预存的第2首乐曲;5.在乐曲播放的过程中,根据音调的高低点亮不同数目的led灯,并且用LCD显示当前曲目。五、基本原理1.乐曲演奏原理组成乐曲的每个音符的频率值(音调)及其持续的时间(音长)是乐曲能连续演奏所需的两个基本数据,因此只要控制输出到扬声器的激励信号频率高低和持续时间,就可使蜂鸣器发出连续的乐曲声。2.设计流程3.音调的控制频率的高低决定了音调的高低。音乐的十二平均率规定:每两个8度音(如简谱中的中音1与高音1)之间的频率相差一倍。在两个8度音之间,又可分为12个半音,每两个半音的频率比为12√2。另外,音名A(简谱中的低音6)的频率为440Hz,音名B到C之间、E到F之间为半音,其余为全音。由此可以计算出简谱中从低音1至高音1之间每个音名对应的频率,如下表所示:简谱中的音名与频率的关系音名频率/Hz音名频率/Hz音名频率/Hz低音1261.6中音1523.3高音11046.5低音2293.7中音2587.3高音21174.7低音3329.6中音3659.3高音31318.5低音4349.2中音4698.5高音41396.9低音5392中音5784高音51568低音6440中音6880高音61760低音7493.9中音7987.8高音71975.5所有不同频率的信号都是从同一个基准频率分频得到的。由于音阶频率多为非整数,而分频系数又不能为小数,故必须将计算得到的分频数四舍五入取整。若基准频率过低,则由于分频比太小,四舍五入取整后的误差较大;若基准频率过高,虽然误差变小,但分频数将变大。实际的设计综合考虑这两方面的因素,在尽量减小频率误差的前提下取合适的基准频率。本设计中选取12MHz为基准频率。实际上,只要各个音名间的相对频率关系不变,演奏出的乐曲听起来都不会“走调”。在下表中,除给出了分频比以外,还给出了对应于各个音阶频率时计数器不同的预置数。对于不同的分频系数,只要加载不同的预置数即可。采用加载预置数实现分频的方法比采用反馈复零法节省资源,实现起来也容易一些。各音阶频率对应的分频比及预置数音名分频比预置数音名分频比预置数低音391027281中音2511111272低音576538730中音3455211831低音668189565中音5382712556低音7607310310中音6340912974中音1573610647高音1286713516此外,对于乐曲中的休止符,只要将分频系数设为0,即初始值为2141=16383即可,此时蜂鸣器将不会发声。4.音长的控制音符的持续时间必须根据乐曲的速度及每个音符的节拍数来确定。乐谱产生电路用来控制音乐的音调和音长。控制音调通过设置计数器的预置数来实现,预置不同的数值可以使计数器产生不同频率的信号,从而产生不同的音调。控制音长是通过控制计数器预置数的停留时间来实现的,预置数停留的时间越长,则该音符演奏的时间越长。每个音符的演奏时间都是0.25s的整数倍,对于节拍较长的音符,如2