ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:204.84KB ,
资源ID:8418774      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8418774.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于FPGA的PS2键盘鼠标控制电子琴.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于FPGA的PS2键盘鼠标控制电子琴.docx

1、基于FPGA的PS2键盘鼠标控制电子琴基于FPGA的PS2键盘鼠标控制电子琴毕 业 论 文姓 名: 江 太 平 班 级: 08通信电子 设计题目:基于FPGA的PS/2键盘鼠标操纵电子琴 指导教师: 吴 康 二一一年五月名目第一章FPGA简介1.1 FPGA背景1.2 FPGA芯片结构1.3 FPGA的差不多特点第二章 FPGA工作原理2.1 查找表Look-Up-Table)的原理与结构2.2 FPGA工作原理第三章 PS2键盘通信3.1 PS2 背景3.2 PS2键盘通信3.3 VGA原理第四章 PS2键盘操纵模型电子琴顶层电路的设计 4.1 PS2键盘操纵电子琴程序结论、参考文献第一章

2、FPGA简介1.1 FPGA背景FPGA要紧生产厂商1、Altera 2、Xilinx 3、Actel 4、Lattice 其中Altera作为世界老牌可编程逻辑器件的厂家,是当前世界范畴内市场占有率最大的厂家,它和Xilinx要紧生产一样用途FPGA,其要紧产品采纳RAM工艺。Actel要紧提供非易失性FPGA,产品要紧基于反熔丝工艺和FLASH工艺。 目前以硬件描述语言Verilog 或 VHDL所完成的电路设计,能够通过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。这些可编辑元件能够被用来实现一些差不多的逻辑门电路比如AND、OR、XOR、NOT

3、或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含经历元件例如触发器Flipflop或者其他更加完整的经历块。 系统设计师能够依照需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就看起来一个电路试验板被放在了一个芯片里。一个出厂后的成品FPGA的逻辑块和连接能够按照设计者而改变,因此FPGA能够完成所需要的逻辑功能。 FPGA一样来说比ASIC专用集成芯片的速度要慢,无法完成复杂的设计,而且消耗更多的电能。然而他们也有专门多的优点比如能够快速成品,能够被修改来改正程序中的错误和更廉价的造价。厂商也可能会提供廉价的然而编辑能力差的FPGA。因为这

4、些芯片有比较差的可编辑能力,因此这些设计的开发是在一般的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。另外一种方法是用CPLD复杂可编程逻辑器件备。FPGA采纳了逻辑单元阵列LCALogic Cell Array如此一个概念,内部包括可配置逻辑模块CLBConfigurable Logic Block、输出输入模块IOBInput Output Block和内部连线Interconnect三个部分。 1.2 FPGA芯片结构目前主流的FPGA仍是基于查找表技术的,差不多远远超出了先前版本的差不多性能,同时整合了常用功能如RAM、时钟治理和DSP的硬核ASIC型模块。如图1-1所

5、示注:图1-1只是一个示意图,实际上每一个系列的FPGA都有其相应的内部结构,FPGA芯片主 要由6部分完成,分别为:可编程输入输出单元、差不多可编程逻辑单元、完整的时钟治理、嵌入块式RAM、丰富的布线资源、内嵌的底层功能单元和内嵌专用硬件模块。 图1-1 FPGA芯片的内部结构 FPGA芯片的内部结构每个模块的功能如下: 1 可编程输入输出单元IOB 可编程输入/输出单元简称I/O单元,是芯片与外界电路的接口部分,完成不同电气特性下对输入/输出信号的驱动与匹配要求,其示意结构如图1-2所示。 FPGA内的I/O按组分类,每组都能够独立地支持不同的I/O标准。通过软件的灵活配置,可适配不同的电

6、气标准与I/O物理特性,能够调整驱动电流的大小,能够改变上、下拉电阻。目前,I/O口的频率也越来越高,一些高端的FPGA通过DDR寄存器技术能够支持高达2Gbps的数据速率。 图1-2 典型的IOB内部结构示意图 典型的IOB内部结构示意图外部输入信号能够通过IOB模块的储备单元输入到FPGA的内部,也能够直截了当输入FPGA 内部。当外部输入信号通过IOB模块的储备单元输入到FPGA内部时,其保持时刻Hold Time的要求能够降低,通常默认为0。 为了便于治理和适应多种电器标准,FPGA的IOB被划分为假设干个组bank,每个bank的接口标准由其接口电压VCCO决定,一个bank只能有

