PS2通信协议说明与接口定义键盘和鼠标Word文件下载.docx

上传人:b****3 文档编号:7839032 上传时间:2023-05-09 格式:DOCX 页数:17 大小:505.91KB
下载 相关 举报
PS2通信协议说明与接口定义键盘和鼠标Word文件下载.docx_第1页
第1页 / 共17页
PS2通信协议说明与接口定义键盘和鼠标Word文件下载.docx_第2页
第2页 / 共17页
PS2通信协议说明与接口定义键盘和鼠标Word文件下载.docx_第3页
第3页 / 共17页
PS2通信协议说明与接口定义键盘和鼠标Word文件下载.docx_第4页
第4页 / 共17页
PS2通信协议说明与接口定义键盘和鼠标Word文件下载.docx_第5页
第5页 / 共17页
PS2通信协议说明与接口定义键盘和鼠标Word文件下载.docx_第6页
第6页 / 共17页
PS2通信协议说明与接口定义键盘和鼠标Word文件下载.docx_第7页
第7页 / 共17页
PS2通信协议说明与接口定义键盘和鼠标Word文件下载.docx_第8页
第8页 / 共17页
PS2通信协议说明与接口定义键盘和鼠标Word文件下载.docx_第9页
第9页 / 共17页
PS2通信协议说明与接口定义键盘和鼠标Word文件下载.docx_第10页
第10页 / 共17页
PS2通信协议说明与接口定义键盘和鼠标Word文件下载.docx_第11页
第11页 / 共17页
PS2通信协议说明与接口定义键盘和鼠标Word文件下载.docx_第12页
第12页 / 共17页
PS2通信协议说明与接口定义键盘和鼠标Word文件下载.docx_第13页
第13页 / 共17页
PS2通信协议说明与接口定义键盘和鼠标Word文件下载.docx_第14页
第14页 / 共17页
PS2通信协议说明与接口定义键盘和鼠标Word文件下载.docx_第15页
第15页 / 共17页
PS2通信协议说明与接口定义键盘和鼠标Word文件下载.docx_第16页
第16页 / 共17页
PS2通信协议说明与接口定义键盘和鼠标Word文件下载.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

PS2通信协议说明与接口定义键盘和鼠标Word文件下载.docx

《PS2通信协议说明与接口定义键盘和鼠标Word文件下载.docx》由会员分享,可在线阅读,更多相关《PS2通信协议说明与接口定义键盘和鼠标Word文件下载.docx(17页珍藏版)》请在冰点文库上搜索。

PS2通信协议说明与接口定义键盘和鼠标Word文件下载.docx

3)Clocks仍旧为high?

No—到第1步

4)Data=high?

No—放弃(并且从主机读取字节)

5)延迟20毫秒(=40微秒tothetimeClockispulledlowinsendingthestartbit.)

6)输出起始位(0)/在发送所有这些位的每一位后

7)输出8个数据位>

测试时钟确认主机是否把它拉低了

8)输出校验位/这说明主机要放弃这次

10)延迟30毫秒(=50微秒fromthetim传送

9)输出停止位

(1)eClockisreleasedinsendingthestopbit)

按如下的过程发送单个位:

1)Set/ResetData

2)Delay20microseconds

3)BringClocklow

4)Delay40microseconds

5)ReleaseClock

6)Delay20microseconds

1)设置/复位数据

2)延迟20微秒

3)把时钟拉低

4)延迟40微秒

5)释放时钟

6)延迟20微秒

主机到设备的通讯

被发送的包有点不同于主机到设备通讯过程。

首先,PS/2设备总是产生时钟信号。

如果主机要发送数据,它必须首先把时钟和数据线设置为‘请求

发送’状态,如下示:

通过下拉时钟线至少100微秒来抑制通讯。

通过下拉数据线来应用‘请求发送’,然后释放时钟。

设备应该在不超过10毫秒的间隔内就要检查这个状态。

当设备检测到这个状态,它将开始产生时钟信号,并且时钟脉冲标记下输入八个数据位和一个停止位。

主机仅当时钟线为低的时候改变数据线,而数据在时钟脉冲的上升沿被锁存。

这在发生在设备到主机通讯的过程中正好相反。

在停止位发送后,设备要应答接收到的字节,就把数据线拉低并产生最后一个时钟脉冲。

如果主机在第11个时钟脉冲后不释放数据线,设备将继续产生时钟脉冲直到数据线被释放(然后设备将产生一个错误)。

主机可以在第11个时钟脉冲(应答位)前中止一次传送,只要下拉时钟线至少100微秒。

要使得这个过程易于理解,主机必须按下面的步骤发送数据到PS/2设备:

1)把时钟线拉低至少100微秒

2)把数据线拉低

3)释放数据线

4)等待设备把时钟线拉低

5)设置/复位数据线发送第一个数据位

6)等待设备把时钟拉高

7)等待设备把时钟拉低

