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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、基于FPGA的PS2键盘鼠标控制电子琴江西制造职业技术学院信息工程系08级毕 业论 文姓 名: 江 太 平 班 级: 通信电子 设计题目:基于FGA的S/2键盘鼠标控制电子琴 指导教师: 吴 康 二一一年五月第一章FPA简介1 FPA背景1. PA芯片结构1.3 FPGA的基本特点第二章 FPA工作原理21 查找表(LookUp-ale)的原理与结构2.2FPGA工作原理第三章 PS键盘通信3.1 PS2 背景3.2S2键盘通信3.3 VGA原理第四章 PS2键盘控制模型电子琴顶层电路的设计 4.1 PS键盘控制电子琴程序结论、参考文献第一章 F简介1.1 PA背景FPGA主要生产厂商 1、l

2、era 2、Xilix 3、Acl 、Lattic 其中Ater作为世界老牌可编程逻辑器件的厂家,是当前世界范围内市场占有率最大的厂家,它和Xili主要生产一般用途GA,其主要产品采用RA工艺。Ae主要提供非易失性FPG,产品主要基于反熔丝工艺和FH工艺。目前以硬件描述语言(Verlog 或 D)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FGA 上进行测试,是现代 C 设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AN、OR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPG里面,这些可编辑的元件里也包含记忆元件例如触发器(Fl

3、i-flp)或者其他更加完整的记忆块。 系统设计师可以根据需要通过可编辑的连接把FGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。一个出厂后的成品FPA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。 FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会提供便宜的但是编辑能力差的FPGA。因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的PG上完成的,然后将设计转移到一个类似于IC的芯片上。另外一种方法

4、是用CPLD(复杂可编程逻辑器件备)。 F采用了逻辑单元阵列LC(Logic ell Arra)这样一个概念,内部包括可配置逻辑模块LB(onfgrbl og Bok)、输出输入模块OB(It utput lock)和内部连线(nercne)三个部分。 1.2 FPGA芯片结构 目前主流的GA仍是基于查找表技术的,已经远远超出了先前版本的基本性能,并且整合了常用功能(如AM、时钟管理和DS)的硬核(ASIC型)模块。如图-1所示(注:图1只是一个示意图,实际上每一个系列的FA都有其相应的内部结构),FPG芯片主 要由6部分完成,分别为:可编程输入输出单元、基本可编程逻辑单元、完整的时钟管理、嵌

5、入块式AM、丰富的布线资源、内嵌的底层功能单元和内嵌专用硬件模块。 图1-1 FPGA芯片的内部结构 FA芯片的内部结构每个模块的功能如下: 1. 可编程输入输出单元(I) 可编程输入/输出单元简称I/O单元,是芯片与外界电路的接口部分,完成不同电气特性下对输入/输出信号的驱动与匹配要求,其示意结构如图1-2所示。 PA内的I/O按组分类,每组都能够独立地支持不同的I/O标准。通过软件的灵活配置,可适配不同的电气标准与/O物理特性,可以调整驱动电流的大小,可以改变上、下拉电阻。目前,IO口的频率也越来越高,一些高端的FPG通过DDR寄存器技术可以支持高达2bps的数据速率。 图1-2 典型的B

6、内部结构示意图 典型的IOB内部结构示意图外部输入信号可以通过IB模块的存储单元输入到FP的内部,也可以直接输入FPG 内部。当外部输入信号经过B模块的存储单元输入到FGA内部时,其保持时间(HodTme)的要求可以降低,通常默认为0。 为了便于管理和适应多种电器标准,FPGA的IO被划分为若干个组(an),每个bank的接口标准由其接口电压VCC决定,一个ak只能有 一种VCO,但不同bak的VCCO可以不同。只有相同电气标准的端口才能连接在一起,VCCO电压相同是接口标准的基本条件。可配置逻辑块() CLB是FPG内的基本逻辑单元。L的实际数量和特性会依器件的不同而不同,但是每个LB都包含

