[KungFu8位 MCU]

来说说PS/2鼠标 键盘

[复制链接]
791|10
手机看帖
扫描二维码
随时随地手机跟帖
dianz|  楼主 | 2017-11-26 10:20 | 显示全部楼层 |阅读模式
PS/2设备接口用于许多现代的鼠标和键盘它是由IBM开发并且最初出现在IBM技术参考手册里
dianz|  楼主 | 2017-11-26 10:21 | 显示全部楼层
物理上的PS/2端口是两类连接器中的一种5脚的DIN或6脚的mini-DIN 这两种连接器在电气特性上是十分类似的实际上两者只有一点不同那就是管脚的排列
360截图20171126102255187.jpg

使用特权

评论回复
关小波522| | 2017-11-26 14:50 | 显示全部楼层
连接器上有四个有趣的管脚 电源地 5V 数据和时钟 host 计算机 提供 5V 并且键盘/鼠标的地连接到host的电源地上数据和时钟都是集电极开路的这就意味着它们通常保持高电平而且很容易下拉到地逻辑0 任何你连接到PS/2鼠标键盘或host的设备在时钟和数据线上要有一个大的上拉电阻置0 就把线拉低置1 就让线上浮成高电平参考图1中数据和时钟线的一般接口结构 注意如果你打算使用象PIC这样的微控制器由于它们的I/O管脚是双向的你可以跳过晶体管和缓冲门并且通用同一个管脚进行输入和输出在这种组态情况下要设置管脚为输入就写入1使得电阻上拉线上的电平 要改变管脚为输出就写入0到那个管脚 把线路下拉到地

使用特权

评论回复
关小波522| | 2017-11-26 14:51 | 显示全部楼层
PS/2鼠标和键盘履行一种双向同步串行协议换句话说每次数据线上发送一位数据并且每在时钟线上发一个脉冲就被读入 键盘/鼠标可以发送数据到主机 而主机也可以发送数据到设备 但主机总是在总线上有优先权 它可以在任何时候抑制来自于键盘/鼠标的通讯 只要把时钟拉低即可

使用特权

评论回复
afgnhgrf| | 2017-11-26 15:05 | 显示全部楼层
从键盘/鼠标发送到主机的数据在时钟信号的下降沿 当时钟从高变到低的时候 被读取 从主机发送到键盘/鼠标的数据在上升沿当时钟从低变到高的时候被读取不管通讯的方向怎样键盘/鼠标总是产生时钟信号如果主机要发送数据它必须首先告诉设备开始产生时钟信号这个过程在下一章节中被描述 最大的时钟频率是33kHz 而且大多数设备工作在10 20kHz 如果你要制作一个PS/2设备 我推荐你把频率控制在15kHz左右 这就意味着时钟应该是高40微秒低40微秒

使用特权

评论回复
afgnhgrf| | 2017-11-26 15:05 | 显示全部楼层
如果数据位中包含偶数个1 校验位就会置1 如果数据位中包含奇数个1 校验位就会置0 数据位中1的个数加上校验位总是为奇数 这就是奇校验 这是用来进行错误检测的

使用特权

评论回复
afgnhgrf| | 2017-11-26 15:06 | 显示全部楼层
当主机发送数据给键盘/鼠标时 设备回送一个握手信号来应答数据包已经收到 这个位不会出现在设备发送数据到主机的过程中

使用特权

评论回复
poikjhmng| | 2017-11-26 15:07 | 显示全部楼层
数据和时钟线都是集电极开路结构正常保持高电平 当键盘或鼠标等待发送数据时 它首先检查时钟以确认它是否是高电平如果不是那么是主机抑制了通讯设备必须缓冲任何要发送的数据直到重新获得总线的控制权键盘有16字节的缓冲区而鼠标的缓冲区仅存储最后一个要发送的数据包 如果时钟线是高电平 设备就可以开始传送数据

使用特权

评论回复
poikjhmng| | 2017-11-26 15:08 | 显示全部楼层
时钟频率为10 16.7kHz 从时钟脉冲的上升沿到一个数据转变的时间至少要有5微秒数据变化到时钟脉冲的下降沿的时间至少要有5微秒并且不大于25微秒这个定时非常重要你应该严格遵循它主机可以在第11个时钟脉冲停止位之前把线拉低导致设备放弃发送当前字节这是非常罕见的在停止位发送后设备在发送下个包前至少应该等待50毫秒这将给主机时间当它处理接收到的字节时抑制发送主机在收到每个包时通常自动做这个 在主机释放抑制后 设备至少应该在发送任何数据前等50毫秒

使用特权

评论回复
poikjhmng| | 2017-11-26 15:09 | 显示全部楼层
设备应该在不超过10毫秒的间隔内就要检查这个状态当设备检测到这个状态它将开始产生时钟信号并且时钟脉冲标记下输入八个数据位和一个停止位主机仅当时钟线为低的时候改变数据线而数据在时钟脉冲的上升沿被锁存 当发生在设备到主机通讯的过程中时正好相反

使用特权

评论回复
uygferfgf| | 2017-11-26 15:12 | 显示全部楼层
这东西现在几乎都被USB给替代了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

369

帖子

0

粉丝