|
PS/2接口有什么特点?和USB接口相比区别在哪里?
PS/2接口是输入装置接口,而不是传输接口。所以PS2口根本没有传输速率的概念,只有扫描速率。在Windows环境下,ps/2鼠标的采样率默认为60次/秒,USB鼠标的采样率为120次/秒。较高的采样率理论上可以提高鼠标的移动精度。鼠标的PS/2的接口是绿色,而键盘的PS/2接口是紫色。如下图的
PS/2接口设备不支持热插拔,强行带电插拔有可能烧毁主板。
PS/2可以与USB接口互转,即PS/2接口设备可以转成USB,USB接口设备也可以转成PS/2。
早期,在Ps/2键盘中,包含了一个嵌入式的微控制器(如InDl,8048系列),以用来执行各项的工作并减少整个系统工作中的负担。微控制器所要作的工作就是监测所有的按键,以及当按键被按下或放开时,就回报给主机
简单的说:USB键盘的一个数据包只有8个字节(为什么只有8个,这是因为协议规定,为什么协议这么规定,是因为早期的时候USB速度慢,使用中断传输一个包最大就8个字节),其中2个字节标记状态,其余6个字节用来记录当前按下或者弹起的按键的扫描码,所以,USB键盘最多同时描述6个按键的状态。
USB键盘的这种坑爹的设计规范导致了它只能做到最多6个按键无冲。
要想解决这个问题,必须重新设计USB键盘的规范,但我估计没人愿意这么做,因为这东西用的好好的,大多数人没事也不会一起按6个键。
至于PS/2键盘,用的不是这种规范,PS/2是:按下什么就报告什么,弹起什么也报告什么,如果同时按下10个键,就依次报告10个按下事件,至于能同时记录多少个按键的状态,协议没有限制,取决于操作系统本身,所以PS/2键盘理论上可以做到无限按键无冲。
当然,确实有人见过USB键盘突破了6个按键的限制,可能的原因之一是:这种键盘内置的USB设备是多个键盘+USB HUB的方式,因为USB允许多级设备连接,这样就可以突破6个的限制了。当然,USB键盘自己自带驱动也是一个办法,因为虽然中断传输只有6个字节,但Bulk传输传256个字节都没问题。(注:我自己百度了一下,发现虽然很多厂商实现了USB全键无冲,但似乎bug也不少,看来技术还有待发展啊)
|
|
|
|
|
|
|