7、一个可配置开关矩阵,此矩阵由4或6个输入、一些 选型电路(多路复用器等)和触发器组成。 开关矩阵是高度灵活的,可以对其进行配置以便处理组合逻辑、移位寄存器或RAM。在Xilnx公司的FP器件中,CLB由多个(一般为个或个)相同的Sice和附加逻辑构成,如图1-3所示。每个CLB模块不仅可以用于实现组合逻辑、时序逻辑,还可以配置为分布式M和分布式ROM。 图3 典型的B结构示意图 典型的CLB结构示意图lice是Xlin公司定义的基本逻辑单位,其内部结构如图-4所示,一个Slice由两个4输入的函数、进位逻辑、算术逻辑、存储逻辑和函数复用器组成。算术逻辑包括一个异或门(XRG)和一个专用与门(M

8、ULAND),一个异或门可以使一个Slic实现2bit全加操作,专用与门用于提高乘法器的效率;进位逻辑由专用进位信号和函数复用器(MUXC)组成,用于实现快速的算术加减法操作;4输入函数发生 器用于实现输入LUT、分布式RA或16比特移位寄存器(irte-5系列芯片的Slie中的两个输入函数为6输入,可以实现6输入LT或 64比特移位寄存器);进位逻辑包括两条快速进位链,用于提高LB模块的处理速度。 图1 典型的4输入Slc结构示意图 典型的4输入Slic结构示意图3 数字时钟管理模块(DCM) 业内大多数FG均提供数字时钟管理(Xilinx的全部FGA均具有这种特性)。Xiix推出最先进的P

9、GA提供数字时钟管理和相位环路锁定。相位环路锁定能够提供精确的时钟综合,且能够降低抖动,并实现过滤功能。 4嵌入式块AM(RA) 大多数FPGA都具有内嵌的块RM,这大大拓展了FPGA的应用范围和灵活性。块RAM可被配置为单端口RAM、双端口RAM、内容地址存储器 (CAM)以及FIF等常用存储结构。RAM、IO是比较普及的概念,在此就不冗述。CAM存储器在其内部的每个存储单元中都有一个比较逻辑,写入 A中的数据会和内部的每一个数据进行比较,并返回与端口数据相同的所有数据的地址,因而在路由的地址交换器中有广泛的应用。除了块R,还可以将 F中的LUT灵活地配置成AM、ROM和IF等结构。在实际应

10、用中,芯片内部块M的数量也是选择芯片的一个重要因素。 单片块RM的容量为18k比特,即位宽为18比特、深度为124,可以根据需要改变其位宽和深度,但要满足两个原则:首先,修改后的容量(位宽深度)不能大于18k比特;其次,位宽最大不能超过6比特。当然,可以将多片块R级联起来形成更大的RAM,此时只受限于芯片内块RAM的数量,而不再受上面两条原则约束。 丰富的布线资源 布线资源连通FPGA内部的所有单元,而连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。FPGA芯片内部有着丰富的布线资源,根据工艺、长度、宽度和分布位置的不同而划分为类不同的类别。第一类是全局布线资源,用于芯片内部全局时钟和

11、全局复位/置位的布线;第二类是长线资源,用以完成芯片Bank间的高速信号和第二全局时钟信号的布线;第三类是短线资源,用于完成基本逻辑单元之间的逻辑互连和布线;第四类是分布式的布线资源,用于专有时钟、复位等控制信号线。 在实际中设计者不需要直接选择布线资源,布局布线器可自动地根据输入逻辑网表的拓扑结构和约束条件选择布线资源来连通各个模块单元。从本质上讲,布线资源的使用方法和设计的结果有密切、直接的关系。 6 底层内嵌功能单元 内嵌功能模块主要指LL(Delay Loceop)、LL(Peocked Loop)、D和U等软处理核(ofCoe)。现在越来越丰富的内嵌功能单元,使得单片FPGA成为了系

12、统级的设计工具,使其具备了软硬件联合设计的能力,逐步向SOC平台过渡。 LL和PL具有类似的功能,可以完成时钟高精度、低抖动的倍频和分频,以及占空比调整和移相等功能。Xinx公司生产的芯片上集成了DLL,Altera公司的芯片集成了PL,attic公司的新型芯片上同时集成了PL和DL。P 和DLL可以通过IP核生成的工具方便地进行管理和配置。DL的结构如图-所示。 图1-典型的DLL模块示意图 典型的L模块示意图7 内嵌专用硬核 内嵌专用硬核是相对底层嵌入的软核而言的,指FPG处理能力强大的硬核(Har Cre),等效于IC电路。为了提高PG性能,芯片生产商在芯片内部集成了一些专用的硬核。例如

