EDA课程设计——乐曲硬件演奏电路.doc

EDA课程设计——乐曲硬件演奏电路.doc

ID:51673441

大小:160.00 KB

页数:11页

时间:2020-03-14

EDA课程设计——乐曲硬件演奏电路.doc_第1页
EDA课程设计——乐曲硬件演奏电路.doc_第2页
EDA课程设计——乐曲硬件演奏电路.doc_第3页
EDA课程设计——乐曲硬件演奏电路.doc_第4页
EDA课程设计——乐曲硬件演奏电路.doc_第5页
资源描述:

《EDA课程设计——乐曲硬件演奏电路.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、《电子技术基础Ⅲ》项目设计报告课程名称任课教师设计题目乐曲硬件演奏电路设计班级姓名学号成绩日期一、题目分析1.设计要求利用FPGA,设计一硬件乐曲硬件演奏电路,能够利用硬件电路,自动播放音乐。2.题目分析乐曲是由一连串的音符组成,而每个音符的发音频率值及其持续时间是乐曲能连续演奏所需的两个基本因素。所以,设计音乐发生电路,需要得到相应音符的频率值,及其持续时间。如果能够得到这两个基本元素,利用程序来控制FPGA某个引脚输出一定频率的矩形波,接上扬声器就能发出相应频率的声音。所以,获取这两个要素是本实验的关键。(1)频率值频率的高低决定了音调的高低。由于乐曲都是由一连串的音符组成

2、,因此按照乐曲的乐谱,依次输出这些音符相对应的频率,就可以在蜂鸣器上连续地发出各个音符的音调。简谱的音名与频率的关系如下表:表1 简谱中的音名与频率的关系音名频率/Hz音名频率/Hz音名频率/Hz低音1261.6中音1523.3高音11045.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(2)时长这次设计中所演奏的乐曲的最短的音符为四分音符,如果将

3、全音符的持续时间设为1s的话,那么一拍所应该持续的时间为0.25秒,则只需要再提供一个4Hz的时钟频率即可产生四分音符的时长。系统工作时就按4Hz的频率依次读取简谱,当系统读到某个音符的简谱时就对应发这个音符的音调,持续时间为0.25秒,如果在曲谱文件中某个音符为三拍音长,只要将该音符连续书写三遍,系统读乐曲文件的时候就会连续读到三次,也就会发三个0.25秒的音长,这时我们听上去就会持续了三拍的时间,这样就可以控制音乐的音长了。二、设计方案1.顶层实体描述音乐播放器,是能够演奏一曲完整的乐曲,在外部时钟的作用下,产生相应频率的方波信号,即在乐曲中对应相应的音符。并且信号要持续一

4、定的时间,即对应乐曲中的节拍。得到了音调和节拍后,就可以组成相应的乐曲了。2.模块划分采用“自顶向下”的设计方法,将音乐播放器模块主要划分为地址发生模块、数控分频模块、music模块和预置数模块。(1)地址发生模块:增地址计数器,用于产生地址数。(2)music模块:用于存储乐曲,本次设计,将《梁祝》的一段乐曲存储在rom中;(3)预置数模块:给分频器提供预置数,需要计算分频预置数;(4)数控分频模块:为了提供乐曲发音所需要的发音频率,编写数控分频器程序,对一输入高频信号,进行分频,生成每个音符发音的相应频率;Music模块分频预置数数控分频器扬声器地址发生器图1模块划分图3.

5、模块描述(1)地址发生器图2CNT138实体地址发生器,即是一个计数器,由于存储了《梁祝》138个音符,所以此计数器的最大值为138。(2)Music模块Music模块存放乐曲的音符数据。由地址发生器为music模块提供地址,每来一个时钟脉冲信号,8位二进制计数器就计数一次,ROM文件中的地址就随着递增,音符数据ROM中的音符也就一个接着一个连续的取出了。图3rom实体此计数器时钟频率为4Hz,每读一个数据,音符持续时间为0.25秒,恰为当全音符为1s,四四拍的四分音符持续的时间。若需持续较长的时间,需要在ROM中连续写入相应的音符。例如音符数据中的中音3为一拍,持续时间1秒,

6、所以,音符数据ROM中需要连续写入四次音符3,随着4Hz时钟速率读取地址递增,音符数据ROM中的音符数据输出给分频预置数模块。将从音符数据ROM中取出的值,通过q[3..0]端口输向分频预置数模块。这样乐曲中的音符就可以连续的取出了。(2)分频预置数模块分频预置数模块是乐曲简谱码对应的分频预置数查表电路,提供了《梁祝》乐曲全部音符对应的分频预置数,即给数控分频器提供计数初值。图4F_code实体《梁祝》乐曲全部音符对应的分频预置数,共13个,此数在TN输入口停留时间即为此音符的节拍值。这13个值的输出由对应于F_code的4位输入值INX[3..0]确定,而INX[3..0]最

7、多有16种选择。输向F_code中INX[3..0]的值在speaker中对应的输出频率值与持续时间由模块music决定。(3)数控分频模块音符的频率由数控分频模块获得,该计数器的模为2047,当计数器计满时,计数器产生溢出信号FOUT,此溢出信号就是作为发音的频率信号。由分频预置数模块,提供的计数初值,可以产生对应的信号频率。图5数控分频模块实体其时钟输入信号为1MHz,模块对CLK输入信号的分频比由11位预置数TN[10..0]决定,FOUT的输出频率将决定每一个音符的音调,这样,分频计

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

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

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