码迷,mamicode.com
首页 > 其他好文 > 详细

[BLE--HID]USB HID设备类定义

时间:2015-08-25 21:37:03      阅读:285      评论:0      收藏:0      [点我收藏+]

标签:usb   人机交互   蓝牙   hid   

简述

HID设备,即人机交互设备,常见的有鼠标,键盘,游戏手柄,等等。一般有线方式都是通过USB连线连接到机器设备,作为用户输入设备。在蓝牙技术中,HID设备的接入就是无线的了。不过HID的相关定义当然还是一样的,不然设备驱动,兼容等问题都会有很多麻烦了。蓝牙中有HID, HOGP profile,但是只是在蓝牙数据通信上做的规范,HID具体含义相关,还是需要看USB相关的HID文档。

USB设备类?

USB设备可以在启动时,或者是在之后的连接状态下,都能够被主机进行配置。USB设备种类是非常多的,前面只列举了皮毛,而众多的USB设备之间差异化还是特别大的,这样的情况,就会增大开发的难度,因为几乎每类USB设备都得重新对其进行规范和定义了。于是,设备类被提出,就是将众多的USB设备进行大类的划分,这样,每个大类中的USB设备之间就可以抽离出许多共性的东西,那样就减少了许多的重复定义和开发工作了,那具体的HID设备到底都被划分成了哪些大类呢?请看如下:
技术分享

定义HID设备类目的

之所以单独定义了HID设备类,除了上面的原因,还有如下:
- 尽量节省设备数据空间(应当是通过定义简单的字节流,来表示比较复杂的内涵……)
- 允许Application跳过无用信息(不遵循HID设备类定义设备,HID App当然没必要关注)
- 可扩展,且稳定
- 支持嵌套(nesting)和集合(collection)(用类的方式来定义,当然就具有了集合,分层等属性咯)
- 运行通用应用的自描述(这个应当就是指的descriptor的管理方式了)

设备管理

USB设备一般会同时有多个连接到一台机器,那每个设备应当有自己的自描述,因此主机就知道如何区分某个设备了。这些字描述信息,会存放在设备的掉电不失的存储区,称为descriptor,被翻译为描述符。这些descriptor有不止一种,如report,physical等:
技术分享
Report descriptor描述的是该HID设备会产生的一些数据(格式,含义等等),Physical descriptor描述的是使用者人的一些信息:
技术分享
对USB HID设备而言,Descriptor的框架如下:
技术分享

版权声明:本文为博主原创文章,未经博主允许不得转载。

[BLE--HID]USB HID设备类定义

标签:usb   人机交互   蓝牙   hid   

原文地址:http://blog.csdn.net/suxiang198/article/details/47979565

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!