13、:为了提高FPG的乘法速度,主流的FPGA 中都集成了专用乘法器;为了适用通信总线与接口标准,很多高端的FPGA内部都集成了串并收发器(SEDES),可以达到数十Gbps的收发速度。 Xinx公司的高端产品不仅集成了PowerPC系列CU,还内嵌了DSPCore模块,其相应的系统级设计工具是EDK和Plafom Studio,并依此提出了片上系统(ytem Chi)的概念。通过PwerPC、iroblaze、icoae等平台,能够开发标准的S处理器及其相关应用,达到SOC的开发目的。 13 FPG的基本特点FPGA的基本特点:1)采用FPGA设计AI电路(专用集成电路),用户不需要投片生产,就

14、能得到合用的芯片。 2)FPGA可做其它全定制或半定制SC电路的中试样片。 3)FPGA内部有丰富的触发器和O引脚。 4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。 5) PGA采用高速CHOS工艺,功耗低,可以与COS、T电平兼容。 可以说,FPA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。 PGA是由存放在片内RM中的程序来设置其工作状态的,因此,工作时需要对片内的RA进行编程。用户可以根据不同的配置模式,采用不同的编程方式。 加电时,FPA芯片将EPRM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FG恢复成白片,内部逻辑关

15、系消失,因此,FPGA能够反复使用。FGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PRO编程器即可。当需要修改FA功能时,只需换一片POM即可。这样,同一片FGA,不同的编程数据,可以产生不同的电路功能。因此,P的使用非常灵活。 FPGA配置模式FPA有多种配置模式:并行主模式为一片PGA加一片EPRM的方式;主从模式可以支持一片P编程多片FPG;串行模式可以采用串行POM编程FPG;外设模式可以将PGA作为微处理器的外设,由微处理器对其编程。 如何实现快速的时序收敛、降低功耗和成本、优化时钟管理并降低FP与PCB并行设计的复杂性等问题,一直是采用FP的系统设计工程师需要考虑的

16、关键问题。如今,随着FGA向更高密度、更大容量、更低功耗和集成更多IP的方向发展,系统设计工程师在从这些优异性能获益的同时,不得不面对由于FPGA前所未有的性能和能力水平而带来的新的设计挑战。 例如,领先A厂商Xlnx最近推出的Virtex-5系列采用nm工艺,可提供高达3万个逻辑单元、,20个I/O和大量硬P块。超大容量和密度使复杂的布线变得更加不可预测,由此带来更严重的时序收敛问题。此外,针对不同应用而集成的更多数量的逻辑功能、DSP、嵌入式处理和接口模块,也让时钟管理和电压分配问题变得更加困难。 幸运地是,FPG厂商、DA工具供应商正在通力合作解决5nm FA独特的设计挑战。不久以前,n

17、pict与Xinx宣布成立超大容量时序收敛联合工作小组,旨在最大程度地帮助系统设计工程师以更快、更高效的方式应用65nm FG器件。设计软件供应商Mama推出的综合工具Bast FPA能帮助建立优化的布局,加快时序的收敛。 最近FGA的配置方式已经多元化!第二章FPA工作原理FPGA工作原理PGA采用了逻辑单元阵列LCA(Logic Cel Array)这样一个概念,内部包括可配置逻辑模块CLB(onfigrabe oicBoc)、输出输入模块O(Inuutut Boc)和内部连线(Interconne)三个部分。 . 查找表(ook-UpTable)的原理与结构采用这种结构的PL芯片我们也可

18、以称之为PGA:如altea的ACEX,PX系列,xilinx的Stan,Virtex系列等。查找表(Lok-Tbl)简称为T,LUT本质上就是一个RM。目前FPGA中多使用4输入的LUT,所以每一个UT可以看成一个有4位地址线的16x的RA。当用户通过原理图或HL语言描述了一个逻辑电路以后,PLD/GA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。下面是一个4输入与门的例子,实际逻辑电路LUT的实现方式a,b,c,输入逻辑输出地址RAM中存储的内容00000000010010.0

