USB设备中有一大类就是HID设备,即Human Interface Devices,人机接口设备。这类设备包括鼠标、键盘等,主要用于人与计算机进行交互。它是USB协议最早支持的一种设备类。HID设备可以作为低速、 全速、高速设备用。由于HID设备要求用户输入能得到及时响应,故其传输方式通常采用中断方式。
在USB协议中,HID设备的定义放置在接口描述符中,USB的设备描述符和配置描述符中不包含HID设备的信息。因此,对于某些特定的HID设备,可以定义多个接口,只有其中一个接口为HID设备类即可。
一、HID设备简述
1.1HID设备的特点
- 交换的数据储存在称为报表(Report ) 的结构内, 设备的固件必须支持HlD 报表的格式。 主机通过控制和中断传输中的传送和请求报表来传送和接收数据。报表的格式非常灵活。
- 每一笔事务可以携带小量或中量的数据。低速设备每一笔事务最大是8B ,全速设备每一笔事务最大是64B, 高速设备每一笔事务最大是1024B 。 一个报表可以使用多笔事务。
- 设备可以在未预期的时间传送信息给主机,例如键盘的按键或是鼠标的移动。所以主机会定时轮询设备,以取得最新的数据。
- HID 设备的最大传输速度有限制。主机可以保证低速的中断端点每10ms 内最多 1笔事务,每一秒最多是 800B 。保证全速端点每 lms 一笔事务,每一秒最多是6