基于FPGA的标准PS-2键盘接口电路设计概要_第1页
基于FPGA的标准PS-2键盘接口电路设计概要_第2页
基于FPGA的标准PS-2键盘接口电路设计概要_第3页
基于FPGA的标准PS-2键盘接口电路设计概要_第4页
基于FPGA的标准PS-2键盘接口电路设计概要_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、引言键盘是嵌入式系统的最重要的输入设备之一,是实现人机交互的重要途径。设计者除了可以自行设计扫描式矩阵键盘之外,还可以选择标准PS/2键盘实现人机交互。扫描式矩阵键盘虽然电路简单,但不具有通用性,当需要使用较多的按键输入时,则会占用较多的I /O 端口,在软件上则要进行上电复位、按键扫描及通信的处理,而且还要加上按键的去抖动处理,增大了系统软、硬件的开销,开发周期较长1。标准PS /2键盘由于接口通信协议简单,在系统中占用软硬件资源少,高可靠性,表达信息量大而得到了越来越广泛的应用2。本文根据标准PS/2键盘的通信时序,用硬件描述语言Verilog HDL 设计了基于FPGA 的标准PS/

2、2键盘接口,通过本设计接口,完成把键盘按键扫描码转换成字符ASCII 码过程,成功实现了标准PS/2键盘到NiosII 嵌入式CPU 的数据单向通信。本设计具有较好的通用性和可移植性,可取代自行设计扫描式矩阵键盘而用于嵌入式系统设计中。二、标准PS/2键盘物理接口的定义及其连接图1为标准PS/2键盘mini-DIN 连接器,标准PS/2键盘是通此连接器与外设相连接,其中,第1脚为Data(数据,第5脚为Clock(时钟,第3脚接地,第4脚接电源(5伏,第2与6脚保留。因标准PS/2键盘输出脚是采用集电极开路设计,因此,标准PS/2键盘与接口相连时,输出要接一个上拉电阻方可使用,如图2所示。脚1

3、Data 脚2保留脚3接地脚4接电源脚5Clock 脚6保留图1标准PS/2键盘mini-DIN 连接器图2标准PS/2键盘与接口的连接三、标准PS/2键盘数据输出通信协议3图3为标准PS/2键盘数据输出短帧格式,当PS/2键盘要发数据时,首先要检查Clock 时钟脚的电压情况,如电压为低电平,则表示主机抑制了通信,如电压为高电平,PS/2键盘获得发送数据的控制权。首先发送短帧数据格式的起始位(低电平,然后才发送数据(低位先发送,跟着发送奇校验位,最后才发送帧数据格式的停止位。当时钟为高电平时,改变数据,在时钟的下降沿时,PS/2键盘把数据锁存在Data 数据线上。图3标准PS/2键盘数据输出

4、短帧格式南宁师范高等专科学校学报2009年第3期JOURNAL OF NANNING TEACHERS COLLEGE 第26卷(总第66期 基金项目:广西壮族自治区教育厅科研项目,项目编号:LX382。收稿日期:2009-05-10作者简介:杨秀增(1975-,男,湖南怀化人,广西民族师范学院物信系讲师,主要研究方向为嵌入式系统设计与应用;黎运宇(1974-,男,湖南张家界人,广西民族师范学院物信系助教,主要研究方向为机械电子。基于FPGA 的标准PS/2键盘接口电路设计杨秀增,黎运宇(广西民族师范学院物理与信息技术系,广西龙州摘要:键盘是嵌入式系统的重要的输入设备,是实现人机交互的重要的手

5、段之一,随着标准PS/2键盘技术成熟和价格不断下降,在嵌入系统的设计中,用标准PS/2键盘取代自制简易的扫描式矩阵式键盘成为可能。关键词:PS/2键盘;FPGA ;Verilog HDL 中图分类号:IP331.1文献标识码:A 文章编号: 1008-696X(-0129-03129四、标准PS/2键盘扫描码现阶段的标准PS/2键盘是以第二套扫描码向外设传送信息的,扫描码有通码与断码两种类型。当键盘被按下或连续被按下时,键盘被接通,此时键盘发送通码或连续发送通码;当松开键盘的按键时,才发送断码。根据键盘按键扫描码的不同,在此可将按键分为如下几类:4第一类按键:通码为1字节,断码为0xF0+通码

6、形式。如A键,其通码为0x1C,断码为0xF00x1C。第二类按键:通码为2字节0xE0+0xXX形式,断码为0xE0+0xF0+0xXX形式。如right ctrl键,其通码为0xE00x14,断码为0xE00xF00x14。第三类特殊按键有两个,print screen键通码为0xE00x120xE00x7C,断码为0xE00xF00x7C 0xE00xF00x12;pause键通码为0x E10x140x77 0xE10xF00x140xF00x77,断码为空。本文只利用了标准PS/2键盘的第一类按键扫描码,并且只利用了扫描码的断码。五、标准PS/2键盘接口电路的FPGA实现利用硬件描述

7、语言,对标准PS/2键盘数据输出短帧时序进行描述,其Verilog HDL语言源代码如下:module keyb_module(iclk0,/输入时钟iclk,/键盘Clockidata,/键盘odata,/ASCII码数据req,/握手信号输出reset/握手信号复位输入;input iclk,iclk0,idata;reset;output reg req;output reg70odata;reg30state;reg70mreg;reg mreg0,mrege,mregt;reg mclk;wire70modata;/*分频*/ reg50cont0;always(posedge ic

8、lk0cont0=cont0+1;/*对时钟信号进行整形*/ always(posedge cont05if(!iclkmclk=0;elsemclk=1;/*对输入idata信号进行采样(3次*/ reg30stat0;reg m20;reg md;always(posedge cont05if(!mclkcase(stat00begin m0=idata;stat0=1;end1:begin m1=idata;stat0=2;end2:begin m2=idata;stat0=3;end3:begin if(m0=m1&m0=m2begin md= m2;stat0=0;endelse s

9、tat0=0;enddefault:stat0=0;endcase/*接收数据帧*/ always(posedge mclkbegincase(state0:begin mreg0=idata;state=1;mrege=0;end1:begin if(!mreg0begin state=2;mreg0=md; endelse state=0;end2:begin mreg1=md;state=3;end3:begin mreg2=md;state=4;end4:begin mreg3=md;state=5;end5:begin mreg4=md;state=6;end6:begin mreg

10、5=md;state=7;end7:begin mreg6=md;state=8;end8:begin mreg7=md;state=9;end9:begin mregt=md;state=10;end10:begin if mrege=md;state=0;enddefault:state=0;endcaseendassign modata=(mrege?mreg:8hzz;130Design of FPGA-based Standard PS/2Keyboard Interface CircuitYANG Xiu-zheng,LI Yun-yu(Department of Physics

11、and IT,Guangxi Normal University for Nationalities,Longzhou,Guangxi ,ChinaAbstract:Keyboard is the key input part in embedded system and also the key mean of human-computer interaction.Given the acceptable technology and price,it is possible to replace the scanning matrix keyboard with standard PS/2

12、keyboard.Key words :PS/2keyboard;FPGA;Verilog HDL(责任编辑:何明智责任校对:彭金云/*ASCII 码编码,只对键盘的数字键起作用*/always(posedge cont05or posedge resetif(resetodata=0;else if(mregecase(modata8h70:odata=8h30;/08h69:odata=8h31;/18h72:odata=8h32;/28h7A:odata=8h33;/38h6B:odata=8h34;/48h73:odata=8h35;/58h74:odata=8h36;/68h6C:o

13、data=8h37;/78h75:odata=8h38;/88h7D:odata=8h39;/98h5A:odata=8h0D;/enter 8h71:odata=8h7F;/DEL 8h74:odata=8h74;/右8h75:odata=8h75;/上8h72:odata=8h72;/下8h6b:odata=8h6b;/左8h76:odata=8h1B;/ECS default:odata=8h00;endcase/*握手信号*/always(posedge mrege or posedge resetif(resetreq=0;else req=1;endmodule六、结束语键盘是嵌入式系统的重要的输入设备,是实现人机交互的重要的手段之一,随着标准PS/2键盘技术成熟和价格不断下降,在嵌入系统的设计中,用标准PS/2键盘取代自制简易的扫描式矩阵式键盘成为可能。本文介绍标准PS/2键盘物理接口的定义及其连接和数据输出通信协议,并用硬件描述语言完成了基于FPGA 的标准PS/2键盘接口设计,成功实现了标准PS/2键盘主动向NiosII 处理器发送ASCII 码数据,具有一定的实用性。当然本接口只能实现标准PS/2键盘向Nios IICPU 单向发送数据功能,NiosII 处理器不对PS/2键盘进行操作。如要实现此功能,必须在接口电路中添加

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论