基于FPGA的音乐演奏电路的设计

以下是资料介绍,如需要完整的请充值下载. 本资料已审核过,确保内容和网页里介绍一致.  
无需注册登录,支付后按照提示操作即可获取该资料.
资料介绍:

基于FPGA的音乐演奏电路的设计(任务书,开题报告,论文12700字)
摘 要
本文设计并实现了一个基于FPGA的电子琴,将PS/2键盘当做电子琴的键盘,利用Basys3的拨码开关实现相应控制功能的选择,有三个模式供选择:手动弹奏模式、自动演奏模式、录音与回放模式。手动弹奏模式下,当按下键盘上的键时,蜂鸣器发出相应音符的声音;自动弹奏模式下,自动播放事先存储的音符;录音与回放模式下,录音使能端有效时,记录按下的键对应的音符,回放使能端有效时,存储的音符将被全部回放出来。本设计在软件平台vivado、硬件平台basys3上进行设计,并对主要模块进行了仿真。用到的主要设计方法是数控分频技术及音符编码的思想。除此之外,本设计利用了verilog语言并发执行的优势和FPGA(现场可编程门阵列)自顶向下的工程设计方法,大大提高了设计效率。
关键词:FPGA  Basys3  vivado  verilog  PS/2键盘

The design of perform system based on FPGA
Abstract
The design of an electronic piano based on FPGA is presented in this paper.The design uses keys of  a PS/2 keyboard as piano keys and uses basys3 dip switches to select appropriate control function.  There are  three modes  to be choosed in this system:manually play mode,  auto play mode,  recording and playback  mode. In manually play mode,  when you press the key on the keyboard, the buzzer will play the sound of corresponding notes.In the auto play mode, notes stored in advance will be played automatically . In the recording and playback  mode,  musical  notes of pressed keys  will be recorded if the recording switch be  enabled, and all the notes storaged will be  playbacked if  the playback  switch  be enabled.The design  is implemented on the software platform vivado and hardware platform basys3 , and the main  modules  will be  simulated. The main methods  used  in the design is the numerical control frequency technology and the idea of note coding. Additionally, this design  take  advantage  of  verilog  language’s  concurrent  execution  and FPGA’s  ( Field-Programmable  Gate  Array)  top-down  engineering  design method ,which greatly improves the design efficiency.
Key Words: FPGA;Basys3;vivado;verilog;PS/2 keyboard
 

基于FPGA的音乐演奏电路的设计
基于FPGA的音乐演奏电路的设计


目  录
摘 要    II
ABSTRACT    III
第一章  引言    1
1.1 研究背景及国内外研究现状    1
1.2 研究意义及前景    2
1.3 软硬件平台介绍    2
1.3.1 软件平台vivado    2
1.3.2 硬件平台basys3    2
1.4 研究思路和技术方法    4
第二章  设计目标及思路    5
2.1 设计目标    5
2.2 设计框图    6
2.3 硬件描述    6
2.3.1键盘    6
2.3.2蜂鸣器    9
2.4 各模块的功能描述及详细设计    10
2.4.1 时钟模块(clkdiv)    12
2.4.2 控制模块(controll)    16
2.4.3 键盘模块(keyboard)    17
2.4.4 弹奏模块(play)    22
2.4.5 自动播放模块(autoplay)    24
2.4.6 录音与回放模块(music_store)    27
2.4.7 音符编码选择模块(select)    36
2.4.8 扬声器模块(speaker_driver)    37
2.5 整体框图    40
第三章 系统调试    40
3.1 设计结果    40
3.2 调试中遇到的问题及解决方案    41
3.2.1 如何实现键盘按键按下弹起后扬声器不再发出响声    41
3.2 如何解决重复几次存储与回放后回放存储内容不一致的问题    42
3.3 存储与回放模块中的电路设计规范问题    51
结语    54
参考文献    55
致谢    57
附录    57