接口原理图
3.2 PS/2设备从PC机接收一个字节
由于PS/2设备能提供串行同步时钟,因此,如果PC机发送数据,则PC机要先把时钟线和数据线置为请求发送的状态.PC机通过下拉时钟线大于100μs来抑制通讯,并且通过下拉数据线发出请求发送数据的信号,然后释放时钟.当PS/2设备检测到需要接收的数据时,它会产生时钟信号并记录下面8个数据位和一个停止位.主机此时在时钟线变为低时准备数据到数据线,并在时钟上升沿锁存数据.而PS/2设备则要配合PC机才能读到准确的数据.具体连接步骤如下:
(1)等待时钟线为高电平.
(2)判断数据线是否为低,为高则错误退出,否则继续执行.
(3)读地址线上的数据内容,共8个bit,每读完一个位,都应检测时钟线是否被PC机拉低,如果被拉低则要中止接收.
(4)读地址线上的校验位内容,1个bit.
(5)读停止位.
(6)如果数据线上为0(即还是低电平),PS/2设备继续产生时钟,直到接收到1且产生出错信号为止(因为停止位是1,如果PS/2设备没有读到停止位,则表明此次传输出错).
(7 输出应答位.
(8) 检测奇偶校验位,如果校验失败,则产生错误信号以表明此次传输出现错误.
(9)延时45 μs,以便PC机进行下一次传输.
读数据线的步骤如下:
(1)延时20μs;
(2)把时钟线拉低
(3)延时40μs