欢迎来到天天文库
浏览记录
ID:22705761
大小:1.08 MB
页数:20页
时间:2018-10-31
《电子琴实验报告-乐曲硬件演奏电路设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、武夷学院实验报告课程名称:逻辑设计与FPGA项目名称:乐曲硬件演奏电路设计姓名:-专业:微电子学班级:14微电子学号:04实验日期一、实验预习部分:1.实验0的:学习利用数控分频器设计硬件乐曲演奏电路。2.实验原理:综合利用数控分频器、LPM_R0M、PLL等单元电路设计硬件乐曲演奏电路。系统桐图如图1所示由三个模块组成,分别为NOTETABS、TONETABA、SPEAKERA。图1硬件乐曲演奏电路结构框图NOTETABS模块(把教材图9_4中的CNT138T和MUSIC模块合在一起即为此模块)类似于弹琴人的手指;TONETABA模块类似于琴键;SPEAKERA类似于琴弦或音调发生器。音符
2、的频率由SPEAKERA模块(与教材图9-4中的SPKER模块对应)获得,这是一个数控分频器。由其CLK端输入一具有较高频率(12MHZ)的信号,通过SPEAKERA分频后由SPKOUT输出。SPEAKERA对CLK输入信号的分频比由11位预置数T0NE[10..0]决定。SPKOUT的输出频率将决定每一音符的音调,这样,分频计数器的预置值TONE[1O..O]与SPKOUT的输出频率就有了对应关系。例如在TONETABA模块(与教材图9-4中的F_CODE模块对应)中若取TONE[10..0]=1036,将发出音符“3”音的信号频率。咅符的持续时间需根据乐曲的速度及每个咅符的节拍数来确定,
3、TONETABA模块的功能首先是为SPRAKERA提供决定所发咅符的分频预置数,而此数在SPRAKERA输入口停留的时间即为此咅符的节拍值。TONETABA模块是乐曲简谱码对应的分频预置数査表电路,其中需设置“梁祝”乐曲全部音符所对应的分频预置数,共13个,每一音符的停留时间由音乐节拍和音调发生器模块KOTATABS的CLK的输入频率决定,在此为4HZ。这13个值的输出由对应于TONETABA的4位输入值INDEX[3..0]确定。在NOTETABS中设置了一个8位二进制计数器(计数最大值为138),作为音符数据ROM的地址发生器。这个计数器的计数频率选为4HZ,即每一计数值的停留吋间为0.
4、25秒,恰为当全音符设为1秒时,四四拍的4分音符持续时间。例如,“梁祝”乐曲的第一个咅符为“3”,此音在逻辑中停留了4个时钟节拍,即1秒时间,相应地,所对应的“3”音符分频预置值为1036,在SPRAKERA的输入端停留了1秒。随着NOTETABS中的计数器按4HZ的时钟频率作加法计数时,即随地址递增时,咅符数据ROM中的咅符数据将从ROM通过T0NETNDEX[3..0]端口输向TONETABA模块,乐曲就开始连续自然地演奏起来了。具体参考教材实验9-1中说明。1.实验仪器:PC机1台QuartusII系统开发板1块开发板外接扬声器2.实验步骤及方法:分模块设计和仿真测试,通过后联合仿真测
5、试,最后下载到硬件屮测试。3.注意事项:所有实验数据放入一个文件夹内,并且不要把文件夹放在系统盘上,实验结朿后备份好实验数据,以备教师随时查阅。二、实验过程记录部分:1.实验过程记录:1.1输入信号锁相环PLLO调节:PINr-.-...-...-•----參•參蠡•參■■參蠡■參•蠡參參鲁參瞻蠡•鲁參I_e1clk.SOmincIkOCyctoneIII图2.1锁相环ClkRatio-•二OC(%)cO1/670.005000d•£5:::0.00MOOincIkOfrequer>cy:50.000MHzOperatonMode:Normal管脚clk_50m(设置为B12)接入FPGA内
6、部的50mhz的时钟信号,CO口为得到数控分屏器模块的输入时钟750KHZ,将分频比设置为1/67,即50000000HZ/67=74.6K约等于75K;cl口为2KHZ(配合下级的500分频模块),设置为:cl=50000000HZ/25000=2KHZ。1.2500分频模块count500(即500进制的计数器):阁2.2分频电路程序设计如图2.2,因为梁祝歌曲只用低音和中音来演奏,为1/4拍,即四分之一拍,每个音符持续0.25秒的时间。因为前级电路已经实现了从50MHZ到2KHZ的转换,要得到4HZ的频率,则用500进制的计数器(0到499的计数)产生的进位信号对2KHZ实现500分频
7、(输出波形分析见后)。hd1.3乐曲长度控制计数器cntl38设计:
8、饱music,bdf11libraryxeee;2useieee.scd_logic_1164.all;3useieee.std一logic一unsigned.all;4Hentitycntl38is5Hport(elk:xnstd一logic;6cnt8:outintegerrange0to138);7endcncl38;8口archit
此文档下载收益归作者所有