PS/2键盘驱动
1、PS/2通信协议介绍
物理 PS/2 端口是 6 针 DIN 连接器。 连接器引脚如下所示:
Vcc/Ground 为设备提供电源 (5V),而 Data 和 Clock 是两条集电极开路线,带有上拉电阻到 Vcc。 电阻值并不重要(1 – 10 KOhm),最小值给出最短的上升时间,而较大的值允许更少的功耗。
PS/2 协议是一种双向串行同步协议。 当数据线和时钟线为高电平时,总线空闲,键盘/鼠标可以开始传输数据; 主机可以随时通过将时钟线拉低 100 微秒来禁止传输。 设备总是产生时钟信号,如果主机想要通信,它可以通过将时钟线拉低(禁止设备传输)、将数据线拉低然后释放时钟线来实现:这是发送的请求 状态并告诉设备开始生成时钟脉冲。
总线状态如下:
数据 = 高电平,时钟 = 高电平:空闲状态。
数据 = 高电平,时钟 = 低电平:禁止通信。
数据 = 低电平,时钟 = 高电平:主机请求发送
数据帧由 11 位或 12 位组成(取决于数据方向):
- 一个起始位(总是低)
- 8 个数据位,LSB 在前
- 奇校验位
- 一个停止位(总是高)
- 一个确认位(从