




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本科生毕业论文(设计)题目基于FPGA的电脑键盘琴设计 姓名 汪文顺学号 0710703035 院系 物理工程学院 专业 通信工程指导教师 周子力职称 副教授2011年 5月10日曲阜师范大学教务处制目 录摘要1关键词1Abstract1Key words1引言1第一章研究意义及现状21.1 研究意义21.2 研究现状及方案比较21.3 研究内容2第二章 FPGA发展概述32.1 FPGA简介32.2 FPGA结构32.3 FPGA技术的应用现状32.4 FPGA的设计流程4第三章设计方案43.1 总体方案43.2 功能模块设计43.2.1 PS2通信模块43.2.2 电子琴模块63.2.3
2、LCD显示模块63.2.4 CD4051芯片83.2.5 水灯模块及多路选择模块83.3 软件系统结构原理图9第四章总结及使用说明94.1 总结94.2 使用说明10致谢11参考文献11基于FPGA的电脑键盘琴的设计通信工程专业学生汪文顺指导教师周子力摘要:通过FPGA技术来实现电子琴的设计,使用Verilog HDL语言而且采用电脑键盘来控制。首先FPGA是一种新型集成电路,具有高速率、标准化、小型化、多功能、低耗能、可无限反复编程等特点,使用FPGA可在较短的时间内完成一个电子系统的设计和制作,缩短了研制周期,达到快速上市和进一步降低成本的要求。其次用电脑键盘来控制的电子琴,肯定会给人以耳
3、目一新的感觉,而且随着电脑的普及程度越来越高,儿童也越来越早地接触并使用电脑。他们对电脑键盘熟悉度远超过电子琴黑白键,这就为用电脑键盘控制的电子琴的推广打下了良好的基础。关键词:FPGAVerilog HDL 电脑键盘电子琴The Design of Electronic OrganBased on FPGACommunication engineeringWangWenshunTutor ZhouZili Abstract:The electronicorgan is designed based on FPGA technology and use verilog HDL, it is c
4、ontrolled by computer keyboard. Firstlythe FPGA is a new type of integrated circuit,which has the characteristicof high rate, standardization, miniaturization, multi-function, the low consumption and unlimited repeated programming. Using itcan shortenthe period of time to complete a electronic syste
5、m, shorten the development cycle, achieve rapid listed and reduce the cost.Secondly, using a computer keyboard to control the keyboards will certainly give a person with refreshing, moreover with the increasing popularity of computer, children contact and use the computermuch earlier. They are more
6、familiar with the keyboards thanthe electronic organ.This has laid a well foundation for thepromotionof the electronic organcontrolled by computerkeyboard.Keywords:FPGA;Verilog HDL;Computer keyboard;the Electronic 引言随着硬件编程在社会各领域的发展应用, FPGA的应用逐步深入日常生活领域,带动着包括玩具、家电等的各类商业产品更新换代,极大地提高了电子电路及系统设计质量和效率。 本设
7、计是以北京中教仪装设备有限公司的EXCD-1为中心器件, 辅以电脑键盘、LCD 显示和电子琴电路等来设计电子琴系统,同时详细论述了电子琴的设计过程及关键技术。本次设计的最大新意是使用电脑键盘代替了传统的黑白键来控制传统的儿童电子琴,并且本次制作的的电子琴不但功能多样而且还增加了一些市场上电子琴所不具备的功能,这样既能使使用者练习键盘的使用又能在使用键盘时学习电子琴聆听音乐,提高其对音乐的鉴赏能力,为枯燥的键盘练习增加乐趣,提高使用者尤其是儿童的兴趣。第一章研究意义及现状1.1 研究意义电子琴是高科技在音乐领域运用的一个代表,它是古典文化与现代文明的一个浓缩体,是一种新型的键盘乐器。电子琴又称作
8、电子键盘,属于电子乐器(区别于电声乐器),发音音量可以自由调节。音域较宽,和声丰富,甚至可以演奏出一个管弦乐队的效果,表现力极其丰富。它还可模仿多种音色,甚至可以奏出常规乐器所无法发出的声音(如合唱声,风雨声,宇宙声等)。另外,电子琴在独奏时,还可随意配上类似打击乐音响的节拍伴奏,适合于演奏节奏性较强的现代音乐。电子琴还可以安装效果器,如混响、回声、延音,震音轮和调制轮等多项功能装置,表达各种情绪时运用自如。电子琴因其结构简单,价格适中,而广泛引用于各种领域,使用电子琴不但可以抒发感情,陶冶情操,而且能更好的体会生活的乐趣。另外,因其操作简单而备受儿童喜爱,广泛应用于儿童音乐启蒙的教育中。由于
9、其使用方法简单,所以备受孩童欢迎。它能够培养儿童的音乐情操,开发儿童的智商,增加童年的快乐感。而且随着计算机的发展,普及程度越来越高,儿童也越来越早地接触并使用电脑。由于其对电脑键盘的熟练程度比操作电子琴更高,所以如果设计出直接利用键盘来操控的电子琴,这会更加的吸引孩子的注意。更有利于简易电脑键盘电子琴的市场推广,再加上FPGA的种种优点,无疑会减低成本,更大程度的促进其销售,填补市场在该方面的空缺。1.2 研究现状及方案比较电子琴普遍应用黑白键来控制,更简单的则用矩阵键盘来控制。目前的电子琴设计方法大体上分两种:一种是基于单片机的电子琴设计8,单片机的缺点就是运行速度慢,存储能力也远不如FP
10、GA。所以若要设计出音效比较好的电子琴很困难。另一种基于RC正弦波振荡器的电子琴设计7。此法只能设计简易的电子琴,因为纯粹是用模拟电路设计。运用这种方法设计的电子琴不但功能简单,而且没有存储功能。这就大大限制了电子琴的各种功能的发挥。因此选择使用FPGA来设计电子琴,FPGA的优势在于:1)采用FPGA设计ASIC电路(专用集成电路),用户不需要投片生产,就能得到合用的芯片。2)FPGA可做其它全定制或半定制ASIC电路的中试样片。3)FPGA内部有丰富的触发器和I/O引脚。4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。5) FPGA采用高速CHMOS工艺,功耗低
11、,可以与CMOS、TTL电平兼容。而且EXCD-1开发板有5个扩展口,还有一个高速扩展接口,这为此次设计提供了良好的硬件条件。综上所述采用FPGA来完成此次的电子琴设计。1.3 研究内容本设计是以北京中教仪装设备有限公司的EXCD-1为中心器件, 辅以电脑键盘、 LCD 显示和电子琴电路等来设计电子琴系统,创新之处在于用电脑键盘控制电子琴,并且扩展了市场上电子琴不具备的功能,例如LCD显示功能、流水灯功能。设计使用的EXCD-1器件,板上资源丰富,它能够实现大量基于 FPGA 的数字系统。开发板采用 Xilinx Spartan 3E FPGA 器件,板上有各种输入输出设备,可以方便的设计具有
12、各种功能的数字系统,EXCD-1 开发板有 5 个扩展接口,可灵活的扩展各种功能模块,如数模转换模块,模数转换模块,LCD显示模块等。EXCD-1开发板含有PS2接口,可以方便的接入电脑键盘。电子琴电路通过EXCD-1自带的扩展板接入到EXCD-1板上。第二章FPGA发展概述2.1 FPGA简介FPGA(FieldProgrammable Gate Array),即现场可编程门阵列,它是在CPLD(复杂可编程逻辑器件)等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。目前以硬件
13、描述语言(Verilog 或 VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者一些更复杂的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flipflop)或者其他更加完整的记忆块。2.2 FPGA结构FPGA采用逻辑单元阵列(LCA),FPGA内部最主要的部件是Configurable Logic Block(可配置逻辑块)、Input/Output Block(输入/输出块)和
14、Block RAM(块RAM)。Configurable Logic Block是FPGA具有可编程能力的主要承担者。通过配置这些CLB可以让FPGA实现各种不同的逻辑功能。Input/Output Block分布在FPGA的周边,也具有可编程特性,可以配置支持各种不同的接口标准,如LVTTL、LVCMOS、PCI和LVDS等。BlockRAM是成块的RAM,可以在设计中用于存储数据,是设计的重要资源。在大规模设计选择FPGA时,RAM资源是否够用是重要的考虑因素。除了CLB、Input/Output Block和BlockRAM以外,FPGA还有很多其他的功能单元,例如布线资源、DCM(数字
15、时钟管理器)和Multiplier(乘法器)等。布线资源在FPGA内部占用硅片面积很大,为FPGA部件提供灵活可配的连接;DCM模块提供各种时钟资源,包括多种分频、移相后的时钟;Multiplier为18bit×18bit硬件乘法器,可以在一个时钟周期内完成乘法运算。2.3FPGA技术的应用现状自1985年Xilinx公司推出第一片现场可编程逻辑器件(FPGA)至今,FPGA已经历了二十几年的发展历史。在这些年的发展过程中,以FPGA为代表的数字系统现场集成技术取得了惊人的发展:现场可编程逻辑器件从最初的1200个可利用门,发展到90年代的25万个可利用门,乃至当新世纪来临之即,国际
16、上现场可编程逻辑器件的著名厂商Altera公司、Xilinx公司又陆续推出了数百万门的单片FPGA芯片,将现场可编程器件的集成度提高到一个新的水平。纵观现场可编程逻辑器件的发展历史,其之所以具有巨大的市场吸引力,根本在于:FPGA不仅可以解决电子系统小型化、低功耗、高可靠性等问题,而且其开发周期短、开发软件投入少、芯片价格不断降低,促使FPGA越来越多地取代了ASIC的市场,特别是对小批量、多品种的产品需求,使FPGA成为首选。目前,FPGA的主要发展动向是:随着大规模现场可编程逻辑器件的发展,系统设计进入"片上可编程系统"(SOPC)的新纪元;芯片朝着高密度、低压、低功耗
17、方向挺进;国际各大公司都在积极扩充其IP库,以优化的资源更好的满足用户的需求,扩大市场。特别是引人注目的所谓FPGA动态可重构技术的开拓,将推动数字系统设计观念的巨大转变。随着研发成本越来越昂贵,产品上市要求越来越快,架构要求越来越灵活,在这样的背景下,FPGA进入人们的视野,迎来自己的黄金时代:它承担起信号处理和数据运算的重要功能,在无线通讯、网络互联、汽车电子、消费电子、工业和医疗电子、图形处理、高性能运算等几乎所有的应用领域都可看到FPGA的身影。而且未来电子设计的方向是向专用集成芯片方向发展,因为FPGA可以很完美地实现ASIC的设计,又是可以现场编程调试,非常方便,FPGA芯片中还可
18、以嵌入IP软核、ARM芯片,实现单片机等其它一些MCU的功能。因此FPGA的应用肯定会越来越广泛。2.4FPGA的设计流程FPGA的设计流程采用自顶向下的层次化设计方法,即从整个系统的整体要求出发,自上向下的逐步将系统设计内容细化,即把整个系统分割为若干功能模块,最后完成整个系统的设计。具体是借助于专用软件用原理图、布尔表达式、硬件描述语言等方法生成相应的目标文件,最后用下载电缆下载到FPGA芯片中来实现功能。第三章设计方案3.1 总体方案本次设计主要分为硬件与软件两部分,硬件部分以北京中教仪装设备有限公司的EXCD-1为中心,加以外围LCD模块,电子琴模块。软件部分由ps2通信模块,多路选择
19、模块,流水灯模块,LCD显示模块,按键模块构成。设计使用的EXCD-1器件,板上资源丰富,它能够实现大量基于 FPGA 的数字系统。开发板采用 Xilinx Spartan 3E FPGA 器件,板上有各种输入输出设备,可以方便的设计具有各种功能的数字系统,EXCD-1 开发板有 5 个扩展接口,可灵活的扩展各种功能模块,如数模转换模块,模数转换模块,LCD显示模块等。EXCD-1开发板含有PS2接口,更加方便的接入脑键盘。电子琴电路通过EXCD-1自带的扩展板接入到EXCD-1板上。图1总体方案图3.2功能模块设计PS2通信模块PS2通信模块是本次设计的关键模块,主要功能是完成键盘按键的解码
20、。把键盘的按键扫描码转换为ASCII码。本模块分为两部分,一是分频模块Div_256,另一个是按键解码模块ps2_keyboard_interface.模块图如下:图2 ps2通信模块图如上图所示,mclk接口接EXCD-1中的时钟(50MHZ),reset接口为重置端,rx_ascii(7:0)直接输出按键对应的ASCII码值,ps2_clk、ps2_data分别为ps2键盘的时钟端口和数据端口。PS2 键盘使用两种串行总线(时钟和数据)和主设备进行通信。键盘使用 11 位的字,其中包括一个开始位、一个停止位,一个奇偶校验位和 8个数据位。键盘接口允许双向的数据传输(所以主设备能点亮键盘上的
21、状态灯) 。图 3给出了时序标准,表 1 给出了接口时序的参数表。图 3 PS/2 接口时序表 1接口时序的参数符号参数最小最大Tck时钟周期30us50usTsu数据到时钟的建立时间5us25usThld时钟到数据的保持时间5us只有当数据传输发生的时候,才驱动时钟和数据信号,否则它们保持空闲状态在高电平。时序定义了键盘和主设备的双向通信,可以用 FPGA 芯片来建立和键盘通信的接口时序。PS2 类型的键盘使用扫描码来表示按键数据,每个键分配一个扫描码;如果按键一直被按下,则扫描码每隔一段时间就会重新发送一次;按键释放时,“F0”码被送出,后面跟随一个释放按键的扫描码。键盘向主机发送 11
22、比特数据,包含一个0起始位,8 位扫描码,一个奇偶校验位、一个1停止位。按键对应的扫描码如图 4所示:图4 键对应的扫描码示意图如果要键入大写的“A”,必须先键入“Shift”键,然后按住“A”键,然后先释放“A”键,再释放“Shift”键。其他的类似按键输入方式亦是如此。电子琴模块本次设计采用儿童电子琴成品里面的电路,这样不但可以使音色效果更好,而且功能更多。主要是研究该电子琴的工作原理,然后把模拟开关更换为数字控制的开关。该部分主要是有3各部分的组成,其中共用部分是由8个焊点组成(命名为1、2、3、4、5、6、7、8),与另外4个焊点(命名为1、2、3、4)组合成32个黑白键;与另外的4个
23、焊点(命名为1、2、3、4)组合成29个功能键。表2示了电子琴功能键的控制分析,表3示了电子琴黑白键的控制分析。表2电子琴功能键的控制分析123456781华尔兹进行曲伦巴恰恰桑巴探戈摇摆摇滚2钢琴风琴小提琴曼陀林小号电颤琴吉他长笛3牛叫/踩镲鸟叫/低音鼓音量调节狗叫/吊镲鸭叫/小军鼓切换4单键演奏连唱放音录音点唱停止注:方格里面的内容是按键的功能;数字的含义已在电子琴模块的内容中有介绍。表3黑白键的控制分析123456781白键1黑键1白键2黑键2白键3黑键3白键4白键52黑键4白键6黑键5白键7白键8黑键6白键9黑键73白键10黑键8白键11白键12黑键9白键13黑键10白键144白键15
24、黑键11白键16黑键12白键17黑键13白键18白键19注:黑(白)键后面的数字是按所买电子琴的按键从左往右的顺序编的号,而且白键从1开始到19结束,黑键从1开始到13结束,黑白键单独编号,不互相交叉。LCD显示模块LCD模块的功能主要是开机时显示“欢迎使用电子琴汪文顺制作”从而使应用界面更加亲切。本次设计用的12232F是一种内置8192个16×16点汉字库和128个16×8点ASCII字符集图形点阵液晶显示器,它主要由行驱动器/ 列驱动器及128×32全点阵液晶显示器组成。可完成图形显示,也可以显示7.5×2个(16×16点阵)汉字.与外部
25、CPU接口采用并行或串行方式控制。模块如下图所示:clk端口为时钟端口,rst_n复位信号,cs、sclk、sid分别为模组片选端(高电平有效)、串行同步时钟(上升沿时读取SID数据)、串行数据输入端。图5 LCD显示模块模块控制芯片提供两套控制命令,基本指令与扩充指令。由于扩充指令未用到,所以省略不写。基本指令如下:表4指令表:(RE=0:基本指令)指 指 令 码功 能令RSR/WD7D6D5D4D3D2D1D0清除显示0000000001将DDRAM填满"20H",并且设定DDRAM的地址计数器(AC)到"00H"地址归位000000001X设定DD
26、RAM的地址计数器(AC)到"00H",并且将游标移到开头原点位置;这个指令不改变DDRAM 的内容显示状态开/关0000001DCBD=1: 整体显示 ONC=1: 游标ON B=1:游标位置反白允许进入点设定00000001I/DS指定在数据的读取与写入时,设定游标的移动方向及指定显示的移位游标或显示移位控制000001S/CR/LXX设定游标的移动与显示的移位控制位;这个指令不改变DDRAM 的内容 功能 设定00001DLXREXXDL=0/1:4/8位数据RE=1: 扩充指令操作RE=0: 基本指令操作 设定CGRAM 地址0001AC5AC4AC3AC2AC1A
27、C0设定CGRAM 地址 设定DDRAM 地址0010AC5AC4AC3AC2AC1AC0设定DDRAM 地址(显示位址)第一行:80H87H第二行:90H97H读取忙标志和地址01BFAC6AC5AC4AC3AC2AC1AC0读取忙标志(BF)可以确认内部动作是否完成,同时可以读出地址计数器(AC)的值写数据到RAM10数据将数据D7D0写入到内部的RAM (DDRAM/CGRAM/IRAM/GRAM)读出RAM的值11数据从内部RAM读取数据D7D0(DDRAM/CGRAM/IRAM/GRAM)3.2.4CD4051芯片采用CD4051芯片的作用是达到模拟开关转换为数字开关的目的,通过数字
28、信号来控制电子琴。CD4051是8通道数字控制模拟电子开关,具有低导通阻抗和很低的截止漏电流等特点。幅值为4.520V的数字信号可控制峰值至20V的模拟信号。例如,若VDD+5V,VSS0,VEE-13.5V,则05V的数字信号可控制-13.54.5V的模拟信号。这些开关电路在整个VDD-VSS和VDD-VEE电源范围内具有极低的静态功耗,与控制信号的逻辑状态无关。当INH输入端“1”时,所有的通道截止。三位二进制信号选通8通道中的一通道,可连接该输入端至输出。表5 显示了CD4051引脚说明,图5为CD4051引脚图。图6CD4051引脚图表5 CD4051引脚说明CD4051引脚功能说明引
29、脚号符号功能1 2 4 5 12 13 14 15IN/OUT输入/输出端9 10 11A B C地址端3OUT/IN公共输出/输入端6INH禁止端7VEE负电源8VSS数字信号接地端16VDD正电源注:本次设计中因为模拟信号的电压是3.7,所以采用6脚接地、16脚接+5V足以控制该信号。共使用了8个CD4051芯片,其各个的3脚分别于1、2、3、4、1、2、3、4相连接。水灯模块及多路选择模块流水灯模块的功能是使EXCD-1开发板上的LED按照所写的程序不停的变化,以增加使用电子琴时的乐趣及观赏性;而多路选择模块可以控制LED显示的内容,当控制键(sw)为高电平时显示流水灯,为低电平时显示所
30、按按键的ASCII码值。流水灯模块(led_variable)的输入端为clk接时钟信号,多路选择模块(mux)的输入端sw为控制端口(接开发板上的开关),led(7:0)连接8个LED灯。具体模块图如下:图7 流水灯模块(led_variable)及多路选择模块(mux)3.3软件系统结构原理图由下图可知时钟信号控制ps2通信模块、LCD显示模块、流水灯模块,而由ps2通信模块的输出信号俩控制各个电子琴按键模块的工作,即各模块的输出的电平高低。输出的电平控制CD4051工作,选择不同的焊点连接起来,即形成了类似于模拟开关的数字开关。而sw端口可控制LED的工作模式,选择电脑键盘按键的ASCI
31、I码输出还是流水灯输出。图8软件系统结构框图第四章 总结及使用说明4.1 总结本次设计的用键盘控制的电子琴的功能多样,主要功能有12首内存曲目,并且可以选择播放模式(点唱、连唱);8种音色;四种动物音效;四种鼓声;八种节奏;可以调节音量大小,控制节奏快慢;可以控制LED的显示(显示所按按键的ASCII码或流水灯);而且有单键演奏的功能。经过一次次的试验后终于把全部的电路焊接完成,过程中经历过几次失败,最大的失误就是烧坏了一个电子琴模块,主要原因是自己连接电源时太大意了,把电子琴的电源正负极短接了。这次设计的电子琴基本上实现了自己的意愿,但也有不足之处。电子琴做好后还发现了许多的问题,比如连续按
32、同一个键只有第一次工作,以后便不在工作。这就导致了调节音量与节奏的见不能正常工作;如果是不同模块控制的两个按键,连续按着两个键,会出现两个键都不工作的现象。另外一个解决方法就是所有的电子琴模块全部用软件来实现,这样就能解决本次设计的缺点。在做毕业设计期间,自己也学到了一些知识。电子设计大赛期间接触Verilog HDL,经过这次则更加深入了学习了这门语言。通过这次毕业设计发现许多问题,比如自己所掌握的知识远远不够实践的要求,只有不断的学习并把所学的知识用于实践才能更好的掌握知识。这样才能更好地促进个人的发展为将来步入社会打下良好而坚实的基础。4.2 使用说明打开EXCD-1开发板的开关然后再打开电子琴的开关即可,此时LCD循环显示“欢迎使用电子琴 汪文顺制作”十二个汉字。多路选择开关分配的端口为P43,其他的按键分配如下图所示:表6 功能键的分布!(华尔兹)(进行曲)#(伦巴)$(恰恰)%(桑巴)(探戈)&(摇摆)*(摇滚)F5(钢琴)F
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 罐装水包装设计原理与视觉传达考核试卷
- 豆类食品的烹饪技巧与风味考核试卷
- 小学生预防夏季传染病
- 免疫靶点药物治疗
- 网络游戏虚拟道具设计版权归属与市场拓展合作补充协议
- 物流包装设备采购与物流包装质量检测技术支持协议
- 直播平台虚拟礼物知识产权保护及广告投放协议
- 古建筑碳纤维加固施工与施工进度跟踪合同
- 家族企业员工忠诚协议与财富隔离及知识产权保护合同
- 理财市场风险控制补充协议
- 飞行区培训题库
- 项目部周例会制度
- 战略管理教学ppt课件(完整版)
- 云南锂电池项目可行性研究报告
- 体育科研方法试卷试题答案
- 《国家电网公司十八项电网反事故措施(试行)》实施细则
- 中国民主同盟入盟申请表(样表)
- 国家标准色卡电子版(WORD版图片)
- 9种基坑坍塌案例
- 《呼吸机的使用管理》PPT课件.ppt
- 儿童相声剧本43286
评论
0/150
提交评论