华中科技大学 xilinx 课赛结合 基于BASYS2的电子琴设计实验报告.docx
- 文档编号:1121378
- 上传时间:2022-10-17
- 格式:DOCX
- 页数:64
- 大小:1.37MB
华中科技大学 xilinx 课赛结合 基于BASYS2的电子琴设计实验报告.docx
《华中科技大学 xilinx 课赛结合 基于BASYS2的电子琴设计实验报告.docx》由会员分享,可在线阅读,更多相关《华中科技大学 xilinx 课赛结合 基于BASYS2的电子琴设计实验报告.docx(64页珍藏版)》请在冰豆网上搜索。
华中科技大学xilinx课赛结合基于BASYS2的电子琴设计实验报告
硬件课程设计实验报告
课题:
基于BASYS2的电子琴设计
班级:
电信0907
作者:
刘睿
学号:
U200913771
指导老师:
龚军
课设评价:
课设成绩:
【摘要】
本项目要求设计并实现一个基于BASYS2的电子琴,利用BASYS2实验板的拨码开关实现电子琴相应功能的控制,电子琴的输出有两个声道,可独立输出。
该电子琴可外接PS2键盘,实现电子琴按键功能,同时外接VGA显示器实现电子琴的界面。
该电子琴还具有存储输入按键值并回放功能。
【关键词】:
FPGA、BASYS2、电子琴、PS/2、VGA
Abstract:
Thisprojectisaimedatdesigningan electricpianobasedonBASYS2.TheswitchontheBASYS2willcontrolthefunctionoftheelectricpiano.Thispianowithtwodifferentaudiochannel,canalsomemorythekeyswhichhavebeenpressedandreplaythem.ThispianocanbeconnectedtoaPS/2keyboard,whichplaysaroleofkeysofthepiano,andconnectedtoaVGAmonitor,whichcoulddisplaytheinterfaceofthepiano.
Keywords:
FPGA、BASYS2、ELECTRICPIANO、PS/2、VGA
1.项目描述
1.1.项目要求
本项目要求设计并实现一个基于BASYS2的电子琴,利用BASYS2实验板的拨码开关实现电子琴相应功能的控制,该电子琴可外接PS2键盘,实现电子琴按键功能,同时外接VGA显示器实现电子琴的界面。
该电子琴还具有存储输入按键值并回放功能,电子琴的输出有两个声道,可独立输出。
1.2.项目背景
本项目作为《硬件课程设计》课程的训练项目提出,在基本的设计实现基础上,将不断对已有的设计进行进一步的修改和完善,最终完成整个硬件和软件开发过程。
FPGA(Field-ProgrammableGateArray),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。
它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
目前以硬件描述语言(Verilog 或 VHDL)所完成的电路设计,可以经过简单的综合和布局,快速地烧录至FPGA上进行测试,是现代IC设计验证的技术主流。
这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。
在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块。
了解利用FPGA实现电子琴的基本原理,综合运用所学知识实现一个具有多个模块的模数混合系统,为后续课程学习和工作打下基础。
而且实现电子琴也十分有趣,能够加深电子系统在音乐艺术领域的应用。
1.3.开发工具简介
Basys2:
该开发板是围绕着一个XilinxSpartan-3EFPGA芯片和一个AtmelAT90USBUSB控制器搭建的,它提供了完整、随时可以使用的硬件平台,并且它适合于从基本逻辑器件到复杂控制器件的各种主机电路。
Basys2板上集成了大量的I/O设备和FPGA所需的支持电路,让您能够构建无数的设计而不需要其他器件。
ISE13.1_1:
ISE是使用XILINX的FPGA的必备的设计工具,它可以完成FPGA开发的全部流程,包括设计输入、仿真、综合、布局布线、生成BIT文件、配置以及在线调试等,功能非常强大。
ISE除了我们功能完整,使用方便外,它的设计性能也非常好,拿ISE9.x来说,其设计性能比其他解决方案平均快30%,它集成的时序收敛流程整合了增强性物理综合优化,提供最佳的时钟布局、更好的封装和时序收敛映射,从而获得更高的设计性能。
先进的综合和实现算法将动态功耗降低了10%。
DigilentAdept_v2-3-0:
为XILINX公司的Digilent开发板下载程序用的软件,能够将ISE生成的.bit文件烧写至FPGA中。
2.设计目标
基本功能:
1)具有使用数字键产生“1,2,3,4,5,6,7”对应音符的电子琴功能;
2)利用BASYS2实验板上的数码管实现电子琴当前按键发音音符的显示
扩展功能:
1)利用BASYS2实验板的拨码开关实现电子琴音调、音阶和幅度的调整或者其他的控制功能;
2)外接PS2键盘,实现电子琴按键功能;
3)通过VGA输出接口实现电子琴界面。
4)特定音乐的自动播放;
5)两声道独立输出;
6)存储历史按键值,并回放。
3.硬件描述
3.1开发板
本次硬件课设采用的是XILINX的BASYS2开发板,其结构如图1所示
图1
3.2显示器
显示器通过VGA接口与BASYS2开发板连接,可显示图形化界面,如图2
图2
3.3键盘
键盘通过PS/2接口与Basys2开发板相连,用作琴键功能,如图3所示
图3
4.软件描述
4.1.系统框图
图4系统组成框图
在上述系统组成框图中,没有连线的信号都是需要分配引脚的。
Keyboard模块的k_clock信号和k_data信号需要连接到PS/2键盘接口的时钟和数据引脚。
Speaker、adc、vgactr模块的时钟信号均要连接到50MHz标准时钟。
Vgactr模块的Rst信号和automusic模块的contrl1、contrl2、contrl3、recall信号,都是控制信号,需连接到外部的拨码开关。
Vgactr模块的输出信号需连接至开发板的BASYS2开发板的VGA接口,adc模块的输出信号连接至外部IO接口,该IO口再与AD扩展模块相连。
4.2.各模块的功能描述
本项目工程共分为7个模块,它们相互联系以共同完成电子琴的功能。
顶层模块为top,其余子模块有keyboard、automusic、tone、speaker、vgactr和adc模块。
4.2.1顶层模块(top)的设计
顶层模块由乐曲自动演奏(automusic)、键盘输入(keyboard)、音调发生器(tone)和分频器(speaker),显示器(vgactr)和数模转换(adc)六个模块组成。
图3.1即是顶层的原理框图。
乐曲可有键盘的按键输入,也可以内置的乐曲自动播放。
由于本次设计了双声道输出,可独立控制它们。
可通过外部三个控制信号contrl1、contrl2和contrl3来控制两个声道的不同输出组合。
另外recall信号可以控制会放功能。
4.2.2键盘模块(keyboard)的设计
由于接的是ps/2接口的键盘,所以该模块的第一个功能就是通过ps/2接口协议来读取键盘发送的数据。
当键盘不发送数据时,k_clock时钟一直为高。
在k_clock时钟的下降沿读取数据即可得到键盘发送的数据包。
该模块的第二个功能是通过解析得到的数据包,确定键盘的哪个键被按下,并把该键对应的音符编码信息送给out_data信号输出。
4.2.3自动演奏模块(automusic)的设计
自动演奏模块的主要作用就是产生音符流的信息。
其输出又recall、contrl1、contrl2和contrl3四个信号控制,其具体控制组合如下表1所示:
表1
Recall
Contrl1
Contrl2
Contrl3
输出
1
-
-
-
键盘存储的回放
0
0
0
0
键盘输入
0
0
0
1
键盘+伴奏
0
0
1
0
键盘+原曲
0
0
1
1
原曲
0
1
0
0
伴奏
0
1
1
1
原曲+伴奏
本模块还具有存储键盘输入值得功能,在该模块内开辟了一个数组,用于存储以前输入的按键值。
然后通过recall信号的控制可以将存储在该数组内的数据输出。
4.2.4音调发生器模块(tone)的设计
音调发生器的作用是根据输入的音符获得相应音符的分频系数。
由于在分频模块(speaker)中,会对50MHz的系统标准时钟进行分频,以产生对应音符频率的输出信号,所以在本模块需要产生相应的分频数。
因为分频模块为了所得较大的驱动能力,需要在信号输出之前对其进行2分频处理,所以这里产生的分频数应该考虑到这个2分频的存在。
4.2.5数控分频模块(speaker)的设计
该模块首先根据输入的分频数对系统标准的50MHz的时钟进行初步分频,然后再进行2分频得到方波震荡输出信号,该信号用于在adc模块中控制正弦波采样值得转换速率。
4.2.6数模转换模块(adc)的设计
该模块根据由speaker模块输入的方波震荡信号,按照方波的震荡频率不断将正弦波的采样值送给ADC扩展模块,进行数模转换。
4.2.7界面显示模块(vgactr)的设计
该模块将通过VGA接口在显示器上显示电子琴的界面。
界面的主要部分显示了21个琴键对应21个音符。
VGA协议需要我们不断的给VGA接口的规定引脚送信号,显示器根据这些信号实时地刷新屏幕。
该模块依照一个声道输出的音符编码值,会给VGA接口发送不同的信号,使屏幕出现不同的画面。
这样就可以达到当输出不同的音符时,显示器的相应琴键变红。
5.硬件设计
本项目的开发平台是BASYS2开发板,该开发板的核心是FPGA芯片,它还有很多的外围扩展接口或电路。
我们在本次设计中用到的接口主要有外部晶振,PS/2接口,VGA接口,IO扩展接口,拨码开关。
外部晶振可产生50MHz的标准时钟,它用于给内部各模块提供时钟基准,使它们有序地协调合作。
PS/2接口可连接至PS/2键盘,键盘作为电子琴的琴键功能,可通过键盘上的按键为电子琴输入不同的音符。
其对应关系如表2所示
表2
键名
Q
W
E
R
T
Y
U
音符
低音1
低音2
低音3
低音4
低音5
低音6
低音7
键名
1
2
3
4
5
6
7
音符
中音1
中音2
中音3
中音4
中音5
中音6
中音7
键名
A
S
D
F
G
H
J
音符
高音1
高音2
高音3
高音4
高音5
高音6
高音7
VGA接口可连接至VGA显示器,用于显示电子琴的界面,FPGA可通过向VGA接口信号不断地输出不同的数据,来控制显示器显示不同的画面。
拨码开关用于控制电子琴,可使其在不同的工作模式下切换。
IO扩展接口可以方便地连接外部的扩展模块,如DA模块和音频放大模块,从而扩展BASYS2开发板的功能。
图5即为完整的硬件连接电路。
图5
6.软件设计
6.1.设计原理
本项目不仅包含硬件的设计,还包含软件的设计。
软件的设计是采用VHDL语言,在ISE集成开发环境下编写完成。
整个流程主要包括Edit、Synthesize、I
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 华中科技大学 xilinx 课赛结合 基于BASYS2的电子琴设计实验报告 结合 基于 BASYS2 电子琴 设计 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)