第8章USB接口HID设备HID(HumanInterfaceDevice,人机接口设备)是USB设备中常用的设备类型,是直接与人交互的USB设备,例如键盘、鼠标与游戏杆等
在USB设备中,HID设备的成本较低
另外,HID设备并不一定要有人机交互功能,只要符合HID类别规范的设备都是HID设备
Wndows操作系统最先支持的HID设备
在windows98以及后来的版本中内置有HID设备的驱动程序,应用程序可以直接使用这些驱动程序来与设备通信
在设计一个USB接口的计算机外部设备时,如果HID类型的设备可以满足需要,可以将其设计为HID类型设备,这样可以省去比较复杂的USB驱动程序的编写,直接利用Windows操作系统对标准的HID类型USB设备的支持
1HID设备简介8
1HID设备的特点交换的数据储存在称为报表(Report)的结构内,设备的固件必须支持HlD报表的格式
主机通过控制和中断传输中的传送和请求报表来传送和接收数据
报表的格式非常灵活
每一笔事务可以携带小量或中量的数据
低速设备每一笔事务最大是8B,全速设备每一笔事务最大是64B,高速设备每一笔事务最大是1024B
一个报表可以使用多笔事务
设备可以在未预期的时间传送信息给主机,例如键盘的按键或是鼠标的移动
所以主机会定时轮询设备,以取得最新的数据
HID设备的最大传输速度有限制
主机可以保证低速的中断端点每10ms内最多1笔事务,每一秒最多是800B
保证全速端点每lms一笔事务,每一秒最多是64000B
保证高速端点每125us三笔事务,每一秒最多是24
HID设备没有保证的传输速率
如果设备是设置在10ms的时距,事务之间的时间可能等于或小于10ms
除非设备是设置在全速时在每个帧传输数据,或是在高速时在每个微帧传输数据
这是最快的轮询速率,所以端点可以保证有正确的带宽