实训报告 河南工程学院

实训报告 河南工程学院

ID:38697873

大小:180.00 KB

页数:17页

时间:2019-06-17

实训报告 河南工程学院_第1页
实训报告 河南工程学院_第2页
实训报告 河南工程学院_第3页
实训报告 河南工程学院_第4页
实训报告 河南工程学院_第5页
资源描述:

《实训报告 河南工程学院》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实训报告系别电信系专业09级电子科学与技术组员彭成王亚丽程小伟八音自动播放电子琴设计0引言电子琴之所以受到群众们喜爱,是因为它能模拟各种乐器的音色,如笛、号、琴、颤音、和旋音等以及打击乐板音、鼓乐、沙锤等。本设计介绍一种除有普通电子琴功能外,还有不需要按琴键就能模拟电子琴自动演奏乐曲的电子琴音乐的产生和演奏电路。若与音响放大器相结合,则乐曲的音响效果会更好。20世纪80年代中期,出现的现场可编程门阵列(FPGA)具有体系结构、逻辑单元灵活、集成度高以及适用范围广等特点,可实现大规模和超大规模的集成电路,而且编程

2、灵活。采用FPGA设计电路,可提高开发效率,缩短研发周期,降低研发成本,且易于进行功能扩展。本设计采用FPGA设计电子琴,使得系统实现方法灵活,且调试方便。1设计原理随着EDA技术的进展,基于可编程的数字电子系统设计的完整方案越来越受到人们的重视。与利用微处理器来实现乐曲演奏相比,以纯硬件完成乐曲演奏电路的逻辑要复杂一些,如果不借助与功能强大的EDA工具和硬件描述语言,仅凭传统的数字逻辑技术,即使最简单的演奏电路也难以有效实现。本实验设计项目作为“友谊地久天长”乐曲演奏电路的实现。组成乐曲的每个音符的发音频率值

3、及其持续的时间是乐曲能连续演奏所需的两个基本要素。1.1音调的控制频率的高低决定了音调的高低。音乐的十二平均率规定:每两个8度音(如简谱中的中音1与高音1)之间的频率相差一倍。在两个8度音之间,又可分为12个半音,每两个半音的频率比为12√2。 另外,音名A(简谱中的低音6)的频率为440Hz,音名B到C之间、E到F之间为半音,其余为全音[4]。由此可以计算出简谱中从低音1至高音1之间每个音名对应的频率,如表1所示:表1简谱中的音名与频率的关系音名频率/Hz音名频率/Hz音名频率/Hz低音1261.6中音152

4、3.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所有不同频率的信号都是从同一个基准频率分频得到的。由于音阶频率多为非整数,而分频系数又不能为小数,故必须将计算得到的分频数四舍五入取整。若基准频率过低,则由于分频比太小,四舍五入取整后的误差较大;若基准频率过高,虽然

5、误差变小,但分频数将变大。实际的设计综合考虑这两方面的因素,在尽量减小频率误差的前提下取合适的基准频率[4]。本例中选取6MHz为基准频率。若无6MHz的基准频率,则可以先分频得到6MHz,或换一个新的基准频率。实际上,只要各个音名间的相对频率关系不变,演奏出的乐曲听起来都不会"走调"。1.2音长的控制音符的持续时间必须根据乐曲的速度及每个音符的节拍数来确定。本例演奏的梁祝片段,最短的音符为4分音符,如果将全音符的持续时间设为1s的话,则只需要再提供一个4Hz的时钟频率即可产生4分音符的时长。其中,乐谱产生电路

6、用来控制音乐的音调和音长。控制音调通过设置计数器的预置数来实现,预置不同的数值可以使计数器产生不同频率的信号,从而产生不同的音调。控制音长是通过控制计数器预置数的停留时间来实现的,预置数停留的时间越长,则该音符演奏的时间越长。每个音符的演奏时间都是0.25s的整数倍,对于节拍较长的音符,如2分音符,在记谱时将该音名连续记录两次即可。2设计步骤本设计是采用FPGA器件驱动小扬声器构成一个乐曲演奏电路,图1是一个典型的FPGA/CPLD设计流程:系统框图图1VerilogHDL设计流程3程序设计源程序modules

7、ong(clk,beep);//模块名称songinputclk;//系统时钟48MHzoutputbeep;//蜂鸣器输出端regbeep_r;//寄存器reg[7:0]state;//乐谱状态机reg[15:0]count,count_end;reg[23:0]count1;//乐谱参数:D=F/2K(D:参数,F:时钟频率,K:音高频率)parameterL_5=16'd63776,//低音5L_6=16'd56818,//低音6M_1=16'd47774,//中音1M_2=16'd42567,//中音2

8、M_3=16'd37919,//中音3M_5=16'd31888,//中音5M_6=16'd28409,//中音6H_1=16'd23912;//高音1parameterTIME=12500000;//控制每一个音的长短(250ms)assignbeep=beep_r;//输出音乐always@(posedgeclk)begincount<=count+1'b1;//计数器加1if(c

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。