FPGA硬件电子琴电路设计实验报告

合集下载

基于FPGA的多功能电子琴设计与实现

基于FPGA的多功能电子琴设计与实现

西南科技大学电子专业综合设计报告设计名称:基于FPGA的多功能电子琴的设计与实现姓名:学号:班级:指导教师:起止日期: 2013年11月22日-2013年12月10 日西南科技大学信息工程学院制综合设计任务书学生班级:电子1001 学生姓名:学号:设计名称:基于FPGA的多功能电子琴的设计与实现起止日期:2013.11.22-2013.12.10 指导教师:综合设计学生日志基于FPGA的多功能电子琴的设计与实现摘要:随着科学技术的日新月异,人们的生活也在发生在变化,电子产品也随之增多,比如现在流行的电子琴,已经逐渐代替了曾经的手动风琴了。

文章中所介绍的多功能电子琴的设计在Quartus II平台上,采用Verilog HDL 语言和模块化的设计方法,设计出一个能够通过按键控制不同的音符,同时也可以通过按键进行演奏已经存储的曲子的多功能电子琴。

本系统主要由五个个模块组成:顶层模块,曲目1模块,曲目2模块,按键模块,曲目循环播放模块。

关键词: FPGA;电子琴; Verilog HDL;音符FPGA-based design and implementation of multi-organAbstract:With the development of science and technology, also occurs in people's lives change, electronic products also increase, such as the now popular organ, has replaced the former manual organ. Multifunction keyboard design as described in the article on the Quartus II platform, using Verilog HDL language and modular design method, design a button control through different note, you can also play music already stored by keys multifunction keyboard. The system consists of five modules: the top-level module, a module tracks, track 2 modules, key module, track loop module.Key words: FPGA, Keyboard, Verilog HDL, Note一、设计目的和意义目的:1.1、在掌握计算机组成原理理论相关的基础上,了解 EDA技术,掌握 Verilog HDL 硬件描述语言的设计方法和思想;1.2、培养综合运用知识和独立开展实践创新的能力;1.3、深入学习Verilog HDL,了解其编程环境;1.4、学会运用Quartus II等编程仿真软件;1.5将硬件语言编程与硬件实物功能演示相结合,加深理解Verilog HDL的学习。

VHDL电子琴实验报告

VHDL电子琴实验报告

VHDL电子琴实验报告
实验目的:
本实验的目的是设计一个VHDL电子琴,通过FPGA实现,实现按键发出不同的音调,并通过扬声器输出对应的音频信号,达到模拟真实电子琴的效果。

实验原理:
VHDL(Very High Speed Integrated Circuit Hardware Description Language)是一种硬件描述语言,用于描述数字电路的行为和结构。

在本实验中,我们将使用VHDL语言描述电子琴的按键和音调的对应关系,通过FPGA实现电子琴的功能。

电子琴实验主要包含两个部分:输入部分和输出部分。

输入部分是按键,按下不同的按键会发出不同的音调。

输出部分是扬声器,通过扬声器输出对应的音频信号。

实验步骤:
1.确定电子琴的按键数量和对应的音调。

2.使用VHDL语言描述电子琴的按键和音调的对应关系。

3.将VHDL代码综合成逻辑电路网表。

4.将逻辑电路网表烧录到FPGA中。

5.连接扬声器到FPGA输出引脚。

6.按下不同的按键,测试扬声器输出的音频信号是否正确。

实验结果:
经过实验测试,我们成功实现了一个简单的VHDL电子琴。

按下不同的按键,扬声器输出对应的音调。

通过调整VHDL代码中的音频频率,可以改变电子琴的音调高低。

实验总结:
通过本实验,我们深入理解了VHDL语言的应用和FPGA的原理。

电子琴作为一个实际应用案例,充分展示了数字电路设计的魅力。

在今后的学习和工作中,我们将能更加熟练地应用VHDL语言和FPGA技术,设计更加复杂的数字电路系统。

FPGA大作业设计报告

FPGA大作业设计报告

