基于FPGA的简易电子琴实现 联系客服

发布时间 : 星期五 文章基于FPGA的简易电子琴实现更新完毕开始阅读18cf651b9ec3d5bbfc0a74ad

基于FPGA的简易电子琴实现

李全

摘要

本系统是采用EDA技术设计的一个简易的八音符电子琴,该系统基于计算机中时钟分频器的原理,采用自顶向下的设计方法来实现,它可以通过按键输入来控制音响。多功能电子琴的设计是在原有普通电子琴的基础上进行扩充的一个设计。该电子琴的设计大体可以由三个模块构成,分别是电子琴音调发生器模块、数控分频模块和自动演奏模块。用超高速硬件描述语言VHDL编程可以实现各个模块的功能。能够实现弹琴和自动演奏的功能。系统实现是用硬件描述语言VHDL按照模块化方式进行设计,然后进行编程、时序仿真、总体整合。本系统的功能比较齐全,有一定的现实使用的价值。本文中介绍了电子琴系统的整体的设计,并基于超高速硬件描述语言VHDL在相关的芯片上编程实现的。

关键字

电子琴;EDA;现场可编程逻辑器件FPGA;超高速硬件描述语言VHDL;音调发生;数控分频;

1引言

我们生活在一个信息高速发达的时代,各种各样电子产品层出不穷。对于广大老百姓来说,电子琴可以说已经不再是什么“新鲜玩意”了,它现在作为一种休闲和娱乐的产品早就推出市面,面向百姓,进入了我们的生活。作为一个电子信息科学与技术专业的学生,了解这些电子产品的基本的组成和设计原理是十分必要的,我们学习过了计算机组成的理论知识,而我所做的课程设计正是对我学习的理论进行实践和巩固。本设计主要介绍的是一个用超高速硬件描述语言VHDL设计的一个具有若干功能的简易电子琴;集科学性,先进性,创新性,实用性于一体,其理论基础源自于计算机组成原理的时钟分频器。

1.1 设计的目的

本次设计的目的就是在掌握计算机组成原理理论相关的基础上,了解EDA技术,掌握VHDL硬件描述语言的设计方法和思想,通过学习的VHDL语言结合电子电路的设计知识理论联系实际,掌握所学的课程知识,例如本课程设计就是基于所学的计算机原理中的时钟分频器和定时器的基础之上的,通过本课程设计,达到巩固和综合运用计算机原理中的知识,理论联系实际,巩固所学理论知识,并且提高自己通过所学理论分析、解决计算机相关的实际问题的能力。

1.2设计的基本内容

基于Quartus Ⅱ平台,运用VHDL语言对简易电子琴的各个模块进行设计,并使用EDA 工具对各模块进行仿真验证。本设计包含如下三个模块:音调发生模块、数控分频模块、乐曲自动演奏模块,最后把各个模块整合后,通过电路的输入输出对应关系连接起来。

1.3 设计方案

为了实现这种有“弹奏”和“自动播放歌曲”功能的多功能简易电子琴,以下提供两种方案以供参考:

方案一:采用单个的逻辑器件组合实现。这样虽然比较直观,逻辑器件分工鲜明,思路也比清晰,一目了然,但是因为元器件种类、个数非常多,而且过于复杂的硬件电路也容易引起系统的精度不高、体积过大等一系列的不利因素。例如八个不同的音符是由八个不同的频率来控制输出发声的,而采用这个方案需要运用不同的分频器来对信号进行不同程度的分频。所用仪器之多显而易见。

方案二:采用VHDL语言编程来实现电子琴的各项功能。我这个系统主要由音调发生器模块、数控分频模块、乐曲自动演奏模块组成的。和方案一相比较,方案二就显得比较笼统,只是把整个系统分为了若干个小模块,却不牵涉到具体的硬件电路。但是我们必须看到使用超高速硬件描述语言VHDL的优势,它不仅具有良好的电路行为描述和系统描述的能力并且通俗易懂。

2简易电子琴设计

2.1 系统设计的总体思路

实现这个多功能电子琴,我们要考虑的主要是以下三个方面的内容:一、每个音符都有自己的固有频率,由频率的不同就决定了发出什么音调。二、一首乐曲的组成不仅仅是音调,还包括每个音调持续时间的长短,也就是我们通常所说的音长。本设计就是以这两个部分为核心内容展开。

经过对引言两种方案的分析、比较和总结,我们选用方案二来进行电子琴的设计。采用现场可编程逻辑器件(FPGA)制作,利用EDA软件中的VHDL硬件描述语言编程进行控制,下载至试验箱中的FPGA模块中,再利用其上资源连接电路从而实现预定功能。采用FPGA来设计的原理图如图2.1所示.它由控制输入电路、FPGA、显示电路和扬声器电路组成。 控制输入电路 FPGA 显示电路 扬声电路

图2.1 采用FPGA设计的电子琴原理方框图

控制输入电路主要是为用户设计的,起到一个输入控制的作用通过8