19、.11111111一.基于查找表(LUT)的PA的结构我们看一看xilin paI的内部结构,如下图:xiinx SprtanII 芯片内部结构Slies结构Saran-II主要包括LBs,I/O块,M块和可编程连线(未表示出)。在prtan-中,一个C包括2个lcs,每个slics包括两个LUT,两个触发器和相关逻辑。 Sice可以看成是prnII实现逻辑的最基本结构 (xlin其他系列,如SatanXL,tex的结构与此稍有不同,具体请参阅数据手册)atera的LE/ACX等芯片的结构如下图:alraFLX/AEX 芯片的内部结构逻辑单元(E)内部结构LEX/AEX的结构主要包括LB,IO

20、块,RM块(未表示出)和可编程行/列连线。在FLEX/CX中,一个A包括8个逻辑单元(LE),每个LE包括一个LU,一个触发器和相关的相关逻辑。E是FEX/ACEX芯片实现逻辑的最基本结构(ltera其他系列,如PEX的结构与此基本相同,具体请参阅数据手册)二.查找表结构的FPG逻辑实现原理我们还是以这个电路的为例:,B,C,D由FPGA芯片的管脚输入后进入可编程连线,然后作为地址线连到到LUT,LUT中已经事先写入了所有可能的逻辑结果,通过地址查找到相应的数据然后输出,这样组合逻辑就实现了。该电路中D触发器是直接利用LUT后面D触发器来实现。时钟信号CK由IO脚输入后进入芯片内部的时钟专用通

21、道,直接连接到触发器的时钟端。触发器的输出与I/O脚相连,把结果输出到芯片管脚。这样D就完成了图3所示电路的功能。(以上这些步骤都是由软件自动完成的,不需要人为干预)这个电路是一个很简单的例子,只需要一个LUT加上一个触发器就可以完成。对于一个T无法完成的的电路,就需要通过进位逻辑将多个单元相连,这样FPA就可以实现复杂的逻辑。由于LUT主要适合SRM工艺生产,所以目前大部分PGA都是基于SAM工艺的,而SRAM工艺的芯片在掉电后信息就会丢失,一定需要外加一片专用配置芯片,在上电的时候,由这个专用配置芯片把数据加载到GA中,然后FPGA就可以正常工作,由于配置时间很短,不会影响系统正常工作。也

22、有少数PA采用反熔丝或Flah工艺,对这种FPGA,就不需要外加专用的配置芯片。第三章2键盘通信 S背景2背景PS/2接口是目前最常见的鼠标接口,最初是IBM公司的专利,俗称“小口”。这是一种鼠标和键盘的专用接口,是一种6针的圆型接口。但鼠标只使用其中的4针传输数据和供电,其余2个为空脚。PS接口的传输速率比CM接口稍快一些,而且是AX主板的标准接口,是目前应用最为广泛的鼠标接口之一,但仍然不能使高档鼠标完全发挥其性能,而且不支持热插拔。在BT主板规范中,这也是即将被淘汰掉的接口。 需要注意的是,在连接PS接口鼠标时不能错误地插入键盘PS/2接口(当然,也不能把PS键盘插入鼠标P2接口)。一般

23、情况下,符合PC9规范的主板,其鼠标的接口为绿色、键盘的接口为紫色,另外也可以从PS/接口的相对位置来判断:靠近主板B的是键盘接口,其上方的是鼠标接口。PS2设备有主从之分,主设备采用Feml插座,从设备采用ae插头,现在广泛实用的PS键盘鼠标均在从设备方式下工作。P2接口的时钟与数据线都是集电极开路结构。主从设备之间数据通信采用双向同步串行方式传输,时钟信号由从设备产生。a.从设备到主设备的通信当从设备向主设备发送数据时,首先检查时钟线,以确认时钟线是否为高电平。如果是高电平,从设备就可以开始传输数据;反之,从设备要等待获得总线的控制权,才能开始传输数据。传输的每一帧由11位组成,发送时序及