数字电子技术实验课程FPGA创新实验设计报告设计名称电子琴与音乐盒姓名学号 xx xxxxxxxxxxxx xxxxxxxxxxxx xxxxxxxxxx专业班级 xxxxxxxx系指导教师 xxx日期 xxxx年x月xx日摘要本次设计借数电实验课的机会,基于FPGA可编程逻辑器件实现了电子琴和音乐发生器的功能,使用ALTERA公司的CYCLONEⅢ芯片构成系统主体,软件部分应用VHDL语言,在QuartusⅡ8.1设计平台上完成。

本方案整合了PS2键盘接口和音乐发生模块,具有一定的灵活性和创新性。

关键词:电子琴;音乐发生器;FPGA;VHDL目录一、设计任务与要求---------------------------------3二、总体框图---------------------------------------3三、选择器件---------------------------------------3四、功能模块---------------------------------------3五、总体设计电路图--------------------------------11六、实现功能--------------------------------------11七、心得体会--------------------------------------13一、设计任务与要求:设计一个能够实现音乐发生功能以及能够通过键盘弹奏的电子琴。

要求:选择功能一时能够通过键盘弹奏出三个八度的21个音符,每个音符发音时间相同;选择功能二时能够自动播放一段音乐,并有暂停和继续的功能。

二、总体框图:1、总体框图如下所示:2、各模块功能:●键盘接口模块键盘接口模块用于接收键盘按键输出的断码,将信息输送到音调转换模块,以便其将键盘按键与不同的音符进行对应。

●音调转换模块音调转换模块将输入进来的按键通码与断码信息与不同的音符对应起来,并将结果传递给下一级模块。

华中科技大学 xilinx 课赛结合 基于BASYS2的电子琴设计实验报告

华中科技大学 xilinx 课赛结合 基于BASYS2的电子琴设计实验报告

硬件课程设计实验报告课题:基于BASYS2的电子琴设计班级:电信0907作者:刘睿学号:U200913771指导老师:龚军课设评价:课设成绩:【摘要】本项目要求设计并实现一个基于BASYS2的电子琴,利用BASYS2实验板的拨码开关实现电子琴相应功能的控制,电子琴的输出有两个声道,可独立输出。

该电子琴可外接PS2键盘,实现电子琴按键功能,同时外接VGA显示器实现电子琴的界面。

该电子琴还具有存储输入按键值并回放功能。

【关键词】:FPGA、BASYS2、电子琴、 PS/2、 VGAAbstract:This project is aimed at designing an electric piano based on BASYS2. The switch on the BASYS2 will control the function of the electric piano. This piano with two different audio channel, can also memory the keys which have been pressed and replay them. This piano can be connected to a PS/2 keyboard, which plays a role of keys of the piano, and connected to a VGA monitor, which could display the interface of the piano.Key words:FPGA 、BASYS2、 ELECTRIC PIANO、 PS/2、 VGA目录1.项目描述 (6)1.1.项目要求 (6)1.2.项目背景 (6)1.3.开发工具简介 (6)2.设计目标 (7)3.硬件描述 (7)3.1.开发板 (7)3.2.显示器 (8)3.3.键盘 (9)4.软件描述 (9)4.1.系统框图 (9)4.2.各模块的功能描述 (10)4.2.1.顶层模块的设计 (10)4.2.2.键盘模块的设计 (11)4.2.3.自动演奏模块的设计 (11)4.2.4.音调发生器模块设计 (11)4.2.5.数控分频模块的设计 (11)4.2.6.数模转换模块的设计 (12)4.2.7.界面显示模块的设计 (12)5.硬件设计............................................................................. 错误!未定义书签。

学士学位论文—-电子琴实验报告乐曲硬件演奏电路设计

学士学位论文—-电子琴实验报告乐曲硬件演奏电路设计

武夷学院实验报告课程名称:逻辑设计与FPGA 项目名称:乐曲硬件演奏电路设计姓名:专业:微电子学班级: 14微电子学号: 04 实验日期实验预习成绩(百分制)实验指导教师签字:二、 实验过程记录部分:1.实验过程记录:1.1 输入信号锁相环PLL0调节: 图2.1 锁相环 管脚clk_50m (设置为B12)接入FPGA 内部的50mhz 的时钟信号,C0口为得到数控分屏器模块的输入时钟750KHZ ,将分频比设置为1/67,即50000000HZ/67=74.6K约等于75K ;c1口为2KHZ (配合下级的500分频模块),设置为:c1=50000000HZ/25000=2KHZ 。

