外设天下 - 电脑外设发烧友聚集地

12下一页
我的人缘0

[求助] 新人求助,机械键盘里的at、xt是什么意思?有什么作用?

10 73064
楼主
跳转到指定楼层
发表于 2010-2-9 19:46 只看该作者 倒序浏览 阅读模式
本帖最后由 csf4chr 于 2010-2-9 19:59 编辑

机械键盘里的at、xt是什么意思?有什么作用?
看见机械键盘后面有at。xt奇幻开关,作用是什么?不知道呀,高手指点。
0
已赞
微信分享 收藏
回复

使用道具 举报

我的人缘0
推荐
发表于 2010-2-9 21:15 只看该作者
最早的个人计算机的键盘随着IBM在1981年正式发表IBM-PC以及随后的PC/XT而一起出现了,那是一个只有83个键的小型键盘,我们不妨把它叫做XT键盘。XT键盘使用一种简单的串行协议和主机通讯。最初的设计所有的通讯都是单向的,所以XT键盘只能发送数据到主机,却不能从主机接收数据。XT键盘使用5-pin DIN接头,也就是我们后来俗称大头的,流行于AT结构主板之上的接口。有一点必须注意的是,大头口和现在的PS2口仅仅是样子上的不同,在物理的电气特性上,两者完全一样。也就是说,可以很容易的在这两种接口之中转换。

很快,在1984年,IBM又给我们带来了全新的键盘,那就是伴随着IBM PC/AT一起发表的AT键盘。AT是Advanced Technology(高级技术)的意思。当时看来,配备了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扫描码。

评分

参与人数 1 +8 发烧值 +1 收起 理由
rosicky311 + 8 + 1

查看全部评分

回复 支持 1 反对 0

使用道具 举报

我的人缘0
2
发表于 2010-2-9 20:00 只看该作者
寻求高手解答。等待
回复 支持 反对

使用道具 举报

我的人缘0
3
发表于 2010-2-9 20:28 只看该作者
一个是终端用,一个是pc用。切换开关。
回复 支持 反对

使用道具 举报

我的人缘0
4
发表于 2010-2-9 20:30 只看该作者
终端用和pc拥有什么不同呀???传输不一样?
回复 支持 反对

使用道具 举报

我的人缘0
6
发表于 2010-2-9 21:29 只看该作者
本帖最后由 ravenyuanye 于 2010-2-9 21:31 编辑

键盘控制器运行在主机内。是主机和键盘通讯的渠道。现在的键盘控制器完成相当多的功能。早先它是一块独立的8042芯片,现在已经被集成到Super I/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码了。
扫描码(Scan Code)就是当你按下一个键或者释放一个键的时候,键盘发给主机的数据。或者说,是用来标识一个键的状态的的数据。事实上一共有三套扫描码,我们前面已经介绍了XT扫描码,它又被叫做Scan Code Set 1,而AT蟆的另一个名字是Scan Code Set 2,PS2码又叫Scan Code Set 3。

ps:csdn粘的,非原创
回复 支持 反对

使用道具 举报

我的人缘0
7
发表于 2010-2-10 09:09 只看该作者
很犀利~真的 之前有了解 但没这么系统
回复 支持 反对

使用道具 举报

我的人缘0
8
发表于 2010-2-11 00:49 只看该作者
浩版这又给分又给钱的。。。感动啊{:1_046:}
回复 支持 反对

使用道具 举报

我的人缘0
9
发表于 2010-3-2 12:02 只看该作者
多谢呀,学习到了
回复 支持 反对

使用道具 举报

我的人缘0
10
发表于 2016-5-2 19:46 只看该作者
测试
看了解释的内容,不是太明白,我是否可以理解XT是更早的协议,是当时给中端使用的,而AT是后期更高级的协议,可以兼容PC了?

急切想知道这个答案,希望管理员不要怪我挖坟
[发帖际遇]: woainizhi,别以为脱了马甲我就不扣你 5 元 发烧值. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则