基于FPGA的简易电子琴实现
FPGA设计简易电子琴
![FPGA设计简易电子琴](https://img.taocdn.com/s3/m/908e12de76a20029bd642d1e.png)
简易电子琴电路设计一、设计要求:(1) 设计一个简易电子琴。
(2) 利用实验箱的脉冲源产生1,2,3,……共7 个或14 个音阶信号。
(3) 用指示灯显示节拍。
(4) 能产生颤音效果。
二、原理说明:简易电子琴实现自动播放和手动弹奏两种模式,由一个开头选择。
自动播放功能可以预置多首乐曲,可以通过手动选择,本设计预置了两首乐曲《梁祝》和《两只老虎》。
手动弹奏设置了7个按键做琴键,分别对应7个音阶。
系统由8个模块组成,图1是顶层设计文件,其内部有7个功能模块:Speakera.v(例2) 和ToneTaba.v (例3),NoteTabs.v (例4),div_27.v,div-50.v,Keyboard.v,Dir.v。
模块ToneTaba音阶发生器,当4位发声控制输入Index中某一位为高电平时,则对应某一音阶的数值将从端口Tone输出,作为获得该音阶的分频预置值;同时由Code输出对应该音阶简谱的LED显示,音阶越高,LED亮的数目越多。
模块Speakera中的主要电路是一个数控分频器,它由一个初值可预置的加法计数器构成,当模块Speakera由端口Tone获得一个2进制数后,将以此值为计数器的预置数,对端口Clk12MHZ输入的频率进行分频,之后由Spkout 向扬声器输出发声。
模块NoteTabs用于产生节拍控制(Index数据存留时间)和音阶选择信号,即在NoteTabs模块放置两个乐曲曲谱真值表,通过song来选择播放的音乐,00代表复位,01选乐曲《梁祝》,10选《两只老虎》,由一个计数器的计数值来控制此真值表的输出,而由此计数器的计数时钟信号作为乐曲节拍控制信号,从而可以设计出一个纯硬件的乐曲自动演奏电路。
模块div-27和div_50是分频模块,通过计数的方式进行分频。
div_27是由板上27M时钟分频产生4Hz的频率用于节拍控制,div_50是板上50M时钟产生12.5MHz用于Sperkera模块。
基于FPGA的简易电子琴实现
![基于FPGA的简易电子琴实现](https://img.taocdn.com/s3/m/ff5dd2493b3567ec102d8a29.png)
基于FPGA的简易电子琴实现李全摘要本系统是采用EDA技术设计的一个简易的八音符电子琴,该系统基于计算机中时钟分频器的原理,采用自顶向下的设计方法来实现,它可以通过按键输入来控制音响。
多功能电子琴的设计是在原有普通电子琴的基础上进行扩充的一个设计。
该电子琴的设计大体可以由三个模块构成,分别是电子琴音调发生器模块、数控分频模块和自动演奏模块。
用超高速硬件描述语言VHDL编程可以实现各个模块的功能。
能够实现弹琴和自动演奏的功能。
系统实现是用硬件描述语言VHDL按照模块化方式进行设计,然后进行编程、时序仿真、总体整合。
本系统的功能比较齐全,有一定的现实使用的价值。
本文中介绍了电子琴系统的整体的设计,并基于超高速硬件描述语言VHDL在相关的芯片上编程实现的。
关键字电子琴;EDA;现场可编程逻辑器件FPGA;超高速硬件描述语言VHDL;音调发生;数控分频;1引言我们生活在一个信息高速发达的时代,各种各样电子产品层出不穷。
对于广大老百姓来说,电子琴可以说已经不再是什么“新鲜玩意”了,它现在作为一种休闲和娱乐的产品早就推出市面,面向百姓,进入了我们的生活。
作为一个电子信息科学与技术专业的学生,了解这些电子产品的基本的组成和设计原理是十分必要的,我们学习过了计算机组成的理论知识,而我所做的课程设计正是对我学习的理论进行实践和巩固。
本设计主要介绍的是一个用超高速硬件描述语言VHDL设计的一个具有若干功能的简易电子琴;集科学性,先进性,创新性,实用性于一体,其理论基础源自于计算机组成原理的时钟分频器。
1.1 设计的目的本次设计的目的就是在掌握计算机组成原理理论相关的基础上,了解EDA技术,掌握VHDL硬件描述语言的设计方法和思想,通过学习的VHDL 语言结合电子电路的设计知识理论联系实际,掌握所学的课程知识,例如本课程设计就是基于所学的计算机原理中的时钟分频器和定时器的基础之上的,通过本课程设计,达到巩固和综合运用计算机原理中的知识,理论联系实际,巩固所学理论知识,并且提高自己通过所学理论分析、解决计算机相关的实际问题的能力。
基于FPGA的简易电子琴设计
![基于FPGA的简易电子琴设计](https://img.taocdn.com/s3/m/fb2056b251e79b8968022687.png)
简易电子琴的设计学生姓名:王春指导老师:郑大腾摘要本系统是采用EDA技术设计的一个简易的八音符电子琴,该系统基于计算机中时钟分频器的原理,采用自顶向下的设计方法来实现,它可以通过按键输入来控制音响。
多功能电子琴的设计是在原有普通电子琴的基础上进行扩充的一个设计。
该电子琴的设计大体可以由三个模块构成,分别是电子琴发声模块、存储器模块和选择控制模块。
用超高速硬件描述语言VHDL编程可以实现各个模块的功能。
不仅能实现弹琴和演奏的功能,它还能实现“复读”的功能,就是可以存储任意一段音乐,并且可以即时的播放出来。
系统实现是用硬件描述语言VHDL 按照模块化方式进行设计,然后进行编程、时序仿真、总体整合。
本系统的功能比较齐全,有一定的现实使用的价值。
本文中介绍了电子琴系统的整体的设计,并基于超高速硬件描述语言VHDL在相关的芯片上编程实现的。
关键字电子琴;EDA;VHDL;音调发生;现场可编程逻辑器件FPGA;超高速硬件描述语言VHDL;电子琴系统;AbstractThis 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 implement, it can be controlled through the key input audio. Multi-function keyboard is designed to be an ordinary keyboard in the original expansion on the basis of a design. The design of the keyboard in general consists of three modules, namely the keyboard soundmodules, memory modules and select the control module. Ultra high-speed hardware description language VHDL programming function of each module. Not only can realize the function of playing and playing, it can achieve "repeat" function, which can store any piece of music, and real-time play out. System implementation is to use hardware description language VHDL modular way by design, then programming, timing simulation, integration. The system features a relatively complete, there is a certain value. This paper introduces the overall design of the keyboard system, and based on high speed hardware description language VHDL in Xilinx's Spartan Ⅱ series 2sc200PQ208-5 chip programming.KeywordKeyboard; EDA; VHDL; tone occurred;field programmable logic device FPGA;ultra high-speed hardware description language VHDL; organ systems;皖西学院毕业论文设计第3页共36页目录1 引言..................................................................1.1设计的目的...........................................................1.2设计的基本内容.......................................................2 FPGA、EDA、VHDL简介....................................................2.1FPGA工作原理 ........................................................2.1.2 FPGA的基本特点....................................................2.2EDA技术...............................................................2.3硬件描述语言——VHDL ...................................................2.3.1 VHDL的简介.......................................................2.3.2 VHDL语言的特点...................................................2.3.3VHDL语言上机操作条件.............................................2.3.4 VHDL的设计流程...................................................3 音乐知识介绍............................................................4 简易电子琴设计..........................................................4.1系统设计的总思路.....................................................4.2程序设计的流程图.....................................................4.3简易电子琴的工作流程图...............................................4.4简易电子琴中各模块的设计.............................................4.4.1 乐曲自动演奏模块...................................................4.4.2 音调发生模块.......................................................4.4.3 数控分频模块.......................................................4.4.4 顶层设计...........................................................5 系统仿真.................................................................6 结束语..................................................................第3页致谢..................................................................... 参考文献................................................................. 附录.....................................................................1 引言我们生活在一个信息高速发达的时代,各种各样电子产品层出不穷。
基于FPGA的简易电子琴设计
![基于FPGA的简易电子琴设计](https://img.taocdn.com/s3/m/f3e1b7c1a58da0116c1749ec.png)
数 字 音 乐 电 子 琴 是 是 现 代 电 子 科 技 与 音 乐 结 合 的产 物 ,相 比体 积 庞 大 、价 格 昂 贵 的钢 琴 ,数 字 音 乐 电子 琴 以其操 作 简单 、价 格 低 廉 的 优 势 受 到 喜 爱 … 。 本 文 介 绍 的 简易 电 子 琴 的 设 计 ,采 用 Alter公 司 的 现 场 可 编 程 门 阵 列 (Field—Programmable Gate Array, FPGA)EP3C40Q240C8芯 片 作 为核 心 控 制 器 件 ,以 该 公 司提 供 的 Quartus II 9.0为 软 件 平 台 ,可 实 现 电 子 琴 以下 几 个 功 能 :(1)21个 琴 键 手 动 弹奏 ,高 、中 、低 音 各 7个 ;(2)5首 预存 简 谱 乐 曲 自动 循 环 演 奏 ,曲 目 可通过 数 字按 钮 任 意选 择 ,可快 进 、后 退 、暂停 、复 位 ;(3)数码 管动态显 示 当前 音名 的简谱码 ,中音 直 接 显 示 ,低音 在 数 码 管 下 方 加 发 光 管 点 亮 表 示 ,高 音 在数 码 管 上 方 加 发 光 管 点 亮 表 示 ,发 声 通 过 扬 声 器 或接 耳 机 实 现 。 由 于 该 设 计 的 主 体 部 分 在 FPGA 中
实现 ,且 采用 自顶 向下 的设 计 方 法 ,提 高 了 开 发 和 研 制 的 效 率 ,使 整 个 设 计 和 修 改 过 程 变 得 方 便 、 高效 。
1 总体 设计方案
系统结构 图如 图 1所示 ,其 中虚线 框 内部 分 在 FPGA 中实 现 。
基于FPGA的简易触摸电子琴设计
![基于FPGA的简易触摸电子琴设计](https://img.taocdn.com/s3/m/d4f58842bf1e650e52ea551810a6f524ccbfcbab.png)
高 、开 发 周 期 短 和 研 制 成 本 低 的 优 点 [5 ⁃ 7]。 所 以 本 文 在
FPGA 器件上设计一个简易触摸屏电子琴电路,来实现
触摸控制弹奏和自动播放乐曲的功能。
收稿日期:2014⁃06⁃15
基金项目:安康学院 2013 年国家级大学生创新创业训练
710129)
要:简易触摸电子琴是以 FPGA 芯片作为系统控制核心,通过数控分频的原理实现音乐自动播放、琴键演奏的功
能,有限状态机实现触摸控制和 LCD 显示驱动,再采用友晶科技的 4.3 寸液晶触摸显示屏(LTM)完成简易触摸电子琴模式选
择控制和琴键显示控制。在 DE0⁃Nano FPGA(Altera Cyclone Ⅳ)开发板上的测试表明,所设计的低成本简易触摸电子琴可
inch LCD touch panel Module(LTM)of Terasic to complete a simple touch electronic piano mode selection control and key dis⁃
play control. The test on DE0⁃NanoFPGA(Altera Cyclone IV)development board show that the design of low⁃cost simple touch
计划项目(201311397005);安康学院 2013 年校
级大学生创新创业训练计划项目(2013aku015)
图1
简易触摸电子琴的结构图
Copyright©博看网 . All Rights Reserved.
崔智军,等:基于 FPGA 的简易触摸电子琴设计
基于FPGA的乐曲演奏电路设计_毕业设计论文
![基于FPGA的乐曲演奏电路设计_毕业设计论文](https://img.taocdn.com/s3/m/6d77a3675acfa1c7aa00cc57.png)
毕业设计基于FPGA的乐曲演奏电路设计摘要设计了一种基于FPGA的电子琴,该电子琴由用VHDL硬件描述语言设计的核心部件和适当的外围电路构成,可从琴键上进行演奏也可自动进行乐曲演奏。
基于FPGA(现场可编程门阵列)芯片,利用VHDL语言,介绍了一种通用乐曲演奏电路的设计,可实现多个八度音阶的乐曲演奏,与简谱的对应关系简单,编程方便,占用资源少,通用性好,可作为IP core模块引用,构成复杂的SOPC系统.关键词:电子琴;现场可编程门阵列(FPGA);智力产权核(IP core);超高速集成电路硬件描述语言(VHDL);乐曲AbstractAn electronic piano is designed based on FPGA,which consists of core paris that designed by using VHDL hardware description languages,as well as some periphery circuits.The musical perform ance can be donenot only by keys but also with automatic type in the electronic piano.Based on FPGA,by VHDL language,this paper introduces a universal music circuit design,it can play high,middle and low multiple tonality,simple corresponding relation with simple musical notation,which programs easily using little resource.It can be used universally for IP core in making complicated SOPC system.Key words:electronic piano;Field Programmable Gate Array(FPGA);Intelligence Property core(IP core) ;Very-High-Speed Integrated Circuit Hardware Description Language(VHDL);music目录1.简易电子琴与音乐发生器设计的介绍 (4)1.1简易电子琴设计介绍 (4)1.2音乐发生器设计介绍 (4)2.F P G A功能与使用简介 (6)2.1F P G A简介 (6)2.1.1F P G A的产生 (6)2.1.2F P G A的基本结构 (7)2.1. 3 MAX+PLUSII (7)2.2硬件描述语言V H D L (10)2.2.1V H D L语言的优点 (10)2.2.2利用V H D L语言设计数字系统的特点 (11)2.2.3V H D L语言的基本结构 (13)2.2.4V H D L的设计流3.简易电子琴设计及程序 (16)3.1简易电子琴设计总体框图 (16)3.2模块设计 (16)3.2.1模块Q I N设计 (16)3.2.2模块F A N A设计 (17)4.音乐发生器设计及程序 (20)4.1使用的乐谱 (20)4.2音乐发生器设计及程序 (20)4.2.1音乐发生器总框图 (20)4.2.2可变分频器设计 (20)4.2.3到计时模块设计 (31)5.仿真 (3)45.1概述 (34)5.2仿真验证与实5.2.1电子琴电路的仿真 (35)5.2.2音乐发生器仿真 (35)6.结论 (3)77.致谢 (3)88.参考文献 (39)1.简易电子琴与音乐发生器设计的介绍1.1简易电子琴设计介绍电子琴因其操作简单,且能模拟各种传统乐器的音色,而深受消费者喜爱。
基于FPGA的简易触摸电子琴设计
![基于FPGA的简易触摸电子琴设计](https://img.taocdn.com/s3/m/96c56007650e52ea5518989a.png)
基于FPGA的简易触摸电子琴设计作者:崔智军刘昭元张瑜来源:《现代电子技术》2014年第22期摘要:简易触摸电子琴是以FPGA芯片作为系统控制核心,通过数控分频的原理实现音乐自动播放、琴键演奏的功能,有限状态机实现触摸控制和LCD显示驱动,再采用友晶科技的4.3寸液晶触摸显示屏(LTM)完成简易触摸电子琴模式选择控制和琴键显示控制。
在DE0⁃Nano FPGA(Altera Cyclone Ⅳ)开发板上的测试表明,所设计的低成本简易触摸电子琴可以实现触摸控制弹奏和自动播放乐曲的功能,同时具有较高的实用价值。
关键词: FPGA;电子琴;液晶显示屏;有限状态机中图分类号: TN710⁃34; TP332 文献标识码: A 文章编号: 1004⁃373X(2014)22⁃0114⁃03Design of simple touch electronic piano based on FPGACUI Zhi⁃jun1, LIU Zhao⁃yuan2, ZHANG Yu1(1. Department of Electronics and Information Engineering, Ankang University, Ankang 725000, China;2. Xi’an ZTE New Software Co., Ltd,Xi’an 710129, China)Abstract: The simple touch electronic piano, which takes FPGA chip as system control core, employs the principle of NC divider to achieve automatic music playing, finite state machine to realize the touch control and LCD display drive, and 4.3 inch LCD touch panel Module (LTM)of Terasic to complete a simple touch electronic piano mode selection control and key display control. The test on DE0⁃NanoFPGA (Altera Cyclone IV) development board show that the design of low⁃cost simple touch electronic piano can achieve the functions of touch control and automatic music playing, and also has high practical value.Keywords: field programmable gate array; electronic piano; liquid crystal display; finite state machine0 引言电子琴因其操作简单,且能模拟各种传统乐器的音色,而深受消费者喜欢。
FPGA简易电子琴设计
![FPGA简易电子琴设计](https://img.taocdn.com/s3/m/a3a272faff00bed5b8f31d5c.png)
西安邮电大学FPGA课程设计报告题目:简易电子琴设计及FPGA功能验证院系:电子工程学院专业班级:学生姓名:导师姓名:黄海生起止时间: 2012-6-18 至 2012-6-292012年 6 月29 日目录1.任务 (2)2.目的 (2)3.使用环境 (2)4.FPGA课程设计详细内容 (2)4.1 技术规范 (2)4.1.1 总体描述 (2)4.1.2 结构框图................................................................ 错误!未定义书签。
4.1.3 引脚描述................................................................ 错误!未定义书签。
4.1.3 应用范围 (5)4.2 设计方案 (5)4.2.1 顶层方案设计 (5)4.2.2 顶层模块程序 (7)4.3 功能验证方案及源程序 (7)4.3.1按键输入控制模块方案设计及源程序 (7)4.3.2控制模块方案设计及源程序 (8)4.3.3LCD驱动模块方案设计及源程序 (11)4.4 电路设计及功能仿真报告 (30)4.5 综合及布局布线报告和引脚分布报告 (21)4.6 硬件测试结果报告 (21)5.课程设计的心得体会 (22)6.参考资料 (22)1.任务:a、设计一个简单电子琴。
(内置2~4首简单音调曲)b、用FPGA开发板的按键可选择演奏内置曲调,用数码管显示当前演奏的哪个演奏曲目或停止。
c、要求电子琴具有自主选择,自动播放所选曲目或停止曲目。
2.目的:a、在掌握计算机组成原理理论相关的基础上,了解 EDA技术,掌握Verilog HDL 硬件描述语言的设计方法和思想,通过学习的 Verilog HDL 语言结合电子电路的设计知识理论联系实际,掌握所学的课程知识;b、深入学习Verilog H DL、FPGA,了解其编程环境;c、学会运用Modelsim和Quartus II等编程仿真软件;d、将硬件语言编程与硬件实物功能演示相结合,加深理解Verilog HDL、FPGA的学习;3.使用环境(软件/硬件环境,设备等)软硬件环境:软件:Quartus II 7.2, Modelsim6.1;硬件环境:DEII开发板;设备:PC一台,USB下载线,FPGA开发板及电源。
基于FPGA的简易电子琴控制电路设计
![基于FPGA的简易电子琴控制电路设计](https://img.taocdn.com/s3/m/4d57add758f5f61fb73666c8.png)
14个 弹 奏 按 键
图4 弹奏按键 的标号与音名的对应关系 用 VHDL设计描述本设计模块 ,得 到手动弹奏 音名产生模块 如图 5所示 。
p L ^ V
图 5 手动弹奏音名产生模块 的模块 图 图 5所 示模 块图 中,MODE为手动/自动模式开关 的状态输 入端 ,高 电平 ’1’时为手 动弹奏模式 ;PLAYKEY[13..O]为 14个 弹奏按 键的状态输入 端 ,每一时刻 只有一 个按键被按下 (按键 按下为高 电平 ’1’),如 图4—5所示 ,PLAYKEY(13) ̄0PLAYKEY(7)依 次顺序 对应低音 1~7,PLAYKEY(6) ̄0PLAYKEY(0)依次顺 序对应 中音 1 7;PLAYLOW为手动 弹奏 音名的低音/中音标 志信号输 出端 ,用于 识别低音 和 中音 ,PLAYLOW为 ’1’时表示低音 ,PLAYLOW 为 ’0’时表示 中音 ;PLAYNAME[3..0]为手动弹奏 的低 音 l~7和中音 l~7 的BCD编码输 出端 。
本 简易电子琴 的设计可 以通 过按 键选择手动弹奏和 自动演 奏两种模式。手动弹奏模式 时,可通过按压 14个不 同的按键 ,使扬 声器 能对 应弹奏从 中音 1到低音 l之 间的全 部音名。 自动演奏模式时 ,扬声器会 自动播放预先设定 的某段 音乐 。在两种工作模式 下 ,扬声器发 出的音名 ,可以通过数码管显示 出来 。
、
简易电子琴 的 FPGA控制电路结构如图 2所示 。
;
FPGA内部的控制 电路各功能模 块用 VHDL描述 其设 计块
自动节拍产生模块 的设计是基于分频器 的设计 ,用于将高频 的基准频率信号分频产生 自动演奏模式-V8Hz的节拍 自动控制信 号 。
基于FPGA的电子琴设计课程设计
![基于FPGA的电子琴设计课程设计](https://img.taocdn.com/s3/m/3c037d570b4c2e3f5727637b.png)
基于FPGA的电子琴设计课程设计摘要乐曲演奏广泛用于自动答录装置、手机铃声、集团电话、及智能仪器仪表设备。
实现方法有许多种。
现用可编程逻辑器件(PLD)来完成该设计。
核心是一数控分频器,对输入的脉冲进行分频,得到每个音阶对应的频率,由此实现简易电子琴的发音功能。
电子琴可演奏由键盘输入的音阶,同时在数码管上显示对应音节的频率。
本设计基于超高速硬件描述语言VHDL在Altera公司的CycloneⅡ系列的EP2C5T144C8芯片上编程实现;经仿真,调试基本能够达到技术指标,仿真结果基本正确。
关键词音乐译码电路模块,VHDL,数控分频,电子琴AbstractMusic performances are widely used 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 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 Altera's 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 organ目录摘要 (I)Abstract (II)1 引言 (1)2 VHDL简述及应用 (2)2.1VHDL简述 (2)2.2 VHDL的应用 (2)3 FPGA的简述 (3)3.1 FPGA的介绍 (3)3.2 FPGA的整体结构 (3)3.3 Altera公司的FPGA (3)4 电子琴演奏系统设计原理分析 (4)4.1电子琴演奏设计的基本要求 (4)4.2电子琴演奏原理 (4)4.3音名与频率的关系 (5)4.4控制音长的节拍发生器 (6)5 电子琴硬件演奏电路的层次化设计方案 (8)5.1按键控制模块 (8)5.2自动演奏模块 (8)5.3自动播放控制模块 (9)5.4数控分频模块设计 (9)5.5数码管译码显示 (10)5.6音频驱动模块 (10)结论 (11)致谢 (12)参考文献 (13)附录1 (14)附录2 (15)1 引言我们生活在一个信息高速发达的时代,各种各样电子产品层出不穷。
基于FPGA硬件电子琴设计
![基于FPGA硬件电子琴设计](https://img.taocdn.com/s3/m/ac5af37702768e9951e7385e.png)
摘要文中介绍了电子琴系统的整体设计,并基于超高速硬件描述语言VHDL在Xilinx公司的SpartanⅡ系列的EMP240T100C5N芯片上编程实现.电子琴系统的设计包含四个模块,分别是控制输入电路、FPGA、显示电路和扬声器电路。
其中FPGA模块的设计是整个电子琴系统设计的核心内容。
四个模块的有机组合完成了电子琴自动演奏的功能。
文中还详细介绍了FPGA功能模块的原理及其工作时序仿真图。
本产品的特点是成本较低,性能稳定,精度高,有一定的开发价值。
目录摘要 (2)一、整体设计方案 (4)1.1设计要求 (4)1.2整体设计原理 (4)1.3方案比较 (5)二、单元电路设计 (5)2.1实验原理 (5)2.2顶层模块的设计 (6)2.3音调发生器(tone)模块的设计 (6)2.4数控分频模块(speaker)的设计 (7)三、软件设计 (7)3.1 VHDL硬件描述语言简介 (7)3.2 软件设计 (8)四、系统测试 (9)4.1测试使用的仪器 (9)4.2测试方法 (9)4.3指标测试和测试结果 (9)五、心得 (11)附录 (12)参考文献 (15)一、整体设计方案1.1 设计要求利用数控分频器设计硬件电子琴,当按下琴键时,扬声器发出该琴键相对应的音阶,同时数码管显示音阶数字,若为高音时,二极管点亮。
1.2 整体设计原理本设计可以通过多种方案来实现,下面就主要的三种方案进行阐述和比较。
方案一:采用数字逻辑电路制作,用IC 拼凑焊接实现,这种电路很直观,简单方便。
但应用数字逻辑电路制作的话,使用的器件较多,连接复杂,体积大,功耗大。
电路中焊点和线路较多会,使成品的稳定度和精度大大降低。
方案二:采用现场可编程逻辑器件(FPGA)制作,利用EDA软件中的VHDL硬件描述语言编程进行控制,然后烧制实现.采用FPGA来设计的原理图如图1.1所示.它由控制输入电路、FPGA、显示电路和扬声器电路组成。
图1.1 采用FPGA设计的电子琴原理方框图控制输入电路主要是为用户设计的,起到一个输入控制的作用.FPGA是现场可编程逻辑器件,也是本设计方案的核心内容,它是实现电子琴运作的主要控制模块.由设计者把编好的VHDL程序烧制到现场可编程逻辑器件FPGA中,然后通过控制输入电路把乐谱输入到FPGA,产生不同的频率驱动扬声器,发出不同的乐谱.同时也把发出的乐谱符号通过显示器输出.方案三:单片机现在已经达到很成熟的阶段了,它的应用也十分广泛. 采用单片机来实现电子琴,它的原理方框图与用FPGA来实现的原理方框图类似,如图1.2所示。
FPGA课程设计报告--简易电子琴的设计
![FPGA课程设计报告--简易电子琴的设计](https://img.taocdn.com/s3/m/34e890d6763231126fdb1101.png)
FPGA课程设计报告题目:简易电子琴设计及FPGA功能验证院系:专业班级:学生姓名: XX导师姓名: XX起止时间: 2012、6、18至2012、6、29一、课程设计任务:本设计一个简易电子琴,具体功能如下:1、具有手动弹奏和自动播放功能;2、以按键或开关作为电子琴的琴键,输出7个音节的音阶;3、可以自动播放曲目至少两首。
二、课程设计目的:1、培养综合运用知识和独立开展实践创新的能力;2、深入学习Verilog HDL,了解其编程环境;3、学会运用Modelsim和Quartus II等编程仿真软件;4、将硬件语言编程与硬件实物功能演示相结合,加深理解Verilog HDL的学习;三、使用环境:1、软件:Modelsim和Quartus II等编程仿真软件;2、硬件:FPGA开发板。
四、课程设计详细方案及功能验证:1、总体实现方案:1、简易电子琴的设计通过软硬件结合实现,硬件系统包括主控器芯片、9个按键、LED、蜂鸣器等,软件资源包括编写Verilog HDL程序的应用软件Modelsim和仿真软件Quartus II。
电子琴有按键代替琴键的弹奏功能和自动播放功能。
2、整个程序总共分5个模块:主模块,按键模块,曲目1模块,曲目2模块,曲目3模块。
整个方案总共用了9个按键(key1~key9),按键key1~key7作为琴键,通过这七个按键键入不同的音阶。
主模块中key8、key9两个按键用于选择是自动播放还是弹奏曲目,令mm=(key8、key9),用mm值的不同选择调用不同模块。
如果mm=00,则程序调用按键模块;如果mm=01,则调用曲目1模块,播放曲目1;如果mm=10,则调用曲目2模块,播放曲目2;如果mm11,则调用曲目3模块,播放曲目3。
本次设计的框图:2、输入输出信号描述:3、顶层划分:key1.key2.key3.key4.key5.key6.key7.key8.key94、主要模块:主模块:功能描述:是四个子模块的核心,通过主模块分别调用四个不同的子模块。
基于FPGA的简易电子琴的设计
![基于FPGA的简易电子琴的设计](https://img.taocdn.com/s3/m/defe70a1f7ec4afe05a1df2d.png)
1.1
FPGA(Field Programmable Gate Array)即现场可编程门阵列,它是在PAL等可编程器件的基础上实现的。FPGA是在集成领域中通过普通电路的连接而实现的,FPGA模块它可以解决像PAL等其他可编程控制器件的对电路数点的限制,这样对于设计者和使用者在使用FPGA时就会感觉到它的敏捷与快捷。对于相同的PGA如果对设计来说,使用不同的编程数据或者不同编程原则,FPGA就会根据设计的思路产生不同的效果。FPGA适用于各种领域,尤其在通信、网络、军事、化石油等诸多领域都得到了广泛的应用于发展。由于FPGA具有功耗低和成本降低,所以FPGA还将进入的应用领域将会更多。由于FPGA应用领域越来越广所以对熟练掌握FPGA开发的工程师的需求会越来越多。
本系统是采用EDA技术设计的一个简易电子琴,该系统基于计算机中时钟分频器的原理,采用自顶向下的设计方法来实现,它可以通过按键输入来控制扬声器,同时也可以有自动播放歌曲的功能。该电子琴的设计大体可以由三个模块构成,分别是控制输入电路,FPGA和扬声器电路。用超高速硬件描述语言VHDL编程可以实现各个模块的功能。可以实现按键的输入和自动演奏的功能,同时可以即时的播放出来
我们生活在一个信息时代,各种电子产品层出不穷,电子琴作为音乐与科技的产物,在电子化和信息化的时代,FPGA技术的出现对那些喜欢音乐的人做出了很大的贡献,各种音乐的制作大多数情况都需要由电子琴来完成,然后通过某种传媒来传播。我们了解这些电子产品的基本组成和设计原理是十分必要的,同时我们学习了EDA相关的理论知识,而该课题的设计正是对我们学习的理论的实践与巩固的结合。
本系统设计包含了:有用户控制的控制输入电路的模块,核心的FPGA模块和发声器电路模块。能够实现不同的键的输入就能发出不同的音调以及乐曲自动的播放的功能,它内部包含自动存储模块,音乐节拍发生模块,数控分频模块主要实现的是对FPGA的提供的基准频率进行分频,得到与各个音阶对应的频率进行输出。乐曲存储模块主要是有用户事先在此模块中可存放一个音乐的乐谱,有一个计数器来控制此真值表的输出。最后主要的是把各个模块整合后,通过相关电路的输入输出对应关系连接起来。
基于FPGA的简易电子琴的设计.doc
![基于FPGA的简易电子琴的设计.doc](https://img.taocdn.com/s3/m/c71b1f54a76e58fafbb00328.png)
基于FPGA的简易电子琴的设计..学校代码:学号:本科毕业设计说明书题目:基于FPGA的简易电子琴的设计学生姓名:学院:系别:专业:班级:指导教师:摘要我们都知道的当物体在振动或者在晃动的时候,能够发生声音。
并且如果振动的频率不同,而物体发出的声音就不同,因此音调也会不同。
在简易的电子琴的设计时候虽然没有振动的物体,比如簧,管,弦等,但是电子琴的内部却有很多电子类的装置,而这些电子类的装置只要开始工作就能使扬声器发出像振动的物体那样发出不同的声音。
当按动某个琴键,就会是相应的电子装置工作,从而使扬声器发出不同的音调。
本系统是采用EDA技术设计的一个简易电子琴,该系统基于计算机中时钟分频器的原理,采用自顶向下的设计方法来实现,它可以通过按键输入来控制扬声器,同时也可以有自动播放歌曲的功能。
该电子琴的设计大体可以由三个模块构成,分别是控制输入电路,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 object 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 make 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- 学号:本科毕业设计说明书题目:基于FPGA的简易电子琴的设计学生姓名:学院:系别:专业:班级:指导教师:摘要我们都知道的当物体在振动或者在晃动的时候,能够发生声音。
基于FPGA的电子琴制作.
![基于FPGA的电子琴制作.](https://img.taocdn.com/s3/m/8231997fcaaedd3383c4d3d1.png)
基于FPGA的电子琴制作【摘要】文章介绍了基于FPGA的电子琴的工作原理和设计过程。
用Altera公司的CycloneⅢ系列的EP3C16F484C6N芯片为核心器件,通过超高速硬件描述语言VHDL,在QuartusⅡ9.0平台上,实现了电子琴的手动弹奏和自动演奏功能。
本系统主要由音乐输入模块(music.vhd),音调发生模块(tone.vhd)和音频播放模块(speaker.vhd)组成。
拨动开关选择手动弹奏模式时,通过拨动音符开关和音调选择后就会选择相应的频率输出;拨动开关选择自动演奏模式时,音乐输入模块会将编写好的音乐简谱依次取出,去选通各个对应的频率输出,实现自动演奏。
音频播放模块由分频器来实现,可产生21个频率,分别为低中音各7个音符,通过喇叭发出声音。
【关键词】FPGA ;QuartusⅡ;VHDL ;电子琴 ; 音符目录第一章引言1.1 课题解析1.2 VHDL语言与QuartusⅡ环境简介1.2.1 VHDL语言简介 1.2.2 QuartusⅡ环境简介第二章原理分析2.1 电子琴设计原理 2.2 系统设计的主要组成部分第三章硬件设计3.1 现场可编程门阵列FPGA简介 3.2 按键模块及其功能 3.3 显示模块及其功能第四章软件设计4.1 系统的流程4.2 设计模块 4.2.1音乐输入模块(music.vhd)4.2.2音调发生模块(tone.vhd)4.2.3音频播放模块(speaker.vhd)第五章软硬件的系统测试第六章心得体会6.1实验中遇到的问题和解决过程6.2 电子琴的进一步改进计划附录Ⅰ各个模块程序以及顶层原理图附录Ⅱ内置音乐简谱第一章引言电子琴作为音乐与科技的产物,在电子化和信息化的时代,为音乐的大众化做出了很大的贡献,歌曲的制作大多数都要由电子琴来完成,然后通过媒介流传开来,电视剧和电影的插曲、电视节目音效、甚至你的手机铃声,都很可能包含电子琴的身影。
1.1课题分析随着电子技术的高速发展,由于FPGA/CPLD具有高速、高可靠性、串并行工作方式等突出优点,所以在电子设计中受到广泛的应用,并且它代表着未来EDA 设计的方向。
基于FPGA的简易电子琴的实现
![基于FPGA的简易电子琴的实现](https://img.taocdn.com/s3/m/b141213548d7c1c708a1457c.png)
基于FPGA的简易电子琴的实现作者:卢婷来源:《环球市场信息导报》2014年第11期该文采用VHDL语言为硬件描述语言,Quartus II作为程序运行平台,在FPGA芯片上将所开发的程序通过调试运行、波形仿真验证,初步实现了设计目标,实现了具有音乐自动播放和键盘演奏的功能。
一、系统结构框图图1是整个系统的结构框图。
整个系统具备两个主要功能:键盘演奏和音乐的自动播放,可以通过按键开关来实现切换音乐自动播放还是键盘演奏功能。
图1 系统结构框图二、主要模块设计分频器模块。
整个系统的工作需要多个频率的信号。
其中第一个分频器的主要目的是获得4HZ的频率用来产生最小音乐节拍,通过改变这个分频器的分频系数就可以改变最小音乐节拍。
这里要注意的是,如果改变了最小音乐节拍,则音符存储电路中音符的存储以及琴键音符查表电路中琴键节奏的读取都要做相应的改变。
对该模块进行编译仿真得到仿真图如图2所示。
图2 分频器模块仿真图音符产生电路模块。
该模块的作用是产生各音符的分频预置值。
根据各音名与频率的关系以及声音输出控制模块(speaker模块)中数控分频器的设计,分别计算出高音区、中音区、低音区不同音符的分频预置值,程序中Index为AUTOMUSIC模块传人的音符编码,high0,med0,low0为AUTOMUSIC模块传入表示音符所处音区,如high0=‘1’表示音符处于高音区;low0=‘1’表示音符处于低音区;程序中Tone为输出音符分频预置值,因最大的预置数为6668,为节省硬件资源及提高系统运行速度,将T0ne取值范围定为0~16#lE00#;high,med,low输出音符所处音区,接外电路的发光二极管,高电平有效;CODE端口接数码管,输出音符的显示数码。
音符存储模块。
音符存储模块是音乐自动播放中的乐谱查表和音乐节拍控制电路,它决定了当前输出哪一个音符以及该音符的持续时间。
可以在其中设置一个二进制加法计数器作为音符ROM的地址发生器,这个计数器的位数与用来记录音符的ROM空间有关,如果用了256个ROM单元,则位数就是8;计数频率就是通过12MHZ分频过来的4HZ,这样在每一计数值上的停留时间为1/4秒,也就是一个最小音乐节拍。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于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个按钮对应8个音符,外加一个键盘输入/自动演奏切换按钮。
FPGA是现场可编程逻辑器件,也是本设计方案的核心内容,它是实现电子琴运作的主要控制模块。
编好的VHDL程序下载到现场可编程逻辑器件FPGA中,然后通过控制输入电路把乐谱输入到FPGA,产生不同的频率驱动扬声器,发出不同的乐谱,同时也把发出的乐谱符号通过七段数码管输出。
2.2 程序设计的流程图程序设计的流程图如图2.2所示。
图2.2 程序设计流程图根据系统的两大功能:手动弹奏与自动演奏,可将其分成音调发生器模块、数控分频模块和自动演奏模块三部分。
音调发生器模块由分频模块获得其产生的8个频率(还可扩展),对应8个音符(中央C,D,E,F,G,A,B和高音C分别在七段数码管上显示数字1-8),为了实现自动播放的《友谊地久天长》,我们还编辑了低音G和A两个音。
这些频率经放大后驱动蜂鸣器,即可发出声音。
键盘选择手动弹奏模式时,按下音符键后就选通相应的频率输出,驱动蜂鸣器产生相应的乐音;选择自动演奏模式时,存储器里事先编写好的音符信息被依次取出,去选通各个频率输出,实现自动奏乐。
2.3简易电子琴的顶层设计图50mhz系统时钟player tonemaker图2.3 简易电子琴的顶层设计图2.4简易电子琴中各模块的设计FPGA的设计是整个系统的中心环节,具有举足轻重的作用.它的实现主要是由小组成员利用VHDL硬件描述语言编程实现电子琴的功能,仿真调试成功之后,再下载到试验箱上的FPGA器件中去,外部连接完成后的成品在带电情况下即可运行实现预定功能。
而FPGA模块的设计又重在VHDL 语言的编程实现,用VHDL语言编写的程序总的顶层模块映射原理图如图2.3所示,它是由音调发生器模块(tonemaker)、数控分频模块(Speaker)、自动演奏模块(player)组成。
系统pin_28输入50MHz时钟频率经6分频得到一个近似8HZ的基准频率,经过二次分频后得到对应音符的频率。
从自动演奏模块输出的是乐谱信号,该乐谱信号作为音调发生器模块的敏感信号输入并对其进行控制。
音调发生模块有两个输出,分别是code和high,两个都接外部的显示部分,code接七段数码管显示乐谱,high显示的是该乐谱是高音还是低音。
由于本系统结构较为简单,程序编译无错后我们小组直接在试验箱上连接好各类外部资源后利用实物验证,经过调试,我们实现了预定功能。
在本系统中我负责的是主要是数控分频模块的元件例华以及顶层设计部分的修改,以下对模块进行说明。
2.4.1数控分频模块在对计算机组成原理的学习中,我们知道数控分频器的功能是在输入端输入不同数据时,对输入时钟产生不同的分频比,输出不同频率的时钟,以改变输出信号的频率。
本设计中数控分频模块是利用并行预置数的减法计数器对时基脉冲进行分频,得到与1、2、3、4、5、6、7七个音符相对应的频率。
该模块的VHDL程序中包含了三个进程。
首先对FPGA的50MHz的时基脉冲进行6分频得到近似8MHz的脉冲,然后按照tone1输入的分频系数对8MHz的脉冲再次分频,得到所需要的音符频率。
第三个进程的作用是在音调输出时再进行二分频,将脉冲展宽,使扬声器有足够发声功率。
数控分频模块元件图:CLK1 SPKSTONE1[10..0]数控分频模块原理图数控分频模块程序:library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity speaker isPort ( clk1 : in std_logic; --系统时钟tone1 : in integer range 0 to 2047; --音符分频系数spks : out std_logic); --驱动扬声器的音频信号end speaker;architecture Behavioral of speaker issignal preclk,fullspks:std_logic;beginpulse1:process(clk1) --此进程对系统时钟进行4分频variable count:integer range 0 to 12;beginif clk1'event and clk1='1' then count:=count+1;if count=3 then preclk<='1';elsif count=6 then preclk<='0';count:=0;end if;end if;end process pulse1;genspks:process(preclk,tone1)--此进程按照tone1输入的分频系数对8MHz的脉冲再次分频,得到所需要的音符频率variable count11:integer range 0 to 2047;beginif preclk'event and preclk='1' thenif count11<tone1 then count11:=count11+1;fullspks<='1';else count11:=0;fullspks<='0';end if;end if;end process;delaysps:process(fullspks)--此进程对fullspks进行2分频将脉冲展宽,使扬声器有足够发声功率variable count2 :std_logic:='0';beginif fullspks'event and fullspks='1' then count2:=not count2;if count2='1' then spks<='1';else spks<='0';end if;end if;end process;end Behavioral;3 结束语通过对测试结果的分析,我们发现采用FPGA所设计的电子琴系统设计趋于简单、开发时间短;外围器件少,体积小;系统维护起来更方便、快捷。
尤其对于设计者来说,不需要考虑太多的硬件设计,只需要有自己的设计思路,编程实现再下载到FPGA器件中进行测试就可以了。