电子琴实验报告乐曲硬件演奏电路设计本科论文.doc
《电子琴实验报告乐曲硬件演奏电路设计本科论文.doc》由会员分享,可在线阅读,更多相关《电子琴实验报告乐曲硬件演奏电路设计本科论文.doc(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、武夷学院实验报告课程名称:逻辑设计与FPGA 项目名称: 乐曲硬件演奏电路设计 姓名: 专业:微电子学 班级: 14微电子 学号: 04 实验日期 一、 实验预习部分:1实验目的:学习利用数控分频器设计硬件乐曲演奏电路。2实验原理:综合利用数控分频器、LPM_ROM、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位预置数TONE10.0决定。SPKOUT的输出频率将决定每一音符的音调,这样,分频计数器的预置值TONE10.0与SPKOUT的输出频率就有了对应关系。例如在TONETABA模块(与教材图9-4中的F_CODE模块对应)中若取TONE10.01036,将发出音符“3”音的信号频率。音符的持续时间需根据乐曲的速度及每个音符的节拍数来确定,TON
3、ETABA模块的功能首先是为SPEAKERA提供决定所发音符的分频预置数,而此数在SPEAKERA输入口停留的时间即为此音符的节拍值。TONETABA模块是乐曲简谱码对应的分频预置数查表电路,其中需设置“梁祝”乐曲全部音符所对应的分频预置数,共13个,每一音符的停留时间由音乐节拍和音调发生器模块NOTATABS的CLK的输入频率决定,在此为4HZ。这13个值的输出由对应于TONETABA的4位输入值INDEX3.0确定。在NOTETABS中设置了一个8位二进制计数器(计数最大值为138),作为音符数据ROM的地址发生器。这个计数器的计数频率选为4HZ,即每一计数值的停留时间为0.25秒,恰为当
4、全音符设为1秒时,四四拍的4分音符持续时间。例如,“梁祝”乐曲的第一个音符为“3”,此音在逻辑中停留了4个时钟节拍,即1秒时间,相应地,所对应的“3”音符分频预置值为1036,在SPEAKERA的输入端停留了1秒。随着NOTETABS中的计数器按4HZ的时钟频率作加法计数时,即随地址递增时,音符数据ROM中的音符数据将从ROM通过TONEINDEX3.0端口输向TONETABA模块,乐曲就开始连续自然地演奏起来了。具体参考教材实验9-1中说明。3实验仪器:PC机1台 QuartusII系统开发板1块 开发板外接扬声器4实验步骤及方法:分模块设计和仿真测试,通过后联合仿真测试,最后下载到硬件中测
5、试。5注意事项:所有实验数据放入一个文件夹内,并且不要把文件夹放在系统盘上,实验结束后备份好实验数据,以备教师随时查阅。 实验预习成绩(百分制) 实验指导教师签字: 二、 实验过程记录部分:1实验过程记录:1.1 输入信号锁相环PLL0调节: 图2.1 锁相环管脚clk_50m(设置为B12)接入FPGA内部的50mhz的时钟信号,C0口为得到数控分屏器模块的输入时钟750KHZ,将分频比设置为1/67,即50000000HZ/67=74.6K约等于75K;c1口为2KHZ(配合下级的500分频模块),设置为:c1=50000000HZ/25000=2KHZ。1.2 500分频模块count5
6、00(即500进制的计数器): 图2.2 分频电路程序设计 如图2.2,因为梁祝歌曲只用低音和中音来演奏,为1/4拍,即四分之一拍,每个音符持续0.25秒的时间。因为前级电路已经实现了从50MHZ到2KHZ的转换,要得到4HZ的频率,则用500进制的计数器(0到499的计数)产生的进位信号对2KHZ实现500分频(输出波形分析见后)。1.3 乐曲长度控制计数器cnt138设计: 图2.3 乐曲长度控制计数器程序及元件图 经查阅EDA技术实用教程(第五版)可知,梁祝这首歌曲总共有139个音符,其中包含末尾的3个休止符。如图2.3,因此为了产生这139音符,因此想到开发一个139进制的计数器(计数
7、值:0到138),实现用139状态代表139个音符。又因为要配合下一级音符谱码存储模块的输入(ROM的输入一般为偶数位),因此将原本用7路线就可以表示完成的输出端cnt8增加一位线宽。 注:在本程序中,输出端cnt8由于定义成integer整型,在Quartus中被自动分配成了7根;也可以定义成vector型,而此时需要注意配合下级电路的权位最好写成cnt8: out std_logic_vector(7 downto 0).1.4 音符谱码存储模块设计构建:1.4.1 ROM的设置: 图2.4 音符谱码存储模块ROM 音符谱码存储模的主体构想,是为了让前级模块所产生的139个状态与实际音符(
8、Do Re Mi Fa So La Si)构成映射。因此需要构建一个包含梁祝乐谱的mif文件。1.4.2构建梁祝乐谱.mif文件: 图2.5梁祝乐谱(部分截取)因此综上所述,结合1.3的分析,音符谱码存储ROM,即输入为8位数据线,含256bit数据(实际只用了139bit);输出为4根线,这是由于梁祝这首歌曲只有低音的123567,以及中音的12356合高音部分的1,加上休止符一共13个状态,因此用4根数据线完全足够。出于简化电路设计原则以及综合考虑电路测试的难易程度,我将高音部分的1当做中音的7来处理,将13个状态音符分为低音音符,中音音符和休止符;这样的好处是:在测试时候,只需用一个LE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子琴 实验 报告 乐曲 硬件 演奏 电路设计 本科 论文
限制150内