1、本科毕业论文(设计)论 文 题 目 : 基于 FPGA 的 PS2 键盘控制设计及仿真实现作者声明本毕业论文(设计)是在导师的指导下由本人独立撰写完成的,没有剽窃、抄袭、造假等违反道德、学术规范和其他侵权行为。对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。因本毕业论文(设计)引起的法律结果完全由本人承担。特此声明作者专业 : 通信工程作者学号 :作者签名 :年 月 日基于 FPGA 的 PS2 键盘控制设计及仿真实现The Design and Simulation Implementation of the PS2 Keyboard Control based o
2、n FPGA 2013 年 5 月 10 日- 1 -摘 要本文简述了 PS2 键盘的特点和工作原理,重点介绍了在 FPGA 上实现 PS2 键盘的结构设计和 VHDL 代码设计。PS2 键盘具有价格低、通用可靠,且连接线少 (仅使用 2 根信号线)的特点。并可满足多种系统的要求。FPGA(Field Programmable Gate Array)是一类高集成度的可编程逻辑器件,它结合EDA技术 以硬件描述语言、电路原理图、状机等形式输入设计逻辑;并提供功能模拟、时序仿真等模拟手段,再经过一系列的变换,将输入逻辑转换成FPGA器件所需的编程文件,以实现专用集成电路ASIC。应用FPGA 设计
3、PS2键盘控制器,不仅有硬件电路简单,更具灵活性,集成度高更容易移植等特点,更重要的是现代EDA(电子设计自动化)技术提供了一种很好的途径,利用VHDL硬件描述语言和FPGA器件可以很方便地构建键盘扫描模块。设计使得使用VHDL语言基于FPGA芯片实现PS2键盘成为研究的方向。本文对基于 VHDL 的 PS2 键盘实现进行了研究,并设计了 PS2 键盘。所做的主要工作为:(1)以 PS2 键盘控制的基本理论为依据,对其进行了详细的讨论。(2)本设计中采用了自上而下的层次化、模块化的设计思想,将整个接口划分为多个模块,同时利用 VHDL 语言的描述方法对各个功能模块进行了设计,最终完成了 PS2
4、键盘的系统设计。(3)运用 ISE 软件进行仿真。关键词: VHDL;PS2 键盘;ISE - 1 -AbstractThis paper describes the characteristics and working principle of PS2 keyboard, introduced in the structure of FPGA to realize the PS2 keyboard design and VHDL code design.PS2 keyboard has low price and reliable in general and less cables (U
5、SES only 2 signal lines). And can meet the requirements of a variety of systems.FPGA (Field Programmable Gate Array) is a kind of high level of integration of Programmable logic devices, it combined the technology of EDA with hardware description language (such as form input, circuit principle diagr
6、am, machine design logic; And provide the function simulation and timing simulation modeling technology, then after a series of transformation, which converts the input logic programming files needed for the FPGA device, in order to realize the special integrated circuit ASIC. PS2 keyboard controlle
7、r using FPGA design, not only the hardware circuit is simple, flexibility, high level of integration is more easy to transplant, more important is the modern EDA (electronic design automation) technology provides a good way, using the VHDL hardware description language and FPGA device can be easily
8、construct the keyboard scan module. Design makes use of VHDL language based on the FPGA chip to realize the PS2 keyboard become the direction of research.In this paper, the PS2 keyboard implementation based on VHDL are studied, and design the PS2 keyboard. The main work done as follows:(1) to the PS
9、2 keyboard control on the basis of the basic theory, and carries on the detailed discussion.(2) the design adopts the top-down hierarchical, modular design thought, will the whole interface is divided into several modules, at the same time, use of VHDL language description method of each function mo
10、dule design, finally completed a PS2 keyboard system design.(3) using ISE software simulation.Key words: VHDL; PS2 keyboard; ISE- 1 -目 录1 概 述 .11.1 本选题研究的目的及意义 .11.2 本选题国内外研究状况综述 .11.3 本选题研究的主要内容 .22 PS2 键盘的理论研究 .32.1 PS2 键盘的结构特点 .32.2 PS2 键盘的工作原理 .32.3 PS2 协议 .43 ISE 工具概述 .73.1 硬件描述语言 .73.2 ISE 使用方
11、法 .124 PS2 接口的设计 .164.1 模块结构设计 .164.2 VHDL 代码设计 .164.3 仿真验证 .17结 语 .18主要参考文献 .19附 录 .20附录 1 PS2 键盘接口程序设计 .20- 1 -1 概 述1.1 本选题研究的目的及意义现今生活中,随着社会的发展,各式各样的生活用品慢慢地走上了“智能” 的道路,越来越令人感觉到方便。这与一个优秀的人机交流界面密不可分。与此同时作为计算机最常用的输入设备的键盘也日新月异。1981 年 IBM 推出了 IBM PC/XT 键盘及其接口标准。该标准定义了 83 键,具 5 脚 DIN 连接器和简单的串行协议。采用我们现在
12、提及的作为第一套扫描码集然则它并没有主机到键盘的命令。为此,1984 年 IBM 推出了 IBM AT 键盘接口标准。该标准定义了 84101 键,与 PC 键盘不同的是它采用双向串行通讯协议,此协议采用第二套键盘扫描码集并设有 8 个主机到键盘的命令。到了 1987 年,IBM 又推出了 PS2 键盘接口标准。该标准仍旧定义了 84101 键的基础上采用 6 脚 mini-DIN 连接器,此连接器在封装上比 5 脚 DIN 连接器更小巧,仍然用双向串行通讯协议并且提供有可选择的第三套键盘扫描码集,同时支持 17 个主机到键盘的命令。现在,市面上的键盘都和PS2 及 AT 键盘兼容,只是功能不
13、同而已。在工业电子设备“ 智能化”和升级换代迅速的电路设计中,常常需要使用键盘,而使用标准 PS2 键盘则可简化设计。由于 FPGA 不仅可以用编写代码的方法实现复杂逻辑电路,而且其内部是由规则的逻辑阵列所组成的。因此利用 FPGA 设计键盘控制器,不仅使硬件电路简单,设计周期短而且编码过程比通用 MCU 比,更加简单易行。1.2 本选题国内外研究状况综述如果将 CPU 比作电脑的心脏,显示器比作电脑的脸,那么键盘就是电脑的嘴,是它实现了人和电脑的沟通。它作为嵌入式系统的常用人机接口设备,在嵌入式系统中有着广泛的应用。目前,无论是国外还是国内,各键盘制造厂商针对使用者对于键盘的功能性及使用舒适
14、度等需求,在设计上作了相当大的调整,就市场角度来看,键盘技术在可预期的几年内将朝着以下几个趋势发展:(1)USB 介面设计:USB(Universal Serial Bus)即为一种可联结 127 个装置的万用序列流排,同时支持 PC97 的一种外接标准,并成为目前电脑界最新的介面标准,因 USB介面能够提供更简单,更直接的联结方式,即插即用,可高速存取。据市场趋势显示,USB 已经发展为便于利用,增强功能及降低成本的标准。在 WinHEC 大会上,Microsoft总裁 Bill Gates 大力倡导 USB 的标准下,不仅 Intel 全部新型的主机板均支持 USB 而且几乎所有 PC 供
15、应商都致力于发展 USB 的系统,因此它被预测成为整个新型 PC 周边设备产品爆炸性创新的“催化剂“。(2)多媒体功能:键盘的设计已开始走向多媒体世界的舞台,它拥有操控多媒体周边设备的功能同时,使用者还可依自己的需求,自行设定所需的应用功能于功能键上。多媒体的市场正在快速发展中,键盘技术的发展也必将顺应着它的潮流而不断改进,面- 2 -对这种改进,有人说是把简单的键盘复杂化(因“热键“ 必须和软件的驱动程式相配合) 。也有人认为:聪明的键盘就该如此。(3)人体工学设计: 随着人们对于电脑的日趋依赖,逐渐衍生出了电脑症候群。针对此非必要性的伤害,市场上已逐渐出现并流行起号称符合人体工学原理的键盘
16、。PS2 键盘是 IBM 于 1987 年正式推出的,在整体设计上与 AT 键盘相差不大,更改的最多的可能是主机到键盘命令的增加。此外,PS2 键盘出人意料的使用一种古怪的扫描码。这使得它的兼容性大打折扣。正如大家所熟知的那样,PS2 系统并不流行,后来几乎没人再用了。到了 20 世纪中期,电子键盘代替了机械键盘,1936 年美国人 Dvorak 在QWERT 式键盘的基础上发明 Dvorak 键盘。在 20 世纪 70 年代,一位名为 Lilian Malt 的发明家又对 DVORAK 键盘作了进一步改进发明了 Malt 键盘。键盘的接口有 AT 接口、PS/2 接口和最新的 USB 接口,
17、高档的品牌机多采用 PS/2 接口,最早也是 IBM 公司的专利俗称“小口 ”,不过越来越多新型主板都开始提供 PS/2 键盘接口。虽然目前 USB 作为新兴的结构,一些公司迅速推出了 USB 接口的键盘,但 USB 接口只是一个卖点,对性能的提高收效甚微,可以说现在主流的还是 PS2 接口,因为它 价格低、通用可靠,且连接线少(仅使用 2 根信号线)并可满足多种系统的要求。1.3 本选题研究的主要内容PS/2 是较早电脑上常见的接口之一,用于鼠标,键盘等设备。虽然 IBM 的 PS/2 电脑在市场中失败了,但是 PS/2 接口一直沿用至今,键盘是嵌入式系统的重要输入设备,实现人机交互的重要途
18、径,随着标准 PS/2 键盘技术的不断成熟,在嵌入式系统中,用标准PS/2 键盘会越来与广泛。 由于 VHDL 所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,因此它成为 IC 设计验证的技术主流。利用 VHDL 通过模块组合可以实现特定的功能,所以对于标准 PS/2 键盘,用 VHDL 设计基于 FPGA 的标准 PS/2 键盘接口,实现了标准 PS/2 键盘到 NiosII 嵌入式 CPU 的数据单向通信。本文主要分为 5 章,章节安排如下: (1)绪论。主要介绍了开题的背景和研究意义,以及 PS2 键盘的国内外研究现状以及课题的研究内容和具体工作等。(2)
19、PS2 键盘的理论研究。主要介绍 PS2 键盘的基本知识以及其设计的基本方法。(3)ISE 工具概述。介绍了 VHDL 硬件语言及其设计方法、ISE 软件的运用等。 (4)PS2 键盘控制的设计 。介绍了 PS2 键盘控制 的设计的模块划分和 PS2 键盘控制的各模块的实现,并对 PS2 键盘控制设计进行了系统仿真和验证。(5)结语。主要介绍本论文中的优点和不足之处。- 3 -2 PS2 键盘控制的理论研究键盘是嵌入式系统的重要输入工具,是实现人机交互的重要手段之一。随着标准 PS2键盘技术的成熟和价格的不断下降,使得在嵌入式系统的设计中用标准的 PS2 键盘取代自制简易的扫描式矩阵式键盘成为
20、可能。现在主流的是 PS/2 接口,键盘和鼠标都可以使用 PS/2 接口,它内嵌自动去除按键抖动的设计自动地识别键的按下与释放,软硬件可发简便,价格便宜、稳定可靠,将 PS2 键盘作为嵌入式系统的输入设备已经成为可行的方案。2.1 PS2 键盘的结构特点 现在主流的是PS/2接口,即具有六脚mini-DIN 连接器的键盘则称之为PS/2键盘。PS/2 最初由IBM开发,它的连接端口只有四个脚有意义。 分别是第1脚DATA( 数据脚)、第3脚Ground(电源地 )、第4脚+5V(电源脚)和第5脚Clock( 时钟脚)。PS2引脚结构和外形如图2.1 所示:542316图2.1 PS/2硬件接口
21、外形图2.2 PS2 键盘工作原理 PS2键盘靠PC的PS2端口提供+5V电源,由于Clock(时钟脚)和DATA(数据脚)两个脚都是集电极开路的,则必须接大阻值的上拉电阻。一般上拉电阻设置在主设备中, 主从设备之间的数据通信采用双向同步方式传输, 时钟信号一般由从设备产生。它们平时一般保持高电平,并很容易下拉到地(逻辑0)任何连接到PS2键盘上的设备在时钟和数据线上都必须接大阻值的上拉电阻,有输出时才会被拉到低电平,之后会自动上浮到高电平。(即置“0”就把线拉低,置 “1”就把线上浮成高电平)。数据和时钟的一般接口结构如图2.2所示:各引脚定义为:1:Data 线 4:+5V 电源线2:未用
22、 5:Clock 线3:Ground 线 6:未用- 4 -MicrocntrollerABDC+ 5 VC l o c kD a t a图2.2 集电极开路PS2键盘通信协议履行一种双向同步串行协议。也就是说每次数据线上发送一位数据并且每在时钟线上发生一个脉冲就被读人,PS2 键盘可以发送数据到主机,而主机也可以发送数据到设备,但主机总是在总线上有优先权,因此它只需把时钟拉低就可抑制在任何时候来自于键盘的通讯。从键盘发送到主机的数据在时钟信号的下降沿当时钟从高变到低的时候被读取;从主机发送到键盘的数据在上升沿当时钟从低变到高的时候被读取;不论通讯的方向怎样键盘总是产生时钟信号,如果主机要发送
23、数据它必须首先告诉设备开始产生时钟信号,这个过程最大的时钟频率是33kHz 而且大多数设备工作在10 20kHz。2.3 PS2 协议PS/2协议是键盘与其他硬件通信时的一种双向半双工通信协议,键盘通过Data线向外发送数据,数据时钟由键盘产生,在协议中数据的传送格式为短帧格式,一般为11位,各位的含义如下图2.3所示:S t o pD 2 D 3 D 4 D 6 D 7 D 5 D 1 D 0 P a r i t y S t a rt图 2.3 数据帧的含义Start:起始位,总为0 (低电平)D0D7:8位数据位(低位在前,高位在后)Parity:奇偶校验位(为奇校验)Stop:停止位,总为 1(高电平)(1)设备到主机的通讯:C L O C KD A T ASTARTDATA0DATA1DATA2DATA3DATA4DATA5DATA6DATA7PARITYSTOP