1.2 500分频模块count500(即500进制的计数器):图2.2 分频电路程序设计 如图2.2,因为梁祝歌曲只用低音和中音来演奏,为1/4拍,即四分之一拍,每个音符持续0.25秒的时间。

因为前级电路已经实现了从50MHZ 到2KHZ 的转换,要得到4HZ 的频率,则用500进制的计数器(0到499的计数)产生的进位信号对2KHZ 实现500分频(输出波形分析见后)。

1.3 乐曲长度控制计数器cnt138设计:图2.3 乐曲长度控制计数器程序及元件图经查阅《EDA技术实用教程(第五版)》可知,《梁祝》这首歌曲总共有139个音符,其中包含末尾的3个休止符。

如图2.3,因此为了产生这139音符,因此想到开发一个139进制的计数器(计数值:0到138),实现用139状态代表139个音符。

又因为要配合下一级音符谱码存储模块的输入(ROM的输入一般为偶数位),因此将原本用7路线就可以表示完成的输出端cnt8增加一位线宽。

注:在本程序中,输出端cnt8由于定义成integer整型,在Quartus中被自动分配成了7根;也可以定义成vector型,而此时需要注意配合下级电路的权位最好写成cnt8: out std_logic_vector(7 downto 0).1.4 音符谱码存储模块设计构建:1.4.1 ROM的设置:图2.4 音符谱码存储模块ROM音符谱码存储模的主体构想,是为了让前级模块所产生的139个状态与实际音符(Do Re Mi Fa So La Si)构成映射。

实验七 硬件电子琴电路设计

实验七 硬件电子琴电路设计

电子设计自动化实验报告实验七硬件电子琴电路设计一、实验目的1.熟悉QuartusⅡ软件应用环境,了解实验流程。

2.编写简单的Verilog代码,并在QuartusⅡ中进行调试和验证,并在EDA6000中下载代码和验证。

3.掌握硬件电子琴电路的设计方法,根据键入发出不同的音阶。

二、实验原理一个音的音阶是由频率决定,基本音阶的频率如下表:如果要发出“1”的音,只需产生440Hz(周期为1136.4us*2)的频率即可。

模块speaker实现此功能,speaker是一个带预置的减法计数器,用于产生制定周期的脉冲,speaker的基准时钟是10MHz(100ns),当tone为11364时,每1136.4us*2,产生一个脉冲。

模块tone根据用户的键入,输出相应的周期数供speaker产生脉冲。

当用户按下K0时,输出tone11364,按下K1时输出tone 10124..三、实验内容1、用Verilog HDL语言实现编写实现硬件电子琴电路的程序。

2、编程下载并在实验箱上进行验证四、实验步骤与结果1、新建Verilog工程项目,编写代码并保存至与模块名对应的项目文件夹。

2、编译程序,编译无误后,在【tools】里面选择RTL视图,观察寄存器传输级结构。

3、将实验箱和PC合理连接起来。

打开EDA6000软件,设置好芯片类型为ACEX1K (EP1K30TC144-3),载入模式16。

4、根据EDA6000界面内管脚对应芯片的实际管脚在QUARTUSⅡ里面设定管脚号并检查无误。

5、将程序下载至FPGA试验箱内,并在EDA6000软件界面内进行验证测试。

程序源代码:module dzq(pcode,phigh,pspeaker,clk,key_in);input clk;input [7:0]key_in;output phigh,pspeaker;output [2:0]pcode;reg phigh,pspeaker,lock;integer q1,Q;reg [2:0]pcode;always @ (posedge clk )beginif(Q==0)begin Q<=q1; lock<=1;endelse begin Q<=Q-1; lock<=0;endendalways @(clk or key_in)begincase (key_in)8'b00000001: begin phigh=0;pcode=3'b001;q1<=11364; end8'b00000010: begin phigh=0;pcode=3'b010;q1<=10124;end8'b00000100: begin phigh=0;pcode=3'b011;q1<=9019; end8'b00001000: begin phigh=0;pcode=3'b100;q1<=8513; end8'b00010000: begin phigh=0;pcode=3'b101;q1<=7584; end8'b00100000: begin phigh=0;pcode=3'b110;q1<=6757; end8'b01000000: begin phigh=0;pcode=3'b111;q1<=6020; end8'b10000000: begin phigh=1;pcode=3'b001;q1<=5682; enddefault : begin phigh=0;pcode=3'b000;q1<=0; endendcaseendalways @(posedge lock)pspeaker<=~pspeaker;endmodule编译:选择processing---start compilation命令,开始编译。