24、每一位的含义如图所示。每一帧数据中开始位总是为0,数据校验采用奇校验方式,停止位始终为1。从设备到主设备通信时,从设备总是在时钟线为高时改变数据线状态,主设备在时钟下降沿读入数据线状态。如表所示:.2 PS2键盘通信目前,键盘有许多种,PS2键盘是当今P机最常用的种类,这里仅涉及最常用的键盘,也就是6引脚发送数据的键盘。键盘通信时需要四根连接线:电源线、地线、时钟线CK、数据线AA。ATA和CLK是可双向通信的IO线,也就是说,通过这两根线,即可以把主机的数据发送到P2设备,又可以把设备的数据发向主机。在无键按下时,AT和L一直处于高电平状态。但有键按下时,键盘先检查C,看它是否处于处于高电平

25、,如果是处在低电平,说明主机无空闲接受数据,这时键盘将会把数据放在自己的缓冲区,直到CLK重新被拉高。键盘CLK首先产生下降沿,这时已在数据线上产生信号,如:起始位总是为0,之后每一个时钟周期时钟电平为高时数据线上加将要输出的电平,在时钟的下降沿它将被主机读取。3VG原理扫描是从屏幕的左上方开始的,从左到右、从上到下地进行扫描。每扫描完一行,电子束就会回到屏幕左边下一行的起始位置。在这期间,CRT对电子束进行消隐。每行结束时,用行同步信号进行行同步。扫描完所有行后,用场同步信号进行场同步,并使扫描回到屏幕的左上方,同时进行场消隐,预备下一次的扫描。PS2键盘控制模型电子琴顶层电路的设计如图所示

26、,该图是电子琴顶层设计电路。按实现功能电路主要分成这几个模块:1)锁相环、用宏模块搭建的22位.2位24位计数器、用Veilg写的时钟分频模块fdi:1提供2MHz的时钟信号驱动VGA显示2与4位计数器结合提供1Hz给数字时钟用以计时3与2位计数器结合提供Mz给CNT18与rm_qpu以控制节奏4与2位计数器结合提供MHz给nt0b以控制RAM的地址5与fdi结合提供1MH给PEAK2)模块S2_2:S通信模块,将键盘输出码转换为ASII码,只处理字母3)二进制编码器CDE3:根据键盘码的ASCII码,用verog写高、中、低三个音阶的分别对应的键盘字母代码,与F_COE模块相对应,以此来扩大

27、音域4)模块F_CD:1模块F_E的功能首先是为模块SPE提供决定所发音符的分频预置数,而此数在SKR输入口停留的时间即为此音符的节拍长度。2同时,F_CDE把CDE中音符的代码转化为音符频率所对应的数值3与模块ECL结合显示音符43.0显示,1,2表示高、中、低三个音阶5)模块DCL7S:段译码显示模块,在数码管上显示1,2,3,4,,6,7音符6)模块:与模块cnt1b结合记录弹奏的乐曲7)模块O:与模块cnt38结合可自动播放储存的音乐8)模块hing:可记录弹奏时间9) 模块VA:显示按键的位置,当音乐响时同步显示对应的音的键盘位置10)模块SPK输出每一个音符的音调1)模块UX21选

28、择播放RA中的音乐或M中的储存音乐第四章 PS2键盘控制电子琴(VH)41 S键盘控制电子琴程序共分为DIV、分频模块,PS2键盘控制模块,muic发音模块,one音符分频模块,spk发声模块。ibray IEEE;use IEETDOGIC_14.ALL;use IEE.TD_OC_ARIH.AL;ueIEEESTD_OGI_NSINED.L;- Ucommet t fllwi irary declarati ifinstaniatin- any Xilin prmitives in tiscde.-rryUS;-usNISIM.Compnens.al;enitDiv i PORT(clk50mz:INSTD_GIC; -输入时钟为50MHZ; c0: U TD_LOGC;c1: OUT SD_LOGI);EN iv1;acitectue art of Di1 isgiD1: PRES(lk_50mh) -工作进程开始,将50H时钟0分频,=H;VARIABLE ount:IEGER RANE TO 50; GN(l_50hz EVEN

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

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