为什么 Windows 设备管理器在一台笔记本电脑上将我的笔记本电脑键盘显示为标准 PS/2 键盘,而在另一台笔记本电脑上将其显示为 HID 键盘设备,尽管我已经知道它只是通过带状电缆直接连接到主板,并且不使用上述任何接口?这可能是一个错误吗?
答案1
PS/2 和 USB 是强制要求外部的连接器。这并不意味着他们不能使用他们想要的任何连接器里面一台电脑。
他们没有理由在笔记本电脑中使用这些连接器,但使用通信肯定是为了方便协议例如设备内的电信号和通信方法。可能有一个现成的键盘(或他们已经设计的键盘)使用一种或另一种协议。他们可能已经有了他们知道的适用于笔记本电脑内某个设备的驱动程序,可以与他们拥有的任何键盘进行通信。
仅仅因为有带状电缆,并不意味着必须使用任何特定的协议或连接器类型。您需要做的就是了解该电信号的一般设计规则和信号完整性要求。我亲自设计过运行 USB、以太网和其他信号的带状电缆,从未使用过“标准”USB 或 RJ-45 插座。
就你的情况而言,你只需要一个设备使用 PS/2 键盘,另一个设备使用 USB。没有什么比这更神奇的了。
答案2
不,完全正确。那里的信息不是在谈论物理连接,而是协议用于与设备通信。
最初的 PS/2 键盘和鼠标连接设计为使用特定的物理连接器,但这并不是这些设备用于通信的协议的一部分,就像铜线以太网指定特定的连接器一样,但该连接器与实际通过线路发送的内容无关。PS/2协议仍然广泛用于笔记本电脑键盘,因为它比 USB 更节能,并且很容易与现代操作系统配合使用(实际上只需要某物基本上呈现出与原始 PC/AT 键盘控制器相同的命令界面,这实际上非常简单)。
类似地,HID 是一种特定的协议,实际上在技术上具有不为其定义的外部连接器。您可以将其视为类似于 TCP,只要它以某种方式运行(即提供数据帧和按顺序传输),它就不太关心下层是什么。它广泛用于 USB 输入设备(这是它的起源),但也用于蓝牙输入设备,如果需要纯内部连接,则可以通过 I²C、SPI 或其他通用串行总线运行,显然甚至支持通过 ZigBee 无线网络运行它。在大多数情况下,笔记本电脑中的触摸板是通过硬线 USB 连接或 I²C 连接连接的 HID 设备,之所以做出这种设计选择,是因为 PS/2 协议根本不支持提供良好触摸板所需的许多功能。
答案3
在几乎所有情况下,键盘都需要开箱即用,因为如果没有可用的键盘,就很难完成操作系统的安装或解决没有可用键盘的问题。这既适用于固件/BIOS 控制硬件的情况,也适用于操作系统接管硬件控制的情况。在某种程度上,如果没有可用的鼠标,情况也是如此,但如果您知道自己在做什么,通常处理有键盘而没有鼠标的情况比处理有鼠标而没有键盘的情况更容易。
结果是,从 1985 年推出 PC/AT 到 2000 年代改用 USB,PC 上的键盘标准接口基本保持不变。IBM PS/2 改变了连接器,新的连接器最终被克隆产品采用,尽管两者都使用了很长一段时间,但据我所知,电气接口和逻辑接口都保持不变。PS/2 还添加了一个在电气上与键盘接口相似的鼠标接口。
笔记本电脑的键盘和鼠标情况更为复杂,它们会有一个内置键盘、一个内置指点设备(触摸板、轨迹球或指点杆),并且通常支持外接键盘、外接鼠标或分离器上的两者,但它们仍然需要看起来足够像标准键盘和鼠标,以便有人可以成功启动和安装操作系统。结合内部和外部信号,并检测插入组合 PS/2 端口的内容,必须由笔记本电脑键盘控制器中的固件来处理。
USB 于 1996 年首次推出,但花了一段时间才站稳脚跟。Windows 95 有一个版本支持 USB,但根据我的经验,由于缺乏外围设备驱动程序,它几乎无法使用。
Windows 98 更好一些,但仍然有问题,我记得将 USB 键盘和鼠标插入 Windows 98 盒子,一旦您通过“发现新硬件”向导,它们就可以正常工作,但如果没有可用的键盘或鼠标,就无法通过“发现新硬件”向导。此外,那个时代的 BIOS 通常不识别 USB 键盘或鼠标,因此您无法在 BIOS 或引导加载程序屏幕上使用它们。
2000 年代的情况有所改善,Windows 2000 可以加载 USB 键盘和鼠标的驱动程序,而无需用户交互,并且更多 BIOS 获得了 USB 支持。
所以这就把我们带到了今天的境地,如果你作为一个硬件设计师想要制作一个几乎可以在任何地方使用的开箱即用的键盘,安全的选择是让它看起来像一个传统的 PC 键盘,或者让它看起来像一个 USB HID 键盘。