5.2.4 PS2 键盘工作原理
PS/2键盘履行一种双向同步串行协议。换句话说,每次数据线上发送一位数据并且每
在时钟线上发一个脉冲就被读入。键盘可以发送数据到主机,而主机也可以发送数据到设
备,但主机总是在总线上有优先权,它可以在任何时候抑制来自于键盘的通讯,只要把时
钟拉低即可。从键盘发送到主机的数据在时钟信号的下降沿(当时钟从高变到低)的时候
被读取。从主机发送到键盘的数据在上升沿(当时钟从低变到高)的时候被读取。不管通
讯的方向怎样键盘总是产生时钟信号。键盘发送的每一数据帧包含11~12个位。如果数据
位中包含偶数个1,校验位就会置1,如果数据位中包含奇数个1,校验位就会置0,数据位
中1的个数加上校验位总为奇数,这就是奇校验。奇校验用来错误检测。
数据和时钟线都是集电极开路结构,正常保持高电平。当键盘等待发送数据时它首先
检查时钟以确认它是否是高电平,如果不是,那么是主机抑制了通讯。设备必须缓冲任何
要发送的数据直到重新获得总线的控制权。键盘有16 字节的缓冲区,如果时钟线是高电平
设备就可以开始传送数据。键盘与主机通讯的时序如图1所示,每位数据都在时钟的下降
沿被主机读入。
六、系统硬件设计
6.1 系统整体设计
按照系统设计功能的要求,系统由主控模块、PS2 键盘输入模块、LCD12864 显示模
块和 GPRS 通信模块共 4 个模块组成。主控芯片使用 STM32F 系列 STM32F103 的 RAM
芯片,GPRS 模块是使用 G600 模块推出的一种高性能、低功耗。显示模块采用普带字库
的 12864 液晶显示屏。键盘输入部分采用 PS2 键盘输入。同时在下载口采用 JTAG 口。