PS-2接口协议.pdf
文本预览下载声明
PS-2 接口协议解析及应用
随着计算机工业的发展,作为计算机最常用输入设备的键盘也日新月异。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 键盘兼容,只是功能不同而已。
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 个起始位 总是逻辑 0
8 个数据位 (LSB)低位在前
1 个奇偶校验位 奇校验
1 个停止位 总是逻辑 1
1 个应答位 仅用在主机对设备的通讯中
表中,如果数据位中 1 的个数为偶数,校验位就为 1;如果数据位中 1 的个数为奇数,校验位就为 0;总之,数据位中 1 的个数
加上校验位中 1 的个数总为奇数,因此总进行奇校验。
2.3 ps/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)。通码是按键接通时所发送的编码,用两位十六进制数来表示,断码通常是按键断开时所
发送的编码,用四位十六进制数来表示。
3 ps/2 接口的嵌入式软件编程方法
ps/2 设备主要用于产生同步时钟信
显示全部