fpga课设——蜂鸣器音乐演奏

fpga课设——蜂鸣器音乐演奏

ID:14834003

大小:197.50 KB

页数:13页

时间:2018-07-30

fpga课设——蜂鸣器音乐演奏_第1页
fpga课设——蜂鸣器音乐演奏_第2页
fpga课设——蜂鸣器音乐演奏_第3页
fpga课设——蜂鸣器音乐演奏_第4页
fpga课设——蜂鸣器音乐演奏_第5页
资源描述:

《fpga课设——蜂鸣器音乐演奏》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、FPGA实验报告实验名称:蜂鸣器音乐演奏实验日期:姓名:学号:2012年数字信号处理实验报告一、实验目的1.熟悉QuartusII软件的使用。2.熟悉EDA实验开发系统的基本使用。3.学习VHDL基本单元电路的设计应用。进一步掌握EDA的多层次设计方法。4.学习音乐发生器的设计。除了报警,蜂鸣器还可以用来奏乐。让它发出悦耳动听的声音,加深理解蜂鸣器的控制电路原理。二.设计要求1.自动循环播放歌曲《义勇军进行曲》。2.由数码管分别显示高、中、低音的音符。三.实验原理1、乐曲硬件电路产生音乐是和音乐频率和音乐的持续时间有关;音符的持续

2、时间需根据乐曲的速度和每个音符的节拍数来确定。其简谱中音符和频率的关系如下:2、该演奏电路演奏的乐曲是《友义勇军进行曲》,其最小的节拍为1拍,将1拍的时长定位0.2S,则只需要再提供一个5hz的时钟频率即可产生1拍的时长,演奏的时间控制通过ROM查表的方式来完成。对于占用时间较长的节拍,(一定是节拍的整数倍),如全音符为4拍,2/4音符为2拍,1/4音符为1拍。3、乐曲硬件演奏电路系统主要有音调分频器和乐曲存储模块两个部分组成,其余还有音乐节拍发生器等等。音调分频器对1mhz(由基准频率产生)的频率进行分频,得到与各个音节对应的频

3、率输出。乐曲存储模块产生节拍控制和音阶选择信号,即在此模块中存放一个乐曲曲谱真值表(实验中用的ROM存储),由一个计数器来控制此真值表的输出,而由计数器的技术时钟信号作为乐曲节拍控制信号。第12页共13页2012年数字信号处理实验报告4、其中5hz和1mhz的频率由基准频率分频产生,分别作用给每个模块。四、方案设计a.设计分析:实验中采用层次化设计思路,音乐发生器的设计包括四个模块:时钟分频模块fdiv、自动演奏模块autoplay、查表及显示模块table、音调分频模块fenpin。分好层次之后,编写每个模块的程序。时钟分频模块

4、fdiv通过基准时钟频率clk(50mhz)产生两个时钟信号clk1(1mhz),clk2(5hz)。自动演奏模块autoplay接收clk1的时钟信号,输出index_auto。查表及显示模块table利用index_auto查找并输出分频系数tone。同时将音调对应的给三个数码管,分别显示高中低音符。音调分频模块fenpin接收tabled输出的分频系数tone,并据此分频,将对应频率的信号buzz输出给扬声器供其发声。b.流程图:数码管显示FdivAutoplaytablefenpinclk输出buzz五.实验过程1.时钟分

5、频模块fdiv通过基准时钟频率clk(50mhz)产生两个时钟信号clk1(1mhz),clk2(5hz)。程序见附录1:其仿真结果如下:第12页共13页2012年数字信号处理实验报告2.自动演奏autoplays模块这个模块用FPGA的片内ROM存放乐曲的简谱真值表,由一个二进制计数器为乐曲数据存储ROM的地址发生器随着autoplay中计数器按clk2时钟频率做加法计数时,乐曲数据存储器ROM中的音符数据,将从ROM中的输出口输向音符查表模块table,所存储的乐曲就开始连续自然地演奏起来。ROM的定制过程,利用Megawiz

6、ardPlug-InManager定制音符数据存储器music,其中music_rom的程序见附录二。在定制ROM的过程中,由于需要存入296个音符数据,选择ROM的数据位宽为8,地址为64(共计512个字),ROM的类型选择为Auto。根据义勇军进行曲的音乐简谱,以及简谱中的低、中、高和额节拍与发生频率的关系等等,化成个音符数字有296个,存入ROM中。在数据文件编辑窗中,在mif格式表格中填入义勇军进行曲的296个音符数据,并以十进制填入,最后保存数据文件名为music.mif,存入原路径中。其中1—7表示低音,8—14表示中

7、音,15—21表示高音。Autoplay的程序见目录三。第12页共13页2012年数字信号处理实验报告在源程序中index_auto是音乐节拍发生器输出地音符数据;clk2是计数时钟输入端,该信号作为音符的快慢信号,频率越高,时钟的输出节拍速度就越快,演奏的速度也越快。该模块仿真结果如下:3、查表及显示table模块利用index_auto查找并输出分频系数tone。同时将音调对应的给三个数码管,分别显示高中低音符。其程序见目录四。在源程序中,tone是音调分频模块提供音符频率的分频系数,此处有一个位选信号come和段选信号seg

8、可以通过数码管来显示乐曲演奏时对应的高中低音符。在此模块中假设index_auto音符为15,其仿真结果如下:第12页共13页2012年数字信号处理实验报告4、音调分频模块(speakera)设计分频器对FPGA的clk1进行分频,得到与各个音阶对

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

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

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