PS/2键盘协议详解

需积分: 3 5 下载量 185 浏览量 更新于2024-08-01 收藏 276KB DOC 举报
"PS2协议详解文档" 本文档主要探讨了PS/2键盘接口及其协议,由Adam Chapweske在2001年撰写。它深入解析了AT和PS/2键盘的底层信号、协议、扫描码、命令集、初始化过程、兼容性问题以及其他相关细节。同时,文中也涵盖了PC键盘控制器的信息。示例代码部分涉及到键盘接口的用法,使用了Microchip的PIC微控制器汇编语言编写;而与键盘控制器相关的代码则采用x86汇编语言。 作者指出,本文档中的所有信息来源于个人经验和可能不完全准确的其他来源,因为没有官方文档可供参考。因此,文档提供“原样”信息,没有任何明示或暗示的保证,包括但不限于商业性和特定用途的适用性保证。作者并不对此承担责任。 PS/2协议是个人计算机中广泛使用的键盘和鼠标接口标准,由IBM于1987年引入。以下是该协议的一些关键知识点: 1. **接口类型**:分为AT和PS/2两种。AT接口是早期的标准,后来被PS/2接口取代,因为PS/2提供了更简洁的6针微型DIN连接器。 2. **信号与协议**:PS/2协议基于串行通信,使用单线实现数据传输,数据以低电平有效的方式发送。协议包含握手信号,如数据准备好(DRDY)和输入缓冲器空(IBF),确保数据传输的正确性和完整性。 3. **扫描码**:键盘上的每个按键都有一个唯一的扫描码,当按键按下时,键盘会发送这个扫描码到主机。扫描码有两种模式:原始扫描码和转换扫描码,其中转换扫描码是为解决多国语言布局问题设计的。 4. **命令集**:PS/2键盘支持一系列命令,如设置重复率、延迟时间,以及获取设备信息等。通过发送特定的命令字节,主机可以控制键盘的行为。 5. **初始化**:在系统启动时,主机通常会发送一系列初始化命令来配置键盘。这包括设置扫描码模式、重置键盘、读取设备ID等步骤。 6. **兼容性问题**:虽然PS/2接口设计得相对简单,但在实际应用中可能会遇到兼容性问题,例如不同制造商的键盘对某些命令的响应可能不同,或者旧的硬件可能不支持新的功能。 7. **PC键盘控制器**:这是主板上处理键盘和鼠标输入的芯片,它负责接收和解析来自PS/2设备的信号,并将其转换为CPU可以理解的形式。 了解这些基本概念和技术细节,对于进行硬件编程、驱动开发或者故障排查等工作来说至关重要。通过学习PS/2协议,开发者能够更好地理解和控制与键盘相关的系统级操作。