基于FPGA硬件电子琴设计

基于FPGA硬件电子琴设计

摘要文中介绍了电子琴系统的整体设计,并基于超高速硬件描述语言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课程设计报告--简易电子琴的设计

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电子琴设计实验报告

西南科技大学电工学,电子技术学生实验报告课程名称FPGA现代数字系统设计实验名称硬件电子琴电路设计姓名学号********班级电子0902指导老师评分2012年4月19日1.实验目的:1.进一步熟悉QUARTUS II软件的使用。

2.学习和熟悉时序电路的设计,仿真和硬件测试。

3.学习利用数控分频器设计硬件电子琴实验。

2.实验原理:1.主系统由3个模块组成,例1是顶层设计文件,其内部有三个功能模块(如图1所示):Speakera.v(例4) 和ToneTaba.v (例3),NoteTabs.v (例2)。

2.模块ToneTaba是音阶发生器,当8位发声控制输入Index中某一位为高电平时,则对应某一音阶的数值将从端口Tone输出,作为获得该音阶的分频预置值;同时由Code输出对应该音阶简谱的显示数码,如‘5’,并由High输出指示音阶高8度显示。

3.模块Speakera中的主要电路是一个数控分频器,它由一个初值可预置的加法计数器构成,当模块Speakera由端口Tone获得一个2进制数后,将以此值为计数器的预置数,对端口Clk12MHZ输入的频率进行分频,之后由Spkout向扬声器输出发声。

4.增加一个NoteTabs模块用于产生节拍控制(Index数据存留时间)和音阶选择信号,即在NoteTabs模块放置一个乐曲曲谱真值表,由一个计数器的计数值来控制此真值表的输出,而由此计数器的计数时钟信号作为乐曲节拍控制信号,从而可以设计出一个纯硬件的乐曲自动演奏电路。

1.实验内容和步骤:1.打开桌面上的QUARTUS II 软件。

2.选择File菜单建立XULIEQI的工程(project),参数按实验指导书设置。

由File->new,可打开下面的选项,选择Verilog HDL File,按ok继续。

在在打开的空白文档,编辑顶层模块的Verilog描述,并保存。

module songer(Clk1,Clk2,Code1,High1,Spkout);input Clk1,Clk2;output[3:0] Code1;output High1,Spkout;wire[10:0] Tone;wire[3:0] ToneIndex;wire Q1,Q2;NoteTabs u0( .Clk(Q2),.ToneIndex(ToneIndex) );ToneTaba u1( .Index(ToneIndex),.Code(Code1),.High(High1),.Tone(Tone) );Speakera u2( .Clk(Q1),.Tone(Tone),.SpkS(Spkout) );div_50 u3( .Clk1(Clk1),.Q1(Q1) );div_27 u4( .Clk2(Clk2),.Q2(Q2) );Endmodule3.由File->new,可打开下面的选项,选择Verilog HDL File,按ok继续。

电子音乐实验报告

电子音乐实验报告

开放实验报告课题名称基于FPGA可编程电子音乐演奏电路学院电子科学与工程学院指导老师王玉秀学号B08040111姓名丁超目录引言 (2)一、系统设计总述 (2)1、设计要求 (2)1.1、系统功能要求 (2)1.2、系统结构要求 (2)1.3、基本指标 (3)2、电子乐器信号介绍 (3)2.1、乐器标准频率 (4)2.2、音名和唱名 (4)2.3、音的长短 (5)2.4、音乐的速度、节奏、节拍 (5)3、系统组成 (5)3.1、音乐硬件演奏电路基本原理 (5)3.2、音符频率取得 (5)3.3、乐曲节奏控制 (7)3.4、系统总体结构 (7)二、电路设计 (7)1、8Hz分频电路 (7)2、乐曲地址产生电路 (8)3、乐曲频率发生电路 (16)4、功率放大电路 (17)三、电路实现 (18)四、实验总结 (19)附录《一分钱》简谱 (20)基于FPGA可编程电子音乐演奏电路引言随着微电子技术、集成技术和计算机技术的迅速发展, 电子线路数字化已经成为一个发展趋势, 数字化电子系统的设计方法和手段发生了很大的变化。

