✅ 操作成功!

ps2键盘

发布时间:2023-06-12 作者:admin 来源:文学

ps2键盘

ps2键盘

手机版网站-点豆豆

2023年3月17日发(作者:狼和兔子)

最早的个人计算机的键盘随着IBM在1981年正式发表IBM-PC以及随后的PC/XT而一

起出现了,那是一个只有83个键的小型键盘,我们不妨把它叫做XT键盘。XT键盘使用

一种简单的串行协议和主机通讯。最初的设计所有的通讯都是单向的,所以XT键盘只能发

送数据到主机,却不能从主机接收数据。XT键盘使用5-pinDIN接头,也就是我们后来俗

称大头的,流行于AT结构主板之上的接口。有一点必须注意的是,大头口和现在的PS2

口仅仅是样子上的不同,在物理的电气特性上,两者完全一样。也就是说,可以很容易的在

这两种接口之中转换。

很快,在1984年,IBM又给我们带来了全新的键盘,那就是伴随着IBMPC/AT一起发表

的AT键盘。AT是AdvancedTechnology(高级技术)的意思。当时看来,配备了Intel

最新的286处理器的AT计算机简直就是天上来的东西,这样的好东西自然需要一块全新

的键盘,于是IBM设计了有AT键盘。AT键盘是全新的设计,这首先表现在它开始支持主

机与键盘之间的双向通讯,主机现在有8条命令可以发往键盘,并得到键盘的回应。其次,

AT键盘使用另一种扫描码,但这种设计带来了兼容性的问题:AT扫描码和过去的XT扫描

码完全不同,许多软件(主要是操作系统和BIOS)将无法正常的工作在新系统上。为此,

IBM屏弃了XT主机上使用的8255键盘控制芯片,转而使用一片MCU(微控制器)8042

来作为新的键盘控制器,通过给8042编程的方式,从而在8042上完成AT扫描码到XT

扫描码的转换。这是一个重大的改进,并且相当的影响了后来的设计。直到今天,虽然我们

早已不在使用8042,但是所有的新发表PC芯片组都保持了与最初的8042的兼容性。也

正式在AT键盘上,出现了101键的设计,这种设计我们今天已经很熟悉了。

接着在1987年,IBM正式发表了PC/PS2系统。按照之前的惯例,又一款新的键盘推出

了,这已经是我们今日所使用的键盘原型,这就是PS2键盘。PS2键盘在整体设计上与AT

键盘相差不大,更改的最多的可能是主机到键盘的命令大大增加。此外,PS2键盘出人意

料的使用一种古怪的扫描码。这使得它的兼容性大打折扣。正如大家熟知的那样,PS2系

统并不流行,后来几乎没人再用了。

今天我们使用的键盘大约就是像是AT键盘和PS2键盘的合体:使用PS2键盘引入的小口,

又支持AT扫描码。

键盘控制器运行在主机内。是主机和键盘通讯的渠道。现在的键盘控制器完成相当多的功能。

早先它是一块独立的8042芯片,现在已经被集成到SuperI/O芯片或者主板芯片组的南桥

内。在XT时代,IBM使用8255作为键盘控制器,这是一片并口芯片,CPU接到8255的C

口。当CPU需要键盘数据的时候,就去读8255的C口。8255不做扫描码转换,于是在XT

系统上,CPU直接读的就是键盘发来的原始数据,也叫XT扫描码。后来,更先进AT系统发

布了,AT键盘不知道为什么选择了另一套完全不同的扫描码,现在也叫AT扫描码。如此带

来一个严重的问题:所有为XT编写的软件,主要是BIOS和操作系统将面临一个有趣的挑战,

他们将无法正确的识别键盘发来的数据。举个简单的例子吧,早先的XT键盘把A键编码为

1E发送。而在AT键盘上,1E代表的是数字键2。于是一个为XT设计的软件就会将按下2

的动作解释为按下了A。这明显是不可接受的。聪明的IBM的工程师们于是决定屏弃掉8255,

选用了当时比较先进的一款MCU8042来重新实现键盘控制器。他们为8042编写了从AT码到

XT码的转换。并且由于8042有两个8位的双向I/O口,于是他们又利用余下的I/O口完成

了一些别的工作。总之,现在是8042取代了8255。以后的所有设计都保持了与此的兼容性。

现在的情形是,AT键盘仍然发送AT码,但是系统软件看到的则转换过的XT码了。

扫描码(ScanCode)就是当你按下一个键或者释放一个键的时候,键盘发给主机的数据。

或者说,是用来标识一个键的状态的的数据。事实上一共有三套扫描码,我们前面已经介绍

了XT扫描码,它又被叫做ScanCodeSet1,而AT蟆的另一个名字是ScanCodeSet

2,PS2码又叫ScanCodeSet3。

👁️ 阅读量:0