分类: 嵌入式
2009-12-19 10:40:51
下面是电路原理图
PS/2设备接口用于许多现代的鼠标和键盘,PS/2连接器上有四个管脚:电源地、+5V、数据和时钟。Host(计算机)提供+5V并且键盘/鼠标的地连接到host的电源地上,数据和时钟都是集电极开路的这就意味着它们通常保持高电平而且很容易下拉到地(逻辑0)。任何你连接到PS/2鼠标、键盘或host的设备,在时钟和数据线上要有一个大的上拉电阻。置“0”就把线拉低,置“1”就让线上浮成高。
从键盘/鼠标发送到主机的数据在时钟信号的下降沿(当时钟从高变到低的时候)被读取;从主机发送到键盘/鼠标的数据在上升沿(当时钟从低变到高的时候)被读取。不管通讯的方向怎样,键盘/鼠标总是产生时钟信号。如果主机要发送数据它必须首先告诉设备开始产生时钟信号。最大的时钟频率是33kHz ,而且大多数设备工作在10-20kHz 。
所有数据安排在字节中每个字节为一帧包含了11-12个位,这些位的含义如下:
a.1个起始位,总是为0;
b.8个数据位,低位在前;
c.1个校验位奇校验;
d.1个停止位,总是为1;
e.1个应答位(仅在主机对设备的通讯中)。
设备到主机的通讯如下:
本系统PS/2接口使用的是PS/2键盘接口。主控制单片机HT48R70A来扫描或监视按键矩阵。如果它发现有键被按下、释放或按住,键盘将发送“扫描码”的信息包到计算机。扫描码有两种不同的类型:“通码”和”断码”。当一个键被按下或按住就发送通码;当一个键被释放就发送断码。每个按键被分配了唯一的通码和断码,这样主机通过查找唯一的扫描码就可以测定是哪个按键。
例如:通码和断码是以什么样的序列发送到你的计算机,使得字符“G”出现在你的字处理软件里呢?因为这是一个大写字母,需要发生这样的事件次序: 按下“Shift” 键、按下“G”键,释放“G”键、释放“Shift”键。与这些时间相关的扫描码如下:Shift键的通码(12h),“G”键的通码(34h),“G” 键的断码(F0h,34h),“Shift”键的断码(F0h,12h)。因此发送到你的计算机的数据应12h,34h,F0h,34h,F0h, 12h。
由以上可知,只需要用主控制单片机HT48R70A中的2个I/O按照PS/2协议来控制PS/2接口的Data线和Clock线就可以和PC通讯。