《乐曲硬件演奏电路设计毕业论文设计.docx》由会员分享,可在线阅读,更多相关《乐曲硬件演奏电路设计毕业论文设计.docx(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、乐曲硬件演奏电路设计毕业论文设计电子技术课程设计乐谱演奏电路设计学院:电子工程与电气自动化学院专业、班级:电子科学与技术1班姓名:王志愿学号:12021034指导老师:常红霞2021年12月目录一:设计任务要求(2)1:课程设计题目(2)2:设计分析(2)3:工程设计总述(5)二:总体框图(8)三:选择器件(9)四:功能模块:模块图形、程序、功能仿真图、功能仿真图分析(9)1:分频器div(9)2:计数器notetabs(11)3:选择模块choice(12)4:数据翻译模块tontaba(14)5:译码器模块deled(16)6:数控分频器模块speakera(17)7:乐谱数据ROM四个模
2、块(19)8:地址线的选择(27)9:led数码管位选功能的解决方案(28)五:总体设计电路图.28六:六:结束语(29)乐谱演奏电路设计摘要设计了一种基于FPGA的乐谱演奏,该乐谱演奏由用Verilog硬件描绘语言设计的核心部件和适当的外围电路构成,可从蜂鸣器上进行演奏可以自动行乐曲演奏。基于FPGA(现场可编程门阵列)芯片,利用Verilog语言,介绍了一种通用乐曲演奏电路的设计,可实现多个八度音阶的乐曲演奏,与简谱的对应关系简单,编程方便,占用资源少,通用性好,可作为IPcore模块引用,构成复杂的SOPC系统关键词:乐谱演奏;现场可编程门阵列FPGA;智力产权核IPcore;超高速集成
3、电路硬件描绘语言(Verilog);乐曲AbstractAnelectronicpianoisdesignedbasedonFPGA,whichconsistsofcoreparisthatdesignedbyusingVeriloghardwaredescriptionlanguages,aswellassomeperipherycircuits.ThemusicalperformancecanbedonenotonlybykeysbutalsowithautomatictypeintheelectronicpianoBasedonFPGA,byVeriloglanguage,thispap
4、erintroducesauniversalmusiccircuitdesign,itcanplayhigh,middleandlowmultipletonality,simplecorrespondingrelationwithsimplemusicalnotation,whichprogramseasilyusinglittleresourceItcanbeuseduniversallyforIPcoreinmakingcomplicatedSOPCsystemKeywords:electronicpiano;FieldProgrammableGateArrayFPGA;Intellige
5、ncePropertycore(IPcore);Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage(Verilog);music一、设计任务要求1、课程设计题目设计一个乐曲演奏电路,能够自动播放编写好的音乐。要求将音乐通过实验箱上的喇叭播放出来,数码管显示播放至第几首音乐。附加功能:本设计在题目所要求的功能全部实现的基础之上又添加了很多附加功能,所有的功能将在“工程设计总述中说明,特此声明。2、设计分析1音乐硬件演奏电路基本原理硬件电路的发声原理,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制FPGA芯片某个引脚输出一定
6、频率的矩形波,接上扬声器就能发出相应频率的声音。乐曲中的每一音符对应着一个确定的频率,要想FPGA发出不同音符的音调,实际上只要控制它输出相应音符的频率即可。乐曲都是由一连串的音符组成,因而根据乐曲的乐谱依次输出这些音符所对应的频,就能够在扬声器上连续地发出各个音符的音调。而要准确地演奏出一首乐曲,仅仅让扬声器能够发生是不够的,还必须准确地控制乐曲的节拍,即乐曲中每个音符的发生频率及其持续时间是乐曲能够连续演奏的两个关键因素。2音符频率的获得多个不同频率的信号可通过对某个基准频率进行分频器获得。由于各个音符的频率多为非整数,而分频系数又不能为小数,故必须将计算机得到的分频系数四舍五入取整。若基
7、准频率过低,则分频系数过小,四舍五入取整后的误差较大。若基准频率过高,固然能够减少频率的相对误差,但分频构造将变大。实际上应该综合考虑这两个方面的因素,在尽量减少误差的前提下,选取适宜的基准频率。本设计中选取1MHz的基准频率。数控分频器采用12位二进制计数器,乐曲中的休止符,只要将分频系数设为0,即初始值=4095,此时扬声器不会发声。根据分频系数,可计算数控分频器得到的初始值。语言已经无法描绘其中的原理了,程序能够讲明此问题,关于初始值的解释,请看下文给出的程序初始值的计算公式如下:由于所设计的数控分频计采用12MHZ作为时钟源,并通过一次12分频给出频率为1MHZ的脉冲溢出信号,再对该1
8、MHZ的溢出信号进行12位2进制码的带预置数进行计数,并给出一个频率随预置数变化的脉冲信号。由于该脉冲信号不具有驱动蜂鸣器的能力,故对此脉冲信号进行2分频以推动蜂鸣器发声,故最终输出信号的频率与预置数的关系如下:其中mf为音阶对应的频率。表1简谱中的音名与频率的关系音名频率/Hz音名频率/Hz音名频率/Hz低音1261.63中音1532.25高音11046.50低音2293.67中音2587.33高音21174.66低音3329.63中音3659.25高音31318.51低音4349.23中音4698.46高音41396.92低音5391.99中音5783.99高音51567.98低音6440
9、中音6880高音61760低音7493.88中音7987.76高音71975.52表2各音阶频率对应的分频值音名分频系数初始值音名分频系数初始值音名分频系数初始值低音17644547中音138224369高音119116280低音268101381中音234054786高音212706921低音360672124中音330345157高音315176674低音457272464中音428645327高音414326759低音551023089中音525515640高音512566935低音645453646中音622735918高音611377054低音740504141中音720256166
10、高音7101371783乐曲节拍的控制一般乐曲最小的节拍为1/4拍,若将1拍的时间定为1秒,则只需要输出4Hz的1/4拍的时长0.25秒,对于其它占用时间较长的节拍必为1/4拍的整数倍则只需要将该音符连续输出相应的次数即可。计数时钟信号作为输出音符快慢的控制信号,时钟快时输出节拍速度就快,演奏的速度也就快,时钟慢时输出节拍的速度就慢,演奏的速度自然降低,由于最后的蜂鸣器前需加一个二分频的程序,因而计数器的时钟信号应为4Hz的2倍,即8Hz。4乐谱的发生本设计将乐谱中的音符数据存储在LPM-ROM中,若某音在逻辑中停留了4个时钟节拍,即1秒的时间,相应地,该音符就要在LPM-ROM中连续的四个地
11、址上都存储。当一个4Hz的时钟来时,相应地就从LPM-ROM中输出一个音符数据。5选择模块选择模块将用一个4位数的控制信号控制乐谱模块数据的选择性,用vhdl语言描绘比拟简单,不在此详述。6译码器等其他模块译码器等模块在以前做实验的时候做过,且原理比拟简单易懂,不再这里阐述。3、工程设计总述当一个4Hz的时钟脉冲来到时,乐谱发生器模块输出一个音符数据给分频系数模块,分频系数模块输出此音符相应的分频系数所需的初始值,将初始值送给数控分频器模块,当12MHz的时钟脉冲来到时,数控分频器就根据分频系数输出相应的频率(即此音符所对应的发生频率)给扬声器,扬声器就可发出对应音符的声音来.连续的8Hz的时
12、钟脉冲就将乐谱发生器里所存储的音符数据一个接一个的送给了分频系数模块,再经过数控分频模块,最后扬声器一个接一个的发出音符数据所对应的声音来。曲子也就流畅的播放出来了。同时led数码管会随着音乐显示相应的乐谱,当乐曲一遍演奏完成后,乐曲发生器能自动从头开场循环演奏,这时用拨码开关选择播放的乐曲,拨码开关给选择器一个选择信号,即可选择相应的歌曲莫开中的数据进入数据翻译模块,播放出相应的歌曲,本工程选取了四首乐曲,以格雷码的形式编码,每次只变一位拨码开关,比拟方便选择。分别为:0001菊花台0011世上只要妈妈好0010一剪梅0110隐形的翅膀乐谱如下:当前位置:文档视界乐曲硬件演奏电路设计毕业论文
13、设计乐曲硬件演奏电路设计毕业论文设计当前位置:文档视界乐曲硬件演奏电路设计毕业论文设计乐曲硬件演奏电路设计毕业论文设计当前位置:文档视界乐曲硬件演奏电路设计毕业论文设计乐曲硬件演奏电路设计毕业论文设计钟,分别供计数器与分频驱动器数控分频器使用。2、计数器完成计数功能,183进制最长的歌曲菊花台有183个字符每个时钟沿加一。3、四个音乐模块分别记录了4首歌的乐谱。根据上一模块计数器所计的数读取相应地址里的数据传递给下一模块。4、选择器完成选择歌曲的功能。5、数据翻译模块将选择器所选择的歌曲rom里的地址的数据翻译成分频驱动器数控分频器分频所需的控制数据、3个led灯数据高中低音、以及译码器所需的
14、数据。6、分频驱动器也就是一个数控分频器,完成分频的功能,并驱动蜂鸣器。7、译码器将乐谱数据在led数码管上显示。三、选择器件1.EP2C5T144C8N芯片2.实验箱底板电路包括蜂鸣器7段数码管3.计算机四、功能模块1.分频器div将芯片上提供的50MHz的时钟分频为12MHz和8Hz的时钟,分别供计数器与分频驱动器数控分频器使用。1模块图形:2程序如下:reg23:0counter8Hz;reg23:0counter12MHz;always(negedgereset_lorposedgeclk)begin/6MHz分频if(!reset_l)begin当前位置:文档视界乐曲硬件演奏电路设计毕业论文设计乐曲硬件演奏电路设计毕业论文设计当前位置:文档视界乐曲硬件演奏电路设计毕业论文设计乐曲硬件演奏电路设计毕业论文设计