7、一种VCCO,但不同bank的VCCO能够不同。只有相同电气标准的端口才能连接在一起,VCCO电压相同是接口标准的差不多条件。 2 可配置逻辑块CLB CLB是FPGA内的差不多逻辑单元。CLB的实际数量和特性会依器件的不同而不同,然而每个CLB都包含一个可配置开关矩阵,此矩阵由4或6个输入、一些 选型电路多路复用器等和触发器组成。 开关矩阵是高度灵活的,能够对其进行配置以便处理组合逻辑、移位寄存器或RAM。在Xilinx公司的FPGA器件中,CLB由多个一样为4个或2个相同的Slice和附加逻辑构成,如图1-3所示。每个CLB模块不仅能够用于实现组合逻辑、时序逻辑,还能够配置为分布式RAM和

8、分布式ROM。 图1-3 典型的CLB结构示意图 典型的CLB结构示意图Slice是Xilinx公司定义的差不多逻辑单位,其内部结构如图1-4所示,一个Slice由两个4输入的函数、进位逻辑、算术逻辑、储备逻辑和函数复用器组成。算术逻辑包括一个异或门XORG和一个专用与门MULTAND,一个异或门能够使一个Slice实现 2bit全加操作,专用与门用于提高乘法器的效率;进位逻辑由专用进位信号和函数复用器MUXC组成,用于实现快速的算术加减法操作;4输入函数发生 器用于实现4输入LUT、分布式RAM或16比特移位寄存器Virtex-5系列芯片的Slice中的两个输入函数为6输入,能够实现6输入L

9、UT或 64比特移位寄存器;进位逻辑包括两条快速进位链,用于提高CLB模块的处理速度。 图1-4 典型的4输入Slice结构示意图 典型的4输入Slice结构示意图3 数字时钟治理模块DCM 业内大多数FPGA均提供数字时钟治理Xilinx的全部FPGA均具有这种特性。Xilinx推出最先进的FPGA提供数字时钟治理和相位环路锁定。相位环路锁定能够提供精确的时钟综合,且能够降低抖动,并实现过滤功能。 4 嵌入式块RAMBRAM 大多数FPGA都具有内嵌的块RAM,这大大拓展了FPGA的应用范畴和灵活性。块RAM可被配置为单端口RAM、双端口RAM、内容地址储备器 CAM以及FIFO等常用储备结

10、构。RAM、FIFO是比较普及的概念,在此就不冗述。CAM储备器在其内部的每个储备单元中都有一个比较逻辑,写入 CAM中的数据会和内部的每一个数据进行比较,并返回与端口数据相同的所有数据的地址,因而在路由的地址交换器中有广泛的应用。除了块RAM,还能够将 FPGA中的LUT灵活地配置成RAM、ROM和FIFO等结构。在实际应用中,芯片内部块RAM的数量也是选择芯片的一个重要因素。 单片块RAM的容量为18k比特,即位宽为18比特、深度为1024,能够依照需要改变其位宽和深度,但要满足两个原那么:第一,修改后的容量位宽 深度不能大于18k比特;其次,位宽最大不能超过36比特。因此,能够将多片块R

11、AM级联起来形成更大的RAM,现在只受限于芯片内块RAM的数量,而 不再受上面两条原那么约束。 5 丰富的布线资源 布线资源连通FPGA内部的所有单元,而连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。FPGA芯片内部有着丰富的布线资源,依照工艺、长度、宽度和分布位置的不同而划分为类不同的类别。第一类是全局布线资源,用于芯片内部全局时钟和全局复位/置位的布线;第二类是长线资源,用以完成芯片 Bank间的高速信号和第二全局时钟信号的布线;第三类是短线资源,用于完成差不多逻辑单元之间的逻辑互连和布线;第四类是分布式的布线资源,用于专有时钟、复位等操纵信号线。 在实际中设计者不需要直截了当选

12、择布线资源,布局布线器可自动地依照输入逻辑网表的拓扑结构和约束条件选择布线资源来连通各个模块单元。从本质上讲,布线资源的使用方法和设计的结果有紧密、直截了当的关系。 6 底层内嵌功能单元 内嵌功能模块要紧指DLLDelay Locked Loop、PLLPhase Locked Loop、DSP和CPU等软处理核SoftCore。现在越来越丰富的内嵌功能单元,使得单片FPGA成为了系统级的设计工具,使其具备了软硬件联合设计的能力,逐步向SOC平台过渡。 DLL和PLL具有类似的功能,能够完成时钟高精度、低抖动的倍频和分频,以及占空比调整和移相等功能。Xilinx公司生产的芯片上集成了 DLL,

