基于FPGA的电子琴设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

研究生课程论文课程名称FPGA及片上系统SOPC应用授课学期2013学年至2014学年第一学期学院电子工程学院专业电子与通信学号姓名任课教师宋树祥专题基于FPGA的电子琴设计交稿日期2014年01月09日成绩阅读教师签名日期广西师范大学研究生学院11、引言电子琴作为音乐与科技的产物,在电子化和信息化的时代,为音乐的大众化做出了很大的贡献,歌曲的制作大多数都要由电子琴来完成,然后通过媒介流传开来,电视剧和电影的插曲、电视节目音效、甚至你的手机铃声,都很可能包含电子琴的身影。1.1课题分析随着电子技术的高速发展,由于FPGA/CPLD具有高速、高可靠性、串并行工作方式等突出优点,所以在电子设计中受到广泛的应用,并且它代表着未来EDA设计的方向。FPGA/CPLD的设计采用了高级语言,例如VHDL语言,AHDL语言。从而进一步打破了软硬件之间的界限,加速了产品的开发过程,缩短了设计周期。所以采用FPGA/CPLD取代传统的标准集成电路、接口电路已经成为电子技术发展的必然趋势。EDA(电子设计自动化)代表了当今电子设计技术的最新发展方向,它的基本特征是:设计人员按照“自顶向下”的设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片或几片集成电路(FPGA/CPLD)实现。电子琴是数字电路中的一个典型应用。在实际的硬件设计中用到的器件非常多,连线比较复杂,同时会产生比较大的延时,从而造成测量误差较大,可靠性不好。以EDA工具作为开发手段,运用VHDL硬件描述语言将使整个系统大大简化,提高了电子琴整体的性能和可靠性。1.2VHDL语言和QUARTUSII环境简介1.2.1VerilogHDL语言简介VerilogHDL是目前应用最为广泛的硬件描述语言.VerilogHDL可以用来进行各种层次的逻辑设计,也可以进行数字系统的逻辑综合,仿真验证和时序分析等。VerilogHDL适合算法级,寄存器级,逻辑级,门级和版图级等各个层次的设计和描述.VerilogHDL进行设计最大的优点是其工艺无关性.这使得工程师在功能设计,逻辑验证阶段可以不必过多考虑门级及工艺实现的具体细节,只需根据系统设计的要求施加不同的约束条件,即可设计出实际电路.VerilogHDL是一种硬件描述语言(hardwaredescriptionlanguage),为了制作数字电路而用来描述ASICs和FPGA的设计之用。Verilog的设计者想要以C编程语言为基础设计一种语言,可以使工程师比较容易学习。Verilog是由en:GatewayDesignAutomation公司于大约1984年开始发展。GatewayDesignAutomation公司后来被CadenceDesignSystems于1990年所购并。现在Cadence对于Gateway公司的Verilog和Verilog-XL模拟器拥有全部的财产权。1.2.2QuartusII简介QuartusII是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(AlteraHardwareDescriptionLanguage)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整CPLD设计流程。QuartusII支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。MaxplusII作为Altera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。目前Altera已经停止了对2MaxplusII的更新支持,QuartusII与之相比不仅仅是支持器件类型的丰富和图形界面的改变。Altera在QuartusII中包含了许多诸如SignalTapII、ChipEditor和RTLViewer的设计辅助工具,集成了SOPC和HardCopy设计流程,并且继承了MaxplusII友好的图形界面及简便的使用方法。AlteraQuartusII作为一种可编程逻辑的设计环境,由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。1.3FPGA的基本特点FPGA的基本特点:采用FPGA设计ASIC电路(专用集成电路),用户不需要投片生产,就能得到合用的芯片;FPGA可做其它全定制或半定制ASIC电路的中试样片;FPGA内部有丰富的触发器和I/O引脚;FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一;FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。如FPGA配置模式:它有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。如何实现快速的时序收敛、降低功耗和成本、优化时钟管理并降低FPGA与PCB并行设计的复杂性等问题,一直是采用FPGA的系统设计工程师需要考虑的关键问题。如今,随着FPGA向更高密度、更大容量、更低功耗和集成更多IP的方向发展,系统设计工程师在从这些优异性能获益的同时,不得不面对由于FPGA前所未有的性能和能力水平而带来的新的设计挑战。1.4设计目的本次设计的目的就是在掌握计算机组成原理理论相关的基础上,了解EDA技术,掌握VHDL硬件描述语言的设计方法和思想,通过学习的VerilogHDL语言结合电子电路的设计知识理论联系实际,掌握所学的课程知识,例如本课程设计就是基于所学的计算机原理中的时钟分频器和定时器的基础之上的,通过本课程设计,达到巩固和综合运用计算机原理中的知识,理论联系实际,巩固所学理论知识,并且提高自己通过所学理论分析、解决计算机相关的实际问题的能力。2.FPGA课程设计原理及方案选择2.1电子琴设计原理简易电子琴的设计通过软硬件结合实现,硬件系统包括主控制器芯片、LED、蜂鸣器等,软件资源包括编写VerilogHDL程序的仿真软件Modelsim和应用软件QuartusII。电子琴有3自动播放功能。2.2乐曲演奏的原理乐曲演奏的原理:组成乐曲的每个音符的频率值(音调)以及持续时间(音长)是乐曲能持续演奏所需的两个基本数据,因此只要控制输出到扬声器的激励信号的频率的高低和持续的时间,就可以使扬声器发出持续的乐曲声。它利用了FPGA采用了逻辑单元阵列LCA(LogicCellArray)这样一个概念,内部包括可配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和内部连线(Interconnect)三个部分。2.2.1音调的控制频率的高低决定了音调的高低。音乐的十二平均率规定:每两个八度音(如简谱中的中音1与高音1)之间的频率相差一倍。在两个八度音之间,又可分为十二个半音,每半个音的频率比为。另外,音名A(简谱中的低音6)的频率为440HZ,音名B到C之间,E到F之间为半音,其余为全音。由此可以计算出简谱中从低音1至高音1之间的每个音名对应的频率如表2-1所示:表2-1低音名对应的分频系数音名频率(HZ)音名频率(HZ)音名频率(HZ)低音1261.6中音1523.3高音11046.5低音2293.7中音2587.3高音21174.7低音3329.6中音3659.3高音31318.5低音4349.2中音4698.5高音41396.9低音5392中音5784高音51568低音6440中音6880高音61760低音7493.9中音7987.8高音71975.5所有不同频率均从同一基准频率分频得到。由于音阶频率多为非整数,而分频系数又不能为小数,故必须将分频数四舍五入进行取整。若基准频率过高,虽然误差变小,但分频数变大,实际的设计综合考虑这两方面的因素,在尽量减小频率误差的前提下取合适的基准频率。在本设计中选取1MHZ作为基准频率。从下表中可以看出最大分频系数为1912,采用11位二进制计数器分频可满足要求。此外还应给出预置数,对应不同的预置数,只需加载不同的预置数即可。采用加载预置数实现分频的方法比采用反馈复零法节省资源,实现起来更加容易。各音名对应的分频系数如表2-2所示:表2-2各音阶频率对应的分频比及预置数音名分频比预置数音名分频比预置数音名分频比预置数低音11912135中音19561091高音14781569低音21704343中音28521195高音242616214低音31517530中音37591288高音33791668低音41433614中音47161331高音43581689低音51276771中音56381409高音53191728低音61136911中音65681479高音62841763低音710021045中音75011546高音725017972.2.2音长的控制音符的持续时间须根据音乐的速度及每个音符的节拍数来确定。如果设定全音符的持续时间为1S的话,假设产生4分音符,则产生四分频即可实现四分音符的时长,并提供4HZ分频器。如图为乐曲演奏的原理图,其中,乐谱产生电路用来控制音乐的音调和时长。控制音调通过设置计数器的预置数来实现,预置不同的数值会可以使计数器产生不同频率的信号,从而产生不同的音调。控制音长是通过控制计数器预置数的停留时间来实现的,预置数的停留时间越长,则该音符的演奏时间越长,如2分音符,在记谱时将该音符记录两次即可。1MHZ4HZ2.2.3分频设计使用加法计数器。在计数器值小于分频比值时,保持分频的时钟信号不变,当计数器加到分频比值时,令分频时钟信号发生跳变,同时将零设为此时的计数器值,这样分频时钟信号就会再次发生跳变。2.3总体方案本次设计课程的目的是让我们在学习verilogHDL的基础上更加深入的了解硬件设计语言的功能、作用及其特征,并且将我们的动手能力与创新能力结合起来。音符的持续时间须根据乐曲的速度及每个音符的节拍数来确定。因此,要控制音符的音长,就必须知道乐曲的速度和每个音符所对应的节拍数。如果将全音符的持续时间设为1s的话,那么一拍应该持续的时间为0.25秒,则只需要提供一个4HZ的时钟频率即可产生四分音符的时长。至于音长的控制,在自动演奏播放乐曲时按4HZ的时钟频率依次读取简谱,每个音符持续时间为0.25秒。如果乐谱中某个音符为三拍音长,那又该如何控制,其实只要在3个连续地址存放该音符,这时就会发三个0.25秒的音长,即持续了三拍的时间,通过这样一反馈预置计数器曲谱产生2分频器5个简单的操作就可以控制音长了。3.实验与仿真3.1电路原理图1、外部输入脉冲信号时钟源(50Mhz)经分频器输出4Hz、1Mhz的脉冲信号,分别供控制器和受控器使用。2、控制器根据乐曲的节拍产生受控器所需要的预置值,乐曲的一拍持续1s。3、受控器在1MHz时钟信号的控制下从11位预置值开始做加1计数。输出并进行二分频将输出信号分频。3.2硬件的组成在CycloneI器件系列非常成功的基础上,Altera公司的CycloneII系列扩大了FPGA的密度,最多可以达到68416个逻辑单元,并且还提供了622个可用的输入/输出引脚和1.1M比特的嵌入式寄存器。CycloneII设备系列拥有以下的特

1 / 16
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功