版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学校代码: 学 号: 本科毕业设计说明书题 目:基于FPGA的简易电子琴的设计学生姓名:学 院:系 别:专 业:班 级:指导教师:摘 要我们都知道的当物体在振动或者在晃动的时候,能够发生声音。并且如果振动的频率不同,而物体发出的声音就不同,因此音调也会不同。在简易的电子琴的设计时候虽然没有振动的物体,比如簧,管,弦等,但是电子琴的内部却有很多电子类的装置,而这些电子类的装置只要开始工作就能使扬声器发出像振动的物体那样发出不同的声音。当按动某个琴键,就会是相应的电子装置工作,从而使扬声器发出不同的音调。本系统是采用EDA技术设计的一个简易电子琴,该系统基于计算机中时钟分频器的原理,采用自顶向下的
2、设计方法来实现,它可以通过按键输入来控制扬声器,同时也可以有自动播放歌曲的功能。该电子琴的设计大体可以由三个模块构成,分别是控制输入电路,FPGA和扬声器电路。用超高速硬件描述语言VHDL编程可以实现各个模块的功能。可以实现按键的输入和自动演奏的功能,同时可以即时的播放出来关键词:EDA;VHDL;FPGA;电子琴系统AbstractWe all know that when the vibration of an object that can happen to sound.And the frequency of the vibration is different, the objec
3、t the sound is different, the tone will be different.Simple design of the keyboard when the vibrating object.Such as reed, tube, string, etc., but the keyboard's internal has a lot of electronic devices.These electronic devices to work can make the speakers like the vibration of objects that mak
4、e different sounds.When pressing a key, the corresponding electronic devices work, so that speakers of different tones.This system is designed using EDA technology a simple eight-note keyboard, the system clock divider based on the principle of the computer, using top-down design methodology to impl
5、ement, it can be controlled through the key input audio.and Automatic playing function, The design of the keyboard in general consists of three modules, they are control input circuit、FPGA、display circuit and speaker circuit.Ultra high-speed hardware description language VHDL programming function of
6、 each module. Not only can realize the function of playing and playing, and real-time play out. Keyword: EDA; VHDL ;FPGA ; Electronics Organ Systems目录引 言1第一章 概述21.1 FPGA简介21.1.1 FPGA的工作原理21.2 EDA技术简介21.2.1 EDA技术概念31.2.2 EDA技术设计方法31.2.3 EDA工具软件41.2.4 EDA设计的流程41.3 硬件描述语言VHDL61.3.1 VHDL的简介61.3.2 VHDL 语
7、言的特点71.3.3 VHDL 语言上机操作条件71.3.4 VHDL 语言设计的流程81.4 Quartus II 简介81.4.1 Quartus II软件的特点91.4.2 Quartus II软件的工具91.5 音乐知识介绍111.5.1 音频的概念111.5.2 音频的格式111.5.3 音频的处理121.5.4 节拍及音符12第二章 系统的设计142.1 设计的基本要求142.2 设计的总体方案142.3 程序设计的流程图152.4 电子琴中各模块的设计及仿真162.4.1 时钟信号发生电路162.4.2 乐曲自动演奏模块172.4.3音调发生模块182.4.4数控分频模块192.
8、4.5 顶层模块212.5 管脚的分配图222.6 直流稳压电源的设计222.7 硬件线路连接图24结 论25参考文献26附录一27附录二32谢辞33引 言目前大多数市场上的电子产品摧新换代比较迅速,同时在电子产品推新换代的同时,就要求设计者对电子产品技术的要求会越来越高。目前市场上的电子产品大多数情况都是靠最传统的硬件连接进行设计和实现的。这样就会浪费资源。而现在对于FPGA技术的产生为电子产品的设计提供了方便。基于FPGA的简易电子琴设计易于音准的调校,可以有效的防止设计程序被盗用,降低了数字电路的设计周期和产品的成本。我们生活在一个信息时代,各种电子产品层出不穷,电子琴作为音乐与科技的产
9、物,在电子化和信息化的时代,FPGA技术的出现对那些喜欢音乐的人做出了很大的贡献,各种音乐的制作大多数情况都需要由电子琴来完成,然后通过某种传媒来传播。我们了解这些电子产品的基本组成和设计原理是十分必要的,同时我们学习了EDA相关的理论知识,而该课题的设计正是对我们学习的理论的实践与巩固的结合。 本系统设计包含了:有用户控制的控制输入电路的模块,核心的FPGA模块和发声器电路模块。能够实现不同的键的输入就能发出不同的音调以及乐曲自动的播放的功能,它内部包含自动存储模块,音乐节拍发生模块,数控分频模块主要实现的是对FPGA的提供的基准频率进行分频,得到与各个音阶对应的频率进行输出。乐曲存储模块主
10、要是有用户事先在此模块中可存放一个音乐的乐谱,有一个计数器来控制此真值表的输出。最后主要的是把各个模块整合后,通过相关电路的输入输出对应关系连接起来。第一章 概述1.1 FPGA简介FPGA(Field Programmable Gate Array)即现场可编程门阵列,它是在PAL等可编程器件的基础上实现的。FPGA是在集成领域中通过普通电路的连接而实现的,FPGA模块它可以解决像PAL等其他可编程控制器件的对电路数点的限制,这样对于设计者和使用者在使用FPGA时就会感觉到它的敏捷与快捷。对于相同的PGA如果对设计来说,使用不同的编程数据或者不同编程原则,FPGA就会根据设计的思路产生不同的
11、效果。FPGA适用于各种领域,尤其在通信、网络、军事、化石油等诸多领域都得到了广泛的应用于发展。由于FPGA具有功耗低和成本降低,所以FPGA还将进入的应用领域将会更多。由于FPGA应用领域越来越广所以对熟练掌握FPGA开发的工程师的需求会越来越多。1.1.1 FPGA的工作原理FPGA使用了具有逻辑化的单元系列的阵列LCA(Logic Cell Array)这样一个含义,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA在所有的集成电路中它的集成度
12、是最高的一种,设计者或者用户可以对这种集成度高的FPGA进行硬件和一些内部的引脚重新进行分配,以实现用户的逻辑,因而也被用于对CPU的模拟。并且有设计者对这种集成度较高的FPGA的编程数据和编程的程序存放在一个固定的芯片中,并且同对芯片通一电流,首先实现的是对模块或者芯片的初始化,对芯片的本身实现的是内部结构的线重构。而这种固有的特性可以构建有不同的实时定时定制的CPU来实现。这一特性是研究部门和领域争先研究的对象。FPGA也可以通过没有完成的逻辑化的阵列完成,通过本身的逻辑阵列的连接整体的完成一定的功能,同时各个的阵列之间是相互连接并且可以有用户进行编译的。1.2 EDA技术简介 20世纪末
13、,电子技术获得了飞速的发展,EDA(Electronic Design Automation)技术作为现代电子设计的核心,它在强大的计算机的基础上, 在本身的工具软件的基础上,对于硬件描述语言为系统逻辑化的描述手段来实现的设计文件。EAD功能能够实现程序的逻辑化简、数据的简单的分割、系统文件的综合、以及对于系统的程序的优化以及功能的仿真和时序仿真。知道EAD能够实现本身的电子系统的功能。而EDA技术是在使得设计者工作几乎有限于用软件的方式来实现功能,它实现的功能是用硬件描述语言EDA软件来对硬件的功能的实现的。在当今世界上,电子行业和微型计算机技术水平较先进的国家,他们的科学家一直都在努力的探
14、索一种的新的电子行业在电路上的设计方法和思路。他们想在设计电路的方法,设计电路的应用工具方面进行本质的改变,已经取得巨大的成就。在电力电子技术领域中,对于可编程控制器的应用,已经得到了广大设计者的普及和应用。这些器件给设计者在电子电路设计上带来了很大的方便,尤其是数字系统的设计具有灵活性。对于设计者来说他们可以通过软件编程即编程程序对硬件结构和工作方式的选择进行重新的分配,这样设计者就可以设计程序那样设计的那么简捷。1.2.1 EDA技术概念我们所说的EDA技术都是建立在以计算机为基础的的,它的应用领域包含了计算机技术、单片机技术、电力电子技术等最新的研究成果,有用户对电子产品进行各方面的设计
15、。利用EDA技术的工具,电子方面的设计工程师可以从各方面进行着手设计,比如可以从EDA本质的概念、算法、以及本身所要遵循的协议等各个方面进行电子系统的设计,同时当设计工程师完成设计工作后,我们可以通过微型计算机连接进行完成对电子产品各个方面的测试。例如对电路设计、电子系统的性能分析一直到IC板图等都是通过计算机的自动的处理的。1.2.2 EDA技术设计方法(1) 首端模块的设计完成后,并且末端设计模块系统建立模型。(2) IP复用。(3) 前端的设计。(4) 系统的描述:建立系统的数学模型。(5) 功能的描述:我们时通过系统的表述对本身的行为或者各个建立的模块模型之间的数据流程的衔接。(6)
16、逻辑设计:设计者或者工程师对设计的系统进行系统的结构整体化,然而设计者通常使用的是原理图、逻辑化的图形来表系统的设计的结果进行描述。(7) 仿真:包括功能仿真和时序仿真,主要验证系统功能的正确性及时序特性。1.2.3 EDA工具软件 (1) 电力电子电路设计与系统本身的仿真工具。 (2) PCB设计软件。(3) IC设计软件。(4) PLD设计工具。1.2.4 EDA设计的流程(1)设计的输入 设计者或者电子工程师将要自己设计的电路系统或者其他的电子系统以一定的即固定的表达方式或者方法来输入到计算机中,但是所有的步骤都是建立在EDA技术的基础上对设计者或者电子工程师对FPGA开发的基本的步骤。
17、在普通的情况下,对于EDA的软件的输入有基本的两种类型:图形输入和HDL文本的输入。图形的输入包括原理图的输入、状态图的输入和波形的输入三种形式;HDL又称描述语言,硬件的表述语言就是本身对设计者或者工程师所设计的硬件电路进行行为的电路功能,信号之间的连接与时序信号的关系。(2)综合 在对电路进行综合的时候,HDL综合器是十分重要的一步。综合器所要实现的就是将设计者或者工程师所要编程的软件描述与设计者本身设计的硬件电路进行连接,也就是将设计的程序转化成硬件电路的工具。在设计的同时,综合器起着十分重要的作用,在设计者进行综合的过程中都是依靠在EDA技术的基础上,对设计者的编辑输入的文本进行输入表
18、述。同时设计者或者工程师依靠本身的硬件电路的结构和控制硬件的电路的约束条件对其进行编译、优转换和综合,最终得到的是集成电路的或者底层的网表文件。在电子行业设计性能良好的FPGA设计的HDL综合器有如下三种:SYnopsys公司FPGA Compiler、FPGA Express综合器;Synplicity公司的Synplify Pro综合器;Mentor子公司的Lenonardo Spectrun综合器。(3)适配 当所有的前提工作完成之后,即设计者将所得的底层的网表针对设计的本身对象目标器件进行下一步的逻辑映射逻辑化的操作。设计者在对目标对象进行逻辑化的操作包含了底层器件的分配、逻辑之间的分
19、割、逻辑之间的简化、逻辑化的布局布线等。当设计者进行对目标对象适配完成之后所产生的目标文件进行时序的仿真,当时序仿真之后它所产生的也是可以进行编程的文件。(4)时序仿真与功能仿真当设计者对程序适配之后进行下一步的就是对所要的编程的程序进行下载,但是编程的下载必须依靠的是EDA技术的基础上进行模拟的操作,用设计者本身的话就是所谓的仿真。所谓的仿真就是依靠计算机在根据一定的算法,利用软件EDA所提供的仿真库,对设计者设计的系统进行模拟,以验证设计、排除错误。对系统的仿真是设计工作中最为重要的一步,仿真的程序一般情况下有PLD公司的开发EDA软件的工程师来提供的。(5)编程下载一般情况下,设计者将C
20、PLD的编程的下载称为编程。设计者在对所要设计的SAM进行的下载链接的方式称为配置。设计者如果将编译、综合、布线/适配、行为仿真、功能仿真和时序仿真等一系列的操作的过程都没有发现错误,即满足了系统的设计要求,满足原设计的要求,就可以将由FPGA的布局布线载入目录目标芯片FPGA或CPLD中。(6)硬件的测试 最后一步就是对系统的硬件测试,它包含所有的关于对FPGA的设计,以及CPLD的硬件电路系统的测试进行整体设计统一的测试,以便最终验证设计项目在目标系统上的实际工作情况,从而排除错误,改进设计。EDA的技术在硬件电路实现方面包含了大规模集成电路构造技术,IC板图设计技术、ASIC测试和封装技
21、FPGA编程下载技术、自动测试技术等;在计算机辅助刚才方面融合了计算机辅助设计、计算机辅助测试、计算机辅助工程以及多种计算机语言的设计概念。1.3 硬件描述语言VHDL1.3.1 VHDL的简介 VHDL(Very-High-Speed Integrated Circuit HardwareDescription Language) 是一种用于电路设计的高级语言,于1983年有美国国防部(DOD)发起创建,IEEE(The Institute of Elctrical and Elctronics Engineers)进一步发展并在1987年作 HDL寄存器传输级综合HDL门级布局与布线门级仿
22、真FPGA/CPLD编程下载寄存器传输级仿真功能级仿真设计输入图1.1 EDA开发流程图年作为“IEEE标准1076”发布。从此,VHDL成为硬件描述语言的业界衡量标准之一。自IEEE公布了对VHDL的标准版本之后,世界上的各大公司争相设计和催出自己VHDL的设计环境即适应的环境。并且宣布了自己的设计的软件所支持的VHDL的格式以及环境,从此之后,VHDL的发现与应用得到电子行业的广泛应用。1.3.2 VHDL 语言的特点(1)VHDL具有超强的硬件描述的能力,所以VHDL语言在电子设计领域成为最佳的硬件描述语言。超强的硬件描述能力可以能够有效的避开具体的器件结构和设计大规模电子系统的重要保证
23、。(2)当设计者对于一个系统的通过VHDL完成一个确定的设计之后,他们可以通过利用现有的EDA技术软件对系统进行逻辑的综合以及逻辑化的综合。(3)当设计者对VHDL的语句指令进行描述的时候以及对本身的程序结构进行描述的时候,它就会决定了支持大规模的模块化得设计或者模型化的设计。同时符合当前市场的需要,应用的效率很高,运行速度高,完成时间很短。(4)设计者在对系统设计的时候可以使用很多VHDL的仿真语句和库函数,因为VHDL的指令以及内部的函数有很多供设计者进行选择,所以对于任何一个系统的设计都会变成可能。同时设计者可以随时随地对系统的设计以及系统的仿真可以随时随地的进行。(5)VHDL 语言具
24、有很强的移植能力即对于同一个硬件电路的 VHDL 语言描述,它可以从一个工作平台移植到另一个工作平台上或者一个模拟器移植到另一个模拟器上去执行,总之VHDL语言在移植功能上很强的。1.3.3 VHDL 语言上机操作条件VHDL语言可以在多种EDA工具设计环境中运行。硬件平台是工作站或高档微机。高档微机的配置应该具有:高分彩显 17英寸以上,分辨率1024×768或更高硬盘 20GB以上内存 512MB以上CPU Intel兼容CPU光驱 8倍速以上操作系统 Windows XP开发工具 MAX+plus II 或 Quartus IICandence、Menter、ALTERA等公司
25、的EDA工具均支持VHDL语言环境1.3.4 VHDL 语言设计的流程 用VHDL语言设计电路的流程:设计者在对系统设计的时候,一般使用的是VHDL软件,并且在用VHDL语言来设计电路时,一般的过程是这样的:(1)设计者一般设计程序使用的是文本编辑器作为系统的输入源程序或者源文件。(2)在对系统的程序编译时,要使用编译的根据对源程序进行编译。VHDL的编译器有很多,ACTIVE公司,MODELSIM公司,SYNPLICITY公司,SYNOPSYS公司,VERIBEST公司等都有自己的编译器。 (3)功能仿真。对于工程师而言,仿真这一步是至关重要的一步。不可或缺的因为对于任何一个设计者来说,仿真
26、就是最好检验错误的方法,以保证系统设计的可靠性。同时对于一个独立的系统,如果设计者提供系统的仿真文件就可以证明设计者自己设计的正确性和完整性。(4)综合。当设计者将所有的步骤完成后,就会对系统进行整合,即所谓的系统的综合。一般情况下综合是为了将设计者设计的源程序或者源文件有编程的语言转化成现实中实际的电路,最终生成易于编程的网表。(5)布局、布线。这一步是将编好的源程序烧制成编程文件。这一步是将第四步的生成的网表有FPGA厂商提供的器件的容量,系统的结构等进行设计的布局布线。它的布局布线就像PCB的布局布线一样,先将网表的内容和器件的结构放在指定的位置,然后有网表提供链接的关系,把各个结构的输
27、入输出连接起来。(6)仿真。这一步主要是为了确定你的设计在经过布局布线之后,对系统进行验证以及错误的检验。同时也可以进行检查设计者的设计的程序是否满足设计的要求来进行的仿真。1.4 Quartus II 简介Quartus II专门为开发的软件FPGA提供的集成环境。Quartus II的 设计工具支持的一般有软件VHDL、软件HDL和图形的设计,这些软件中在其内部有VHDL、HDL逻辑编辑器对其设计的对象进行编译。Quartus II可以利用第三方综合工具进行逻辑综合,也可以利用第三方进行仿真。此外Quartus II与MTLAB和DSP Builder结合,也可以进行基于FPGA的DSP系
28、统开发。使用Quartus II内嵌的SOP集成环境,可以开发NisoII嵌入式软核处理器。Quartus II包括模块化的编译器。编译器包括的功能模块有分析/综合器(Analysis&Synthesis)、适配器(Fitter)、时序分析器(Timing Analyzer)、设计辅助模块(Design Assistant)等。可以通过选择Start Compliation来来运行所有的编译器模块,也可以通过StartA单独的运行每个独立的模块。换可以通过选择Compliler Tool,在此窗口中运行相应的功能模块。Quartus II编译器支持的硬件语言有VHDL、Verilog、
29、SystemVerilog及AHDL等硬件语言。它还允许来自第三方的EDIF、VQM文件的输入,并提供很多EDA软件的接口。Quartus II软件支持具有分层次得设计工作,它可以在一个新的编辑特定的环境对不同的输入以及输入的设计方式进行模块或者模型之间的调用。这样设计者就可以解决一系列的问题,比如混合的设计的输入,模块的混合输入等问题。当设计者在完成设计模块的输入之后,QuartusII软件的编译器会将给出编译后设计输入的错误,它会以报告的形式呈现。因此QuartusII的软件拥有很好对于程序设计错误定位工作。1.4.1 Quartus II软件的特点(1)基于模块的设计方法,提高软件工作效
30、率。(2)更快集成IP。(3)在设计周期的早期就对I/O引脚进行分配和确认。(4) 存储器编译器。(5)支持CPLD、FPGA和基于HardCopy的ASIC 。(6) 它可以一种新的指令和引脚的功能进行自动的设计。1.4.2 Quartus II软件的工具(1)设计输入工具。Quartus II的设计输入工具包括模块编辑器、文本编辑器和EDA设计输入工具,利用这些工具可以建立设计所需的所有的设计文件,软件源文件和其他的相关文件。(2)综合工具综合是将HDL语音、原理图等设计输入翻译成与、或、非门,RAM,触发器等基本逻辑单元组成的逻辑连接,并根据目标与设计要求优化所生成的逻辑连接。(3)布局
31、布线工具Quartus II软件中的Fitter工具可以完成布局布线功能,主要包括分析布局布线结果、优化布局布线、增量布局布线和通过反表保留分配等功能。(4)时序分析工具时序分析的功能是将设计者或者用户对程序设计分析各种时序的功能,同时可以帮助布局布线,引导设计者的设计,来满足设计者对于设计的要求的满足。 (5)仿真工具 设计者使用的Quartus II提供了Simulator工具对设计者所设计得编程程序进行的一系列的功能仿真和时序仿真。功能仿真主要验证设计者设计的程序是否符合设计要求;时序仿真包含延时信息,它能很好的地反映芯片的设计工作状况。时序分析综合布局布线仿真验证设计输入编程和配置功耗
32、分析调 试更改管理时序逼近图1.2 Quartus II软件的典型设计流程1.5 音乐知识介绍1.5.1 音频的概念音频就是人们正常情况下所能能够听到的所有的声音都可以称之为音频。正常人耳的音频范围一般约为16Hz16kHz。比如像人的说话声、各种乐器(钢琴、吉他、竖笛)、唱歌声、以及咳嗽声等发出的声音把它制作成CD,这时候所有的声音没有改变就像原原本本从事物中发出来的一样,因为CD就是音频文件的一种。如果有计算机再加上相应的音频卡就是我们经常说的声卡,声音的声学特性像是音的高低是可以用计算机硬盘文件的方式把它们储存下来的;反过来,我们也可以把储存在计算机中文件的音频文件用一定的音频程序播放,
33、还原以前录下的声音。1.5.2 音频的格式CD格式:天籁一般情况下在很多的播放软件的“打开文件类型”中,都可以看到了*.cda格式。标准CD格式的频率是44.1K的采样频率,速度是88K/秒,16位量化位数,它的声音基本上是属于原声的。在音质以及音色等基本哈桑保持了原有的原声。MP3:流行MP3指的是文件MPEG中的最为标准的音频部分,也就是大多数中所指的MPEG音频层。MPEG音频文件的压缩是一种有损失压缩即压缩之后就会改变原有的音质和音色,而音质和CD格式比起来就会降低。由于其文件尺寸小,音质好。MIDI:作曲家最爱MIDI的含义就是允许数字之间的合成器和其他外围设备之间的交换数据。MID
34、文件格式由MIDI继承而来。MID文件它并不是已经录制好的音频,而是记录发声着声音的信息,然后存储并不是一段录制好的声音,而是记录声音的信息,然后在告诉声卡有声卡实现音乐的一组指令。WMA:最具实力WMA (Windows Media Audio) 格式是来自于微软的设计,后台设计的工作比较厉害,音质以及所发出的音色都要强于MP3格式,更远胜于RA格式。WMA这种格式在录制时可以对音质进行调节。同一格式,音质好的可与CD媲美。VQF:无人问津雅马哈公司另一种格式是*.vqf,它的核心是减少数据流量但保持音质的方法来达到更高的压缩比,可以说技术上也是很先进的,但是由于宣传不力,这种格式难有用武之
35、地。1.5.3 音频的处理音频的数字化处理:(1)根据音频信号的频谱范围选定一定的采样频率。根据最基本的香农采样定理,采样频率需至少是信号最高频率的2倍以上。(2)有了采样频率,AD转换器就按照该时间间隔对输入的音频信号进行采样、保持、量化编码。这样模拟的音频信号就变成了纯数字量。音频处理的步骤:音频-低通滤波-AD采样-数据处理(差错控制等)-存储或者传输1.5.4 节拍及音符所谓音乐的节拍就是指强拍和弱拍之间的组合,常见的节拍有2/4,3/4,4/4,6/8拍,但是对于节拍来说,都是固定的不变的。也就是数每一个节拍它的长度以及位数都是事先固定好的,一般情况是允许改变的,如果改变节拍之间的长
36、度,那么对于一首歌曲的乐谱来说,它的音质就会发生变化,即就是发音不准。在音乐的写作过程中,节拍已经被分成均等的单位,而每一个小的单位通常被称为一个小的节拍,拍子之间的时间就是每一个音乐乐谱的时间值。一首歌曲可以分成若干个节拍的组合,这样对于一首完整的歌曲它的乐谱以及时间值就会不同,然而导致的就会歌曲的音质与音色就不会不同。所以对应的频率也会有所变化。乐曲的12平均率规定:每2个八度音之间的频率要相差1倍,比如简谱中的中音2与高音2。在2个八度音之间,又可分为12个半音。另外,音符A(简谱中的低音5)的频率为392Hz,音符E到F之间、B到C之间为半音,其余为全音。由此可以计算出简谱中从低音l至
37、高音1之间每个音符的频率。简谱音名与频率对应关系如表1-1所示:表1-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中音6880高音61760低音7493.88中音7987.76高音71975.52由于每一首歌曲的音阶频率大多数情况多为非整数,但是对于分频的系数又不能出现小数,所以对
38、于分频的系数如果出现了小数点的情况下,我们就会根据小数的大小进行四舍五入。 音符的持续时间须根据乐曲的速度及每个音符的节拍数来确定。因此,要控制音符的音长,就必须知道乐曲的速度和每个音符所对应的节拍数。如果将全音符的持续时间设为1s的话,那么一拍所应该持续的时间为0.25秒,则只需要提供一个4HZ的时钟频率即可产生四分音符的时长。至于音长的控制,在自动演奏模块,每个乐曲的音符是按地址存放的,播放乐曲时按4HZ的时钟频率依次读取简谱,每个音符持续时间为0.25秒。如果乐谱中某个音符为三拍音长,那又该如何控制呢?其实只要在3个连续地址存放该音符,这时就会发三个0.25秒的音长,即持续了三拍的时间,
39、通过这样一个简单的操作就可以控制音长了。第二章 系统的设计2.1 设计的基本要求 设计一电子琴,可以实现通过按键控制即当下不同的按键会发出不同的声音,同时通过按键能演奏一首歌曲。基于FPGA的设计,在内部存储一首歌曲,并且当功能键有效时,就会自动播放这首歌曲。2.2 设计的总体方案根据系统的设计要求所实现的两大功能:手动输入按键与自动演奏,可将本系统分成控制输入电路模块,FPGA电路模块和扬声电路模块三部分。系统框图如图2.1所示。音频发生模块由分频器组成,产生十二个频率(还可扩展),对应十二个音符,这些频率经放大后驱动扬声器,即可发出声音。键盘选择手动弹奏模式时,按下音符键后就选择相应的的频
40、率输出,产生悦耳的效果;选择自动演奏模式时,设计者事先在存储器里编写好的音符按照顺序一个一个的被读出,就会对应相应的分频的频率,实现自动的演奏模式。控制输入电路扬声电路FPGA图2.1 采用FPGA设计的电子琴原理方框图控制输入电路主要是为使用者所设计的,主要的作用是用户的输入控制,即是实现电子琴的功能的选择,它是有功能选择键进行控制的,当功能键低电平有效时,它选择的是有用户有按键输入,进行演奏;当功能键高电平时,它选择的是选择自动演奏模式时,存储器里事先编写好的音符信息被依次取出,去选通各个频率输出,实现自动奏乐。FPGA采用现场可编程逻辑器件(FPGA)制作,设计者利用软件EDA技术进行对
41、程序进行设计,然后弄到FPGA进行实现的. 同时FPGA是本系统的设计方案的核心内容,它主要是是实现电子琴功能的主要控制模块.由工程师或者设计者事先把程序弄到FPGA中,通过控制输入,产生不同的分频系数对应相应的频率,来驱动扬声器,发出不同的音乐.扬声电路是一种电声转换部件,它将声音电信号转换成声音。当线圈通电时,其线圈就会产生磁场,在与磁铁的磁场相互作用下,线圈就会振动,振动就会发出声音.简单来说是通电导体在磁场内的受力作用. 2.3 程序设计的流程图程序设计的流程图如图2.2所示.根据系统实现的的两大功能:手动弹奏与自动演奏,由于每一个音频都会对应一个固定的频率值,因此首先是有用户根据设计
42、的需要进行频率的选择,按本系统的设计要求我们会选择十二个按键控制十二个不同的音符,所以对于设计者开始等待用户输入乐谱根据乐谱进行音阶频率的预置根据频率的预置数输出相应的乐谱的频率扬声器发音图2.2 程序设计流程图就会计算每一个频率的分频系数。然后将所计算的分频系数进行预置,由于设计者已经将本身的频率预置,当用户选择不同的音符时,电子琴就会对应查到相应的分频系数,同时将这些频率经放大后驱动喇叭,即可发出声音。当用户选择键盘选择手动弹奏模式时,按下音符键后也会选通相应的频率输出,选择自动演奏模式时,存储器里事先编写好的音符信息被依次取出,去选通各个频率输出,实现自动奏乐。存储歌曲20Mhz演奏/自
43、动播放分 频键盘的编码键盘输入功能键驱动 图2.3系统结构框图2.4 电子琴中各模块的设计及仿真FPGA的设计是本系统的设计的重要部分.它的实现主要功能有工程师用软件EDA来完成电子琴的。当工程师设计完成程序之后,并且通过仿真以及成功的调试之后,在下载到软件中.此时,如果通入电源,就可以直接使用啦。用VHDL语言编程之后,实现的模块有三个,它们分别是:乐曲自动演奏模块、音调发生模块和数控分频模块组成。要想发出不同的音调,事先选择基本的时钟,有标准的时钟20MHz经过四分频变成5MHz后,所得到得频率分别输入到音调发生模块电路和自动演奏模块电路中。2.4.1 时钟信号发生电路根据本系统的设计要求
44、,需要提供20Mhz的脉冲信号频率,因此我们必须设计一个能够提供脉冲信号频率的电路的设计。74HC04相当于一个有很大增益的放大器;R2是反馈电阻,取值一般1M,它可以使反相器在振荡初始时处于线性工作区,不可以省略,否则有时会不能起振。R1作为驱动电位调整之用,可以防止晶振被过分驱动而工作在高次谐波频率上。C1、C2为负载电容,实际上是电容三点式电路的分压电容,接地点就是分压点。以接地点即分压点为参考点,输入和输出是反相的,但从并联谐振回路即石英晶体两端来看,形成一个正反馈以保证电路持续振荡。C1、C2会稍微影响振荡频率。实际使用时要处理好R1和R2的值,经试验,太小的R1或太大的R2会有可能
45、导致电路工作在晶振的高次谐振频率上图2.4 脉冲信号发生原理图为了满足振荡的条件,同时也为了符合本系统设计要求,即有晶振的振荡的电路提供所需要20Mhz的频率,我们可以选择一定的参数,来参考。2.4.2 乐曲自动演奏模块乐曲自动演奏模块的作用是产生十二位发声控制输入信号。当进行自动演奏时,由存储在此模块中的十二位二进制作为发声控制输入,从而自动演奏乐曲。这段模块的原理图如图所示:CLKAUTO INDEX011.0 INDEX211.0 图2.5乐曲自动演奏模块原理图为了完成本系统的设计要求,所以在本系统的基础上增加一个乐谱的存储模块,该模块的作用是产生十二位发声控制输入INDEX211.0,
46、当功能键AUTO选择为0或1时可以选择自动演奏或者键盘输入,如果AUTO为1时,即输入的是高电平,乐曲自动演奏模块实现的是手动弹奏的模式;如果AUTO为0时,即输入的是低电平,乐曲自动演奏模块实现的是自动播放的模式则而由存储在此模块中的十二位二进制数来作为发声控制输入,所以便可自动演奏乐曲。此模块的VHDL语言中包括两个进程,首先是对标准的频率进行四分频得到5Hz的脉冲,作为第二个进程的脉冲信号。而CLK则是提供的时钟脉冲频率,本系统提供的时钟频率为20MHz,通过分频得到所需要的分频系数。INDEX011.0则是将十二位的输入控制进行输出。乐曲自动演奏模块仿真图图2.6乐曲自动演奏模块仿真图
47、有上图的乐曲自动演奏模块仿真图可知:当功能键AUTO输入为1时,即当AUTO输入为高电平时,如仿真图中按键输入index2是0111111111111,输出index0同样为0111111111111;所以AUTO输入为高电平时,显示的为手动弹奏模式;当功能键AUTO输入为0时,即当AUTO输入为低电平时,如仿真图中按键输入index2是0111111111111输出index0为1111111111110,1111111111101等,显示的预设歌曲的音调,所以当AUTO输入为低电平时为自动播放模式。2.4.3音调发生模块音调发生模块的作用是产生音乐的音节所得的分频系数计算值。主要实现的是分
48、频系数,当十二位发声控制输入信号中的某一位为低电平时,则对应某一音阶的数值将输出,该数值即为该音阶的分频预置值。下图是音调发生模块的原理图: INDEX11.0 TONE012.0 图2.7 音调发生模块原理图当十二位发声控制输入INDEX11.0中的某一位为低电平时,则对应某一音阶的数值将以TONE012.0输出,作为获得该音阶的分频系数的值,该值作为数控分频器的输入,来对5MHz的脉冲进行分频,由此得到每个音阶相应的频率,例如INDEX="111111111110",则对应的输出TONE0=“1001010101001”,则对应的是中音1的分频系数值;输入为INDEX=
49、" 111111111101",则对应的输出TONE0=“1000010100001”,则对应的是中音2的分频系数值。音调发生模块的仿真图有上图的音调发生模块仿真图可知:当输入端口index是按键值,输出tone0图2.8音调发生模块仿真图是分频系数值,不同音调对应不同的分频系数值。2.4.4数控分频模块当我们对微型计算机的学习中,当我们对一般的分频器进行分频时,如果输入不同的数据,那么在输出端就会有不同的时钟频率,以此来改变输出信号的频率。本设计中数控分频模块是利用并行预置数的减法计数器对时基脉冲进行分频,得到与1、2、3、4、5、6、7七个音符中的中音和五个高音的相相对
50、应的频率。数控分频模块原理图如图所示:CLK1 SPKSTONE112.0 图2.9数控分频模块原理图数控分频模块的目的是标准频率的分频,得到1,2,3,4,5,6,7七个音符中的中音以及五个高音相对应的频率以及分频的系数。该模块的VHDL描述中包含了三个进程。首先对20MHz的基准脉冲进行分频得到5MHz的脉冲,然后按照tone1输入的分频系数对5MHz的脉冲再次二分频,得到的便是所需要的分频系数即频率。数控分频模块仿真图图2.10 数控分频模块仿真图有数控分频模块仿真图可知:当输入tone1是所要分频系数值,输出spks是蜂鸣器的输出频率,不同的分频系数值,对应不同的蜂鸣器输出频率。2.4
51、.5 顶层模块把以上设计的各个模块进行整合一下,这样一来我们就得到了系统的整体框图如下图所示:CLKAUTO INDEX0 INDEX0 INDEX211.0CLK1 SPKSTONE1INDEX TONE0 图2.11 顶层模块原理图顶层模块仿真图:图2.12 顶层模块仿真图有顶层模块仿真图可知:由于仿真时间太长,所以弹奏的仿真只仿真了第十二个按键被按下的情况。功能键Auto为高电平时,为手动弹奏模式,蜂鸣器spks发出固定频率的方波,当Auto变为低电平时,进入自动播放模式,蜂鸣器spks的的频率发生变化。2.5 管脚的分配图当完成一系列的功能仿真以后,就会进行对程序进行硬件的测试,首先我
52、们要做的就是对硬件电路管脚的分配。如图2.12就是对硬件电路管脚如何进行的分配的。按照设计的要求,即十二个按键就代表了十二个输入的接口,还有就是功能键的选择以及时钟信号的输入都是输入引脚。输出的接口外接的是扬声器。图2.13 管脚的分配图2.6 直流稳压电源的设计 根据所需硬件电路的连接,需要为本系统的设计的硬件电路提供一个直流的稳压电源。本系统所设计的电路图如图2.14所示。图2.14 直流稳压电源电路图对于本系统所选用的是LM1403是简单的2.5V基准的电压,LM1403是一个内含温度补偿的精密电压的基准。一般情况下,LM1403的特点是:功耗比较低,工作时候最低的电流可达到400uA,
53、并且输出的阻抗比较低,精度比较高。LM1403作为基准的电压,其引脚的分配和应用时的电路如图2.15所示。LM1403 作为基准电压,但是对于电路图来说,一般情况下不要从LM1403的输出端吸取电流,否则会影响到LM1403的输出的精度,对于LM1403来说,最大的特点就是对输出电路具有短路保护的功能。也就是可以保护LM1403不被短路时候所损坏。 图2.15 引脚分配图和应用电路图 对于LM1403在电路中可以串联进行连接,目的就是为了提高输出电压,如图2.16所示。 图2.16 LM1403串联连接的电路图2.7 硬件线路连接图图2.13 硬件电路连接图按照程序所述,将线路连接如上图所示。结 论当完成本系统的设计后,同时顺利的通过本系统的测试,我们对测试的结果进行了分析和整理,得出了基于FPGA的电子琴的设计开发的时间周期短,软件编程简单,同时需要的外围器件也很少,最重要的是它体积小,抗干扰的能力很强,所以本身的可靠性也很高。现在是信息化的社会,电子产品更新换代速度快,如果简单的更新当前市场上的电子琴产品,就必须更新大部分的硬件,影响了产品的摧广和适应市场的能力。所以我们采用软件的编程实现电子琴的功能,大大的减少了外围的器件,节约了资源。通过几个月来的紧张的学习、查找资料
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合同收尾过程 合同管理过程
- 赠汪伦课件教学
- 《刑法分论概述》课件
- 车辆指标租赁协议书
- 关于纳粹德国元首希特勒的历史资料课件
- ABB工业机器人应用技术 故障诊断与维护 课件任务3-8 工业机器人本体电路图解析
- 《生命与和平相爱好》课件
- 学生租房协议书(2篇)
- 2023年安徽省宿州市公开招聘警务辅助人员(辅警)笔试摸底备战测试(1)卷含答案
- 2023年湖北省襄樊市公开招聘警务辅助人员(辅警)笔试专项训练题试卷(3)含答案
- 中央2024年国家医疗保障局大数据中心招聘应届生笔试历年典型考题及考点剖析附带答案详解
- 透水沥青混凝土路面技术规程DBJ-T 15-157-2019
- 2023-2024学年湖北省黄石市黄石港区八年级(上)期末数学试卷(含解析)
- 诺贝尔生理学或医学奖史话智慧树知到期末考试答案章节答案2024年华中师范大学
- 职业素养提升第2版(大学生职业素养指导课程)全套教学课件
- 声音的产生省公开课一等奖新名师课比赛一等奖课件
- indesign典型实例第一章
- 新时代大学生劳动教育智慧树知到期末考试答案章节答案2024年延边大学
- 离心式压缩机设计-离心压缩机气动及结构设计含6张CAD图
- TB 10003-2016 铁路隧道设计规范 含2024年4月局部修订
- 婴幼儿智能发育测试
评论
0/150
提交评论