特别是可编程逻辑器件的功能和容量的不断扩大,如FPGA(Field Programmable Gate Array, 现场可编程门阵列)使集成电路的设计进入片上系统(System on a Chip, SOC)或可编程片上系统(System on a Programmable Chip,SOPC)的设计时代。

同时采用超高速集成电路硬件描述语言VHDL(Very High Speed Integrated Circuit Hard—ware Description Language), 其具有多层次描述系统硬件功能的能力, 既支持模块化设计, 也支持层次化设计, 使各种数字化电子系统的设计通过描述芯片功能实现系统功能, 从而有效地缩短了产品开发周期, 减少了设计芯片的数量, 缩小了系统体积,降低了系统能耗,提高了系统的灵活性和可靠性。

基于FPGA的电子琴设计FPGA实训

基于FPGA的电子琴设计FPGA实训

基于FPGA的电子琴设计FPGA实训第一章绪论1.1引言随着电子技术的飞速发展,微电子技术的进步主要表现在大规模集成电路加工技术即半导体工艺技术的发展上,使得表征半导体的工艺水平的线宽已经达到了60nm,并在不断地缩小,面在硅片单位面积上,集成了更多的晶体管。

集成电路设计正在不断地向超大规模,极低功耗和超高速的方向发展,电子产品的功能越来越强大,体积越来越小,功耗越来越低。

同时,利用可编程逻辑器件和EDA 技术使设计方法发生了质的变化。

把以前“电路设计+硬件搭试+调试焊接”转化为“功能设计+软件模拟+仿真下载”。

利用EDA 开发平台,采用可编程逻辑器件CPLD/FPGA 使硬件的功能可通过编程来实现,这种新的基于芯片的设计方法能够使设计者有更多机会充分发挥创造性思维,实现多种复杂数字逻辑系统的功能,将原来由电路板设计完成的工作放到芯片的设计中进行,减少了连线和体积,提高了集成度,降低了干扰,大大减轻了电路设计和PCB设计的工作量和难度,增强了设计的灵活性,有效地提高了工作效率,增加了系统的可靠性和稳定性,提高了技术指标。

这些技术使得各种电子产品迅速的进入了我们的生活,我们处在一个被电子产品深度包围的时代,在一个普通老百姓的家里,衣食住行,每一个产品的诞生都离不开EDA技术,从彩色电视机,到智能冰箱,到全自动洗衣机,电饭煲,到微波炉,电磁炉,电子琴,再到个人随身用的手机,MP3音乐播放器都需要EDA技术提供支持。

本文应用VHDL硬件描述语言,设计一个乐曲硬件演奏电路,它能将一首预先设置存储好的乐曲自动播放出来,除此之外,也能够通过按键的方式输入音符,使其具备简易电子琴的功能。

通过此项研究,能够深切的体会利用EDA工具开发的优越性,在此基础上,对乐曲硬件演奏电路功能进行丰富,具体一定的社会实用性。

下面对乐曲演奏电路的设计与实现中涉及的EDA技术,以及EDA技术中常用的开发器件CPLD/FPGA可编程逻辑器件,开发语言VHDL以及开发软件QuartusⅡ作简单介绍。

电子琴的设计报告

电子琴的设计报告

基于FPGA的简易电子琴的设计与制作学生班级:XXX学生学号:XXXXXXXXXXX学生姓名:XX时间: 201X年X月XX日目录一、设计任务及要求 (3)1.课题题目 (3)2.要求 (3)二、设计内容 (3)1.课题分析 (3)2.系统方案选择 (3)(1)频率产生电路 (3)(2)优先选择电路或者合成电路 (4)三、电路设计及计算 (4)1.DE2简介 (4)2.各音调所对应分频次数 (7)3.电路模块介绍 (7)(1)晶振电路 (7)(2)分频电路 (7)(3)音调选择电路 (8)四、仿真及结果分析 (8)五、设计总结 (9)一、设计任务及要求1.课题题目:基于FPGA的简易电子琴的设计与制作2.要求(1)制作一个简单的电子琴,通过按下不同的按键,电子琴能发出七种不同的音调。

