PS2设备通信协议

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

PS2设备通信协议时序图PS2接口和协议•接口简介•1981年IBM推出了IBMPC/XT键盘及其接口标准。经过多年演变成6脚mini-DiN连接器接口,封装上更小巧,用双向串行通讯协议并且提供有可选择的第三套键盘扫描码集,同时支持17个主机到键盘的命令。现在,市面上的键盘都和PS/2及AT键盘兼容PS/2接口硬件•物理连接器这两种连接器都只有四个脚有意义。它们分别是Clock(时钟脚)、DATA数据脚、+5V(电源脚)和Ground(电源地)。在PS/2键盘与PC机的物理连接上只要保证这四根线一一对应就可以了。PS/2键盘靠PC的PS/2端口提供+5V电源,另外两个脚Clock(时钟脚)和DATA数据脚都是集电极开路的,所以必须接大阻值的上拉电阻。它们平时保持高电平,有输出时才被拉到低电平,之后自动上浮到高电平。电气特性•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个起始位总是逻辑08个数据位,低位在前1个奇偶校验位(奇校验)1个停止位总是逻辑11个应答位仅用在主机对设备的通讯中奇校验•如果数据位中1的个数为偶数,校验位就为1;如果数据位中1的个数为奇数,校验位就为0PS/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所示。Ps2设备到主机的通信•图中绿色的信号表示由Ps2设备产生的。也就是说PS2设备在产生时钟的同时向主机送出数据,主机在PS2CLK信号的下降沿读取每个位。•当PS2CLK频率为15kHz时,从PS2CLK(时钟脚)的上升沿到数据位转变时间至少要5μs。数据变化到PS2CLK(时钟脚)下降沿的时间至少也有5μs,但不能大于25μs,这是由PS/2通讯协议的时序规定的。(一般不用考虑,这由键盘或者鼠标产生)主机(即PC)到PS/2设备的传输•主机若想影响传输,必须能够控制总线时钟!对于主机而言,控制PS/2总线有三种状态状态PS2DATAPS2CLKNoteIdle高高InhibitTransmission高低为了传输能够发送串行数据到一位寄存器输出端,控制器要求PS2设备产生PS2CLKHostSendRequest低高主机到PS/2设备的传输•PS2控制器必须进入主机发送请求(HostSendRequest)的状态。这可以通过以下动作实现:•PS2CLK线首先被拉低至少在一个时钟周期(进入禁止传输InhibitTransmission状态)•PS2DATA线随后被拉低(提供的起始位帧传送)•PS2CLK线随后被释放(仍然保持PS2DATA低)。•PS/2设备定期检查数据和时钟线是否为这种状态,当检测到,开始产生PS2CLK信号。•在从主机向PS/2设备发送数据时,PS2一帧数据由10个域构成。见时序图从主机到PS/2设备的数据的传输时序图•绿色信号由ps2设备产生,黄色信号由主机产生•由于PS/2设备能提供串行同步时钟,因此,如果主机发送数据,则主机要先把时钟线和数据线置为请求发送的状态。主机通过下拉时钟线大于100μs来抑制通讯,并且通过下拉数据线发出请求发送数据的信号,然后释放时钟,PS/2设备检测到需要接收的数据时,它会产生时钟信号并记录下面8个数据位和一个停止位。主机此时在时钟线变为低时准备数据到数据线,并在时钟上升沿锁存数据。Ps2键盘•如果它发现有键被按下,释放或按住,键盘将发送扫描码的信息包到计算机。扫描码有两种不同的类型通码和断码。当一个键被按下或按住就发送通码,当一个键被释放就发送断码。每个按键被分配了唯一的通码和断码。这样主机通过查找唯一的扫描码就可以测定是哪个按键。每个键一整套的通断码组成了扫描码集,有三套标准的扫描码集分别是第一套第二套和第三套。所有现代的键盘默认使用第二套扫描码。键盘缺省设置状态•在上电或软件复位(见Reset命令)后键盘执行诊断自检叫做BAT(基本保证测试)并载入如下的缺省值:•击打延迟为500ms•击打速率为10.9cps•*第二套扫描码集•*置所有按键为机打/通码/断码Ps2鼠标的工作模式和协议数据包格式•Ps2鼠标四种工作模式–Reset模式,当鼠标上电或者主机发出reset命令(ff)时,进入这种模式–Stream模式:鼠标默认的模式,当鼠标上电或者复位完成后,自动进入此模式–Remote模式:和主机交互模式–Wrap模式,用于测试鼠标和主机连接是否正确流模式下数据包格式ByteBitDescription10Leftbuttonstatus;1=pressed1Rightbuttonstatus;1=pressed2Middlebuttonstatus;1=pressed3Reserve4Xdatasign;1=negative5Ydatasign;1=negative6Reserve7Reserve20-7Xdata(D0-D7)30-7Ydata(D0-D7)带滚轮的鼠标的数据包格式ByteBitDescription10Leftbuttonstatus;1=pressed1Rightbuttonstatus;1=pressed2Middlebuttonstatus;1=pressed3always14Xdatasign;1=negative5Ydatasign;1=negative6Xoverflow7Yoverflow20-7Xdata(D0-D7)30-7Ydata(D0-D7)40-7高四位是符号扩展位,低四位是滚轮的移动计数值

1 / 17
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功