ps2接口供电规范
PS2键盘接口协议
PS2键盘接口协议2009-06-03 16:11一.电气特性1DATA Key Data2n/c Not connected3GND Gnd4VCC Power , +5 VDC5CLK Clock6n/c Not connected二.数据格式1个起始位总是逻辑08个数据位(LSB)低位在前1个奇偶校验位奇校验1个停止位总是逻辑11个应答位仅用在主机对设备的通讯中表中,如果数据位中1的个数为偶数,校验位就为1;如果数据位中1的个数为奇数,校验位就为0;总之,数据位中1的个数加上校验位中1的个数总为奇数,因此总进行奇校验。
ps2设备的clock和data都是集电极开路的,平时都是高电平。
当ps2设备等待发送数据时,它首先检查clock是否为高。
如果为低,则认为PC抑制了通讯,此时它缓冲数据直到获得总线的控制权。
如果clock为高电平,ps2则开始向PC发送数据。
一般都是由ps2设备产生时钟信号。
发送按帧格式。
数据位在clock为高电平时准备好,在clock 下降沿被PC读入。
数据从键盘/鼠标发送到主机或从主机发送到键盘/鼠标,时钟都是PS2设备产生.主机对时钟控制有优先权,即主机想发送控制指令给PS2设备时,可以拉低时钟线至少100μS,然后再下拉数据线,最后释放时钟线为高。
PS2设备的时钟线和数据线都是集电极开路的,容易实现拉低电平。
PC在时钟的下降沿读取数据.PS: ps2协议是现在大多数鼠标,键盘与PC通讯的标准协议,鼠标的通讯更为简单些,只是传送的数据内容不一样而已。
三.数据发送时序键盘接口时序(a) 键盘发送时序;(b) 键盘接收时序从PS/2向PC机发送一个字节可按照下面的步骤进行:(1)检测时钟线电平,如果时钟线为低,则延时50μs;(2)检测判断时钟信号是否为高,为高,则向下执行,为低,则转到(1);(3)检测数据线是否为高,如果为高则继续执行,如果为低,则放弃发送(此时PC机在向PS/2设备发送数据,所以PS/2设备要转移到接收程序处接收数据);(4)延时20μs(如果此时正在发送起始位,则应延时40μs);(5)输出起始位(0)到数据线上。
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的图形化显示界面更美观、更人性化。。
PS2鼠标接口协议
PS2鼠标接口协议协议名称:PS2鼠标接口协议协议编号:[编号]生效日期:[日期]1. 引言本协议旨在规范PS2鼠标接口的通信协议,以确保各种PS2鼠标能够与计算机系统进行稳定和可靠的数据传输。
该协议适用于所有使用PS2鼠标接口的设备和系统。
2. 术语定义以下是本协议中使用的术语及其定义:- PS2鼠标接口:一种用于连接计算机系统和鼠标设备的串行接口标准。
- 主机:指连接鼠标设备的计算机系统。
- 鼠标设备:指使用PS2鼠标接口连接到计算机系统的鼠标。
- 命令:指由主机发送给鼠标设备的指令。
- 响应:指鼠标设备对主机发送的命令做出的相应动作或数据传输。
3. 物理连接3.1 接口类型PS2鼠标接口使用6针迷你DIN连接器,其中1号和4号引脚用于传输数据,2号引脚用于传输时钟信号,3号引脚用于地线,5号和6号引脚保留。
3.2 电气特性- 传输电压:5V DC。
- 传输速率:10-16 kHz。
- 信号电平:0V表示逻辑低电平,5V表示逻辑高电平。
- 传输距离:最大3米。
4. 数据传输协议4.1 通信格式PS2鼠标接口使用异步串行通信方式传输数据。
每个数据帧由一个起始位、8个数据位、一个奇偶校验位和一个停止位组成。
4.2 数据帧结构数据帧的结构如下所示:- 起始位:逻辑低电平,表示数据帧的开始。
- 数据位:8个位,表示传输的数据。
- 奇偶校验位:用于校验数据位的奇偶性,保证数据的完整性。
- 停止位:逻辑高电平,表示数据帧的结束。
4.3 通信流程4.3.1 鼠标设备初始化当鼠标设备连接到主机时,主机需要发送初始化命令以确保鼠标设备处于可用状态。
- 主机发送0xFF命令给鼠标设备。
- 鼠标设备接收到0xFF命令后,发送0xFA命令给主机,表示鼠标设备已准备好。
4.3.2 数据传输4.3.2.1 主机向鼠标设备发送命令- 主机发送命令给鼠标设备时,先发送一个起始位(逻辑低电平)。
- 接下来,主机发送8个数据位,表示要发送的命令。
PS2通信协议说明与接口定义(键盘和鼠标)
PS2键盘与鼠标的接口定义针脚定义:原理PS/2鼠标接口采用一种双向同步串行协议。即每在时钟线上发一个脉冲,就在数据线上发送一位数据。在相互传输中,主机拥有总线控制权,即它可以在任何时候抑制鼠标的发送。方法是把时钟线一直拉低,鼠标就不能产生时钟信号和发送数据。在两个方向的传输中,时钟信号都是由鼠标产生,即主机不产生通信时钟信号。如果主机要发送数据,它必须控制鼠标产生时钟信号。方法如下:主机首先下拉时钟线至少100μs抑制通信,然后再下拉数据线,最后释放时钟线。通过这一时序控制鼠标产生时钟信号。当鼠标检测到这个时序状态,会在10ms内产生时钟信号。如图3中 A 时序段。主机和鼠标之间,传输数据帧的时序如图2、图3所示。2.2 数据包结构在主机程序中,利用每个数据位的时钟脉冲触发中断,在中断例程中实现数据位的判断和接收。在实验过程中,通过合适的编程,能够正确控制并接收鼠标数据。但该方案有一点不足,由于每个CLOCK都要产生一次中断,中断频繁,需要耗用大量的主机资源。PS/2鼠标的四种工作模式是:Reset模式,当鼠标上电或主机发复位命令 0xFF给它时进入这种模式;Stream模式鼠标的默认模式,当鼠标上电或复位完成后,自动进入此模式,鼠标基本上以此模式工作;Remote模式,只有在主机发送了模式设置命令 0xF0后,鼠标才进入这种模式;Wrap模式,这种模式只用于测试鼠标与主机连接是否正确。PS/2鼠标在工作过程中,会及时把它的状态数据发送给主机。发送的数据包格式如表1所示。Byte1中的Bit0、Bit1、Bit2分别表示左、右、中键的状态,状态值0表示释放,1表示按下。Byte2和Byte3分别表示X轴和Y轴方向的移动计量值,是二进制补码值。Byte4的低四位表示滚轮的移动计量值,也是二进制补码值,高四位作为扩展符号位。这种数据包由带滚轮的三键三维鼠标产生。若是不带滚轮的三键鼠标,产生的数据包没有Byte4 其余的相同。一.PS/2 鼠标键盘协议PC 键盘可以有6 脚的mini-DIN 或5 脚的DIN 连接器如果你的键盘是6 脚的mini-DIN 而你的计算机是5 脚的DIN 或者相反这两类连接器可以用上面提到的适配器来兼容具有6 脚mini-DIN 的键盘通常被叫做PS/2 键盘而那些有5 脚DIN 叫做AT 设备XT 键盘也使用5 脚DIN 但它们非常古老并且多年前就不生产了所有现代的为PC 建造的键盘不是PS/2,AT 就是USB 的这篇文章不适用于USB 设备它们使用了一种完全不同的接口。
PS2、USB、VGA、SATA、音频、网卡、串口、并口、针脚定义
PS2、USB、VGA、SATA、音频、网卡、串口、并口、针脚定义以下为仅为主板各接口的针脚定义,外接出来的设备接口则应与主板对应接口针脚定义相反,如鼠标的主板接口定义为6——数据,4——VCC,3——GND,1——时钟,鼠标线的接口定义则与之相反为5——数据,3——VCC,4——GND,2——时钟;其他外接设备与此相同。
首先是ATX20-Pin电源接口电源接口,根据下图你可方便判断和分辨。
现在为提高CPU 的供电,从P4主板开始,都有个4P接口,单独为CPU供电,在此也已经标出。
鼠标和键盘绝大多数采用PS/2接口,鼠标和键盘的PS/2接口的物理外观完全相同,初学者往往容易插错,以至于业界不得不在PC'99规范中用两种不同的颜色来将其区别开,而事实上它们在工作原理上是完全相同的,从下面的PS/2接口针脚定义我们就可以看出来。
上图的分别为AT键盘(既常说的大口键盘),和PS2键盘(即小口键盘),如今市场上PS2键盘的数量越来越多了,而AT键盘已经要沦为昨日黄花了。
因为键盘的定义相似,所以两者有共同的地方,各针脚定义如下:1 DATA 数据信号2 空3 GND 地端4 +5V5 CLOCK 时钟6 空(仅限PS2键盘)USB(Universal Serial Bus,通用串行总线)接口是由Compaq、IBM、Microsoft等多家公司于1994年底联合提出的接口标准,其目的是用于取代逐渐不适应外设需求的传统串、并口。
1996年业界正式通过了USB1.0标准,但由于未获当时主流的Win95支持(直到Win95 OSR2才通过外挂模块提供对USB1.0的支持)而未得到普及,直到1998年USB1.1标准确立和Win98内核正式提供对USB接口的直接支持之后,USB才真正开始普及,到今天已经发展到USB2.0标准。
USB接口的连接线有两种形式,通常我们将其与电脑接口连接的一端称为“A”连接头,而将连接外设的接头称为“B”连接头(通常的外设都是内建USB数据线而仅仅包含与电脑相连的“A”连接头)。
ps2键盘线序识别方法及cherry键盘常用ps2线信号定义
ps2键盘线序识别方法及cherry键盘常用ps2线信号定义ps2键盘线序识别方法及cherry键盘常用ps2线信号定义经常看到有人询问ps/2线坏了,更换的时候如何测线序连线,或者对付一些剪线的老古董如何接线,写写我的识别方法好了,应该还算比较行之有效了,先来看一下ps/2接口的信号定义好了这个是在电脑主板上后面那个口的定义,可以看出实际上很简单,虽然有6跟针,但是实际上只有4个是有用的,分别是1345,数据,地,电源,时钟,电源和地是供电用的,电流比较大,时钟和信号是通信用的,基本没啥电流,所以反映在pcb上就是电源和地的线粗,时钟和信号线细,凭借这个特征,可以很容易的把这俩类线分出来。
另外这个图是主板上的图,实际上没什么用,实际上做测试的话,大家肯定是拿着键盘的ps/2的头来测试,所以把这个图镜像一下,就变成PS/2头的定义了,看下面这张图如果手头有万用表的话,就很容易测试哪个颜色的线是哪个定义了,对于一根未知的线,把万用表打到电阻档,对着这个图,看哪根针和哪根线通就能把线盒信号的对应关系测出来了。
线的定义会测了,再来看看键盘pcb上的定义如何识别,先看几个样本上面俩图是G80-8113的ps/2连线,是一种四线连接,其实仔细看还是五线连接,那根热缩管包着的线,其实是黑线和ps/2屏蔽层的合体,后文会提到,其实这个黑线就是电源的负极,也就是地了以上俩图是G84-4100的ps/2线,是五根线的接法,其实只要不是太差的键盘,应该用的都是屏蔽线,所以一般来说会有一个屏蔽层的处理问题,有的键盘是直接把像上面那把8113一样,直接接地,或者像这把键盘,通过一个小电容接到地上,每家键盘处理都不太一样,处理剪线或者重接线的话,可以直接忽略屏蔽层,应为只是起屏蔽作用,不接不会影响使用,或者直接接地都可以这俩图是compaq的Enhanced III薄膜键盘的电路,也是四根线加一个屏蔽层的五线配置。
样品都在这了,下面来说说识别方法对于cherry键盘来说,一般会有在插座附近会有个大个的电解电容,注意寻找电容的负极,一般来说会有个搭锡点,因为cherry的pcb很有特点,虽然是双面板,但是实际上还是单面板的工艺,过孔没有金属化,所以正反两面是没法连接在一起的,所以只有靠有直插器件的地方,正反面在哪个焊盘都焊锡,这样才能把正面的整个一个屏蔽地层接到电源地上,所以整个pcb一般会有几处这样的搭锡点,如果没有找到大电容的话,找找搭锡点就可以了,让后通过pcb背面寻线,看看哪个ps/2的线盒搭锡点是相连的,那跟线就是地了。
ps2接口技术及程序参考
第一章 PS/2鼠标键盘协议Introduction:引言The PS/2 device interface, used by many modern mice and keyboards, was developed by IBM and originally appeared in the IBM Technical Reference Manual. However, this document has not been printed for many years and as far as I know, there is currently no official publication of this information. I have not had access to the IBM Technical Reference Manual, so all information on this page comes from my own experiences as well as help from the references listed at the bottom of this page.PS/2设备接口用于许多现代的鼠标和键盘它是由IBM开发并且最初出现在IBM技术参考手册里但是当我知道的时候这篇文件就已经很多年没有印刷了因此关于这个内容现在没有官方的出版物我无法访问IBM的技术参考手册所以本网页中的所有信息都来自于我自己的经验及本页最下面列出的参考的帮助译者注这些参考的条目在本章的结尾处This document descibes the interface used by the PS/2 mouse, PS/2 keyboard, and AT keyboard. I'll cover the physical and electrical interface, as well as the protocol. If you need higher-level information, such as commands, data packet formats, or other information specific to the keyboard or mouse, I have written separate documents for the two devices:这个文件描述了用于PS/2鼠标PS/2键盘及AT键盘的接口我将论及物理和电气接口也包括协议如果你需要更高级的信息诸如命令数据包的格式或者其他关于键盘鼠标的特别细节那么我对这两种设备写了独立的文件The PS/2 (AT) Keyboard InterfaceThe PS/2 Mouse Interface译者注这两篇文章已经包含到这篇译文中来了是第二章和第三章I also encourage you to check out my homepage for more information related to this topic, including projects, code, and links related to the mouse and keyboard.我同样鼓励你在我的主页上校对更多与这个话题相关的信息包括工程代码和与鼠标键盘有关的链接The Connector:连接器The physical PS/2 port is one of two styles of connectors: The 5-pin DIN or the 6-pin mini-DIN. Both connectors are completely (electrically) similar; the only practical difference between the two is the arrangement of pins. This means the two types of connectors can easily be changed with simple hard-wired adaptors. These cost about $6 each or you can make your own by matching the pins on any two connectors. The DIN standard was created by the German Standardization Organization (Deutsches Institut fuer Norm) . Their website is at http://www.din.de/ (this site is in German, but most of their pages are also available in English.)物理上的PS/2端口是两类连接器中的一种5脚的DIN或6脚的mini-DIN这两种连接器在电气特性上是十分类似的实际上两者只有一点不同那就是管脚的排列这就意味着这两类连接器可以很容易用一种简单的硬件连线的适配器来转换这种适配器大约每个值6美元或者你可以根据任意两种连接器的对应管脚关系做你自己的适配器DIN标准是由德国标准化组织(Deutsches Institut fuer Norm)建立的他们的网站在http://www.din.de/这个站点是德文的但他们的很多网页同样可用于英文PC keyboards can have either a 6-pin mini-DIN or a 5-pin DIN connector. If your keyboard has a 6-pin mini-DIN and your computer has a 5-pin DIN (or visa versa), the two can be made compatible with the adaptors described above. Keyboards with the 6-pin mini-DIN are often referred to as "PS/2" keyboards, while those with the 5-pin DIN are called "AT" devices ("XT" keyboards also used the 5-pin DIN, but they are quite old and haven't been made for many years.) All modern keyboards built for the PC are either PS/2, AT, or USB. This document does not apply to USB devices, which use a completely different interface.PC键盘可以有6脚的mini-DIN或5脚的DIN连接器如果你的键盘是6脚的mini-DIN而你的计算机是5脚的DIN或者相反这两类连接器可以用上面提到的适配器来兼容具有6脚mini-DIN的键盘通常被叫做PS/2键盘而那些有5脚DIN叫做AT设备XT键盘也使用5脚DIN但它们非常古老并且多年前就不生产了所有现代的为PC建造的键盘不是PS/2,AT就是USB的这篇文章不适用于USB设备它们使用了一种完全不同的接口Mice come in a number of shapes and sizes (and interfaces.) The most popular type is probably the PS/2 mouse, with USB mice gaining popularity. Serial mice are also quite popular, but the computer industry is abandoning them in support of USB and PS/2 devices. This document applies only to PS/2 mice. If you want to interface a serial mouse, check out Microchip's appnote #519, "Implementing a Simple Serial Mouse Controller."鼠标流行着大量的形状和大小和接口最流行的类型可能算是PS/2鼠标现在USB鼠标渐渐开始流行起来了串行鼠标同样非常流行但计算机工业放弃了它们转而支持USB和PS/2设备这篇文章仅适用于PS/2鼠标如果你要知道一个串行鼠标的接口请查验Microchip的519号应用实现一个简单的串行鼠标控制器As a side note, there is one other type of connector you may run into on keyboards. While most keyboard cables are hard-wired to the keyboard, there are some whose cable is not permanently attached and come as a separate component. These cables have a DIN connector on one end (the end that connects to the computer) and a SDL (Sheilded Data Link) connector on the keyboard end. SDL was created by a company called "AMP." This connector is somewhat similar to a telephone connector in that it has wires and springs rather than pins, and a clip holds it in place. If you need more information on this connector, you might be able to find it on AMP's website at /. I have only seen this type of connector on (old) XT keyboards, although there may be AT keyboards that also use the SDL. Don't confuse the SDL connector with the USB connector--they probably both look similar in my diagram below, but they are actually very different. Keep in mind that the SDL connector has springs and moving parts, while the USB connector does not.作为边注还有另外一种类型的连接器你可以在键盘上碰到虽然多数键盘电缆都是固定连接到键盘的但还有一些键盘电缆不是永久挂接的而是作为一个单独的部件这种电缆在一端有一个DIN的连接器这端连接到计算机而连接到键盘的那一端是一个SDL屏蔽的数据连接器连接器SDL是由一个叫AMP的公司建立的这种连接器有点象电话连接器它有金属丝和弹簧代替管脚用一个卡子保持它在适当的位置上如果你需要知道关于这种连接器的更多信息你可以在AMP的网站找到它AMP的网站在/尽管可能AT键盘同样可以使用SDL但我只在一个很老的XT键盘上看见过这种连接器不要把SDL连接器和USB连接器混淆起来这两个可能在我下面画的示意图中看起来有点类似但是它们实际上是非常不同的记住SDL有弹簧和活动部件而USB连接器没有The pinouts for each connector are shown below:每种连接器的引脚定义如下所示母的5-pin DIN (AT/XT): 5脚DIN(AT/XT)Male 公的 Female1 - Clock 1时钟2 - Data 2数据3 - Not Implemented 3未实现保留4 - Ground 4电源地插座 5 - +5v 5电源+5V(Plug) 插头 (Socket)母的6-pin Mini-DIN (PS/2): 6脚Mini-DIN(PS/2) Male 公的 Female1 - Data 1数据2 - Not Implemented 2未实现保留3 - Ground 3电源地4 - +5v 4电源+5V插座 5 - Clock 5时钟(Plug) 插头 (Socket)6 - Not Implemented 6未实现保留6脚SDL6-pinSDL:A - Not Implemented A未实现保留B - Data B数据C - Ground C电源地D - Clock D时钟E - +5v E电源+5VF - Not Implemented F未实现保留General Description:一般性描述(Note: Throughout this document, I may use the more general term "host" to refer to the computer--or whatever the keyboard/mouse is connected to-- and the term "device" will refer to the keyboard/mouse.) 注意遍及这篇文章我使用了更普通的术语host使之计算机或者键盘/鼠标连接到的单元而术语device是指键盘/鼠标译者注下面的译文中host可能被翻译成主机There are four interesting pins on the connectors just described: Ground, +5v, Data, and Clock. The +5V is supplied by the host (computer) and the keyboard/mouse's ground is connected to the host's electrical ground. Data and Clock are both open collector, which means they are normally held at a high logic level but can easily be pulled down to ground (logic 0.) Any device you connect to a PS/2 mouse, keyboard, or host should have large pull-up resistors on the Clock and Data lines. You apply a "0" by pulling the line low and you apply a "1" by letting the line float high. Refer to Figure 1 for a general interface to Data and Clock. (Note: if you are going to use a microcontroller such as the PIC, where I/O is bidirectional, you may skip the transistors and buffers and use the same pin for both input and output. With this configuration, a "1" is asserted by setting the pin to input and let the resistor pull the line high. A "0" is then asserted by changing the pin to output and write a "0" to that pin, which will pull the line to ground.)在刚才提到连接器上有四个有趣的管脚电源地5V数据和时钟host计算机提供5V并且键盘/鼠标的地连接到host的电源地上数据和时钟都是集电极开路的这就意味着它们通常保持高电平而且很容易下拉到地逻辑0任何你连接到PS/2鼠标键盘或host的设备在时钟和数据线上要有一个大的上拉电阻置0就把线拉低置1就让线上浮成高电平参考图1中数据和时钟线的一般接口结构注意如果你打算使用象PIC这样的微控制器由于它们的I/O管脚是双向的你可以跳过晶体管和缓冲门并且通用同一个管脚进行输入和输出在这种组态情况下要设置管脚为输入就写入1使得电阻上拉线上的电平要改变管脚为输出就写入0到那个管脚把线路下拉到地Figure 1: Open-collector interface to Dataand Clock. Data and Clock are read on themicrocontroller's port A and B, respectively.Both lines are normally held at +5V, but canbe pulled to ground by asserting logic 1 onC and D. As a result, Data equals D,inverted, and Clock equals C, inverted.图1数据线和时钟线的集电极开路接口数据和时钟分别由微控制器的A端口和B端口读入这两条线通常保持+5V但可以往端口C和D写入1来拉到地结果是数据是D的反相时钟是C的反相The PS/2 mouse and keyboard implement a bidirectional synchronous serial protocol. In other words, Data is sent one bit at a time on the Data line and is read on each time Clock is pulsed. The keyboard/mouse can send data to the host and the host can send data to the device, but the host always has priority over the bus and can inhibit communication from the keyboard/mouse at any time by holding Clock low.PS/2鼠标和键盘履行一种双向同步串行协议换句话说每次数据线上发送一位数据并且每在时钟线上发一个脉冲就被读入键盘/鼠标可以发送数据到主机而主机也可以发送数据到设备但主机总是在总线上有优先权它可以在任何时候抑制来自于键盘/鼠标的通讯只要把时钟拉低即可Data sent from the keyboard/mouse to the host is read on the falling edge of the clock signal (when Clock goes from high to low); data sent from the host to the keyboard/mouse is read on the rising edge (when Clock goes from low to high.) Regardless of the direction of communication, the keyboard/mouse always generates the clock signal. If the host wants to send data, it must first tell the device to start generating a clock signal (that process is described in the next section.) The maximum clock frequency is 33 kHz and most devices operate within 10-20kHz. If you want to build a PS/2 device, I would recommend keeping this frequency around 15 kHz. This means Clock should be high for about 40 microseconds and low for 40 microseconds.从键盘/鼠标发送到主机的数据在时钟信号的下降沿当时钟从高变到低的时候被读取从主机发送到键盘/鼠标的数据在上升沿当时钟从低变到高的时候被读取不管通讯的方向怎样键盘/鼠标总是产生时钟信号如果主机要发送数据它必须首先告诉设备开始产生时钟信号这个过程在下一章节中被描述最大的时钟频率是33kHz而且大多数设备工作在1020kHz如果你要制作一个PS/2设备我推荐你把频率控制在15kHz左右这就意味着时钟应该是高40微秒低40微秒All data is arranged in bytes with each byte sent in a frame consisting of 11-12 bits. These bits are:所有数据安排在字节中每个字节为一帧包含了1112个位这些位的含义如下1 start bit. This is always 0. 1个起始位总是为08 data bits, least significant bit first. 8个数据位低位在前1 parity bit (odd parity). 1个校验位奇校验1 stop bit. This is always 1. 1个停止位总是为11 acknowledge bit (Host-to-device communication only) 1个应答位仅在主机对设备的通讯中The parity bit is set if there is an even number of 1's in the data bits and reset (0) if there is an odd number of 1's in the data bits. The number of 1's in the data bits plus the parity bit always add up to an odd number (odd parity.) This is used for error detection.如果数据位中包含偶数个1校验位就会置1如果数据位中包含奇数个1校验位就会置0数据位中1的个数加上校验位总为奇数这就是奇校验这是用来错误检测When the host is sending data to the keyboard/mouse, a handshaking bit is sent from the device to acknowledge the packet was received. This bit is not present when the device sends data to the host.当主机发送数据给键盘/鼠标时设备回送一个握手信号来应答数据包已经收到这个位不会出现在设备发送数据到主机的过程中Device-to-Host Communication:设备到主机的通讯过程The Data and Clock lines are both open collector (normally held at a high logic level.) When the keyboard or mouse wants to send information, it first checks Clock to make sure it's at a high logic level. If it's not, the host is inhibiting communication and the device must buffer any to-be-sent data until it regains control of the bus (the keyboard has a 16-byte buffer and the mouse's buffer stores only the last packet sent.) If the Clock line is high, the device can begin to transmit its data.数据和时钟线都是集电极开路结构正常保持高电平当键盘或鼠标等待发送数据时它首先检查时钟以确认它是否是高电平如果不是那么是主机抑制了通讯设备必须缓冲任何要发送的数据直到重新获得总线的控制权键盘有16字节的缓冲区而鼠标的缓冲区仅存储最后一个要发送的数据包如果时钟线是高电平设备就可以开始传送数据As I mentioned in the previous section, the keyboard and mouse use a serial protocol consisting of 11-bit frames. These bits are:如我在上一节提及的键盘和鼠标使用一种每帧包含11位的串行协议这些位含义是1 start bit. This is always 0. 1个起始位总是为08 data bits, least significant bit first. 8个数据位低位在前1 parity bit (odd parity). 1个校验位奇校验1 stop bit. This is always 1. 1个停止位总是为1Each bit is read by the host on the falling edge of the clock, as is illustrated in Figures 2 & 3.每位在时钟的下降沿被主机读入如图2和3所示Figure 2: Device-to-hostcommunication. The Dataline changes state when Clockis high and that data is latchedon the falling edge of the clocksignal.图2设备到主机的通讯当时钟为高数据线改变状态在时钟信号的下降沿数据被锁存Figure 3: Scan code for the "Q"key (15h) being sent from akeyboard to the computer.Channel A is the Clock signal;channel B is the Data signal.图3Q键的扫描码从键盘发送到计算机通道A是时钟信号通道B是数据信号The clock frequency is 10-16.7kHz.The time from the rising edge of aclock pulse to a Data transitionshould be at least 5 microseconds. The time from a data transition to the falling edge of a clock pulse should be at least 5 microseconds and no greater than 25 microseconds. This timing is very important--you should follow it exactly. The host may pull the line low before the 11th clock pulse (stop bit), causing the device to abort sending the current byte (this is very rare.) After the stop bit is transmitted, the device should wait at least 50 microseconds before sending the next packet. This gives the host time to inhibit transmission while it processes the received byte (the host will usually automatically do this after each packet is received.) The device should wait at least 50 microseconds after the host releases an inhibit before sending any data.时钟频率为1016.7kHz从时钟脉冲的上升沿到一个数据转变的时间至少要有5微秒数据变化到时钟脉冲的下降沿的时间至少要有5微秒并且不大于25微秒这个定时非常重要你应该严格遵循它主机可以在第11个时钟脉冲停止位之前把线拉低导致设备放弃发送当前字节这是非常罕见的在停止位发送后设备在发送下个包前至少应该等待50毫秒这将给主机时间当它处理接收到的字节时抑制发送主机在收到每个包时通常自动做这个在主机释放抑制后设备至少应该在发送任何数据前等50毫秒I would recommend the following process for sending a single byte from an emulated keyboard/mouse to the host:我推荐下面的过程发送一个单一字节从仿真键盘/鼠标到主机1) Wait for Clock = high.2) Delay 50 microseconds.3) Clock still = high?No--goto step 14) Data =high?No--Abort (and read byte from host)5) Delay 20 microseconds (=40 microseconds to the time Clock is pulled low in sending the start bit.)6) Output Start bit (0) \ After sending each of these bits, test7) Output 8 data bits > Clock to make sure host hasn't pulled it8) Output Parity bit / low (which would abort this transmission.)9) Output Stop bit (1)10) Delay 30 microseconds (=50 microseconds from the time Clock is released in sending the stop bit)1) 等待Clock = high2) 延时 50 微秒3) Clock s仍旧为 high?No—到第1 步4) Data =high?No—放弃(并且从主机读取字节)5) 延迟 20 毫秒 (=40微秒to the time Clock is pulled low in sending the start bit.)6) 输出起始位(0) \ 在发送所有这些位的每一位后7) 输出8个数据位> 测试时钟确认主机是否把它拉低了8) 输出校验位/ 这说明主机要放弃这次传送9) 输出停止位 (1)10) 延迟30 毫秒 (=50微秒from the time Clock is released in sending the stop bit)The process for sending a single bit should then be as follows:按如下的过程发送单个位1) Set/Reset Data2) Delay 20 microseconds3) Bring Clock low4) Delay 40 microseconds5) Release Clock6) Delay 20 microseconds1) 设置/复位数据2) 延迟20 微秒3) 把时钟拉低4) 延迟40 微秒5) 释放时钟6) 延迟20 微秒Here is some sample code written for the PIC16F84 that follows the above algorithms to send a byte to the host. "Delay" is a self-explanitory macro; "CLOCK" and "DATA" are the bits connected to the Clock and Data lines; "TEMP0", "PARITY", and "COUNTER" are all general purpose registers. Note that in the "PS2outBit" routine, the Data and Clock lines are brought low by setting the appropriate I/O pin to output (it's assumed their output was set to "0" at the beginning of the program.) And they are allowed to float (high) by setting the I/O pin to input (and allow a pull-up resistor to pull the line high.) This was written for a PIC running at 4.61 MHz +/- 25% (RC oscillator: 5k/20pF). This is very important for timing considerations.这里有一些采用上面算法来发送一个字节到主机的PIC16F84的简单样例代码Delay是一自说明宏CLOCK和DATA是连接到时钟和数据线上的位单元TEMP0PARITY和COUNTER都是一般目的的寄存器注意在PS2outBit例程中数据线和时钟线通过设置适当的I/O脚为输出态来拉低电平在程序的开始它们的输出被置为0通过置I/O脚为输出它们就允许上浮为高电平允许上来电阻拉线路为高电平下面给PIC用的代码运行于4.61MHz +/-25%RC振荡器5k/20pF这个值对定时条件非常重要ByteOut movwf TEMP0 ;Save to-be-sent byteInhibitLoop btfss CLOCK ;Check for inhibitgoto InhibitLoopDelay 50 ;Delay 50 microsecondsbtfss CLOCK ;Check again for inhibit goto InhibitLoopbtfss DATA ;Check for request-to-sendretlw 0xFFclrf PARITY ;Init reg for parity calcmovlw 0x08movwf COUNTERmovlw 0x00call BitOut ;Output Start bit (0)btfss CLOCK ;Test for inhibitgoto ByteOutEndDelay 4ByteOutLoop movf TEMP0, wxorwf PARITY, f ;Calculate paritycall BitOut ;Output Data bitsbtfss CLOCK ;Test for inhibitgoto ByteOutEndrrf TEMP0, fdecfsz COUNTER, fgoto ByteOutLoopDelay 2comf PARITY, wcall BitOut ;Output Parity bitbtfss CLOCK ;Test for inhibitgoto ByteOutEndDelay 5movlw 0xFFcall BitOut ;Output Stop bit (1)Delay 48retlw 0x00ByteOutEnd bsf STATUS, RP0 ;Host has abortedbsf DATA ;DATA=1bsf CLOCK ;CLOCK=1bcf STATUS, RP0retlw 0xFEBitOut bsf STATUS, RP0andlw 0x01btfss STATUS, Zbsf DATAbtfsc STATUS, Zbcf DATADelay 21bcf CLOCKDelay 45bsf CLOCKbcf STATUS, RP0Delay 5returnHost to Device Communication:主机到设备的通讯The packet is sent a little differently in host-to-device communication...被发送的包有点不同于主机到设备通讯过程First of all, the PS/2 device always generates the clock signal. If the host wants to send data, it must first put the Clock and Data lines in a "Request-to-send" state as follows:首先PS/2设备总是产生时钟信号如果主机要发送数据它必须首先把时钟和数据线设置为请求发送状态如下示Inhibit communication by pulling Clock low for at least 100 microseconds.通过下拉时钟线至少100微秒来抑制通讯Apply "Request-to-send" by pulling Data low, then release Clock.通过下拉数据线来应用请求发送然后释放时钟The device should check for this state at intervals not to exceed 10 milliseconds. When the device detects this state, it will begin generating Clock signals and clock in eight data bits and one stop bit. The host changes the Data line only when the Clock line is low, and data is latched on the rising edge of the clock pulse. This is opposite of what occours in device-to-host communication.设备应该在不超过10毫秒的间隔内就要检查这个状态当设备检测到这个状态它将开始产生时钟信号并且时钟脉冲标记下输入八个数据位和一个停止位主机仅当时钟线为低的时候改变数据线而数据在时钟脉冲的上升沿被锁存这在发生在设备到主机通讯的过程中正好相反After the stop bit is sent, the device will acknowledge the received byte by bringing the Data line low and generating one last clock pulse. If the host does not release the Data line after the 11th clock pulse, the device will continue to generate clock pulses until the the Data line is released (the device will then generate an error.) 在停止位发送后设备要应答接收到的字节就把数据线拉低并产生最后一个时钟脉冲如果主机在第11个时钟脉冲后不释放数据线设备将继续产生时钟脉冲直到数据线被释放然后设备将产生一个错误The Host may abort transmission at time before the 11th clock pulse (acknowledge bit) by holding Clock low for at least 100 microseconds.主机可以在第11个时钟脉冲应答位前中止一次传送只要下拉时钟线至少100微秒To make this process a little easier to understand, here's the steps the host must follow to send data to a PS/2 device:要使得这个过程易于理解主机必须按下面的步骤发送数据到PS/2设备1) Bring the Clock line low for at least 100 microseconds.2) Bring the Data line low.3) Release the Clock line.4) Wait for the device to bring the Clock line low.5) Set/reset the Data line to send the first data bit6) Wait for the device to bring Clock high.7) Wait for the device to bring Clock low.8) Repeat steps 5-7 for the other seven data bits and the parity bit9) Release the Data line.10) Wait for the device to bring Data low.11) Wait for the device to bring Clock low.12) Wait for the device to release Data and Clock1) 把时钟线拉低至少100微秒2) 把数据线拉低3) 释放数据线4) 等待设备把时钟线拉低5) 设置/复位数据线发送第一个数据位6) 等待设备把时钟拉高7) 等待设备把时钟拉低8) 重复 5-7步发送剩下的7个数据位和校验位9) 释放数据线10) 等待设备把数据线拉低11) 等待设备把时钟线拉低12) 等待设备释放数据线和时钟线Figure 3 shows this graphically and Figure 4 separates the timing to show which signals are generated by the host, and which are generated by the PS/2 device. Notice the change in timing for the Ack bit--the data transition occours when the Clock line is high (rather than when it is low as is the case for the other 11 bits.)图3用图形表示图4以单独的时序表示了由主机产生的信号及由PS/2设备产生的信号注意应答位时序的改变数据改变发生在时钟线为高的时候不同于其它11位是当它为低的时候Figure 3: Host-to-Device Communication.图3主机到设备的通讯Figure 4: Detailed host-to-device communication.图4主机到设备通讯的详细过程Figure 4 shows two important timing considerations: (a), and (b). (a), the time it takes the device to begin generating clock pulses after the host initially takes the Clock line low, must be no greater than 15ms; (b), the time it takes for the packet to be sent, must be no greater than 2ms. If either of these time limits is not met, the host will generate an error. Immediately after the packet is received, the host may bring the Clock line low to inhibit communication while it processes data. If the command sent by the host requires a response, that response must be received no later than 20ms after the host releases the Clock line. If this does not happen, the host generates an error. As was the case with Device-to-host communication, no Data transition may occur with 5 microseconds of a Clock transition.图4描述了两个重要的定时条件a和b a在主机最初把书记现拉低后设备开始产生时钟脉冲的时间必须步大于15ms b数据包被发送的时间必须不大于2ms如果这两个条件不满足主机将产生一个错误在包收到后主机为了处理数据立刻把时钟线拉低来抑制通讯如果主机发送的命令要求有一个回应这个回应必须在书籍释放时钟线后20ms之内被收到如果没有收到则主机产生一个错误在设备到主机通讯的情况中时钟改变后的5微秒内不应该发生数据改变的情况If you want to emulate a mouse or keyboard, I would recommend reading data from the host as follows:如果呢要仿真一个鼠标或键盘我推荐你按如下的过程从主机读入数据In your main program, check for Data=low at least every 10 milliseconds.If Data has been brought low by the host, read one byte from the host在你的主程序中至少每10毫秒检测数据线是否为低如果数据线已被主机拉低则从主机读取一个字节1) Wait for Clock=high2) Is Data still low?No--An error occurred; Abort.3) Read 8 data bits \ After reading each of these bits, test4) Read parity bit > Clock to make sure host hasn't pulled it5) Read stop bit / low (which would abort this transmission.)6) Data still equals 0?Yes--Keep clocking until Data=1 then generate an error7) Output Acknowledge bit8) Check Parity bit.Generate an error if parity bit is incorrect9) Delay 45 microseconds (to give host time to inhibit next transmission.)1) 等待时钟线为高2) 数据线仍然为低吗不有错误发生放弃3) 读入8个数据位\ 在读入这些位后4) 读入校验位> 测试时钟线数否被主机拉低5) 读入停止位/ 这就意味着放弃这次传送6) 数据线仍旧为0吗是保持时钟直到数据1然后产生一个错误7) 输出应答位8) 检查校验位如果校验位不正确则产生一个错误9) 延迟45 微秒给主机时间抑制下次的传送Read each bit (8 data bits, parity bit, and stop bit) as follows:1) Delay 20 microseconds2) Bring Clock low3) Delay 40 microseconds4) Release Clock5) Delay 20 microsecond6) Read Data line按如下次序读取每位8个数据位检验位和停止位1) 延迟 20 微秒2) 把时钟拉低3) 延迟 40 微秒4) 释放时钟5) 延迟20 微秒7) 读数据线Send the acknowledge bit as follows:1) Delay 15 microseconds2) Bring Data low3) Delay 5 microseconds4) Bring Clock low5) Delay 40 microseconds6) Release Clock7) Delay 5 microseconds8) Release Data按如下次序发送应答位1) 延迟15 微秒2) 把数据线拉低3) 延迟5 微秒4) 把时钟线拉低5) 延迟40 微秒6) 释放时钟线7) 延迟5 微秒8) 释放数据线Here is some sample code written for the PIC16F84 that implements the above algorithms to read data from a PS/2 host. "Delay" is a self-explanitory macro; "CLOCK" and "DATA" are the port bits connected to the Clock and Data lines; "TEMP0", "PARITY", and "COUNTER" are all general purpose registers. Note that in the "PS2inBit" routine, Clock is brought low by setting the appropriate I/O pin to output (it's assumed they were set to "0" at the beginning of the program.) And it is allowed to float (high) by setting the I/O pin to input (and allow a pull-up resistor to pull the line high.) Timing was worked out for a PIC running at 4.61 MHz +/- 25% (RC oscillator with values 5k/20 pF). Will work for any oscillator between 3.50 MHz - 5.76 MHz.这里有写给PIC16F84的样例实现了上述从PS/2主机读取数据的算法Delay是一个自扩展宏CLOCK和DATA是连接到时钟线和数据线上的位端口TEMP0PARITY和COUNTER都是一般用途的寄存器注意在PS2inBit例程中置适当的I/O脚为输出来把时钟拉低在程序的开始处它们被设置为0置I/O脚为输入就是让它们上浮成高电平上拉电阻把管线拉成高电平为达到设计的定时时序PIC应运行于4.61MHz +/-25%RC振荡器的值是5k/20pF当然也可以工作于任何3.50MHz 5.76MHz的振荡器ByteIn btfss CLOCK ;Wait for start bitgoto ByteInbtfsc DATAgoto ByteInmovlw 0x08movwf COUNTERclrf PARITY ;Init reg for parity calcDelay 28ByteInLoop call BitIn ;Clock in Data bitsbtfss CLOCK ;Test for inhibitretlw 0xFEbcf STATUS, Crrf RECEIVE, fiorwf RECEIVE, fxorwf PARITY,fdecfsz COUNTER, fgoto ByteInLoopDelay 1call BitIn ;Clock in Parity bitbtfss CLOCK ;Test for inhibitretlw 0xFExorwf PARITY, fDelay 5ByteInLoop1 Delay 1call BitIn ;Clock in Stop bitbtfss CLOCK ;Test for inhibitretlw 0xFExorlw 0x00btfsc STATUS, Z ;Stop bit = 1?clrf PARITY No--cause an error condition.btfsc STATUS, Z ;Stop bit = 1?goto ByteInLoop1 ; No--keep clocking.bsf STATUS, RP0 ;Acknowledgebcf DATADelay 11bcf CLOCKDelay 45bsf CLOCKDelay 7bsf DATAbcf STATUS, RP0btfss PARITY, 7 ;Parity correct?retlw 0xFF ; No--return errorDelay 45retlw 0x00BitIn Delay 8bsf STATUS, RP0bcf CLOCKDelay 45bsf CLOCKbcf STATUS, RP0Delay 21btfsc DATAretlw 0x80retlw 0x00Other Sources / References:其它资源和参考Adam's micro-Resources Home - Many pages/links to related information.The AT Keyboard - My page on AT keyboardsThe PS/2 Mouse - My page on the PS/2 mouseSynaptics Touchpad Interfacing Guide -Very informative!PS/2 Keyboard and Mouse Protocols - Timing diagrams.Holtek - Informative datasheets on many different PS/2 mice (and other peripherals). More Links - Many more links to related resources.。
PS2、USB、DB-9、网卡、串口、并口、VGA针脚定义及接口定义图
PS2、USB、DB-9、网卡、串口、并口、VGA针脚定义及接口定义图以下为仅为主板各接口的针脚定义,外接出来的设备接口则应与主板对应接口针脚定义相反,如鼠标的主板接口定义为6——数据,4——VCC,3——GND,1——时钟,鼠标线的接口定义则与之相反为5——数据,3——VCC,4——GND,2——时钟;其他外接设备与此相同。
首先是ATX 20-Pin电源接口电源接口,根据下图你可方便判断和分辨。
现在为提高CPU 的供电,从P4主板开始,都有个4P接口,单独为CPU供电,在此也已经标出。
鼠标和键盘绝大多数采用PS/2接口,鼠标和键盘的PS/2接口的物理外观完全相同,初学者往往容易插错,以至于业界不得不在PC'99规范中用两种不同的颜色来将其区别开,而事实上它们在工作原理上是完全相同的,从下面的PS/2接口针脚定义我们就可以看出来。
上图的分别为AT键盘(既常说的大口键盘),和PS2键盘(即小口键盘),如今市场上PS2键盘的数量越来越多了,而AT键盘已经要沦为昨日黄花了。
因为键盘的定义相似,所以两者有共同的地方,各针脚定义如下:1、DATA 数据信号2、空3、GND 地端4、+5V5、CLOCK 时钟6 空(仅限PS2键盘)USB(Universal Serial Bus,通用串行总线)接口是由Compaq、IBM、Microsoft等多家公司于1994年底联合提出的接口标准,其目的是用于取代逐渐不适应外设需求的传统串、并口。
1996年业界正式通过了USB1.0标准,但由于未获当时主流的Win95支持(直到Win95 OSR2才通过外挂模块提供对USB1.0的支持)而未得到普及,直到1998年USB1.1标准确立和Win98内核正式提供对USB接口的直接支持之后,USB才真正开始普及,到今天已经发展到USB2.0标准。
USB接口的连接线有两种形式,通常我们将其与电脑接口连接的一端称为“A”连接头,而将连接外设的接头称为“B”连接头(通常的外设都是内建USB数据线而仅仅包含与电脑相连的“A”连接头)。
PS2键盘接口协议
PS2键盘接口协议2009-06-03 16:11一.电气特性PS/2 键盘接口为 6 针母插,外观为:上图为接口底座引脚图1DATA Key Data2n/c Not connected3GND Gnd4VCC Power , +5 VDC5CLK Clock6n/c Not connected二.数据格式1个起始位总是逻辑08个数据位(LSB)低位在前1个奇偶校验位奇校验1个停止位总是逻辑11个应答位仅用在主机对设备的通讯中表中,如果数据位中1的个数为偶数,校验位就为1;如果数据位中1的个数为奇数,校验位就为0;总之,数据位中1的个数加上校验位中1的个数总为奇数,因此总进行奇校验。
ps2设备的clock和data都是集电极开路的,平时都是高电平。
当ps2设备等待发送数据时,它首先检查clock是否为高。
如果为低,则认为PC抑制了通讯,此时它缓冲数据直到获得总线的控制权。
如果clock为高电平,ps2则开始向PC发送数据。
一般都是由ps2设备产生时钟信号。
发送按帧格式。
数据位在clock为高电平时准备好,在clock下降沿被PC读入。
数据从键盘/鼠标发送到主机或从主机发送到键盘/鼠标,时钟都是PS2设备产生.主机对时钟控制有优先权,即主机想发送控制指令给PS2设备时,可以拉低时钟线至少100μS,然后再下拉数据线,最后释放时钟线为高。
PS2设备的时钟线和数据线都是集电极开路的,容易实现拉低电平。
PC在时钟的下降沿读取数据.PS: ps2协议是现在大多数鼠标,键盘与PC通讯的标准协议,鼠标的通讯更为简单些,只是传送的数据内容不一样而已。
三.数据发送时序键盘接口时序(a) 键盘发送时序;(b) 键盘接收时序从PS/2向PC机发送一个字节可按照下面的步骤进行:(1)检测时钟线电平,如果时钟线为低,则延时50μs;(2)检测判断时钟信号是否为高,为高,则向下执行,为低,则转到(1);(3)检测数据线是否为高,如果为高则继续执行,如果为低,则放弃发送(此时PC机在向PS/2设备发送数据,所以PS/2设备要转移到接收程序处接收数据);(4)延时20μs(如果此时正在发送起始位,则应延时40μs);(5)输出起始位(0)到数据线上。
PS2接口知识整理
1.ps2接口协议PS/2的命名来自于1987年时IBM所推出的个人电脑:PS/2系列。
PS/2接口是输入装置接口,而不是传输接口。
所以PS2口没有传输速率的概念,只有扫描速率。
在Windows环境下,ps/2鼠标的采样率默认为60次/秒,USB鼠标的采样率为120次/秒。
较高的采样率理论上可以提高鼠标的移动精度。
PS/2接口设备不支持热插拔,强行带电插拔有可能烧毁主板。
1984年IBM推出了IBM AT键盘接口标准,该标准定义了84~101键,采用5脚DIN连接器和双向串行通讯协议,设有8个主机到键盘的命令。
1987年,IBM又推出了ps/2键盘接口标准。
该标准仍旧定义了84~101键,但是采用6脚mini-DIN连接器,支持17个主机到键盘的命令。
具有五脚连接器的键盘称之为AT键盘,而具有六脚mini-DIN连接器的键盘则称之为ps/2键盘。
PS2通过电位的大小来接受不同时间设备传输的信息2.键盘与鼠标协议的不同鼠标的PS/2的接口是绿色,而键盘的PS/2接口是紫色。
二者不能接反。
由于鼠标需要对位移信息进行传输,故与键盘有所不同。
另外,键盘有用5脚din接口的,而鼠标没有。
移动时,鼠标会输出一组时钟和数据信号;而在静止时,时钟和数据信号将一直保持为逻辑高电平,表示处于空闲状态。
每次移时鼠标会想主机发送不同的信息兵并基于PS/2协议的鼠标采用相对坐标的形式来追踪它的移动轨迹。
而键盘并不需要对位移信息进行处理,故与鼠标协议有所不同。
BUSB1.11998年9月,USBIF提出USB1.1规范来修正USB1.0,USB1.1的最高传输速率为12MbpsUsb2.02000年制订了USB2.0标准,USB2.0规范是由USB1.1规范演变而来的。
它的传输速率达到了480Mbps,折算为MB为60MB/s,足以满足大多数外设的速率要求支持系统Microsoft Windows 98 SEMicrosoft Windows MeMicrosoft* Windows* 2000(确保已安装Service Pack 4)Microsoft* Windows* XPMicrosoft windows VistaMicrosoft Windows 7Microsoft Windows 8Microsoft Windows Server 2003/2008/2008 R2/2012/2012 R2 Mac OS XLinux内核的各版本各品牌系统Usb3.0USB 3.0是最新的USB规范,该规范由英特尔等公司发起。
最全VGA、DVI、PS2、USB等接头详解焊接方法
最全VGA、DVI、PS/2、USB等接头详解焊接方法弱电施工的朋友们,会经常遇到VGA、DVI、PS/2、USB等常用的这些接头,今天我们一起来整理回顾一下这些接头的基本知识。
在工程施工中,大家可能会遇到现成的成品VGA线或HDMI线不够长,或者带着接头布线不太方便施工,只能先布线然后再重新焊接接头的情况,下面我就给大家介绍一下VGA等接头的焊接方法。
VGA的接口引脚图(孔座):还有一种非常实用的焊接方法就是在D15 两端的5~10 脚焊接在一起做公共地,红、绿、蓝的屏蔽线绞在一起接到公共地上;1 、2 、3 脚接红、绿、蓝的芯线;13 接黄线;14 接白线;外层屏蔽压接到D15 端壳。
其中:1、2、3为模拟的红、绿、蓝信号既3根粗线,6、7、8为对应的模拟接地既对应的屏蔽线;13、14为数字的行场信号,10为数字地;ID Bit为屏幕与主机之间的控制或地址码。
在实际工程中,经常会在地线的连接中出现错误,如果将某些脚(如4,5,9,15等)接到地线上,以大屏显示这种应用而言不至于出现什么问题,但如果10脚未接地的话,恐怕就要出现地线不通的情况,因此如果用到这类接头时建议先测量一下,看看彼此的定义是否一样,当然有时为了避免出现这种情况,有些设备将不用的引脚全部接地了,虽然不标准,但挺实用,只是如果要用到相应的控制位时会出问题,这一点应该知道,目前可这样用。
所以你的9芯线只要保证3根粗线及屏蔽线接好在123和678针脚,其它6根细线对应接到10、13、14、15即可,另外两条可接可不接。
实际操作中,还有一种非常简单适用的焊接方法:就是在D15 两端的5~10 脚焊接在一起做公共地,红、绿、蓝的屏蔽线绞在一起接到公共地上;1 、2 、3 脚接红、绿、蓝的芯线;13 接黄线;14 接白线;外层屏蔽压接到D15插头端壳,褐线和黑线不用接,但是要剪齐,以防和其他线串接。
红线的芯线脚1红线的屏蔽线脚6绿线的芯线脚2绿线的屏蔽线脚7蓝线的芯线脚3蓝线的屏蔽线脚8黑线脚10棕线脚11黄线脚13白线脚14外层屏蔽D 15 端壳压接一般在VGA接头上,会1,5,6,10,11,15等标明每个接口编号!VGA针脚只焊7线的焊接方法:(如用网线中的8芯焊接)第一、1 、2 、3 脚分别用网线中的三根线(1-橙,2-绿,3-蓝)记着两边颜色对应;第二、5~10 脚焊接在一起做公共地;用8根网线中的某一根颜色的线(在此我们记作用“橙白”色线),记着两头都用这根颜色的线,6、7、8脚针焊在一起接到公共地上;第三、11脚接网线中的某个线(在此定义为接棕色线,11-棕)第四、13脚接网线中的某根颜色的线(在此定义用绿白线,13-绿白);第五、14脚接网线中的某根颜色的线(在此定义用绿白线,14-蓝白);第六、15脚VGA插座外壳压接接地,(在此定义用绿白线,15-棕白)15号针脚其实应该跟5-10脚焊一起都当作地线,这样实际上就是焊7针脚了。
电脑主板双路供电原理
双路供电电路双路供电简称DUAL电压,如55VDUAL,3VDUAL等等。
通常在低压逆变供电系统,采用主电源与副电源配合使用,达到降低能耗及线路稳定的作用。
DUAL电压的含义DUAL电压,5VDUAL电压来说,就是采用两个电压来进行供电,即VCC5和5VSB电压。
在电脑主板插上ATX 电源接通电源,由5VSB电压来供电,当电脑主板按下power按钮以后,由VCC5电压来供电。
双路供电应用在主板的USB及PS2电路供电上。
大部分主板都提供键盘开机功能,在BIOS中将相关选项打开后,通过在键盘上输入特定的字母,主板就会通电,以实现不按电源开关就可启动主板。
这时需要主板在未通电时给USB、PS2、BIOS提供开机电压。
DUAL双电压设计是很有必要的,在标准的ATX规范中,5VSB最大只能提供1A的电流,只采用5VSB来给USB和PS2供电,就不足以提供足够的工作电流,致使相应设备不能正常工作。
例如一个USB端口的标准输出电流就是500MA,一般都有多个USB口,5VSB上的1A电流,转换3VSB、PS2的键盘、鼠标使用,就基本上消耗掉了,剩余电流连一个USB端口上的设备都不能维持工作,现在USB设备非常多,因此就需要采用双路供电。
DUAL电路设计:该设计可以用相应的信号来进行控制5VDUAL电路,以实现5VDUAL电路供电源的自动转换,在电脑主板上即可以支持键盘开机功能,又可以给USB设备提供足够的工作电流。
保证USB设备的工作正常。
图中两个独立的N沟道MOS管或二极管来实现5VDUAL电路的功能,也可能采用一个N沟道MOS管加一个P沟道MOS管实现,线路的设计方法有些不一样,但其工作原理是一样的。
双供电可能采用复合型场管,也可能采用独立的N管+P管。
用专用芯片控制的双路供电:图中双路供电原理:待机时ATXPWROK为低电平,连接比较器KA393的正相输入端3脚,此时KA393的2脚得到5VSB经过R1115和R1118分压后的2.5V电压,+<-,1脚输出低电平。
PS2 usb 接口定义
PS2 usb 接口定义五花八门2010-01-08 15:36:02 阅读218 评论1 字号:大中小订阅USB的A点对应PS2的3点,是接地、USB的D点对应PS2的4点,提供+5V电压,USB的B点对应PS2的5点,提供数据时钟,USB的C点对应PS2的1点,是数据接口。
中间没有任何的电路,只是直接联通:PS2、USB、DB-9、网卡、串口、并口、VGA针脚定义及接口定义图以下为仅为主板各接口的针脚定义,外接出来的设备接口则应与主板对应接口针脚定义相反,如鼠标的主板接口定义为6——数据,4——VCC,3——GND,1——时钟,鼠标线的接口定义则与之相反为5——数据,3——VCC,4——GND,2——时钟;其他外接设备与此相同。
首先是ATX 20-Pin电源接口电源接口,根据下图你可方便判断和分辨。
现在为提高CPU的供电,从P4主板开始,都有个4P接口,单独为CPU供电,在此也已经标出。
鼠标和键盘绝大多数采用PS/2接口,鼠标和键盘的PS/2接口的物理外观完全相同,初学者往往容易插错,以至于业界不得不在PC'99规范中用两种不同的颜色来将其区别开,而事实上它们在工作原理上是完全相同的,从下面的PS/2接口针脚定义我们就可以看出来。
上图的分别为AT键盘(既常说的大口键盘),和PS2键盘(即小口键盘),如今市场上PS2键盘的数量越来越多了,而AT键盘已经要沦为昨日黄花了。
因为键盘的定义相似,所以两者有共同的地方,各针脚定义如下:1、DATA 数据信号2、空3、GND 地端4、+5V5、CLOCK 时钟6 空(仅限PS2键盘)USB(Universal Serial Bus,通用串行总线)接口是由Compaq、IBM、Microsoft等多家公司于1994年底联合提出的接口标准,其目的是用于取代逐渐不适应外设需求的传统串、并口。
1996年业界正式通过了USB1.0标准,但由于未获当时主流的Win95支持(直到Win95 OSR2才通过外挂模块提供对USB1.0的支持)而未得到普及,直到1998年USB1.1标准确立和Win98内核正式提供对USB接口的直接支持之后,USB才真正开始普及,到今天已经发展到USB2.0标准。
ps2接口定义图
ps 2接口定义图母插引脚定义Pin Name Dir Description 1DA TA Key Data2n/c-Not connected 3GND Gnd4VCC Power , +5 VDC 5CLK Clock6n/c-Not connected PS/2 6 针公插,外观为:公插引脚定义Pin Name Dir Description 1CLK Key CLOCK2GND GND3DA TA Key DATA4NC-Not connected 5VCC Power , +5 VDC 6n/c-Not connected首先谈谈为什么要抛弃PS/2,很简单就是因为USB端口绝对的方便,支持热插拔和即插即用,因此可以大大方便我们平时的使用。
每台电脑理论上可以支持127个USB接口,随着USB的发展成熟,USB很有可能统一计算机接口,另外陈旧的PS/2接口有其本身的弊端,抛开热插拔等不说,PS/2接口在插入的时候很不方便,6个细小的针脚很难对准,而且很容易造成针脚的弯曲、折断。
所以我们有理由通过改造去抛弃它。
仔细研究一下两种接口的针脚,PS/2的针脚是6针的,而USB针脚却是4针,两者都提供+5v的电压。
拆开键盘(小心里边的橡胶小帽儿,弄不好撒的到处都是,别说我没提醒你),里边竟然有4根线(黄、红、白、绿),这就说明真正起作用的也就是4个针脚,和USB应该是一一对应的。
有了这点我想改造基本上是可行的,马上找了相关针脚资料看看。
不过本着diy的精神,还是谨慎为好。
本人用万能表检测了一下,结果却大跌眼睛,幸亏没有按照上面这个针脚的定义直接胡来,否则肯定失败。
测试后才知道,上面的是错误的。
唉,错的也往网上放,差点害苦我。
幸亏小心,呵呵。
按照本人的测试,针脚定义修正如下:键盘接线黄、红、白、绿对应的针脚如下黄3红4白6绿2USB的针脚定义如下图:(注:图示仅供参考,可能有错)USB对应的线与针脚间的连接如下:红4白3绿2黑1这样弄清楚了各个针脚的意义,我们就可以进行改造了。
PS2鼠标接口和协议简介
PS/2接口和协议简介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 其余的相同。。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
竭诚为您提供优质文档/双击可除
ps2接口供电规范
篇一:ps2接口标准及嵌入式编程
ps2接口标准及嵌入式编程
随着计算机工业的发展,作为计算机最常用输入设备的键盘也日新月异。
1981年ibm推出了ibmpc/xt键盘及其接口标准。
该标准定义了83键,采用5脚din连接器和简单的串行协议。
实际上,第一套键盘扫描码集并没有主机到键盘的命令。
为此,1984年ibm推出了ibmat键盘接口标准。
该标准定义了84~101键,采用5脚din连接器和双向串行通讯协议,此协议依照第二套键盘扫描码集设有8个主机到键盘的命令。
到了1987年,ibm又推出了ps/2键盘接口标准。
该标准仍旧定义了84~101键,但是采用6脚mini-din 连接器,该连接器在封装上更小巧,仍然用双向串行通讯协议并且提供有可选择的第三套键盘扫描码集,同时支持17
个主机到键盘的命令。
现在,市面上的键盘都和ps/2及at 键盘兼容,只是功能不同而已。
ps/2接口硬件
2.1物理连接器
一般,具有五脚连接器的键盘称之为at键盘,而具有六脚mini-din连接器的键盘则称之为ps/2键盘。
其实这两种连接器都只有四个脚有意义。
它们分别是clock(时钟脚)、data(数据脚)、+5V(电源脚)和ground(电源地)。
在ps/2键盘与pc机的物理连接上只要保证这四根线一一对应就可以了。
ps/2键盘靠pc的ps/2端口提供+5V电源,另外两个脚clock(时钟脚)和data(数据脚)都是集电极开路的,所以必须接大阻值的上拉电阻。
它们平时保持高电平,有输出时才被拉到低电平,之后自动上浮到高电平。
现在比较常用的连接器如图1所示。
2.2电气特性
ps/2通讯协议是一种双向同步串行通讯协议。
通讯的两端通过clock(时钟脚)同步,并通过data(数据脚)交换数据。
任何一方如果想抑制另外一方通讯时,只需要把clock(时钟脚)拉到低电平。
如果是pc机和ps/2键盘间的通讯,则pc 机必须做主机,也就是说,pc机可以抑制ps/2键盘发送数据,而ps/2键盘则不会抑制pc机发送数据。
一般两设备间传输数据的最大时钟频率是33khz,大多数ps/2设备工作在10~20khz。
推荐值在15khz左右,也就是说,clock(时钟脚)高、低电平的持续时间都为40μs。
每一数据帧包含11~12
个位,具体含义如表1所列。
表中,如果数据位中1的个数为偶数,校验位就为1;如果数据位中1的个数为奇数,校验位就为0;总之,数据位中1的个数加上校验位中1的个数总为奇数,因此总进行奇校验。
2.3ps/2设备和pc机的通讯
ps/2设备的clock(时钟脚)和data(数据脚)都是集电极开路的,平时都是高电平。
当ps/2设备等待发送数据时,它首先检查clock(时钟脚)以确认其是否为高电平。
如果是低电平,则认为是pc机抑制了通讯,此时它必须缓冲需要发送的数据直到重新获得总线的控制权(一般ps/2键盘有16个字节的缓冲区,而ps/2鼠标只有一个缓冲区仅存储最后一个要发送的数据)。
如果clock(时钟脚)为高电平,ps/2设备便开始将数据发送到pc机。
一般都是由ps/2设备产生时钟信号。
发送时一般都是按照数据帧格式顺序发送。
其中数据位在clock(时钟脚)为高电平时准备好,在clock(时钟脚)的下降沿被pc机读入。
ps/2设备到pc机的通讯时序如图2所示。
当时钟频率为15khz时,从clock(时钟脚)的上升沿到数据位转变时间至少要5μs。
数据变化到clock(时钟脚)下降沿的时间至少也有5μs,但不能大于25μs,这是由ps/2通讯协议的时序规定的。
如果时钟频率是其它值,参数
的内容应稍作调整。
上述讨论中传输的数据是指对特定键盘的编码或者对
特定命令的编码。
一般采用第二套扫描码集所规定的码值来编码。
其中键盘码分为通码(make)和断码(break)。
通码是
按键接通时所发送的编码,用两位十六进制数来表示,断码通常是按键断开时所发送的编码,用四位十六进制数来表示。
3ps/2接口的嵌入式软件编程方法
ps/2设备主要用于产生同步时钟信号和读写数据。
3.1ps/2向pc机发送一个字节
从ps/2向pc机发送一个字节可按照下面的步骤进行:
(1)检测时钟线电平,如果时钟线为低,则延时50μs;
(2)检测判断时钟信号是否为高,为高,则向下执行,
为低,则转到(1);
(3)检测数据线是否为高,如果为高则继续执行,如果
为低,则放弃发送(此时pc机在向ps/2设备发送数据,所
以ps/2设备要转移到接收程序处接收数据);
(4)延时20μs(如果此时正在发送起始位,则应延时
40μs);
(5)输出起始位(0)到数据线上。
这里要注意的是:在送出每一位后都要检测时钟线,以确保pc机没有抑制ps/2设备,如果有则中止发送;
(6)输出8个数据位到数据线上;
(7)输出校验位;
(8)输出停止位(1);
(9)延时30μs(如果在发送停止位时释放时钟信号则应延时50μs);
通过以下步骤可发送单个位:
(1)准备数据位(将需要发送的数据位放到数据线上);
(2)延时20μs;
(3)把时钟线拉低;
(4)延时40μs;
(5)释放时钟线;
(6)延时20μs。
3.2ps/2设备从pc机接收一个字节
由于ps/2设备能提供串行同步时钟,因此,如果pc机发送数据,则pc机要先把时钟线和数据线置为请求发送的状态。
pc机通过下拉时钟线大于100μs来抑制通讯,并且通过下拉数据线发出请求发送数据的信号,然后释放时钟。
当ps/2设备检测到需要接收的数据时,它会产生时钟信号并记录下面8个数据位和一个停止位。
主机此时在时钟线变为低时准备数据到数据线,并在时钟上升沿锁存数据。
而
ps/2设备则要配合pc机才能读到准确的数据。
具体连接步骤如下:
(1)等待时钟线为高电平。