电子琴发出声音的频率与七种音调的频率相近,且能清晰的听到这七种音调。

(2)当同时按下两个及以上的按键时,电子琴能根据选择或者是合成几种音调发出一种声音。

(3)学习使用quartus II以及了解DE2开发板,对FPGA有一定的了解。

二、设计内容1.课题分析由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了。

音调主要由声音的频率决定,乐音(复音)的音调更复杂些,一般可认为主要由基音的频率来决定,也即一定频率的声音对应特定的乐音。

因此,要实现电子琴,就应该设计能输出这七种频率的电路,通过开关来控制输出电路的种类。

当出现两个及以上开关闭合时,电子琴的内部电路能够合成这几种音调或者是通过选择来发出音调。

2.系统方案选择(1)频率产生电路:方案一:采用一个555集成定时器组成简易电子琴。

整个电路由主振荡器,颤音振荡器,扬声器和琴键按钮等部分组成。

主振荡器由555定时器,电阻,按键及电容组成。

555电路组成的多谐振荡器,它的振荡频率可以通过改变振荡电路中的RC元件的数值进行改变。

SOPC课程设计实验报告--电子琴

SOPC课程设计实验报告--电子琴

FPGA-CPLD原理及应用课程设计报告题目:电子琴学院: 信息与电子工程学院专业: 电子科学与技术学号:姓名:指导老师:时间:2013-7-15~2013-7-20一、摘要电子琴是数字电路中的一个典型应用。

在实际的硬件设计中用到的器件非常多,连线比较复杂,同时会产生比较大的延时,从而造成测量误差较大,可靠性不好。

以EDA工具作为开发手段,运用VHDL硬件描述语言将使整个系统大大简化,提高了电子琴整体的性能和可靠性。

关键词:电子琴 SOPC SOPC Builder Nios II DE2 音符二、设计要求方案一:采用数字逻辑电路制作,用IC拼凑焊接实现。

其特点是直接用现成的IC组合而成,简单方便,但本系统需用到许多分频器,这就使得需要用到相当多的IC,从而造成了体积过于庞大,而且连线也会比较复杂。

方案二:采用单片机实现,通过软件编程,仿真后将程序用编程器写入到单片机芯片上,该方案成本低,稳定度也比较好,但外围电路多,特别是播放音乐时需要用到大容量的外部存储器,这样就增加了编程难度,调试不够直观,也不够灵活方便。

方案三:采用可编程逻辑器件(FPGA)制作,将所有器件集成在一块芯片上,大大减小了电子琴的体积,用VHDL编程实现时更加方便,而且易于进行功能扩展,并可调试仿真,制作时间大大缩短,因此选用了方案三进行设计。

电子琴设计原理乐曲都是由一连串的音符组成,按照乐曲的乐谱依次输出这些音符所对应的频率,就可以在扬声器上连续地发出各个音符的音调。

为了准确地演奏出一首乐曲,仅仅让扬声器能够发出声音是远远不够的,还必须准确地控制乐曲的节奏,即每个音符的持续时间。

由此可见,乐曲中每个音符的发音频率以及音符持续的时间是乐曲能够连续演奏的两个关键因素。

乐曲的12平均率规定:每2个八度音之间的频率要相差1倍,比如简谱中的中音2与高音2。

在2个八度音之间,又可分为12个半音。

另外,音符A(简谱中的低音5)的频率为392Hz,音符E到F之间、B到C之间为半音,其余为全音。

FPGA入门系列实验教程——硬件电子琴

FPGA入门系列实验教程——硬件电子琴

FPGA入门系列实验教程——简易硬件电子琴1.实验任务在开发板上实现一个简易电子琴,按下KEY1~KEY7分别表示中音的DO、RE、MI、FA、SOL、LA、SI;按住KEY8再按KEY1~KEY7分别表示高音的DO、RE、MI、FA、SOL、LA、SI。

通过这个实验,掌握利用蜂鸣器和按键设计硬件电子琴的方法。

2.实验环境硬件实验环境为艾米电子工作室型号EP2C8Q208C8增强版开发套件。

