PS2通信协议说明与接口定义(键盘和鼠标)_第1页
PS2通信协议说明与接口定义(键盘和鼠标)_第2页
PS2通信协议说明与接口定义(键盘和鼠标)_第3页
PS2通信协议说明与接口定义(键盘和鼠标)_第4页
PS2通信协议说明与接口定义(键盘和鼠标)_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

可编辑可编辑PS2针脚定义:原理PS/2鼠标接口承受一种双向同步串行协议。即每在时钟线上发一个脉冲,就在数据线上发送一位数据。在相互传输中,主机拥有总线掌握权,即它可以在任何时候抑制鼠标的发送。方法是把时钟线一直拉低,鼠标就不能产生时钟信号和发送数据。在两个方向的传输中,时钟信号都是由鼠标产生,即主机不产生通信时钟信号。假设主机要发送数据,它必需掌握鼠标产生时钟信号。方法如下:主机首先下拉时钟线至少100μs抑制通信,然后再下拉数据线,最终释放时钟线。通过这一时序掌握鼠标产生时钟信号。当鼠标检测到这个时序状态,会在10ms内产生时钟信号。如图3中A时序段。主机和鼠标之间,传输数据帧的时序2、3。2.2数据包构造在主机程序中,利用每个数据位的时钟脉冲触发中断,在中断例程中实现数据位的推断和接收。在试验过程中,通过适宜的编程,能够正确掌握并接收鼠标数据。但该方案有一点缺乏,由于每个CLOCK。PS/2:Reset0xFF模式;Stream模式鼠标的默认模式,当鼠标上电或复位完成后,自动进入此模式,鼠标根本上以此模式工;Remote0xF0;Wrap于测试鼠标与主机连接是否正确。PS/2。1。Byte1中的Bit0、Bit1、Bit2分别表示左、右、中键的状态,状态值0表示释放,1表示按下。Byte2Byte3分别表示XY。Byte4动计量值,也是二进制补码值,高四位作为扩展符号位。这种数据包由带滚轮的三键三维鼠标产生。假设是不带滚轮的三键鼠标,产生的数据包没有Byte4。一.PS/2鼠标键盘协议PC键盘可以有6脚的mini-DIN或5脚的DIN连接器假设你的键盘是6脚的mini-DIN而你的计5脚的DIN或者相反这两类连接器可以用上面提到的适配器来兼容具有6脚mini-DIN的键盘PS/25DINATXT5DIN但它们格外古老并且多年前就不生产了全部现代的为PC建筑的键盘不是PS/2,AT就是USB的这篇文章不适用于USB设备它们使用了一种完全不同的接口。每种连接器的引脚定义如下所示5V数据和时钟host计算机供给5V并且键盘/鼠标的地连接到host的电源地上数据和时钟都是集电极开路的这就意味着它们通常保持高电平而且很0任何你连接到PS/2鼠标键盘或host的设备在时钟和数据线上要PS/2技术参考AdamChapweskeRoyShow44页02-11-220就把线拉低置1就让线上浮成高电平参考图1中数据和时钟线的一般接口构造留意假设你打算使用象PIC这样的微掌握器由于它们的I/O管脚是双向的你可以跳过晶体管和缓冲门并且通用同一个管脚进展输入和输出1使得电阻上拉线上的电平要转变管脚为输出就写入0到那个管脚把线路下拉到地〕PS/2鼠标和键盘履行一种双向同步串行协议线上发一个脉冲就被读入。键盘/鼠标可以发送数据到主机,而主机也可以发送数据到设备,但主机总是在总线上有优先权,它可以在任何时候抑制来自于键盘/鼠标的通讯,只要把时钟拉低即可。从键盘/鼠标发送到主机的数据在时钟信号的下降沿当时钟从高变到低的时候被读取从主机发送到键盘/〔当时钟从低变到高的时候/鼠标总是产生时钟信号假设主机要发送数据它必需首先告知设备开头产生时钟信号这个过程在下一章节中被描述33kHz1020kHzPS/2设备。15kHz左右。这就意味着时钟应当是高4040微秒。全部数据安排在字节中,每个字节为一帧,包含了11-12个位。这些位的含义如下:11;1,校验位就会置0。1的个数加上校验位总为奇数〔这就是奇校验〕这是用来错误检测。当主机发送数据给键盘/设备到主机的通讯过程:〔正常保持高电平〔键盘有16字节的缓冲区而鼠标的缓冲区仅存储最终一个要发送的数据包。假设时钟线是高电平,设备就可以开头传送数据。如我在上一节提及的,键盘和鼠标使用一种每帧包含11位的串行协议。这些位含义是:1startbit.Thisisalways0. 108databits,leastsignificantbitfirst. 81paritybit(oddparity). 11stopbit.Thisisalways1. 11每位在时钟的下降沿被主机读入,如图23所示1016.7kHz。从时钟脉冲的上升沿到一个数据转变的时间至少要有5微秒。数据变化到时钟脉冲的下降沿的时间至少要有5微秒并且不大于25微秒。这个定时格外重要你应当严格遵循它。主机可以在第11个时钟脉冲〔停顿位〕之前把线拉低,导致设备放弃发送当前字节〔这是格外罕见的。在停顿位发送后,设备在发送下个包前至少应当等待50毫秒。这将给主机时间当它处理接收到的字节时抑制发送〔主机在收到每个包时,通常自动做这个。在主机释放抑制后,设备至少应当在发50毫秒。我推举下面的过程发送一个单一字节从仿真键盘/鼠标到主机:等待Clock=high延时50微秒Clocks照旧为high? No—到第1步Data=high? No—放弃(并且从主机读取字节)延迟20毫秒(=40微秒tothetimeClockispulledlowinsendingthestartbit.)输出起始位(0)/在发送全部这些位的每一位后输出8个数据位>测试时钟确认主机是否把它拉低了输出校验位/这说明主机要放弃这次10)30毫秒(=50微秒fromthetim9)输出停顿位(1)eClockisreleasedinsendingthestopbit)按如下的过程发送单个位:Set/ResetDataDelay20microsecondsBringClocklowDelay40microsecondsReleaseClockDelay20microseconds设置/复位数据20微秒把时钟拉低40微秒释放时钟20微秒主机到设备的通讯PS/2送数据,它必需首先把时钟和数据线设置为‘恳求发送’状态,如下示:100微秒来抑制通讯。通过下拉数据线来应用‘恳求发送设备应当在不超过10毫秒的间隔内就要检查这个状态。当设备检测到这个状态,它将开头产生而数据在时钟脉冲的上升沿被锁存。这在发生在设备到主机通讯的过程中正好相反。在停顿位发送后,设备要应答接收到的字节,就把数据线拉低并产生最终一个时钟脉冲。假设主机在第11个时钟脉冲后不释放数据线,设备将连续产生时钟脉冲直到数据线被释放〔然后设备将产生一个错误。11个时钟脉冲〔应答位〕前中止一次传送,只要下拉时钟线至少100微秒。要使得这个过程易于理解,主机必需按下面的步骤发送数据到PS/2设备:100微秒把数据线拉低释放数据线等待设备把时钟线拉低设置/复位数据线发送第一个数据位等待设备把时钟拉高等待设备把时钟拉低重复5-77个数据位和校验位释放数据线等待设备把数据线拉低等待设备把时钟线拉低等待设备释放数据线和时钟线34以单独的时序表示了由主机产生的信号。及由PS/2设备产生的信号。留意应答位时序的转变-数据转变发生在时钟线为高的时候〔不同于其它11位是当它为低的时候。4描述了两个重要的定时条件:ab。a15ms;b2ms要求有一个回应,这个回应必需在书籍释放时钟线后20ms之内被收到。假设没有收到,则主机产生一个错误。在设备到主机通讯的状况中,时钟转变后的5微秒内不应当发生数据转变的状况。假设呢要仿真一个鼠标或键盘,我推举你按如下的过程从主机读入数据;10毫秒检测数据线是否为低。假设数据线已被主机拉低,则从主机读取一个字节。等待时钟线为高数据线仍旧为低吗不-有错误发生;放弃。8个数据位/在读入这些位后读入校验位>测试时钟线数否被主机拉低读入停顿位/这就意味着放弃这次传送0吗?是保持时钟直到数据=1然后产生一个错误输出应答位检查校验位假设校验位不正确则产生一个错误45微秒〔给主机时间抑制下次的传送〕按如下次序读取每位8个数据位检验位和停顿位:延迟20微秒把时钟拉低延迟40微秒释放时钟20微秒7)读数据线按如下次序发送应答位:15微秒把数据线拉低5微秒把时钟线拉低40微秒释放时钟线5微秒释放数据线PS2PS2(2011-10-1412:23:40)转载▼标签: 分类: ps2通信一.电气特性it一.电气特性DATADATAKeyDatan/cNotconnected3GNDGnd4VCCPower,+5VDCCLKClockn/cNotconnected二.数据格式18111

