大学毕业论文-—乐曲硬件演奏电路设计.doc
《大学毕业论文-—乐曲硬件演奏电路设计.doc》由会员分享,可在线阅读,更多相关《大学毕业论文-—乐曲硬件演奏电路设计.doc(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、电子技术课程设计 乐谱演奏电路设计 学 院:电子工程与电气自动化学院 专业、班级:电子科学与技术(1)班 姓 名: 王志愿 学 号:12021034 指导教师: 常红霞 2014年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语言,介绍了一种通用乐曲演奏电路的设计,可实现多个八度音阶的乐曲演奏,与简谱的对应关系简单,编程方便,占用资源少,通用性好,可作为IP core模块引用,构成复杂的SOPC系统 关键词:乐谱演奏;现场可编程门阵列(FPGA);智力产权核(IP core);超高速
3、集成电路硬件描述语言(Verilog);乐曲 Abstract An electronic piano is designed based on FPGA,which consists of core paris that designed by using Verilog hardware description languages,as well as some periphery circuits.The musical perform ance can be donenot only by keys but also with automatic type in the electro
4、nic piano Based on FPGA,by Verilog language,this paper introduces a universal music circuit design,it can play high,middle and low multiple tonality,simple corresponding relation with simple musical notation,which programs easily using little resourceIt can be used universally for IP core in making
5、complicated SOPC system Key words:electronic piano;Field Programmable Gate Array(FPGA);Intelligence Property core(IP core) ;Very-High-Speed Integrated Circuit Hardware Description Language(Verilog);music 一、 设计任务要求1、课程设计题目 设计一个乐曲演奏电路,能够自动播放编写好的音乐。要求将音乐通过实验箱上的喇叭播放出来,数码管显示播放至第几首音乐。 (附加功能:本设计在题目所要求的功能全部
6、实现的基础之上又添加了许多附加功能,所有的功能将在“工程设计总述”中阐明,特此声明。)2、 设计分析 (1) 音乐硬件演奏电路基本原理 硬件电路的发声原理,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制FPGA芯片某个引脚输出一定频率的矩形波,接上扬声器就能发出相应频率的声音。乐曲中的每一音符对应着一个确定的频率,要想FPGA发出不同音符的音调,实际上只要控制它输出相应音符的频率即可。乐曲都是由一连串的音符组成,因此按照乐曲的乐谱依次输出这些音符所对应的频,就可以在扬声器上连续地发出各个音符的音调。而要准确地演奏出一首乐曲,仅仅让扬声器能够发生是不够的,还必须准确地控制乐曲的节奏,即乐曲
7、中每个音符的发生频率及其持续时间是乐曲能够连续演奏的两个关键因素。 (2) 音符频率的获得多个不同频率的信号可通过对某个基准频率进行分频器获得。由于各个音符的频率多为非整数,而分频系数又不能为小数,故必须将计算机得到的分频系数四舍五入取整。若基准频率过低,则分频系数过小,四舍五入取整后的误差较大。若基准频率过高,虽然可以减少频率的相对误差,但分频结构将变大。实际上应该综合考虑这两个方面的因素,在尽量减少误差的前提下,选取合适的基准频率。本设计中选取1MHz的基准频率。数控分频器采用12位二进制计数器,乐曲中的休止符,只要将分频系数设为0,即初始值=4095,此时扬声器不会发声。根据分频系数,可
8、计算数控分频器得到的初始值。(语言已经无法描述其中的原理了,程序可以说明此问题,关于初始值的解释,请看下文给出的程序)初始值的计算公式如下:由于所设计的数控分频计采用12MHZ作为时钟源,并通过一次12分频给出频率为1MHZ的脉冲溢出信号,再对该1MHZ的溢出信号进行12位2进制码的带预置数进行计数,并给出一个频率随预置数变化的脉冲信号。由于该脉冲信号不具有驱动蜂鸣器的能力,故对此脉冲信号进行2分频以推动蜂鸣器发声,故最终输出信号的频率与预置数的关系如下:其中为音阶对应的频率。 表1 简谱中的音名与频率的关系音名频率/Hz音名频率/Hz音名频率/Hz低音1261.63中音1532.25高音11
9、046.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中音6880高音61760低音7493.88中音7987.76高音71975.52 表2 各音阶频率对应的分频值音名分频系数初始值音名分频系数初始值音名分频系数初始值低音17644547中音138224369高音119116280低音268101381中音234054786高音212706921低音360672124中音330345157高音3151
10、76674低音457272464中音428645327高音414326759低音551023089中音525515640高音512566935低音645453646中音622735918高音611377054低音740504141中音720256166高音710137178 (3) 乐曲节奏的控制 一般乐曲最小的节拍为1/4拍,若将1拍的时间定为1秒,则只需要输出4Hz的1/4拍的时长(0.25秒),对于其它占用时间较长的节拍(必为1/4拍的整数倍)则只需要将该音符连续输出相应的次数即可。计数时钟信号作为输出音符快慢的控制信号,时钟快时输出节拍速度就快,演奏的速度也就快,时钟慢时输出节拍的速度
11、就慢,演奏的速度自然降低,由于最后的蜂鸣器前需加一个二分频的程序,因此计数器的时钟信号应为4Hz的2倍,即8Hz。 (4) 乐谱的发生本设计将乐谱中的音符数据存储在LPM-ROM中,若某音在逻辑中停留了4个时钟节拍,即1秒的时间,相应地,该音符就要在LPM-ROM中连续的四个地址上都存储。当一个4Hz的时钟来时,相应地就从LPM-ROM中输出一个音符数据。(5) 选择模块 选择模块将用一个4位数的控制信号控制乐谱模块数据的选择性,用vhdl语言描述比较简单,不在此详述。(6) 译码器等其他模块译码器等模块在以前做实验的时候做过,且原理比较简单易懂,不再这里阐述。3、 工程设计总述 当一个4Hz
12、的时钟脉冲来到时,乐谱发生器模块输出一个音符数据给分频系数模块,分频系数模块输出此音符相应的分频系数所需的初始值,将初始值送给数控分频器模块,当12MHz的时钟脉冲来到时,数控分频器就根据分频系数输出相应的频率(即此音符所对应的发生频率)给扬声器,扬声器就可发出对应音符的声音来.连续的8Hz的时钟脉冲就将乐谱发生器里所存储的音符数据一个接一个的送给了分频系数模块,再经过数控分频模块,最后扬声器一个接一个的发出音符数据所对应的声音来。曲子也就流畅的播放出来了。同时led数码管会随着音乐显示相应的乐谱,当乐曲一遍演奏完成后,乐曲发生器能自动从头开始循环演奏,这时用拨码开关选择播放的乐曲,拨码开关给
13、选择器一个选择信号,即可选择相应的歌曲莫开中的数据进入数据翻译模块,播放出相应的歌曲,本工程选取了四首乐曲,以格雷码的形式编码,每次只变一位拨码开关,比较方便选择。分别为: 0001菊花台 0011世上只有妈妈好 0010一剪梅 0110隐形的翅膀 乐谱如下:、二、总体框图 该工程由是个模块构成,其中有四个为乐谱储存模块ROM,如图所示。1、 分频器的功能是将芯片上提供的50MHz的时钟分频为12MHz和8Hz的时钟,分别供计数器与分频驱动器(数控分频器)使用。2、 计数器完成计数功能,183进制(最长的歌曲菊花台有183个字符)每个时钟沿加一。3、 四个音乐模块分别记录了4首歌的乐谱。根据上
14、一模块计数器所计的数读取相应地址里的数据传递给下一模块。4、 选择器完成选择歌曲的功能。5、 数据翻译模块将选择器所选择的歌曲rom里的地址的数据翻译成分频驱动器(数控分频器)分频所需的控制数据、3个led灯数据(高中低音)、以及译码器所需的数据。6、 分频驱动器也就是一个数控分频器,完成分频的功能,并驱动蜂鸣器。7、 译码器将乐谱数据在led数码管上显示。三、选择器件1.EP2C5T144C8N芯片2.实验箱底板电路 (包括 蜂鸣器 7段数码管 )3.计算机四、功能模块1.分频器(div)将芯片上提供的50MHz的时钟分频为12MHz和8Hz的时钟,分别供计数器与分频驱动器(数控分频器)使用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学毕业 论文 乐曲 硬件 演奏 电路设计
限制150内