软件实验环境为Quartus II8.1开发软件。

3.实验原理乐曲演奏的原理是:由于组成乐曲的每个音符的频率值(音调)及其持续时间(音长)是乐曲演奏的基本数据,因此需要控制输出到扬声器的激励信号的频率高低和该频率持续的时间。

频率的高低决定了音调的高低,而乐曲的简谱与各音名的频率对应关系如下表所示。

所有不同频率的信号都是从同一基准频率分频而来的。

由于音节频率多为非整数,而分频系数又不能为小数,故必须计算得到的分频系数进行四舍五入取整,并且其基准频率和分频系数应综合加以选择,从而保证音乐不会走调。

艾米电子工作室开发板板载50M HZ晶振,故在50M HZ时钟下,中音1(对应的频率值为523.3Hz)的分频系数为50000000/(2*523.3)=47774,这样只需对系统时钟进行47774次分频即可得到所要的中音1。

可利用同样方法求出其他音符对应的分频系数,这样利用程序可以很轻松得到相应的乐声。

音名频率(Hz)音名频率(Hz)音名频率(Hz)低音1261.6中音1523.3高音11045.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.54.实验程序module key_music(clk,key,buzzout,led);//模块名称key_musicinput clk;//系统时钟50MHZinput[7:0]key;//按键输入output buzzout;//蜂鸣器输出output[7:0]led;reg buzzout_reg;reg[7:0]key_reg;reg[22:0]counter,count_end;//定义寄存器reg key_flg;initial key_flg=1'b0;always@(posedge clk)begincounter=counter+1;//计数器加1if(counter==count_end)begincounter=0;//计数器清零if(key_flg==1'b1)buzzout_reg=~buzzout_reg;else buzzout_reg=1'b0;endendalways@(counter[10:9])beginkey_reg=key;if(key_reg!=8'hff)key_flg=1'b1;else key_flg=1'b0;case(key_reg)8'b11111110:count_end=20'd47774;//中音1的分频系数值8'b11111101:count_end=20'd42568;//中音2的分频系数值8'b11111011:count_end=20'd37919;//中音3的分频系数值8'b11110111:count_end=20'd35791;//中音4的分频系数值8'b11101111:count_end=20'd31888;//中音5的分频系数值8'b11011111:count_end=20'd28409;//中音6的分频系数值8'b10111111:count_end=20'd25309;//中音7的分频系数值8'b01111111:count_end=20'd23912;//高音1的分频系数值8'b01111110:count_end=20'd21282;//高音2的分频系数值8'b01111101:count_end=20'd18961;//高音3的分频系数值8'b01111011:count_end=20'h17897;//高音4的分频系数值8'b01110111:count_end=20'd15944;//高音5的分频系数值8'b01011111:count_end=20'd14205;//高音6的分频系数值8'b00111111:count_end=20'd12655;//高音7的分频系数值default:count_end=20'hfffff;endcaseendassign buzzout=buzzout_reg;assign led=~key_reg;//输出按键状态endmodule5.实验步骤(1)建立新工程项目:打开Quartus II软件,进入集成开发环境,点击File→New project wizard建立一个工程项目key_music。

基于FPGA的电子琴制作.[大全5篇]

基于FPGA的电子琴制作.[大全5篇]

基于FPGA的电子琴制作.[大全5篇]第一篇:基于FPGA的电子琴制作.基于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 电子琴的进一步改进计划附录Ⅰ 各个模块程序以及顶层原理图附录Ⅱ 内置音乐简谱第一章引言电子琴作为音乐与科技的产物,在电子化和信息化的时代,为音乐的大众化做出了很大的贡献,歌曲的制作大多数都要由电子琴来完成,然后通过媒介流传开来,电视剧和电影的插曲、电视节目音效、甚至你的手机铃声,都很可能包含电子琴的身影。

基于FPGA的简易电子琴的设计.doc

基于FPGA的简易电子琴的设计.doc

基于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的简易电子琴的设计学生姓名:学院:系别:专业:班级:指导教师:摘要我们都知道的当物体在振动或者在晃动的时候,能够发生声音。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

FPGA实验报告
题目:硬件电子琴电路设计
一.实验目的:学习利用数控分频器设计硬件电子琴实验。

