硬件课程设计报告--基于Basys2的多功能电子琴

这篇博客详细介绍了基于Basys2开发板的多功能FPGA电子琴设计,包括通过PS2接口接收高、中、低音阶的21个音符,自动播放预存歌曲,VGA接口显示音阶和音符等功能。博主主要负责PS2键盘输入模块和自动回放功能的实现,同时参与VGA模块的测试。博客中详细解析了PS2协议、键盘模块设计、录音回放模块以及VGA模块的工作原理和代码实现,展示了项目成果和开发过程中的收获。
摘要由CSDN通过智能技术生成

注:工程代码见Github:多功能电子琴功能源代码


项目描述

1.1 项目简介

本项目基于Digilent公司的Basys2开发板,利用verilog语言实现一个FPGA电子琴。该电子琴能够通过PS2接口外接键盘输入高、中、低3个音阶21个音符,在弹奏音乐时,在7端数码管上会输出相应音符符号,该电子琴还能自动播放存放在内部的音乐,同时还能通过VGA接口在LCD显示音阶和音符名称,此外,此电子琴还具有录音回放功能。

1.2 项目背景

本项目是华中科技大学2013年电子信息工程系《硬件课程设计》项目之一,基于Digilent公司的Basys2开发板,利用Basys2板的板载扩展接口,自行设计硬件模块连接图,通过verilog语言用FPGA来实现各硬件模块功能以及各模块的逻辑连接。

FPGAFieldProgrammable Gate Array),即现场可编程门阵列,它是在PALGALCPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

目前以硬件描述语言(Verilog 或 VHDL)所完成的电路设计,可以经过简单的综合和布局,快速地烧录至FPGA 上进行测试,是现代 IC 设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如ANDORXORNOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flipflop)或者其他更加完整的记忆块。

目前,电子产品在我们的生活中扮演着越来越重要的作用,电子琴作为一个简单的电子产品,利用FPGA来实现一个简单的多功能电子琴,一方面可以让我们在硬件设计方面能力得到提高,也可以让我们看到硬件设计在我们生活中作用。通过这个多功能电子琴的设计,也让我对音乐有更多的了解。

1.3 开发环境

1.3.1 Basys2开发板


该开发板是围绕着一个Xilinx Spartan-3E FPGA芯片和一个Atmel AT90USB USB控制器搭建的,它提供了完整、随时可以使用的硬件平台,并且它适合于从基本逻辑器件到复杂控制器件的各种主机电路。Basys2板上集成了大量的I/O设备和FPGA所需的支持电路,让您能够构建无数的设计而不需要其他器件。

我们项目中基本用到Basys2基本所有的板载I/O资源,拨码开关、按钮、led7端数码管基本板载I/O设备,利用PS2接口外接键盘,VGA接口外接液晶显示器,Pmod外接双通道功放音响。

1.3.2 ISE Design Suite14.2集成开放环境

ISE是使用XILINXFPGA的必备的设计工具,它可以完成FPGA开发的全部流程,包括设计输入、仿真、综合、布局布线、生成BIT文件、配置以及在线调试等,功能非常强大。

由于我们没有烧写IP核,只用到ISE Design Suite14.2的基本功能。基本开发流程就是,设计总体模块连接图,定义好模块完成的功能和输入输出,引脚分配,在ISE中编辑verilog源文件,然后综合,布局布线,生成BIT文件,必要时进行仿真验证。

1.3.3 Adept烧写工具

AdeptDigilent公司为Basys2板子开发的开发板下载程序,通过USB下载线将ISE生成的BIT问价烧写到Basys2板上。

完成功能

1. 高、中、低3个音阶21个音符通过PS2键盘输入弹奏音乐

2. 自动播放预存歌曲,预存曲目4

3. 弹奏时七段数码管显示相应音阶和音符

4. 弹奏时VGA连接LCD显示相应音阶和音符,不弹奏时显示一幅钢琴吐

5. 录音和回放功能,提供时长8秒的录音时间

6. 双声道独立输出,可以边弹奏,边伴奏

7. 自行设计了音频输出电路,在面包板上自行通过元器件设计了一个简单的音响功放

软硬件模块详解

我在项目小组中,主要负责PS2键盘输入模块和自动回放功能的实现,同时负责VGA显示的测试工作,协助整体系统负责人赵子平完成一些整体测试和细节的测试工作。

3.1 PS2模块详解

3.1.1 PS2协议

Ø 物理接口

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值