基于FPGA的乐曲演奏电路设计开题报告
2020-02-18 19:24:55
1. 研究目的与意义(文献综述)
随着电子技术越来越发达,其衍生出的电子产品也日新月异,音乐演奏电路已经广泛应用于我们生活的各个角落,为我们的生活带来了无限乐趣。它在自动答录装置、手机铃声、集团电话及智能仪器仪表设备中被广泛应用。作为一个电子系统的一个模块,音乐电路可以采用CPLD/FPGA来实现。
其突出优点是:第一,仅占用FPGA 中很少的资源,因此增加的系统整体成本较低,甚至不增加成本。 这是因为某个产品选定某型号FPGA 芯片,产品的其它部分只用了其中一部分资源,还有相当一部分资源闲置没用;第二,更改乐曲非常方便;第三,可作为IP core 实现设计重用。
在 EDA 技术飞速发展的时代,利用可编程 ASIC 的数字电子系统设计技术进行电子产品的开发和设计,已经成为流行的趋势。这种以 EDA 为核心电子设计的技术可以对系统芯片进行集成,从而可以取代传统的 PCB 板设计方法,利用FPGA在电子领域进行产品的设计和开发已经成为主流方法。目前国内外对乐曲硬件研究电路的研究还是比较深入,采用了很多不同方法都实现了乐曲硬件电路的演奏。文献[1]利用EDA工具和硬件描述语言可以很容易实现乐曲的硬件演奏,比用纯硬件的方式完成要高效和方便,其中采用杭州康芯电子有限公司生产的GW48系列EDA实验系统,利用数控分频技术,并结合VHDL硬件描述语言和Quartus II开发,为设计开发创造了良好的开发环境。
与上面的乐曲硬件电路实现不同,文献[2]采用了VHDL语言,在Maxplus II软件平台开发的基础上,实现了18音符的乐曲硬件演奏,设计的系统经过检验证明确实可行,实现了乐曲的自动演奏、暂停及恢复功能。除了可以实现一些基础的演奏功能,采用同样的方式,利用层次化的设计方法,实现了音乐存储与回放演奏的功能,采用 CPLD/FPGA 实现系统新功能探索出了一条新的途径。除了使用 EDA 技术进行乐曲硬件电路设计,还可以借助单片机的力量,利用音符与频率对应的关系,把音符的时间常数与节拍常数作为数组,通过查表的方式控制节奏,实现演奏,其方法简单,电路简明,效果不错。
2. 研究的基本内容与方案
2.1设计的基本内容
本毕业设计主要内容为设计一个基于FPGA的能播放乐曲的音乐电路,其中包括VHDL硬件描述语言核心部件和一些外围的电路。
本次毕业设计只考虑音符,就是音高和长短,而忽略了响度和音色这两个因素所带来的影响。因为众所周知,响度是音量,而音色和乐器有关,只要更换不同的蜂鸣器或扬声器,其材质不同,音色也不同。在本次设计中,主要探究FPGA开发板的控制和其外接电路,对材质的不同不加以区分。设计的音乐电路必须能够演奏一首乐曲,或者一首歌的高潮部分,并加上自己的扩展功能,即音乐的存储与切换,并能够通过观察发光二极管,确定乐曲的序号。如图1为基本的设计框图。
图1 设计总体框图
音的高低就是音的频率,频率不同,音符也不同。所以可以通过改变不同的频率,实现不同音符的产生过程。而音的长短,则可以用一个控制电路模块,根据音乐乐谱,改变同种频率的持续时间,就可以实现长短音的输出。
电路的输入类似于计数器,为定时器时钟信号。输入两路时钟信号,其一起分频作用,为时钟信号控制分频电路,分频后就可得到我们需要的结果;而另一路时钟信号,直接接长短音控制电路,来实现节拍的产生。这两路时钟信号的频率,可能相同也可能会不同,要根据乐曲的不同,由自己调试决定。电路输出音乐信号,必须外接扬声器及蜂鸣器或者喇叭,才能实现其基本功能。
2.2设计的目标
本次毕业设计的设计目标为,设计出基于FPGA开发板的音乐演奏电路,并完成演奏的基本功能。为了完成它的基本功能,需要为其设计合适的分频器,并实现不同音符的播放。扩展功能为,实现乐曲的存储,即至少存储两个乐曲。,并可以通过电路的控制开关,实现不同乐曲之间的切换,通过发光二极管的发光情况,查看音乐的序号。
2.3 设计方案及措施
本系统采用VHDL语言,在Xilinx开发工具上进行开发。由根据音乐的十二平均律可知,简谱中从低音1到高音1之间,每个音名的频率都是可以计算出来的。
系统模块图如图2所示,该系统包括三个功能模块,分别为演奏模块、音符产生模块和分频器模块。在此之中,演奏模块实现产生乐谱的读取,本设计想要完成的扩展功能为,实现乐谱的存和取。而音符产生模块可以根据演奏模块提供的已经读取到的音符,输出为分频系数。而分频器模块,则根据前一个音符产生模块所提供的分频系数,根据分频系数的不同,而产生对应不同的频率,实现音符的产生和播放。
图2 系统模块图
该系统有个3输入端口,两个输入系统时钟,一个输入乐曲选择键,而系统的输出端口有2个,分别为扬声器输出和乐曲序号显示LED键。自动演奏模块内置两首确定的乐曲,可用一个二选一数据选择器实现乐曲的选择。同理,若拓展功能为可播放3首乐曲以上,则可以使用多个端口的数据选择器完成设计。音阶发生器为预存的乐曲数据,实现分频的输出给分频模块。图3为乐曲演奏电路结构框图,由时钟电路产生时钟信号,转到节拍产生电路,再经过音调发生器,最后由分频器完成音符创造的功能。
图3 乐曲演奏电路结构框图
3. 研究计划与安排
第1-3周 完成开题报告第4-6 周 学习vhdl语言
第7-8周 编译代码,实现仿真
第9-10周 翻译英文文献
4. 参考文献(12篇以上)
[1]饶敏, 邱德慧, 符宇同. EDA设计乐曲硬件演奏电路[J]. 微计算机信息, 2007, 23(32).
[2]崔祎. 基于VHDL的乐曲演奏设计与实现[J]. 工业仪表与自动化装置, 2011(2).
[3]徐文波,田耘.Xilinx FPGA开发实用教程 [M]. 北京:清华大学出版社, 2012.
[4]王敏志.FPGA设计实战演练[M]. 北京:清华大学出版社, 2015.
[5]吴厚航.勇敢的芯伴你玩转Xilinx FPGA[M]. 北京:清华大学出版社, 2017.
[6]吴厚航.FPGA设计实战演练[M].北京:清华大学出版社,2015.
[7]罗杰.Verilog HDL与FPGA数字系统设计[M].北京:机械工业出版社,2015.
[8]樊继明,陆锦宏.FPGA深度解析[M].北京:北京航空航天大学出版社,2015.
[9]袁玉卓,曾凯锋,梅雪松.FPGA自学笔记[M].北京:北京航空航天大学出版社,2017.
[10]潘文明,易文兵.手把手教你学FPGA设计[M].北京:北京航空航天大学出版社,2017.
[11]张晋荣,章振栋,刘荣福.FPGA实战训练[M].北京:清华大学出版社,2019.
[12]阿东.手把手教你学FPGA[M].北京:北京航空航天大学出版社,2017.
[13]廉玉欣,侯博雅. Vivado入门与FPGA设计实例[M]. 北京:电子工业出版社, 2018.
[14] El Medany. FPGA remote laboratory for hardware learningcourses[J], Computational Technologies in Electrical and Electronics Engineering, 2008, (6):106-109.
[15]Ming-Bo Lin.A Tutorial on Fpga-Based System Design[M],Createspace Independ,2017(8):52-57.
[16]Fuming Sun,Xiaoying Li,Qin Wang,Chunlin Tang.FPGA-based Embedded System Design[J]. IEEE Asia Pacific Conference on Circuits amp; Systems ,2014(10):39-42.
[17] Sergey Podryadchikov,Microelectronics Journal. FPGA-based testing system of NAND-memory multi-chip modules[J]. Elsevierjournal,2019(10):73-76.
[18] Shereen Afifi Microprocessors and Microsystems. A System on Chip for Melanoma Detection Using FPGA-based SVM Classifier[J]. Elsevierjournal,2018(10):46-50.