您现在的位置: USB开发网 > USB技术文档 > USB HID设备类
- USB HID设备类

USB HID简介

------分隔线----------------------------

  USB HID是Human Interface Device的缩写,由其名称可以了解HID设备是直接与人交互的设备,例如USB鼠标,USB键盘,USB游戏操纵杆,USB触摸板,USB轨迹球、电话拨号设备、VCR遥控等等设备。USB HID设备类是USB协议里规定的从多标准USB设备类中的一种,不过HID设备并不一定要有人机接口,如只要符合HID类别规范的设备都是HID设备,如USB开发网的USB开源项目:Easy USB 51 Programer Plus里有关自定义USB HID设备的实例。

USB HID设备类的主要特征:

 

  1、交换的数据放在称为报表(report)的结构内,设备的固件需要事件定义USB HID的报表格式。主机USB HID设备枚举阶段通过控制传输来请求报表格式,在设备枚举成功后,主机与USB HID设备之间就通过报表定义的格式来传送和接收数据。报表的格式非常有弹性,可以处理任何类别的数据,所以原来大多通过串口或并口来传输数据的应用都可以用USB HID来实现。另外,使用HID设备的一个好处就是,操作系统自带了HID类的驱动程序,而用户无需去开发很麻烦的驱动程序,只要直接使用API调用即可完成通信。所以很多简单的USB设备,喜欢枚举成HID设备,这样就可以不用安装驱动而直接使用。

  2、每一笔事务可以携带小量或中量的数据。低速设备每一笔事务最大是8个字节,全速设备每一笔事务最大是64个字节,高速设备每一笔事务最大是1024个字节。一个报表可以使用多笔事务。 

  3、设备可以在未预期的时间传送信息给主机(在固件的设备描述符中定义好,在枚举阶段枚举给主机),例如键盘的按键或是鼠标的移动。主机会定时轮询设备,来取得最新的数据。

USB HID类别设备的主要限制:

  1、最大的传输速度有限,特别是低速与全速的时候。主机可以保证低速的中断端点,每10ms内不会有超过1笔事务,每一秒最多800个字节。主机可以保证全速端点,每1ms1笔事务,每一秒最多是64000个字节。主机可以保证高速端点,每125us1笔事务,每一秒最多24.576MB。  

  2、没有保证的传输速率。如果设备是设置在10ms的时距,事务之间的时间可能等于或小于10ms。除非设备是设置在全速时在每个帧传输数据,或是在高速时在每个微帧传输数据。这是最快的轮询速率,所以断点可以保证有正确的带宽可供使用。 

  3、Windows98Gold系统不支持中断输出传输,所有主机与设备的数据都必须使用控制传输。 

  HID设备除了传送数据给主机外,它也会从主机接收数据。只要能够符合HID类别规范的设备都可以是HID设备,在规范内提到了条型码笔、温度计以及电压计等例子。这些设备虽然没有传统的人机接口,但是它们都可以传送数据给主机,也可以从主机接收配置的要求。

  设备除了HID接口之外,它可能同时还包含有其他的USB接口。例如影像显示设备可能使用HID接口来做亮度,对比,与更新率的软件控制,而使用传统的影像接口来传送要显示的数据。USB扩音器可以使用实时传输来播放语音,同时使用HID接口来控制音量,震荡,与低音等。HID接口通常比传统的控制接口来得便宜。 

USB HID类可采用的通信管道

  所有的HID设备通过USB的控制管道(默认管道,即端点0)和中断管道与主机通信。

表1、USB HID规范定义的HID设备可用端点
管道 要求 说明
控制(端点0) 必须 传输USB描述符、类请求代码以及供查询的消息数据等
中断输入 必须 传输从设备到主机的输入数据
中断输出 可选 传输从主机到设备的输出数据

  控制管道主要用于以下3个方面:

  • 接收/响应USB主机的控制请示及相关的类数据
  • 在USB主机查询时传输数据(如响应Get_Report请求等)
  • 接收USB主机的数据

  中断管道主要用于以下两个方面:

  • USB主机接收USB设备的异步传输数据
  • USB主机发送有实时性要求的数据给USB设备

  从USB主机到USB设备的中断输出数据传输是可选的,当不支持中断输出数据传输时,USB主机通过控制管道将数据传输给USB设备。

  HID类别设备的规范是Device Class Definition for Human Interface Devices。另外还有一份文件HID Usabe Tables,用来定义让主机了解以及使用HID数据的数值。这两份文件是由USB Device Working Group所制定,Group的成员都是USB实施者论坛的会员。您可以在USB实施者网站上下载这两份文件。

------分隔线----------------------------
联系我们
  • Q Q: 1148374829 点击这里给我发消息
  • 旺旺:jhoneqhsieh 点击这里给我发消息
  • 电话:(0)15923141204
  • 淘宝网店
USB开源项目