二.实验原理及内容:主系统由3个模块组成,顶层设计文件中包含三个功能模块,和,。

模块ToneTaba是音阶发生器,当8位发声控制输入Index中某一位为高电平时,则对应某一音阶的数值将从端口Tone输出,作为获得该音阶的分频预置值;同时由Code 输出对应该音阶简谱的显示数码,如‘5’,并由High输出指示音阶高8度显示。

模块Speakera中的主要电路是一个数控分频器,它由一个初值可预置的加法计数器构成,当模块Speakera由端口Tone获得一个2进制数后,将以此值为计数器的预置数,对端口Clk12MHZ输入的频率进行分频,之后由Spkout向扬声器输出发声。

增加一个NoteTabs模块用于产生节拍控制(Index数据存留时间)和音阶选择信号,即在NoteTabs模块放置一个乐曲曲谱真值表,由一个计数器的计数值来控制此真值表的输出,而由此计数器的计数时钟信号作为乐曲节拍控制信号,从而可以设计出一个纯硬件的乐曲自动演奏电路。

图1 硬件电子琴电路结构
三.实验步骤.
1.在QUARTUSII软件下创建一工程,工程名为songer,芯片名为EP2C35F672C6;
2.输入数控分频器程序并命名为,保存与工程相同的文件夹中。

其功能仿真波形和时序仿真波形分别如下:
3.输入音阶发生器程序并命名为,保存与工程相同的文件夹中。

4.输入27分频程序并命名为,保存与工程相同的文件夹中。

5.输入50分频程序并命名为,保存与工程相同的文件夹中。

其功能仿真波形和时序仿真波形分别如下:
6.建立梁祝乐曲演奏数据的MIF文件。

WIDTH = 4 ; 入程序并命名为,保存与工程相同的文件夹中。

8.输入硬件演奏电路顶层设计文件并命名为,保存与工程相同的文件夹中。

9.锁定引脚后重编译并进行下载。

四.思考题.
1.电路上应该满足哪些条件,才能用数字器件直接输出的方波驱动扬声器发声
答:(1)输出的频率在扬声器的工作范围之内(扬声器的工作频率范围一般是能听见的声波);(2)驱动电流能够驱动扬声器。

2.如果演奏其他乐曲,程序应做哪些方面的改动
答:程序应将mif文件改掉以及ToneTaba和NoteTabs做一些响应的小改变。

五.实验报告要求:用仿真波形和电路原理图,详细叙述硬件电子琴的工作原理及其3个Verilog文件中相关语句的功能,叙述硬件实验情况。

答:(1)①在数控分频器模块中,在时钟上升沿触发always模块,如果count4>11,则使PreClk,Count4赋值为1,否则使PreClk赋值为0,Count4加1,用第一个always 模块产生的PreClk上升沿做触发条件,如果count11>11’h7FF,则使Count11赋值为Tone,FullSpkS赋值为1,否则使Count11加1,FullSpkS为0;第二个always模块产生的FullSpks上升沿做触发条件,每遇到一个上升沿让count2翻转一次,如果count2为1,扬声器发出声音,否则不发。

②在分频模块中,用27MHz分频产生占空比为50%的4Hz时钟,在27MHz时钟的上升沿
触发,如果count计数达到3374999,将count赋为0,并将Q2翻转,否则继续计数。

用50MHZ的输入频率接入并进行分频得。

③在NoteTabs模块中,用Clk上升沿或 reset下降沿做触发条件,如果reset为0,
则将计数器置0.当计数到138时,Counter清0,否则继续计数。

调用Music模块发音。

(2)原理:用mif文件将梁祝乐曲的曲谱、节拍和音调存储在内存中,再结合程序将乐谱的每一个值按一定频率、音调、节拍读出来,在DE2电路板上接扬声器便能听到有音乐出来,频率是我们利用分频模块设置的频率。

这是一个纯硬件的乐曲自动演奏电路。

(3)实验情况:将每个模块进行仿真,得到相应的波形图,与预想的结果一样,但顶层的设计必须与每个模块连接在一起,将程序下载到DE2板上后接上扬声器能听到很清楚且速度很适宜的梁祝音乐。

相关文档
最新文档