13、Altera公司的芯片集成了PLL,Lattice公司的新型芯片上同时集成了PLL和DLL。PLL 和DLL能够通过IP核生成的工具方便地进行治理和配置。DLL的结构如图1-5所示。 图1-5 典型的DLL模块示意图 典型的DLL模块示意图7. 内嵌专用硬核 内嵌专用硬核是相对底层嵌入的软核而言的,指FPGA处理能力强大的硬核Hard Core,等效于ASIC电路。为了提高FPGA性能,芯片生产商在芯片内部集成了一些专用的硬核。例如:为了提高FPGA的乘法速度,主流的FPGA 中都集成了专用乘法器;为了适用通信总线与接口标准,专门多高端的FPGA内部都集成了串并收发器SERDES,能够达到数十

14、Gbps的收发速度。 Xilinx公司的高端产品不仅集成了Power PC系列CPU,还内嵌了DSP Core模块,其相应的系统级设计工具是EDK和Platform Studio,并依此提出了片上系统System on Chip的概念。通过PowerPC、Miroblaze、Picoblaze等平台,能够开发标准的DSP处理器及其相关应用,达到SOC的开发目 的。 1.3 FPGA的差不多特点FPGA的差不多特点:1采纳FPGA设计ASIC电路(专用集成电路),用户不需要投片生产,就能得到合用的芯片。 2FPGA可做其它全定制或半定制ASIC电路的中试样片。 3FPGA内部有丰富的触发器和IO

15、引脚。 4FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。 5) FPGA采纳高速CHMOS工艺,功耗低,能够与CMOS、TTL电平兼容。 能够说,FPGA芯片是小批量系统提高系统集成度、可靠性的最正确选择之一。 FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户能够依照不同的配置模式,采纳不同的编程方式。 加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA复原成白片,内部逻辑关系消逝,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通

16、用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。如此,同一片FPGA,不同的编程数据,能够产生不同的电路功能。因此,FPGA的使用专门灵活。 FPGA配置模式FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从模式能够支持一片PROM编程多片FPGA;串行模式能够采纳串行PROM编程FPGA;外设模式能够将FPGA作为微处理器的外设,由微处理器对其编程。 如何实现快速的时序收敛、降低功耗和成本、优化时钟治理并降低FPGA与PCB并行设计的复杂性等问题,一直是采纳FPGA的系统设计工程师需要考虑的关键问题。现在,随着FPGA向更高密

17、度、更大容量、更低功耗和集成更多IP的方向进展,系统设计工程师在从这些优异性能获益的同时,不得不面对由于FPGA前所未有的性能和能力水平而带来的新的设计挑战。 例如,领先FPGA厂商Xilinx最近推出的Virtex-5系列采纳65nm工艺,可提供高达33万个逻辑单元、1,200个I/O和大量硬IP块。超大容量和密度使复杂的布线变得更加不可推测,由此带来更严峻的时序收敛问题。此外,针对不同应用而集成的更多数量的逻辑功能、DSP、嵌入式处理和接口模块,也让时钟治理和电压分配问题变得更加困难。 幸运地是,FPGA厂商、EDA工具供应商正在通力合作解决65nm FPGA专门的设计挑战。不久往常,Sy

18、nplicity与Xilinx宣布成立超大容量时序收敛联合工作小组,旨在最大程度地关心系统设计工程师以更快、更高效的方式应用65nm FPGA器件。设计软件供应商Magma推出的综合工具Blast FPGA能关心建立优化的布局,加快时序的收敛。 最近FPGA的配置方式差不多多元化!第二章 FPGA工作原理FPGA工作原理FPGA采纳了逻辑单元阵列LCALogic Cell Array如此一个概念,内部包括可配置逻辑模块CLBConfigurable Logic Block、输出输入模块IOBInput Output Block和内部连线Interconnect三个部分。 2.1 查找表Look