8)重复5-7步发送剩下的7个数据位和校验位

9)释放数据线

10)等待设备把数据线拉低

11)等待设备把时钟线拉低

12)等待设备释放数据线和时钟线

图3用图形表示图4以单独的时序表示了由主机产生的信号。

及由PS/2设备产生的信号。

注意应答位时序的改变-数据改变发生在时钟线为高的时候(不同于其它11位是当它为低的时候)。

图4描述了两个重要的定时条件:

a和b。

a在主机最初把书记现拉低后,设备开始产生时钟脉冲的时间,必须步大于15ms;

b数据包被发送的时间必须不大于2ms。

如果这两个条件不满足,主机将产生一个错误。

在包收到后,主机为了处理数据立刻把时钟线拉低来抑制通讯。

如果主机发送的命令要求有一个回应,这个回应必须在书籍释放时钟线后20ms之内被收到。

如果没有收到,则主机产生一个错误。

在设备到主机通讯的情况中,时钟改变后的5微秒内不应该发生数据改变的情况。

如果呢要仿真一个鼠标或键盘,我推荐你按如下的过程从主机读入数据;

在你的主程序中,至少每10毫秒检测数据线是否为低。

如果数据线已被主机拉低,则从主机读取一个字节。

1)等待时钟线为高

2)数据线仍然为低吗

不-有错误发生;

放弃。

3)读入8个数据位/在读入这些位后

4)读入校验位>

测试时钟线数否被主机拉低

5)读入停止位/这就意味着放弃这次传送

6)数据线仍旧为0吗?

是保持时钟直到数据=1然后产生一个错误

7)输出应答位

8)检查校验位

如果校验位不正确则产生一个错误

9)延迟45微秒(给主机时间抑制下次的传送)

按如下次序读取每位(8个数据位检验位和停止位):

1)延迟20微秒

2)把时钟拉低

3)延迟40微秒

4)释放时钟

5)延迟20微秒

7)读数据线

按如下次序发送应答位:

1)延迟15微秒

3)延迟5微秒

4)把时钟线拉低

5)延迟40微秒

6)释放时钟线

7)延迟5微秒

8)释放数据线

PS2接口协议及代码分析

 

(2011-10-1412:

23:

40)

转载▼

标签:

ps2通信

ps2协议

it

分类:

嵌入式

一.电气特性

1

DATA

KeyData

2

n/c

Notconnected

3

GND

Gnd

4

VCC

Power,+5VDC

5

CLK

Clock

6

二.数据格式

1个起始位

总是逻辑0

8个数据位

(LSB)低位在前

1个奇偶校验位

奇校验

1个停止位

总是逻辑1

1个应答位

仅用在主机对设备的通讯中

表中,如果数据位中1的个数为偶数,校验位就为1;

如果数据位中1的个数为奇数,校验位就为0;

总之,数据位中1的个数加上校验位中1的个数总为奇数,因此总进行奇校验。

ps2设备的clock和data都是集电极开路的,平时都是高电平。

当ps2设备等待发送数据时,它首先检查clock是否为高。

如果为低,则认为PC抑制了通讯,此时它缓冲数据直到获得总线的控制权。

如果clock为高电平,ps2则开始向PC发送数据。

一般都是由ps2设备产生时钟信号。

发送按帧格式。

数据位在clock为高电平时准备好,在clock下降沿被PC读入。

数据从键盘/鼠标发送到主机或从主机发送到键盘/鼠标,时钟都是PS2设备产生.主机对时钟控制有优先权,即主机想发送控制指令给PS2设备时,可以拉低时钟线至少100μS,然后再下拉数据线,最后释放时钟线为高。

PS2设备的时钟线和数据线都是集电极开路的,容易实现拉低电平。

PC在时钟的下降沿读取数据.

PS:

ps2协议是现在大多数鼠标,键盘与PC通讯的标准协议,鼠标的通讯更为简单些,只是传送的数据内容不一样而已。

三.数据发送时序

键盘接口时序(a)键盘发送时序;

(b)键盘接收时序

从PS/2向PC机发送一个字节可按照下面的步骤进行:

(1)检测时钟线电平,如果时钟线为低,则延时50μs;

(2)检测判断时钟信号是否为高,为高,则向下执行,为低,则转到(1);

(3)检测数据线是否为高,如果为高则继续执行,如果为低,则放弃发送(此时PC机在向PS/2设备发送数据,所以PS/2设备要转移到接收程序处接收数据);

(4)延时20μs(如果此时正在发送起始位,则应延时40μs);

(5)输出起始位(0)到数据线上。

这里要注意的是:

在送出每一位后都要检测时钟线,以确保PC机没有抑制PS/2设备,如果有则中止发送;

(6)输出8个数据位到数据线上;

(7)输出校验位;

(8)输出停止位(1);

(9)延时30μs(如果在发送停止位时释放时钟信号则应延时50μs);

