




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Good is good, but better carries it.精益求精,善益求善。fpga课设蜂鸣器音乐演奏-FPGA实验报告实验名称:蜂鸣器音乐演奏实验日期:姓名:学号:一、实验目的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存储),由一个计数器来控制此真值表的输出,而由计数器的技术时钟信号作为乐曲节拍控制信号。4、其中5hz和1mhz的频率由基准频率分频产生,分别作用给每个模块。四、方案设计设计分析:实验中采用层次化设计思路,音乐发生器的设计包括四个模块:时钟分频模块fdiv、自动演奏模块autoplay、查表及显示模块table、音调分频模块fenpin。分好层次之后,编写每个模块的程序。时钟分频模块fdiv通过基准时钟频率clk(50mhz)产生两个时钟信号clk1(1mhz),clk2(5hz)。自动演奏模块autoplay接收clk1的时钟信号,输出ind
4、ex_auto。查表及显示模块table利用index_auto查找并输出分频系数tone。同时将音调对应的给三个数码管,分别显示高中低音符。音调分频模块fenpin接收tabled输出的分频系数tone,并据此分频,将对应频率的信号buzz输出给扬声器供其发声。b流程图:数码管显示FdivAutoplaytablefenpinclk输出buzz五实验过程1.时钟分频模块fdiv通过基准时钟频率clk(50mhz)产生两个时钟信号clk1(1mhz),clk2(5hz)。程序见附录1:其仿真结果如下:2.自动演奏autoplays模块这个模块用FPGA的片内ROM存放乐曲的简谱真值表,由一个二
5、进制计数器为乐曲数据存储ROM的地址发生器随着autoplay中计数器按clk2时钟频率做加法计数时,乐曲数据存储器ROM中的音符数据,将从ROM中的输出口输向音符查表模块table,所存储的乐曲就开始连续自然地演奏起来。ROM的定制过程,利用MegawizardPlug-InManager定制音符数据存储器music,其中music_rom的程序见附录二。在定制ROM的过程中,由于需要存入296个音符数据,选择ROM的数据位宽为8,地址为64(共计512个字),ROM的类型选择为Auto。根据义勇军进行曲的音乐简谱,以及简谱中的低、中、高和额节拍与发生频率的关系等等,化成个音符数字有296个
6、,存入ROM中。在数据文件编辑窗中,在mif格式表格中填入义勇军进行曲的296个音符数据,并以十进制填入,最后保存数据文件名为music.mif,存入原路径中。其中17表示低音,814表示中音,1521表示高音。Autoplay的程序见目录三。在源程序中index_auto是音乐节拍发生器输出地音符数据;clk2是计数时钟输入端,该信号作为音符的快慢信号,频率越高,时钟的输出节拍速度就越快,演奏的速度也越快。该模块仿真结果如下:3、查表及显示table模块利用index_auto查找并输出分频系数tone。同时将音调对应的给三个数码管,分别显示高中低音符。其程序见目录四。在源程序中,tone是
7、音调分频模块提供音符频率的分频系数,此处有一个位选信号come和段选信号seg可以通过数码管来显示乐曲演奏时对应的高中低音符。在此模块中假设index_auto音符为15,其仿真结果如下:4、音调分频模块(speakera)设计分频器对FPGA的clk1进行分频,得到与各个音阶对应的频率输出,里面包含一个计数器,当计数器满时,产生一个进位信号,该信号就是用作发音的频率信号,在计数器端的预置值端给定不同的初值时,产生不同频率的信号。其程序见附录五。假设tone为252,其仿真结果如下:5、根据层次化设计要求把各个部分根据实验设计流程,设计成顶层文件。其程序见附录六。6、经编译无错后,绑定引脚,下
8、载测试。其管脚分配如下:六、实验结果及分析下载测试,下载完毕,听到完整的一段义勇军进行曲音乐,并且音调很好,数码管显示没有错误。频率折算中,由于频率计数不能是小数,采用了四舍五入的方法,所以得到的频率并不是十分精确的,但是不会影响结果。附录附录一libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entityfdivisport(clk:instd_logic;clk1:outstd_logic;clk2:outstd_logic);-50MHzend
9、fdiv;architecturebehaveoffdivissignaltemp:std_logic;-f=1/(2*(cnt+1)*f0signaltemp1:std_logic;-f=1/(2*(cnt+1)*f0signalcnt1:integerrange0to25;-1mhzsignalcnt2:integerrange0to5000000;-5hzbeginprocess(clk)-1mhzbeginif(clkeventandclk=1)thenif(cnt1=24)thencnt1=0;temp=nottemp;elsecnt1=cnt1+1;endif;endif;endp
10、rocess;clk1=temp;process(clk)-5hzbeginif(clkeventandclk=1)thenif(cnt2=4999999)thencnt2=0;temp1=nottemp1;elsecnt2=cnt2+1;endif;endif;endprocess;clk2=temp1;end;附录二LIBRARYieee;USEieee.std_logic_1164.all;LIBRARYaltera_mf;USEaltera_mf.altera_mf_components.all;ENTITYmusic_romisPORT(address:INSTD_LOGIC_VEC
11、TOR(8DOWNTO0);inclock:INSTD_LOGIC;q:OUTSTD_LOGIC_VECTOR(4DOWNTO0);ENDmusic_rom;ARCHITECTURESYNOFmusic_romISSIGNALsub_wire0:STD_LOGIC_VECTOR(4DOWNTO0);COMPONENTaltsyncramGENERIC(intended_device_family:STRING;width_a:NATURAL;widthad_a:NATURAL;numwords_a:NATURAL;operation_mode:STRING;outdata_reg_a:STRI
12、NG;address_aclr_a:STRING;outdata_aclr_a:STRING;width_byteena_a:NATURAL;init_file:STRING;lpm_hint:STRING;lpm_type:STRING);PORT(clock0:INSTD_LOGIC;address_a:INSTD_LOGIC_VECTOR(8DOWNTO0);q_a:OUTSTD_LOGIC_VECTOR(4DOWNTO0);ENDCOMPONENT;BEGINqCyclone,width_a=8,widthad_a=9,numwords_a=512,operation_mode=ROM
13、,outdata_reg_a=UNREGISTERED,address_aclr_a=NONE,outdata_aclr_a=NONE,width_byteena_a=1,init_file=music.mif,lpm_hint=ENABLE_RUNTIME_MOD=YES,INSTANCE_NAME=ROM,lpm_type=altsyncram)PORTMAP(clock0=inclock,address_a=address,q_a=sub_wire0);END;附录三LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSI
14、GNED.ALL;ENTITYautoplayISPORT(clk2:INSTD_LOGIC;index_auto:OUTSTD_LOGIC_VECTOR(4DOWNTO0);ENDautoplay;ARCHITECTUREbehavOFautoplayIScomponentmusic_romPORT(address:INSTD_LOGIC_VECTOR(8DOWNTO0);inclock:INSTD_LOGIC;q:OUTSTD_LOGIC_VECTOR(4DOWNTO0);ENDcomponent;SIGNALCQI:STD_LOGIC_VECTOR(8DOWNTO0);BEGINPROC
15、ESS(clk2)BEGINIFclk2EVENTANDclk2=1THENCQICQI,q=index_auto,inclock=clk2);END;附录四:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entitytableisport(index_auto:inSTD_LOGIC_VECTOR(4DOWNTO0);come:outstd_logic_vector(7downto0);seg:outstd_logic_vector(7down
16、to0);tone:outintegerrange0to1910);end;architecturesearchoftableisbeginprocess(index_auto)begincaseindex_autoiswhen00001=tone=1910;come=11111110;segtone=1701;come=11111110;segtone=1516;come=11111110;segtone=1431;come=11111110;segtone=1275;come=11111110;segtone=1135;come=11111110;segtone=1011;come=111
17、11110;segtone=954;come=11111101;segtone=850;come=11111101;segtone=757;come=11111101;segtone=715;come=11111101;segtone=637;come=11111101;segtone=567;come=11111101;segtone=505;come=11111101;segtone=477;come=11111011;segtone=425;come=11111011;segtone=378;come=11111011;segtone=357;come=11111011;segtone=
18、318;come=11111011;segtone=283;come=11111011;segtone=252;come=11111011;segtone=0;come=00000000;seg=00000000;endcase;endprocess;end;附录五libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entityfenpinisport(clk1:instd_logic;-1MHztone:inintegerrange0to1910;buzz:outstd_logic);end;architecturebehaveoffenpinissignalclk_data:std_logic;signali:integerrange0to1910;beginyinpin:process(clk1)beginif(clk1eventandclk1=1)thenif(i=tone)theni=0;clk_data=notclk_data;elsei=i+1;e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030餐饮门店智能化改造分析及无人技术成熟度与设备投资回报周期报告
- 2025年咸宁赤壁市事业单位公开招聘21人考试参考试题及答案解析
- 2025上海科技馆招聘高层次专业技术人才3人考试参考题库及答案解析
- 商业物业管理服务长期合同协议
- 2025四川广元市旺苍县总工会招聘2名工会社会工作者备考考试试题及答案解析
- 农业种植技术服务与产品购销协议
- 农业行业种植风险自担合同
- 2025内蒙古赤峰市翁牛特旗旗直学校面向农村牧区学校选调教师50人考试模拟试题及答案解析
- 土地联合开发与管理协议
- 成都市锦江实验学校2025年公开招聘员额教师(4人)考试参考试题及答案解析
- 第26届北京市高中力学竞赛决赛试题
- 中成药合理应用专家讲座
- 清梳联设备及工艺流程
- 手性新药的注册要求
- 图形创意设计的课件完整版
- SH/T 0660-1998气相防锈油试验方法
- GB/T 4956-2003磁性基体上非磁性覆盖层覆盖层厚度测量磁性法
- 第三、四章-证据的分级、来源与检索课件
- 《计算机系统结构(第二版)》配套教学课件
- 职业技术学院学生退费申请表
- 六年级上册美术课件-《戏曲人物》 浙美版(2014秋) (2)(共13张PPT)
评论
0/150
提交评论