19、-Up-Table)的原理与结构采纳这种结构的PLD芯片我们也能够称之为FPGA:如altera的ACEX,APEX系列,xilinx的Spartan,Virtex系列等。查找表Look-Up-Table)简称为LUT,LUT本质上确实是一个RAM。目前FPGA中多使用4输入的LUT,因此每一个LUT能够看成一个有4位地址线的16x1的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA开发软件会自动运算逻辑电路的所有可能的结果,并把结果事先写入RAM,如此,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。下面是一个4输入与门的例

20、子,实际逻辑电路LUT的实现方式a,b,c,d 输入逻辑输出地址RAM中储备的内容00000000000001000010.0.01111111111一.基于查找表LUT)的FPGA的结构我们看一看xilinx Spartan-II的内部结构,如以下图:xilinx Spartan-II 芯片内部结构Slices结构Spartan-II要紧包括CLBs,I/O块,RAM块和可编程连线未表示出。在spartan-II中,一个CLB包括2个Slices,每个slices包括两个LUT,两个触发器和相关逻辑。 Slices能够看成是SpartanII实现逻辑的最差不多结构 (xilinx其他系列,如

21、SpartanXL,Virtex的结构与此稍有不同,具体请参阅数据手册altera的FLEX/ACEX等芯片的结构如以下图:altera FLEX/ACEX 芯片的内部结构逻辑单元LE内部结构FLEX/ACEX的结构要紧包括LAB,I/O块,RAM块未表示出和可编程行/列连线。在FLEX/ACEX中,一个LAB包括8个逻辑单元LE,每个LE包括一个LUT,一个触发器和相关的相关逻辑。LE是FLEX/ACEX芯片实现逻辑的最差不多结构(altera其他系列,如APEX的结构与此差不多相同,具体请参阅数据手册二.查找表结构的FPGA逻辑实现原理我们依旧以那个电路的为例:A,B,C,D由FPGA芯片

22、的管脚输入后进入可编程连线,然后作为地址线连到到LUT,LUT中差不多事先写入了所有可能的逻辑结果,通过地址查找到相应的数据然后输出,如此组合逻辑就实现了。该电路中D触发器是直截了当利用LUT后面D触发器来实现。时钟信号CLK由I/O脚输入后进入芯片内部的时钟专用通道,直截了当连接到触发器的时钟端。触发器的输出与I/O脚相连,把结果输出到芯片管脚。如此PLD就完成了图3所示电路的功能。以上这些步骤差不多上由软件自动完成的,不需要人为干预那个电路是一个专门简单的例子,只需要一个LUT加上一个触发器就能够完成。关于一个LUT无法完成的的电路,就需要通过进位逻辑将多个单元相连,如此FPGA就能够实现

23、复杂的逻辑。由于LUT要紧适合SRAM工艺生产,因此目前大部分FPGA差不多上基于SRAM工艺的,而SRAM工艺的芯片在掉电后信息就会丢失,一定需要外加一片专用配置芯片,在上电的时候,由那个专用配置芯片把数据加载到FPGA中,然后FPGA就能够正常工作,由于配置时刻专门短,可不能阻碍系统正常工作。也有少数FPGA采纳反熔丝或Flash工艺,对这种FPGA,就不需要外加专用的配置芯片。第三章 PS2键盘通信3.1 PS2背景PS2背景PS/2接口是目前最常见的鼠标接口,最初是IBM公司的专利,俗称小口。这是一种鼠标和键盘的专用接口,是一种6针的圆型接口。但鼠标只使用其中的4针传输数据和供电,其余

24、2个为空脚。PS/2接口的传输速率比COM接口稍快一些,而且是ATX主板的标准接口,是目前应用最为广泛的鼠标接口之一,但仍旧不能使高档鼠标完全发挥其性能,而且不支持热插拔。在BTX主板规范中,这也是立即被剔除掉的接口。 需要注意的是,在连接PS/2接口鼠标时不能错误地插入键盘PS/2接口因此,也不能把PS/2键盘插入鼠标PS/2接口。一样情形下,符合PC99规范的主板,其鼠标的接口为绿色、键盘的接口为紫色,另外也能够从PS/2接口的相对位置来判定:靠近主板PCB的是键盘接口,其上方的是鼠标接口。PS2设备有主从之分,主设备采纳Female插座,从设备采纳Male插头,现在广泛有用的PS2键盘鼠

25、标均在从设备方式下工作。PS2接口的时钟与数据线差不多上集电极开路结构。主从设备之间数据通信采纳双向同步串行方式传输,时钟信号由从设备产生。a.从设备到主设备的通信当从设备向主设备发送数据时,第一检查时钟线,以确认时钟线是否为高电平。假如是高电平,从设备就能够开始传输数据;反之,从设备要等待获得总线的操纵权,才能开始传输数据。传输的每一帧由11位组成,发送时序及每一位的含义如图2所示。每一帧数据中开始位总是为0,数据校验采纳奇校验方式,停止位始终为1。从设备到主设备通信时,从设备总是在时钟线为高时改变数据线状态,主设备在时钟下降沿读入数据线状态。如表1所示:3.2 PS2键盘通信目前,键盘有许

26、多种,PS2键盘是当今PC机最常用的种类,那个地点仅涉及最常用的键盘,也确实是6引脚发送数据的键盘。键盘通信时需要四根连接线:电源线、地线、时钟线CLK、数据线DATA。DATA和CLK是可双向通信的I/O线,也确实是说,通过这两根线,即能够把主机的数据发送到PS2设备,又能够把设备的数据发向主机。在无键按下时,DATA和CLK一直处于高电平状态。但有键按下时,键盘先检查CLK,看它是否处于处于高电平,假如是处在低电平,说明主机无闲暇同意数据,这时键盘将会把数据放在自己的缓冲区,直到CLK重新被拉高。键盘CLK第一产生下降沿,这时已在数据线上产生信号,如:起始位总是为0,之后每一个时钟周期时钟

27、电平为高时数据线上加将要输出的电平,在时钟的下降沿它将被主机读取。3.3 原理扫描是从屏幕的左上方开始的,从左到右、从上到下地进行扫描。每扫描完一行,电子束就会回到屏幕左边下一行的起始位置。在这期间,CRT对电子束进行消隐。每行终止时,用行同步信号进行行同步。扫描完所有行后,用场同步信号进行场同步,并使扫描回到屏幕的左上方,同时进行场消隐,预备下一次的扫描。PS2键盘操纵模型电子琴顶层电路的设计如下图,该图是电子琴顶层设计电路。按实现功能电路要紧分成这几个模块:1)锁相环、用宏模块搭建的22位.23位.24位计数器、用Verilog写的时钟分频模块fdiv:1提供25MHz的时钟信号驱动VGA

28、显示2与24位计数器结合提供1Hz给数字时钟用以计时3与23位计数器结合提供2MHz给CNT138T与rom_qupu以操纵节奏4与22位计数器结合提供4MHz给cnt10b以操纵RAM的地址5与fdiv结合提供1MHz给SPEAK2)模块PS2_2:PS2通信模块,将键盘输出码转换为ASCII码,只处理字母3)二进制编码器CODE3:依照键盘码的ASCII码,用verilog写高、中、低三个音阶的分别对应的键盘字母代码,与F_CODE模块相对应,以此来扩大音域4)模块F_CODE:1模块F_CODE的功能第一是为模块SPKER提供决定所发音符的分频预置数,而此数在SPKER输入口停留的时刻即