通过以下步骤可发送单个位:

(1)准备数据位(将需要发送的数据位放到数据线上);

(2)延时20μs;

(3)把时钟线拉低;

(4)延时40μs;

(5)释放时钟线;

(6)延时20μs。

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

(4)释放时钟线

(5)延时20μs

(6)读数据线。

下面的步骤可用于发出应答位;

(1)延时15μs;

(2)把数据线拉低;

(3)延时5μs;

(4)把时钟线拉低;

(5)延时40μs;

(6)释放时钟线;

(7)延时5μs;

(8)释放数据线。

四.键盘返回值介绍:

键盘的处理器如果发现有键被按下或释放将发送扫描码的信息包到计算机。

扫描码有两种不同的类型:

通码和断码。

当一个键被按下就发送通码,当一个键被释放就发送断码。

每个按键被分配了唯一的通码和断码。

这样主机通过查找唯一的扫描码就可以测定是哪个按键。

每个键一整套的通断码组成了扫描码集。

有三套标准的扫描码集:

分别是第一套,第二套和第三套。

所有现代的键盘默认使用第二套扫描码。

虽然多数第二套通码都只有一个字节宽,但也有少数扩展按键的通码是两字节或四字节宽。

这类的通码第一个字节总是为E0。

正如键按下通码就被发往计算机一样,只要键一释放断码就会被发送。

每个键都有它自己唯一的通码和断码。

幸运的是你不用总是通过查表来找出按键的断码。

在通码和断码之间存在着必然的联系。

多数第二套断码有两字节长。

它们的第一个字节是F0,第二个字节是这个键的通码。

扩展按键的断码通常有三个字节,它们前两个字节是E0h,F0h,最后一个字节是这个按键通码的最后一个字节。

下面列出了几个按键的第二套通码和断码:

No.

KEY

通码(第二套)

断码(第二套)

"

A"

1C

F01C

5"

2E

F02E

F10"

09

F009

RightArrow

E074

E0F074

Right"

Ctrl"

E014

E0F014

一个键盘发送值的例子:

通码和断码是以什么样的序列发送到你的计算机从而使得字符G出现在你的字处理软件里的呢?

因为这是一个大写字母,需要发生这样的事件次序:

按下Shift键-按下G键-释放G键-释放Shift键。

与这些时间相关的扫描码如下:

Shift键的通码12h,G键的通码34h,G键的断码F0h34h,Shift键的断码F0h12h。

因此发送到你的计算机的数据应该是:

12h34hF0h34hF0h12h

五:

第二套扫描码:

101102和104键的键盘:

通码

断码

A

9

46

F046

[

54

F054

B

32

F032

`

0E

F00E

INSERT

E070

E0F070

C

21

F021

-

4E

F04E

HOME

E06C

E0F06C

D

23

F023

=

55

F055

PGUP

E07D

E0F07D

E

24

F024

\

5D

F05D

DELETE

E071

E0F071

F

2B

F02B

BKSP

66

F066

END

E069

E0F069

G

34

F034

SPACE

29

F029

PGDN

E07A

E0F07A

H

33

F033

TAB

0D

F00D

UARROW

E075

E0F075

I

43

F043

CAPS

58

F058

LARROW

E06B

E0F06B

J

3B

F03B

LSHFT

12

F012

DARROW

E072

E0F072

K

42

F042

LCTRL

14

F014

RARROW

L

4B

F04B

LGUI

E01F

E0F01F

NUM

77

F0 

M

3A

F03A

LALT

11

F011

KP/

E04A

E0F04A

N

31

F031

RSHFT

59

F059

KP*

7C

O

44

F044

RCTRL

KP-

7B

F07B

P

4D

F04D

RGUI

E027

E0F027

KP+

79

F079

Q

15

F015

RALT

E011

E0F011

KPEN

E05A

E0F05A

R

2D

F02D

APPS

E02F

E0F02F

KP

71

F071

S

1B

F01B

ENTER

5A

F05A

KP0

70

F070

T

2C

F02C

ESC

76

F076

KP1

69

F069

U

3C

F03C

F1

05

F005

KP2

72

F072

V

2A

F02A

F2

06

F006

KP3

7A

F07A

W

1D

F01D

F3

04

F004

KP4

6B

F06B

X

22

F022

F4

0C

F00C

KP5

73

F073

Y

35

F035

F5

03

F003

KP6

74

F074

Z

1A

F01A

F6

0B

F00B

KP7

6C

F06C

45

F045

F7

83

F083

KP8

75

F075

16

F016

F8

0A

F00A

KP9

7D

F07D

1E

F01E

F9

01

F001

]

26

F026

F10

4C

F04C

25

F025

F11

78

F078

'

52

F052

F12

07

F007

41

F041

36

F036

PRNT

SCRN

E012

E07C

E0F0

7CE0

.

49

F049

7

3D

F03D

SCROLL

7E

F0,7E

/

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2