基于fpga的电子琴设计-课程设计论文正文大学论文.doc
《基于fpga的电子琴设计-课程设计论文正文大学论文.doc》由会员分享,可在线阅读,更多相关《基于fpga的电子琴设计-课程设计论文正文大学论文.doc(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课程设计摘 要乐曲演奏广泛用于自动答录装置、手机铃声、集团电话、及智能仪器仪表设备。实现方法有许多种。现用可编程逻辑器件(PLD)来完成该设计。核心是一数控分频器,对输入的脉冲进行分频,得到每个音阶对应的频率,由此实现简易电子琴的发音功能。电子琴可演奏由键盘输入的音阶,同时在数码管上显示对应音节的频率。本设计基于超高速硬件描述语言VHDL在Altera公司的Cyclone系列的EP2C5T144C8芯片上编程实现;经仿真,调试基本能够达到技术指标,仿真结果基本正确。关键词 音乐译码电路模块,VHDL,数控分频,电子琴AbstractMusic performances are widely u
2、sed in automatic answering devices, cell phone ring tones, the Group phones, smart instrumentation and equipment。The design is accomplished using a programmable logic device (PLD). The core is a numerical control frequency divider, the input pulse frequency, the frequency of each scale corresponding
3、 to the frequency, thus achieving the function of simple electronic piano. The electronic piano can be played by the keyboard input of the scale, while in the digital tube display the corresponding syllable frequency. The design based on ultra high speed hardware description language VHDL on Alteras
4、 cyclone II Series ep2c5t144c8 chip programming; the simulation and debugging can basically meet the technical indicators, and the result of simulation is correct.Keywords Music decoder circuit module,VHDL,Numerical control pointing frequency modules,electronic organI沈阳工程学院课程设计目 录摘 要IAbstractII1 引言1
5、2 VHDL简述及应用22.1VHDL简述22.2 VHDL的应用23 FPGA的简述33.1 FPGA的介绍33.2 FPGA的整体结构33.3 Altera公司的FPGA34 电子琴演奏系统设计原理分析44.1电子琴演奏设计的基本要求44.2电子琴演奏原理44.3音名与频率的关系54.4控制音长的节拍发生器65 电子琴硬件演奏电路的层次化设计方案85.1按键控制模块85.2自动演奏模块85.3自动播放控制模块95.4数控分频模块设计95.5数码管译码显示105.6音频驱动模块10结论11致谢12参考文献13附录114附录215基于FPGA的电子琴设计1 引言我们生活在一个信息高速发达的时代
6、,各种各样电子产品层出不穷。对于广大老百姓来说,电子琴可以说已经不再是什么“新鲜玩意”了,它现在作为一种休闲和娱乐的产品早就推出市面,面向百姓,进入了我们的生活。作为一个电子信息科学与技术专业的学生,了解这些电子产品的基本的组成和设计原理是十分必要的,我们学习过了计算机组成的理论知识,而我所做的课程设计正是对我学习的理论进行实践和巩固。本设计主要介绍的是一个用超高速硬件描述语言VHDL设计的一个具有若干功能的简易电子琴;集科学性,先进性,创新性,实用性于一体,其理论基础源自于计算机组成原理的时钟分频器。2 VHDL简述及应用2.1VHDL简述VHDL的英文全名是Very-High-Speed
7、Integrated Circuit Hardware Description Language,诞生于1982年。于1983年由美国国防部(DOD)发起创建,由IEEE进一步发展并在1987年作为“IEEE标准1076”发布。从此,VHDL成为硬件描述语言的业界标准之一。2.2 VHDL的应用 VHDL是IEEE(Institute of Electrical and Electronics Engineers)标准的硬件描述语言,是现代电子系统设计的首选硬件设计计算机语言。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展了VHDL的内容,公布了新版本VHDL,
8、即IEEE 1076-1993。现在,VHDL与Verilog一样作为IEEE的工业标准硬件描述语言,得到公司的支持,在电子工程领域已成为事实上的通用硬件描述语言。3 FPGA的简述用EDA设计的音乐演奏电路主要用到了现场可编程门阵列(FPGA)。3.1 FPGA的介绍现场可编程门阵列(FPGA)在结构上由逻辑功能块排列为阵列,并由可编程的内部连线连接这些功能块,来实现一定的逻辑功能。3.2 FPGA的整体结构FPGA在结构上包含三部分:可编程逻辑块CLB、可编程输入输出模块IOB和可编程内部连线PI。(1) 可编程逻辑块CLB CLB是FPGA内的基本逻辑单元。3.3 Altera公司的FP
9、GAAltera公司的FPGA器件采用钢铝布线的先进CMOS技术,具有非常低的功耗和相当高的速度,而且采用连续式互连结构,提供快速的、连续的信号延迟。FPGA器件有两类配置下载方式:主动配置方式和被动配置方式。主动配置方式由FPGA期间引导配置操作过程,它控制着外部存储器和初始化过程,而被动配置方式则由外部计算机或控制器控制配置过程。 4 电子琴演奏系统设计原理分析4.1电子琴演奏设计的基本要求(1)设计一种以FPGA为控制核心的电子琴的设计方案,该方案通过编写有关程序和各种用户参数的设置,实现采用自顶向下的模块化设计方法,基于FPGA使用VHDL语言设计制作一个电子琴控制系统,自动演奏模块、
10、音阶发生器模块、数控分频模块。通过本设计,正确掌握数字系统的模块划分、并能自如应用硬件描述语言描述各模块功能,以实现系统设计。以VHDL语言和MAX+PLUSII为工具,在EDA实验系统主板上,实现了地铁自动售票系统。系统划分为几个功能模块,分模块进行分析和设计,系统给出相应的设计原理图和VHDL源程序,通过仿真实现预定的功能。(2)该控制电路设计部分主要包括自动演奏模块、音阶发生器模块、数控分频模块、显示功能模块,通过自主研发程序实现各电路模块功能,在实际运用中可以及时对钱币处理延时时间及数量进行监控与调整从而提高质量和速度,实用性强。4.2电子琴演奏原理声音的频谱范围一般在几十到几千赫兹,
11、利用程序来控制FPGA芯片某个引脚输出一定频率的矩形波,接上扬声器就能发出相应频率的声音。乐曲演奏电路的结构框图如图4.1所示:自动演奏模块喇叭驱动模块数控分频输出模块按键输入显示模块手动播放控制模块图4.1 电子琴演奏电路结构方框图4.3音名与频率的关系根据乐曲的12平均率规定计算出简谱中从低音l至高音1之间每个音符的频率。如表4.1所示:表4.1简谱中的音名与频率的关系音名频率/Hz音名频率/Hz音名频率/Hz低音1261.63中音1523.25高音11046.50低音2293.67中音2587.33高音21174.66低音3329.63中音3659.25高音31318.51低音4349.
12、23中音4698.46高音41396.92低音5391.99中音5783.99高音51567.98低音6440中音6880高音61760低音7493.88中音7987.76高音71975.52由乐理知识可知,对电子琴声音的操作即对音乐频率以及音乐持续时间的操作。整体采用一个基准频率,基准频率经各个分频器产生的频率不应与简谱中各个音调的频率差别太大,基频太低则误差太大,基频太高则分频器过于复杂,因此因综合各方面考虑。由于简谱中最高音不超过2k,取所有音的最小公倍数便可。但人耳的精度,故只要保证各音名的相对频率不变即可。由可得各个音色的分频系数。采用N位的分频器的话,则初始化时计数器的值应为:本实
13、验采用12M时钟频率,预先进过16分频,为减少偶次谐波,展宽脉冲,在扬声器之前要进过一个2分频电路,故可得下表:表4.2谱中的音名与计数初值的关系音名初始值音名初始值音名初始值低音1612中音11342高音11689低音2770中音21409高音21728低音3909中音31478高音31763低音4973中音41510高音41779低音51090中音51569高音51808低音61195中音61621高音61834低音71288中音71667高音71857注:对于音乐中的休止符,其分频系数设为0,初始值设为2N-1即可(此处为2047)。4.4控制音长的节拍发生器该演奏电路演奏的乐曲是“梁祝
14、”片段,其最小的节拍为1拍。在音乐中,时间被分成均等的基本单位,每个单位叫做一个“拍子”或 称一拍。拍子的时值是以音符的时值来表示的,一拍的时值可以是四分音符(即以四分音符为一拍),也可以是二分音符(以二分音符为一拍)或八分音符(以八分音符为一拍)。故设置一个4Hz的时钟,每一次计数停留的时间为0.25s,即最小节拍。并经一个二进制计数器进行计数,将计数器的值作为ROM的地址进行寻址,这样便可以读出储存在ROM中的乐谱了。表4.1“梁祝“音阶图4.2 Rom模块5 电子琴硬件演奏电路的层次化设计方案根据层次化的设计思路,可把乐曲硬件演奏电路分为3块,自动演奏模块,手动播放控制模块,数控分频模块
15、。5.1按键控制模块此模块实际为一个查表模块,对于不同的按键输入,从表中读取相应的分频值及计数器初始化值,由节拍发生器决定其停留时间,改变节拍可改变演奏音符延时长短,将其输出给数控分频器,即可得到相应的声音。其VHDL程序见附录2仿真波形:图5.1 按键波形图5.2 AUTO键按下波形5.2自动演奏模块此模块有4个控制输入信号。Auto键,手动/自动模式切换按键。Back,倒退播放按键。Song,歌曲选择按键。Pause,暂停按键,与控制播放速度的d1,d0连接,通过一与门接入此模块,当d1,d0为11时,pause输入为1,此时此模块无输入脉冲(DVF模块阻止了脉冲),若不加处理,此时将一直
16、输出暂停之前的一个音符,所以利用pause信号,当暂停时,输出休止符。此模块的程序分为三部分:第一部分为内部rom的连接,利用MigaWizard Plug-in Manager生成ROM的软核嵌入到此模块中,counter与rom的地址线相连接,rom的输入端与器件的tone管脚相连接,便可在tone上获取rom的信息。第二部分为地址控制部分,但接收到脉冲上升沿时,根据外部输入(auto和back),决定rom的首地址(counter的初值)和counter的变化方式(递增或递减或暂停)以及切换歌曲时的地址切换。第三部分为decoder译码部分,从rom中取得数据后需要经过译码成为分频器的初
17、始值后作为下一级的输入信号。该模块将利用FPGA的片内ROM存放乐曲简谱真值表,有一个二进制计数器为乐曲数据存储器ROM的地址发生器。其VHDL程序见附录2仿真波形:图5.3 存储调用5.3自动播放控制模块音符译码电路即音调发生器实际上是一个查表电路,放置21个音乐简谱对应的频率表。手动播放控制是由一个2位预置数的分频模块和一个D触发器的组合,起到控制播放速度的作用,当d=”11”时,无分频信号输出,起到暂停的作用。由于正常播放音乐时频率为4hz,所以此模块的输入时钟为32hz。其VHDL源程序见附录2。仿真波形:图5.4 播放控制5.4数控分频模块设计这是一个可预置数的分频器,其预置数决定了
18、其发音的音调。其分频进过三个步骤,第一步根据预置数进行分频,产生PreClk信号,第二步,根据PreCLK信号,进行16分频,产生FULLSPKS信号。第三步,对FULLSPKS信号2分频拓展脉宽,形成最终的音频信号(262Hz1976Hz共21个音符)。其顶层设计的VHDL程序见附录2。仿真波形:图5.5 分频波形5.5数码管译码显示此模块由VHDL设计和芯片CD4511组合驱动数码管显示音阶、音名。为实现动态显示,就必须给予一个足够高的时钟节拍,轮流选通数码管,让不同的数码管在不同的时间片段内分别亮起,在选通某一个数码管时,要输出相应的码字。其顶层设计的VHDL程序见附录2。仿真波形:图5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 fpga 电子琴 设计 课程设计 论文 正文 大学
限制150内