• 1.摘要
  • 2.基本信息
  • 3.发展过程
  • 4.接口特性
  • 4.1.物理连接
  • 4.2.电气特性
  • 4.3.通讯
  • 5.编程过程
  • 5.1.发送字节
  • 5.2.接收字节
  • 6.参考资料

PS/2接口

PS/2接口是一种PC兼容型计算机系统上的接口,可以用来链接键盘及鼠标。PS/2的命名来自于1987年时IBM所推出的个人计算机:PS/2系列。PS/2鼠标连接通常用来取代旧式的序列鼠标接口(DB-9RS-232);而PS/2键盘连接则用来取代为IBM PC/AT所设计的大型5-pin DIN接口。PS/2的键盘及鼠标接口在电气特性上十分类似,其中主要的差别在于键盘接口需要双向的沟通。

PS/2接口已经慢慢的被USB所取代,只有少部分的台式机仍然提供完整的PS/2键盘及鼠标接口,少部分机器则已无PS/2,大部分的机器仅提供一组键盘及鼠标可以共享之PS/2或是仅可供键盘使用。

基本信息

  • 中文名

    PS/2接口

  • 主要用途

    用于连接电脑键盘鼠标

  • 通讯类型

    双向同步串行通讯协议

  • 设备用途

    用于产生同步时钟信号和读写数据

  • 有效接脚

    时钟脚数据脚电源脚电源地

  • 连接器类型

    5脚连接器mini-DIN连接器

  • 热插拔

    不支持

  • 特点

    全键无冲突兼容性好

发展过程

随着计算机工业的发展,作为计算机最常用输入设备的键盘也日新月异。1981年IBM推出了IBM PC/XT键盘及其接口标准。该标准定义了83键,采用5脚DIN连接器和简单的串行协议。实际上,第一套键盘扫描码集并没有主机到键盘的命令。为此,1984年IBM推出了IBM AT键盘接口标准。该标准定义了84~101键,采用5脚DIN连接器和双向串行通讯协议,此协议依照第二套键盘扫描码集设有8个主机到键盘的命令。到了1987年,IBM又推出了PS/2键盘接口标准。该标准仍旧定义了84~101键,但是采用6脚mini-DIN连接器,该连接器在封装上更小巧,仍然用双向串行通讯协议并且提供有可选择的第三套键盘扫描码集,同时支持17个主机到键盘的命令。市面上的键盘都和PS/2及AT键盘兼容,只是功能不同而已。1

接口特性

物理连接

一般,具有五脚连接器的键盘称之为AT键盘,而具有六脚mini-DIN连接器的键盘则称之为PS/2键盘。其实这两种连接器都只有四个脚有意义。它们分别是Clock(时钟脚)、Data(数据脚)、+5V(电源脚)和Ground(电源地)。在PS/2键盘与PC机的物理连接上只要保证这四根线一一对应就可以了。PS/2键盘靠PC的PS/2端口提供+5V电源,另外两个脚Clock(时钟脚)和Data(数据脚)都是集电极开路的,所以必须接大阻值的上拉电阻。它们平时保持高电平,有输出时才被拉到低电平,之后自动上浮到高电平。比较常用的连接器如图1所示。1

电气特性

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

8个数据位

(LSB)低位在前

1个奇偶校验位

奇校验

1个停止位

总是逻辑1

1个应答位

仅用在主机对设备的通讯中

表中,如果数据位中1的个数为偶数,校验位就为1;如果数据位中1的个数为奇数,校验位就为0;总之,数据位中1的个数加上校验位中1的个数总为奇数,因此总进行奇校验。

通讯

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)。通码是按键接通时所发送的编码,用两位十六进制数来表示,断码通常是按键断开时所发送的编码,用四位十六进制数来表示。

编程过程

PS/2设备主要用于产生同步时钟信号和读写数据。

发送字节

从PS/2向PC机发送一个字节可按照下面的步骤进行:1