总是规律0低位在前奇校验总是规律1仅用在主机对设备的通讯中表中,假设数据位中1的个数为偶数,校验位就为1;假设数据位中1的个数为奇数,校验位就为0;总之,数据位中1的个数加上校验位中1的个数总为奇数,因此总进展奇校验。ps2设备的clock和data都是集电极开路的,寻常都是高电平。当ps2设备等待发送数据时,它首先检查clockPCclock为高电平,ps2PC一般都是由ps2设备产生时钟信号。发送按帧格式。数据位在clock为高电寻常预备好,在clock下降沿被PC数据从键盘/鼠标发送到主机或从主机发送到键盘/鼠标,时钟都是PS2设备产生.主机对时钟掌握有优先权,即主机想发送掌握指令给PS2设备时,可以拉低时钟线至少100μS,然后再下拉数据线,最终释放时钟线为高。PS2PCPS:ps2PC的数据内容不一样而已。三.数据发送时序键盘接口时序(a)键盘发送时序;(b)键盘接收时序从PS/2向PC机发送一个字节可依据下面的步骤进展:(1)检测时钟线电平,假设时钟线为低,则延时50μs;(2)检测推断时钟信号是否为高,为高,则向下执行,为低,则转到(1);可编辑可编辑(3)检测数据线是否为高,假设为高则连续执行,假设为低,则放弃发送〔此时PC机在向PS/2设备发送数据,所以PS/2设备要转移到接收程序处接收数据〕;(3)检测数据线是否为高,假设为高则连续执行,假设为低,则放弃发送〔此时PC机在向PS/2设备发送数据,所以PS/2设备要转移到接收程序处接收数据〕;(4)延时20μs〔假设此时正在发送起始位,则应延时40μs〕;〔5〕输出起始位〔0〕到数据线上。这里要留意的是:在送出每一位后都要检测时钟线,以确保PC机没有抑制PS/2设备,假设有则中止发送;〔6〕输出8个数据位到数据线上;〔7〕输出校验位;〔8〕输出停顿位〔1〕;50μs〕;通过以下步骤可发送单个位:〔1〕预备数据位〔将需要发送的数据位放到数据线上〕;〔2〕延时20μs;〔3〕把时钟线拉低;〔4〕延时40μs;〔5〕释放时钟线;〔6〕延时20μs。PS/2设备从PC机接收一个字节由于PS/2设备能供给串行同步时钟,因此,假设PC机发送数据,则PC机要先把时钟线和100μs沿锁存数据。而PS/2设备则要协作PC机才能读到准确的数据。具体连接步骤如下:〔1〕等待时钟线为高电平。〔2〕推断数据线是否为低,为高则错误退出,否则连续执行。〔3〕读地址线上的数据内容,共8个bit,每读完一个位,都应检测时钟线是否被PC机拉低,假设被拉低则要中止接收。〔4〕读地址线上的校验位内容,1个bit。〔5〕读停顿位。〔6〕假设数据线上为0〔即还是低电平〕,PS/2设备连续产生时钟,直到〔出错〕。错误。