29、为此音符的节拍长度。2同时,F_CODE把CODE3中音符的代码转化为音符频率所对应的数值3与模块DECL7S结合显示音符4H3.0显示0,1,2表示高、中、低三个音阶5)模块DECL7S:7段译码显示模块,在数码管上显示1,2,3,4,5,6,7音符6)模块RAM:与模块cnt10b结合记录弹奏的乐曲7)模块ROM:与模块cnt138b结合可自动播放储存的音乐8)模块shizhong:可记录弹奏时刻9) 模块VGA:显示按键的位置,当音乐响时同步显示对应的音的键盘位置10模块SPEAK输出每一个音符的音调11模块MUX21选择播放中的音乐或中的储存音乐第四章 PS2键盘操纵电子琴VHDL4.

30、1 PS2键盘操纵电子琴程序共分为DIV1、DIV2分频模块,PS2键盘操纵模块,music发音模块,tone音符分频模块,spk发声模块。library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;- Uncomment the following library declaration if instantiating- any Xilinx primitives in this code.-library UNISIM;-use UNISIM.VComponents.all;entity Div1 is PORT(clk_50mhz: IN STD_LOGIC; -输入时钟为50MHZ; c0: OUT STD_LOGIC;c1: OUT STD_LOGIC); END Div1;architecture art of Div1 isbeginD1: PROCESS(clk_50mhz) -工作进程开始,将50MHZ时钟50分频,=1MHZ;VARIAB

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1