ps2键盘接口原理
- 格式:ppt
- 大小:511.00 KB
- 文档页数:55
研究生课程设计报告课程名称:基于FPGA的现代数字系统设计设计名称: PS/2键盘接口设计姓名:学号:课程教师:起止日期: 2016,西南科技大学信息工程学院制设计任务书学生班级:学生姓名:学号:设计名称:PS/2键盘接口设计起止日期: 2016,12,21至2016,12,28 课程教师:设计题目一、设计目的和意义键盘是嵌入式系统的最重要的输入设备之一,是实现人机交互的重要途径。
除了可以自行设计扫描式矩阵键盘之外,还可以选择标准 PS/2键盘实现人机交互。
扫描式矩阵键盘虽然电路简单,但不具有通用性,当需要使用较多的按键输入时,则会占用较多的I/O 端口,在软件上则要进行上电复位、按键扫描及通信的处理,而且还要加上按键的去抖动处理,增大了系统软、硬件的开销,开发周期较长。
标准PS/2 键盘由于接口通信协议简单,在系统中占用软硬件资源少,高可靠性,表达信息量大而得到了越来越广泛的应用本设计根据PS/2键盘的通信时序,利用Verilog HDL硬件描述语言来设计PS/2接口键盘的输入识别电路,并在CPLD/FPGA上实现,避免了硬件电路的焊接与测试。
Verilog HDL语言满足数字系统设计和综合的所有要求,设计中充分运用Verilog HDL层次化与模块化的思想,使整个设计过程简单、灵活。
同时运用EDA工具ISE Design Suite10.1验证设计。
经过对系统进行编译、仿真、测试,完成把键盘按键扫描码转的通码的显示,成功实现PS/2接口键盘的输入识别及显示的功能。
本设计具有较好的通用性和可移植性,可取代自行设计扫描式矩阵键盘而用于许多嵌入式系统设计中。
二、设计原理1 PS/2模块1.1、SP/2键盘接口PS/2通信协议是一种双向同步串行通迅协议。
通迅的两端通过CLOCK(时钟信号端)同步,并通过DATA(数据端口)交换数据。
任何一方如果想要抑制另外一方的通迅时,只需要把CLOCK 拉到低电平。
ps2协议原理PS2协议原理PS2协议是一种用于连接计算机和键盘或鼠标的串行通信协议。
它是由IBM公司在20世纪90年代初开发的,作为PC/AT键盘和鼠标接口的一种替代方案。
PS2协议通过两根数据线(Clock线和Data 线)实现通信,具有简单、稳定、低成本等特点。
PS2协议工作原理如下:1. 握手阶段计算机在启动时会向键盘或鼠标发送复位命令,以确保设备处于初始状态。
在此阶段,计算机会不断发送复位命令,直到设备响应。
2. 通信模式设备收到复位命令后,会进入通信模式。
在通信模式下,设备会定期发送数据包给计算机。
3. 数据包格式PS2协议中的数据包包含8个字节,分为三个部分:帧开始位、数据位和校验位。
其中,帧开始位用于标识数据包的开始,数据位用于传输键盘或鼠标的按键信息,校验位用于检验数据的正确性。
4. 通信流程计算机在接收到设备发送的数据包后,会对数据进行解析。
根据数据包的内容,计算机会执行相应的操作,比如响应键盘按键、移动鼠标等。
5. 错误处理PS2协议中设备和计算机之间是以同步方式进行通信的,所以在通信过程中,如果发生错误,比如数据丢失或校验失败,设备会向计算机发送错误信号,以便重新发送数据。
6. 热插拔PS2协议支持热插拔功能,即在计算机运行时,可以插入或拔出键盘或鼠标设备。
当设备被插入时,计算机会自动检测并初始化设备;当设备被拔出时,计算机会停止接收来自该设备的数据。
7. 多设备支持PS2协议可以支持多个键盘或鼠标设备同时连接到计算机上。
每个设备都会被分配一个独立的设备编号,计算机可以通过设备编号来区分不同的设备。
总结:PS2协议是一种简单、稳定且低成本的串行通信协议,用于计算机与键盘或鼠标之间的连接。
它通过握手阶段、通信模式、数据包格式、通信流程、错误处理、热插拔和多设备支持等步骤,实现了设备与计算机的可靠通信。
这种协议的设计使得键盘和鼠标等外设在计算机中得以广泛应用,为用户提供了良好的操作体验。
PS2接口键盘显示实验一、实验目的1、学习用FPGA设计简单通信协议的方法。
2、学习PS2的工作原理,扫描码的ASCII码的转换。
3、掌握VHDL编写中的一些小技巧。
二、实验原理PS2通信协议是一种双向同步串行通迅协议。
通迅的两端通过CLOCK(时钟信号端)同步,并通过DATA(数据端口)交换数据。
任何一方如果想要抑制另外一方的通迅时,只需要把CLOCK拉到低电平。
PS2标准,规范每笔数据传输包含起始位(start bit)、扫描码(scan code)、奇同位检查(odd parity)、以及终止位(stop bit)共计11位,并以双向串行数据传输的方式,达到通信的目的。
且当主机端(host)或从机端(slave)并无传送或接收数据时,数据传输端口及频率均将升为高电位。
图21-1所示为每一笔数据传输所包含之内容如下:1.起始位(“0”)2.8位数据宽度的扫描码( scan code )。
3.奇同位检查,使扫描码与奇同位加起来1的数字为奇数个。
4.终止位(“1”)图21-1 PS2 串行传输标准Male(Plug)Female(Socket)6-pin Mini-DIN (PS2):1 - Data2 - Not Implemented3 - Ground4 - Vcc (+5V)5 - Clock6 - Not Implemented 图21-2 PS2 端口脚位定义PS2控制接口仅使用到两条传输端口,一为频率端口,另一则为数据端口如图21-2所示,且此传输埠必为三态(Tri-State)并具有双向(bidirectional)特性。
PS2 传输产品上,常见为鼠标与键盘,两者的驱动原理均相同,仅扫描码(scan code)不同。
因此我们以PS2键盘为例进行说明。
键盘其实就是一个大型的按键矩阵,它们由安装在电路板上的处理器(叫做“键盘编码器”)来监视着。
虽然不同的键盘可能采用不同的处理器,但是它们完成的任务都是一样的,即监视哪些按键被按下,哪些按键被释放了,并将这些信息传送到主机。
ps2协议原理PS2协议原理PS2协议是一种用于连接计算机和键盘/鼠标等外设的串行通信协议。
它是由IBM公司在1987年推出的,目前已经被USB协议所取代,但在一些旧版计算机上仍在使用。
PS2协议的原理是通过两根数据线实现数据传输。
其中一根线是数据线(Data line),用于双向传输数据;另一根线是时钟线(Clock line),用于发送时钟信号,以同步数据传输。
PS2协议采用同步传输方式,即每个数据位都在时钟信号的边沿进行传输。
数据传输的起始由计算机发出一个低电平的起始位信号来表示,然后发送8位数据位,最后发送一个校验位和一个高电平的停止位信号。
校验位用于检测数据传输的正确性,停止位用于标识数据传输的结束。
PS2协议的传输速率相对较低,一般为10Kbps。
这是因为PS2协议主要用于键盘和鼠标等外设的输入,其数据量较小且实时性要求较高,因此并不需要高速传输。
在PS2协议中,数据传输是由计算机主动发起的。
计算机通过发送特定的命令来读取键盘或鼠标的状态信息。
键盘或鼠标在接收到命令后,会将相应的状态信息按照PS2协议的规定进行编码,并通过数据线和时钟线发送给计算机。
计算机在接收到数据后,会解析数据,并根据解析结果进行相应的操作。
PS2协议的优点是传输稳定可靠,且占用系统资源较少。
由于PS2协议的传输速率较低,因此在传输过程中很少出现数据丢失或错误的情况。
同时,PS2协议只需要占用两根数据线,相对于其他协议来说,占用的系统资源更少。
然而,随着USB协议的普及和发展,PS2协议逐渐被取代。
USB 协议具有更高的传输速率和更广泛的应用范围,能够同时连接多个外设,因此成为了主流的连接方式。
而且,随着技术的发展,越来越多的新款计算机已经取消了PS2接口,只保留了USB接口。
PS2协议是一种用于连接计算机和键盘/鼠标等外设的串行通信协议。
它通过两根数据线实现数据传输,采用同步传输方式,传输速率相对较低。
PS2协议的优点是传输稳定可靠,且占用系统资源较少,但随着USB协议的普及和发展,PS2协议逐渐被取代。
ps2标准键盘PS2标准键盘。
PS2标准键盘是一种常见的计算机外设,它是计算机输入设备中最为基本的一种。
PS2标准键盘采用PS2接口连接到计算机主机,它是一种传统的键盘类型,虽然在现代计算机时代已经被USB键盘所取代,但PS2标准键盘仍然在一些特殊场合得到广泛应用。
PS2标准键盘具有传统的布局和设计,通常包括数字键盘、字母键盘、功能键、控制键等。
它的按键采用机械式结构,手感良好,按键反馈清晰,使用寿命长。
PS2标准键盘的设计简洁,操作方便,适合长时间的文字输入和操作。
PS2标准键盘的连接方式是通过PS2接口连接到计算机主机的键盘接口上。
PS2接口是一种圆形接口,分为键盘接口和鼠标接口,它具有独立的时钟信号和数据信号线路,能够保证键盘和鼠标在高速数据传输时不会发生冲突,提高了数据传输的稳定性和可靠性。
PS2标准键盘的优点之一是它的稳定性和兼容性。
由于PS2接口是一种通用的接口标准,几乎所有的计算机主板都配备有PS2接口,因此PS2标准键盘可以在各种不同型号和品牌的计算机上使用,而且不需要安装驱动程序,插上即可使用,非常方便。
另外,PS2标准键盘还具有热插拔功能,即在计算机运行过程中可以随时插拔键盘,而不会影响计算机的正常工作。
这对于一些需要频繁更换键盘的场合来说非常方便,比如在服务器机房、数据中心等环境中,管理员可以随时更换键盘而不需要关机重启计算机。
然而,随着USB接口的普及和应用,PS2标准键盘逐渐被USB键盘所取代。
USB接口具有更高的传输速度和更大的带宽,能够支持更多的外设设备,因此在现代计算机中,大部分都采用USB键盘。
而且,USB接口还具有热插拔功能,使用更加方便。
尽管如此,PS2标准键盘仍然在一些特殊场合得到广泛应用。
比如在一些老旧的计算机设备上,由于其主板不支持USB接口,只能使用PS2接口的键盘;又或者在一些对稳定性和可靠性要求较高的场合,PS2标准键盘也能发挥其优势,保证系统的稳定运行。
ps2标准键盘PS2标准键盘。
PS2标准键盘是一种常见的计算机外设,它是一种标准的键盘接口,用于连接计算机主机。
PS2标准键盘具有许多优点,比如稳定性好、响应速度快、兼容性强等特点,因此在许多领域都得到了广泛的应用。
首先,PS2标准键盘的稳定性非常好。
由于PS2接口采用了独立的中断控制器,因此键盘和鼠标的输入不会受到其他设备的干扰,保证了输入的稳定性。
这对于一些对输入要求较高的应用场景,比如游戏、图像处理等来说,是非常重要的。
其次,PS2标准键盘的响应速度也非常快。
PS2接口采用了中断请求方式进行数据传输,相比于USB接口的轮询方式,PS2接口的响应速度更快,能够更快地将输入的数据传输到计算机主机,提高了用户的输入体验。
另外,PS2标准键盘具有很强的兼容性。
几乎所有的计算机主机都支持PS2接口,因此PS2标准键盘可以在各种不同的计算机设备上使用,而且不需要安装驱动程序,插上即可使用,非常方便。
总的来说,PS2标准键盘是一种稳定性好、响应速度快、兼容性强的计算机外设,适用于各种不同的应用场景。
在日常办公、游戏娱乐、图像处理等方面都能发挥重要作用,是一种非常实用的设备。
除了以上的优点之外,PS2标准键盘还具有一些其他的特点。
比如,PS2接口可以支持热插拔,不需要关闭计算机就可以插拔键盘,非常方便。
另外,PS2接口还可以支持多媒体按键,比如音量调节、播放控制等,提高了键盘的功能性。
在使用PS2标准键盘的过程中,也需要注意一些问题。
比如,PS2接口是一个圆形的接口,需要正确插入,否则容易造成接触不良。
另外,PS2接口也不支持热插拔,插拔键盘时需要注意关闭计算机,以免损坏设备。
综上所述,PS2标准键盘是一种稳定性好、响应速度快、兼容性强的计算机外设,适用于各种不同的应用场景。
在使用时,需要注意一些细节问题,以保证设备的正常使用。
希望本文对您了解PS2标准键盘有所帮助。
当前嵌入式系统技术已得到了广泛应用,但传统嵌入式系统的人机接口多采用小键盘操作的文本菜单方式,用户操作较为不便。本文介绍了一种利用PS/2接口鼠标,在点阵LCD的单片机系统上实现图形化用户界面的方案。用窗口菜单和图形按钮取代了传统的键盘操作,具有成本低、效果好等特点,具有很强的实用性。1 PS/2接口和协议1.1 接口的物理特性PS/2接口用于许多现代的鼠标和键盘,由IBM最初开发和使用。物理上的PS/2接口有两种类型的连接器:5脚的DIN和6脚的mini-DIN。图1就是两种连接器的引脚定义。使用中,主机提供+5V电源给鼠标,鼠标的地连接到主机电源地上。1.2 接口协议原理PS/2鼠标接口采用一种双向同步串行协议。即每在时钟线上发一个脉冲,就在数据线上发送一位数据。在相互传输中,主机拥有总线控制权,即它可以在任何时候抑制鼠标的发送。方法是把时钟线一直拉低,鼠标就不能产生时钟信号和发送数据。在两个方向的传输中,时钟信号都是由鼠标产生,即主机不产生通信时钟信号。如果主机要发送数据,它必须控制鼠标产生时钟信号。方法如下:主机首先下拉时钟线至少100μs抑制通信,然后再下拉数据线,最后释放时钟线。通过这一时序控制鼠标产生时钟信号。当鼠标检测到这个时序状态,会在10ms内产生时钟信号。如图3中 A 时序段。主机和鼠标之间,传输数据帧的时序如图2、图3所示。2.2 数据包结构在主机程序中,利用每个数据位的时钟脉冲触发中断,在中断例程中实现数据位的判断和接收。在实验过程中,通过合适的编程,能够正确控制并接收鼠标数据。但该方案有一点不足,由于每个CLOCK都要产生一次中断,中断频繁,需要耗用大量的主机资源。2 PS/2鼠标的工作模式和协议数据包格式2.1 PS/2鼠标的四种工作模式PS/2鼠标的四种工作模式是:Reset模式,当鼠标上电或主机发复位命令0xFF给它时进入这种模式;Stream模式鼠标的默认模式,当鼠标上电或复位完成后,自动进入此模式,鼠标基本上以此模式工作;Remote模式,只有在主机发送了模式设置命令0xF0后,鼠标才进入这种模式;Wrap模式,这种模式只用于测试鼠标与主机连接是否正确。PS/2鼠标在工作过程中,会及时把它的状态数据发送给主机。发送的数据包格式如表1所示。Byte1中的Bit0、Bit1、Bit2分别表示左、右、中键的状态,状态值0表示释放,1表示按下。Byte2和Byte3分别表示X轴和Y轴方向的移动计量值,是二进制补码值。Byte4的低四位表示滚轮的移动计量值,也是二进制补码值,高四位作为扩展符号位。这种数据包由带滚轮的三键三维鼠标产生。若是不带滚轮的三键鼠标,产生的数据包没有Byte4 其余的相同。3 设计与实现3.1 接口设计因为PS/2鼠标接口采用双向同步串行协议,时钟脉冲信号以下皆称CLOCK 总是由鼠标产生。因此,可以考虑这种方案:鼠标的CLOCK接主机的一外中断线,数据线以下皆称DATA 接主机的某一I/O口线,如图4所示。由于鼠标与主机之间以双向同步串行协议传送数据,若不考虑CLOCK,仅考虑DATA,则其数据帧的时序与单片机的UART异步串行时序类似。所以,采用了另一种方案:鼠标的CLOCK仍旧接主机的外中断,但鼠标的DATA接UART的接收脚RxD 。参照图4DATA改接RxD。在初始化过程中,主机利用CLOCK的外中断和RxD脚的I/O口线功能实现数据的传输。初始化完成后,切换到RxD功能即UART的接收引脚功能。因为鼠标已处于Stream模式的工作状态,这时鼠标能主动发送数据。这样,主机可以在每收到一帧数据时才中断一次。中断次数大大降低,减少了主机资源的耗用。不过,在此方案中,必须实现另一个功能:主机波特率的自适应。因为PS/2接口的鼠标一般工作在10kHz~20kHz时钟频率。不同厂家制造的鼠标工作的时钟频率不同。嵌入设备主机要做到与不同鼠标的波特率同步和自适应,才能够正确接收鼠标传送来的数据。波特率的自适应是这样实现:鼠标上电自检时会产生一串时钟脉冲,利用鼠标时钟脉冲产生的中断,结合主机的定时器测量时钟脉冲周期,可以得出所用鼠标的时钟频率,进而求出波特率。通过设置相应的波特率寄存器,实现了波特率的自适应。3.2 软件实现软件实现原理框图如图5所示。(1)鼠标初始化最简单的初始化就是当鼠标上电自检完成后,主机给鼠标发送一个使能鼠标数据传送命令字节(0xf4),鼠标就会在默认设置状态下工作。主机也可实现自定义初始化,如:复位三次(Snd_CMD(0xff),Snd_CMD(0xff), Snd_CMD(0xff);设置采样率:Snd_CMD(0xf3),Snd_CMD(0x0a);设置解析度(2点/毫米):Snd_CMD (0xe8),Snd_CMD(0x01);设置缩放比例(1:1):Snd_CMD(0xe6);使能鼠标数据传送:Snd_CMD(0xf4)。鼠标每收到一个命令字节都会给出一个应答字节(0xfa)。(2)两种方案的实现过程两种方案的软件实现过程基本相同。只是后一种方案中,初始化时还要实现主机波特率的自适应,关闭时钟脉冲中断和打开串口中断。此后主机利用UART的接收功能接收鼠标数据。(3)图形化人机接口(GUI)的实现在点阵式LCD显示屏上实现图形化的人机接口界面,主要有两个方面:一个是菜单图标的实现;另一个是鼠标光标的实现。实现菜单图标,显示屏一般工作在图形显示模式。菜单图标有正常显示状态和反显状态,它们都用函数实现:voidDraw_ICON(signed int xICON, signed int yICON,unsigned char *pDatICON)。xICONyICON是图标所在位置的左上角坐标值,pDatICON是各个图标及其不同显示状态的点阵码值。反显状态是当图标被光标滑到或点取时才显现的。实现鼠标光标,又分两种情况。一种是单层显示的LCD,只能由程序画出鼠标光标。但是,当光标移动较快时,画出光标的点阵图形需要耗用较多的主机资源。另一种是有双层显示和光标功能的LCD,只需程序控制它的光标移动位置,无需程序画出光标的点阵图形,因而耗用主机资源较少,实现起来效果较好。两种方案简单、明了,容易实现,都已在实验中得到验证。并且,后一种方案已在某一仪表系统中得到成功应用。总体来说,随着嵌入式处理器性能的不断提高,在嵌入设备中接入鼠标,既可灵活使用,也可减少因接入许多按键而占用的口线数,还能使LCD的图形化显示界面更美观、更人性化。。
一般键盘接口为紫色,鼠标接口为绿色。
它们的数据信号和时钟信号都由南桥芯片和I/O芯片输出,其主要组成部分如下:
*电源
*保险电感
*贴片电感
*排容
*排阻
*跳线
其针脚图及定义如下
电路原理图如下:
电源是通过跳线和保险电感L1电源给鼠标和键盘供电(第四针脚)。
同时,电源又通过排阻连接到鼠标和键盘的1、5针脚和南桥或I/O芯片,起到提升信号的作用,鼠标和键盘接口的第1、5针脚与南桥或I/O芯片之间连接有电感,在数据传输中起到缓冲的作用。
关于维修
一般故障由以下几个元件损坏引起:
*供电部分电感损坏
*供电部分电容损坏
*上拉电阻损坏
*滤波电容损坏
*数据线上电感损坏
1.滤波电容
损坏将导致无法正常传输数据,无法为键盘鼠标提供时钟信号,
观察电容是否鼓泡,漏液,烧坏,且用万用表测量
2.上拉电阻
损坏将导致数据信号变弱,使鼠标,键盘工作不稳定
万用表测阻值,与标称值对比,在外壳一般有标示
3.贴片电感
损坏将导致无法为鼠标键盘提供时钟信号,无法传输数据,严重时鼠键无法使用。
万用表蜂鸣档,测电感两端,若显示0,说明电感断路,若显示数字一直跳动,说明电感内部接触不良。
4.保险电阻
若烧毁,将无法为鼠键供电,
检测保险电阻的阻值,若阻值过大,说明烧毁。
第11章PS2键盘11.1概述这一章要了解PS2键盘的工作原理。
老实说这一章的笔记记录有点不完全,而且键盘的解码程式也是半成品,但是这些问题妨碍不了我们理解键盘的工作原理。
补上一句话,键盘的工作原理很简单也很容易理解。
11.2PS2键盘概念:PS2的接口带有6空,PIN2和PIN6是保留位(未使用),Pin1为传输数据,Pin5是输出的时间。
Pin3和4分别对应电源地和电源5v。
PS2接盘输出的帧格式,与我们练习USART的时候很相似,一帧为11位,而帧格式如下表:图上是PS2键盘输出的时序图,如果主机要读入数据,是在时钟信号的"下降沿"有效。
一般上我们利用单盘机进行解码的时候,我们会先判断开始位,然后读入8位数据,抛弃最后两位。
11.3扫描码,断码和组合扫描码每当我们敲击键盘的时候,按下按键会输出特定的通码(MAKE),释放按键后会输出和特定的段码(BREAK),这些码组合成扫描码。
Eg:按下F键输出0x2B的通码,释放F键会输出0xF0,0x2B的断码。
这里有一个问题,就是组合键到底是如何形成的?用最常用的Shift键来介绍看看。
当我们按下Shift键,会输出0x12的通码,在这个瞬间有按下B键,会输出0x32的通码。
然后先释放B键(B键的断码为0xF0,0x32),同Shift键(Shift键断码为0xF0,0x34),会产生以下的组合扫描码:0x12,0x32,0xF0,0x32,0xF0,0x34PS2键盘有3套的扫描码,但是默认上都是使用第二套的扫描11.4HJ-2G上的PS2接口。
根据原理图,INT0是用来接收时钟,而ADC0(PA0)是用来接收数据,每一次时钟信号输入的下降沿,外部中断0都会触发。
<----PS2接口原理图11.5实验一-无组合键的PS2键盘解码无组合键的解码工作是很容易,我们通过读取通码,然后进行通码ASCII码转换,经发送函数发送出去。