〔7输出应答位。〔8〕检测奇偶校验位,假设校验失败,则产生错误信号以说明此次传输消灭〔9〕延时45μs,以便PC机进展下一次传输。读数据线的步骤如下:〔1〕延时20μs;〔2〕把时钟线拉低〔3〕延时40μs〔4〕释放时钟线〔5〕延时20μs〔6〕读数据线。No.No.KEY通码(其次套)断码(其次套)一个键盘发送值的例子:通码和断码是以什么样的序列发送到你的计算机从而使得字符G消灭在你的字处理软件里Shift键-按下G键-释放G键-释放ShiftShift键的通码12G键的通码34hG键的断码F0h34hShift键的断码F0h12h12h34hF0h34hF0h12h五:其次套扫描码:101102104键的键盘:下面的步骤可用于发出应答位;下面的步骤可用于发出应答位;〔1〕延时15μs;〔2〕把数据线拉低;〔3〕延时5μs;〔4〕把时钟线拉低;(5〕延时40μs;(6〕释放时钟线;〔7〕延时5μs;〔8〕释放数据线。四.键盘返回值介绍:键盘的处理器假设觉察有键被按下或释放将发送扫描码的信息包到计算机。扫描码有两种不同的。。这类的通码第一个字节总是为E0。系。多数其次套断码有两字节长。它们的第一个字节是F0,其次个字节是这个键的通码。扩展按键的断码通常有三个字节,它们前两个字节是E0h,F0h,最终一个字节是这个按键通码的最终一个字节。下面列出了几个按键的其次套通码和断码:1“A“1CF01C2“5“2EF02E3“F10“09F0094RightArrowE074E0F0745Right“Ctrl“E014E0F014KEYKEY通码断码KEYKEY通码断码A1CF01C9 46 F046[54F054B32F032` 0E F00EINSERTE070E0F070可编辑可编辑CC21F021- 4E F04EHOME E06CE0F06CD23F023= 55F055PGUPE07DE0F07DE24F024\ 5DF05DDELETEE071E0F071F2BF02BBKSP66F066END E069E0F069G34F034SPACE29F029PGDNE07AE0F07AH33F033TAB 0DF00DUARROWE075E0F075I43F043CAPS58F058LARROWE06BE0F06BJ3BF03BLSHFT12F012DARROWE072E0F072K42F042LCTRL14F014RARROWE074E0F074L4BF04BLGUIE01FE0F01FNUM 77F077M3AF03ALALT11F011KP/ E04AE0F04AN31F031RSHFT59F059KP* 7CF07CO44F044RCTRLE014E0F014KP- 7BF07BP4DF04DRGUIE027E0F027KP+79F079Q15F015RALTE011E0F011KPENE05AE0F05AR2DF02DAPPSE02FE0F02FKP71F071S1BF01BENTER5AF05AKP070F070T2CF02CESC76F076KP169F069U3CF03CF105F005KP272F072V2AF02AF206F006KP37AF07AW1DF01DF304F004KP46BF06BX22F022F40CF00CKP573F073Y35F035F503F003KP674F074Z1AF01AF60BF00BKP76CF06C045F045F783F083KP875F075116F016F80AF00AKP97DF07D21EF01EF901F001]58F058326F026F1009F00

温馨提示

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

评论

0/150

提交评论