人机接口设备
编辑人机接口设备或HID是一种通常由人类使用的计算机设备,它接受人类的输入并向人类提供输出。HID这一术语最常指的是USB-HID规范。
HID标准
编辑采用HID标准主要是为了实现PC输入设备的创新,并简化安装此类设备的过程。在引入HID概念之前,设备通常符合严格定义的鼠标、键盘和操纵杆协议;例如,当时的标准鼠标协议支持相对的X轴和Y轴数据以及最多两个按钮的二进制输入,没有传统的支持。所有的硬件创新都需要对现有协议中的数据进行超载使用,或者创建定制的设备驱动程序,并向开发者宣传新的协议。相比之下,所有HID定义的设备都提供自我描述的包,可能包含任何数量的数据类型和格式。计算机上的单一HID驱动程序可以解析数据,并使数据I/O与应用功能动态关联,这使得快速创新和发展,以及新的人机界面设备的大量多样化成为可能。一个由几家著名公司代表组成的工作委员会制定了HID标准。
安装时,屏幕上一般会出现一条信息,说"HID兼容设备"已被识别。相比之下,通过USB之前的PS/26针DIN连接器连接的设备通常不会出现这种信息。PS/2通常不支持即插即用,这意味着在计算机通电的情况下连接PS/2键盘或鼠标并不总是有效,而且可能对计算机的主板造成危害。
HID协议的组成部分
编辑在HID协议中,有两个实体:主机和设备。设备是直接与人互动的实体,如键盘或鼠标。主机与设备进行通信,并从设备接收人所做动作的输入数据。输出数据从主机流向设备,然后流向人。主机最常见的例子是PC,但一些手机和PDA也可以成为主机。HID协议使设备的实现非常简单。设备定义其数据包,然后向主机提交一个HID描述符。HID描述符是一个硬编码的字节数组,描述设备的数据包。这包括:设备支持多少个数据包,数据包的大小,以及数据包中每个字节和位的用途。
设备通常将HID描述符存储在ROM中,不需要从本质上理解或解析HID描述符。目前市场上的一些鼠标和键盘硬件只使用8位CPU实现。预计主机将是一个比设备更复杂的实体。主机需要从设备上获取HID描述符,并在与设备完全通信之前对其进行解析。解析HID描述符可能很复杂。据了解,多个操作系统在设备驱动最初向公众发布多年后,负责解析HID描述符的设备驱动中出现了错误。然而,这种复杂性正是HID设备快速创新成为可能的原因。上述机制描述了所谓的HID报告协议。因为了解到并非所有主机都能解析HID描述符,所以HID还定义了启动协议。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/175114/