乐曲硬件演奏电路的毕业设计_第1页
乐曲硬件演奏电路的毕业设计_第2页
乐曲硬件演奏电路的毕业设计_第3页
乐曲硬件演奏电路的毕业设计_第4页
乐曲硬件演奏电路的毕业设计_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

EDA设计基础实验课程论文题目乐曲硬件演奏电路的设计学院通信学院专业班级通信081班学生姓名DABINGE指导教师大力会2013年4月17日摘要本文论述了利用QUARTUSII软件设计乐曲硬件演奏电路的基本原理、过程及结果。通过QUARTUSII软件仿真后,进行了硬件实验,并获得了成功。本设计中的乐曲演奏电路,能够自动播放编写好的音乐,并将音乐通过实验箱上的扬声器播放出来,用发光二级管显示出所选乐曲的编号。关键词QUARTUSII软件仿真硬件实验扬声器ABSTRACTTHISARTICLEDISCUSSESTHEUSEOFSOFTWAREDESIGNQUARTUSIIMUSICPLAYINGHARDWARECIRCUITOFTHEBASICPRINCIPLES,PROCESSESANDOUTCOMESBYQUARTUSIISOFTWARESIMULATION,HARDWAREEXPERIMENTSCARRIEDOUTANDHAVEBEENSUCCESSFULTHEDESIGNOFTHEMUSICCONCERTCIRCUIT,WHICHCANAUTOMATICALLYWRITEGOODMUSICPLAYING,ANDTHEMUSICBOXONTHEBUZZERTHROUGHEXPERIMENTSPLAYOUT,WITHALIGHTEMITTINGDIODEDISPLAYTHESELECTEDSONGNUMBERKEYWORDSQUARTUSIISOFTWAREEMULATIONHARDWAREEXPERIMENTBUZZER目录摘要IABSTRACTII目录III第1章绪论111概述112乐曲演奏电路的原理1121音调的控制1122音符频率的获得1123音长的控制1124乐曲节奏的控制1125乐谱的发生1第2章总流程图4第3章设计模块221主系统2221主系统工作原理1221音调的控制1221音调的控制123223122322结论8参考文献9附录10致谢11第1章绪论11概述乐曲演奏电路,能够自动播放编写好的音乐,并将音乐通过实验箱上的蜂鸣器播放出来,用发光二级管显示出所选乐曲的编号。12乐曲演奏电路的原理组成乐曲的每一个音符的频率值(音调)及其持续的时间(音长)是乐曲能连续演奏所需的两个基本书记,因此只要控制输出到扬声器的激励信号频率的高低和持续的时间,就可以使扬声器发出连续的乐曲声。121音调的控制简谱中音名与音频的对应关系如下音名频率/HZ音名频率/HZ音名频率/HZ低音126163中音153225高音1104650低音229367中音258733高音2117466低音332963中音365925高音3131851低音434923中音469846高音4139692低音539199中音578399高音5156798低音6440中音6880高音61760低音749388中音798776高音7197552表1中仅列出了低音、中音和高音的频率,对于比低音低八度或者比高音高八度的音,可依据2倍规则很容易求出。所谓2倍规则,是指中音1是低音1频率的2倍,高音1是中音1频率的2倍,以此类推。简谱中音频和分频预制数的对应关系如下音名分频系数初始值音名分频系数初始值音名分频系数初始值低音17644547中音138224369高音119116280低音268101381中音234054786高音212706921低音360672124中音330345157高音315176674低音457272464中音428645327高音414326759低音551023089中音525515640高音512566935低音645453646中音622735918高音611377054低音740504141中音720256166高音710137178122音符频率的获得多个不同频率的信号可通过对某个基准频率进行分频器获得。由于各个音符的频率多为非整数,而分频系数又不能为小数,故必须将计算机得到的分频系数四舍五入取整。若基准频率过低,则分频系数过小,四舍五入取整后的误差较大。若基准频率过高,虽然可以减少频率的相对误差,但分频结构将变大。实际上应该综合考虑这两个方面的因素,在尽量减少误差的前提下,选取合适的基准频率。本设计中选取1MHZ的基准频率。数控分频器采用12位二进制计数器,乐曲中的休止符,只要将分频系数设为0,即初始值4095,此时扬声器不会发声。根据分频系数,可计算数控分频器得到的初始值。(语言已经无法描述其中的原理了,程序可以说明此问题,关于初始值的解释,请看下文给出的程序)初始值的计算公式如下由于所设计的数控分频计采用12MHZ作为时钟源,并通过一次12分频给出频率为1MHZ的脉冲溢出信号,再对该1MHZ的溢出信号进行12位2进制码的带预置数进行计数,并给出一个频率随预置数变化的脉冲信号。由于该脉冲信号不具有驱动蜂鸣器的能力,故对此脉冲信号进行2分频以推动蜂鸣器发声,故最终输出信号的频率与预置数的关系如下其中为音阶对应的频率。MF123音长的控制音乐中的音除了有高低之分外,还有长短之分。如何记录音的长短呢简朴中用一条横线“”在音符的右面或者下面来标注音的长短。下表列出了常用音符和它们的长度标记。音符名称写法时值全音符5四拍(可设为1S)二分音符5二拍四分音符5一拍八分音符5半拍十六分音符四分之一拍三十二分音符八分之一拍从表中可以看出横线有记在音符后面的,也有记在音符下面的,横线标记的位置不同,倍标记的音符的时值也不同。从表中可以发现一个规律要是音符时值延迟,在四分音符右边家横线“”,这时横线叫做延时线。延时线越多,音持续的时间(时值)越长。记在音符右边的小圆点称为附点,表示增加前面音符时值的一半,带附点的音符叫做附点音符。例如四个浮点音符555,八分附点音符55。音乐中除了有音的高低长短之外,也有音的休止。表示声音休止的符号叫做休止符,用“0”标记。每增加一个0,就增加1个四分休止符的时值。124乐曲节奏的控制一般乐曲最小的节拍为1/4拍,若将1拍的时间定为1秒,则只需要输出4HZ的14拍的时长(025秒),对于其它占用时间较长的节拍(必为1/8拍的整数倍)则只需要将该音符连续输出相应的次数即可。计数时钟信号作为输出音符快慢的控制信号,时钟快时输出节拍速度就快,演奏的速度也就快,时钟慢时输出节拍的速度就慢,演奏的速度自然降低,由于最后的蜂鸣器前需加一个二分频的程序,因此计数器的时钟信号应为4HZ的2倍,即8HZ。125乐谱的发生本设计将乐谱中的音符数据存储在LPMROM中,若某音在逻辑中停留了4个时钟节拍,即1秒的时间,相应地,该音符就要在LPMROM中连续的四个地址上都存储。当一个8HZ的时钟来时,相应地就从LPMROM中输出一个音符数据。第2章工作流程总工作流程图该工程由是个模块构成,其中有四个为乐谱储存模块ROM,如图所示。分频器的功能是将芯片上提供的50MHZ的时钟分频为12MHZ和8HZ的时钟,分别供计数器与分频驱动器(数控分频器)使用。计数器完成计数功能,183进制(最长的歌曲菊花台有183个字符)每个时钟沿加一。四个音乐模块分别记录了4首歌的乐谱。根据上一模块计数器所计的数读取相应地址里的数据传递给下一模块。选择器完成选择歌曲的功能。数据翻译模块将选择器所选择的歌曲ROM里的地址的数据翻译成分频驱动器(数控分频器)分频所需的控制数据以及译码器所需的数据。分频驱动器也就是一个数控分频器,完成分频的功能,并驱动蜂鸣器。拨动开关同时还控制2个LED灯,表示所选曲目的序号第3章设计模块31主系统工作原理主系统由3个模块组成,图1为顶层设计文件,其内部有3个功能模块TONETABAS、NOTETABS和SPEAKERA。图1与利用微处理器(CPU或MCU)来实现乐曲演奏相比,以纯硬件完成乐曲演奏电路的逻辑要复杂得多,如果不借助功能强大的EDA工具盒硬件描述语言,仅凭传统的数字逻辑技术,即使最简单的演奏电路也难以实现。本例实现的乐曲演奏电路结构如图1所示,在图1宗,模块U1类似弹琴的人的手指;U2类似于琴键;U3类似于琴弦或者音调发生器。311音符的频率音符的频率可以由图1的SPEAKERA模块获得。他是一个数控分频器,有其CLK端输入一具有较高频率(这里是12MHZ)的信号,通过SPEAKERA分频后由SPKOUT输出。由于直接从数控分频器中出来的输出信号时脉宽极窄的脉冲式信号,威力有利于驱动扬声器,需要另加一个D触发器均衡其占空比,但这时的频率将是原来的1/2SPEAKERA对CLK输入信号的分频比由11位预置数TONE100决定,SPKOUT的输出频率将决定每一音符的音调。这样,分频计数器的预置值TONE100与SPKOUT的输出频率就有了对应关系。录入在TONETABA模块中若取TONE1001036,将发音符位“3”音的信号频率。312音符的持续时间音符的持续时间须根据乐曲的速度及每个音符的节拍来确定,图1中模块TONETABA的功能首先是SPEAKERA提供决定所发音符的分频预置数,而此数在SPEAKERA输入口停留的时间即为此音符的节拍值。模块TONETABA乐曲简谱码对应的分频预置数查表电路,其中设置了高音、中音、低音全部音符所对应的分频预置数,工13个,每一音符的停留时间由音乐节拍和音调发生器模块NOTETABAS的CLK的输入频率决定,这里为4HZ。这13个值的输出有对应与于TONETABA的4位输入值INDEX30确定,而INDEX30最多有16种可选值。TONEINDEX30输向TONETABA中的INDEX30,其值与持续时间由模块NOTETABS决定。313乐曲发生在NOTETABS中设置了一个9位二进制计数器(计数最大值为512),作为音符数据ROM的地址发生器。这个计数器的计数频率为4HZ,即每一计数值的停留时间为025S,恰为当全音符设为1S时,四四拍的四分音符的持续时间。当NOTETABAS中的计数器按4HZ的始终速率作加法计数(即地址值递增)时,音符数据ROM中的音符数据从ROM中通过TONEINDEX30端口输向NOTETABS模块,乐曲就开始连续自然的演奏起来了。须定制NOTETABAS模块中的音符数据ROM“MUSIC”。最后对该ROM进行仿真,确认音符数据已经进入ROM中。32LPM_ROM的定制首先新建TEXTFILE,文件,将写好的乐曲代码复制进去,保存为MIF文件。然后新建BDF文件,在总的工程图上添加ROM模块如下图模块的名字,起歌曲的名字,便于调用。四首乐曲分别为菊花台、世上只有妈妈好、隐形的翅膀和一剪梅。其中菊花台的波形图如下运行后的MIF文件如下JHTMIFYXDCBMIF选取位宽为5,以符合本工程的需要。完成后将4个乐曲ROM连接组成MUSIC模块如下图32数控分频器(SPEAKERA)下图为数控分频器模块的内部原理图33数据翻译模块(TONTABA)将选择器所选择的歌曲ROM里的地址的数据翻译成分频驱动器(数控分频器)34数据选择模块(NOTETBAS)数据选择模块根据拨动开关SEL0,SEL1的拨动情况判断所选曲目,将选通信号输送给ROMMUSIC,从而将曲目的信息输送给下一模块TON

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论