USB HID协议Word格式文档下载.docx

上传人:b****2 文档编号:14734925 上传时间:2022-10-24 格式:DOCX 页数:12 大小:19.45KB
下载 相关 举报
USB HID协议Word格式文档下载.docx_第1页
第1页 / 共12页
USB HID协议Word格式文档下载.docx_第2页
第2页 / 共12页
USB HID协议Word格式文档下载.docx_第3页
第3页 / 共12页
USB HID协议Word格式文档下载.docx_第4页
第4页 / 共12页
USB HID协议Word格式文档下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

USB HID协议Word格式文档下载.docx

《USB HID协议Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《USB HID协议Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。

USB HID协议Word格式文档下载.docx

HID描述符关联于接口描述符,因而如果一个设备只有一个接口描述符,则无论它有几个端点描述符,HID设备只有一个HID描述符。

HID设备描述符主要描述HID规范的版本号、HID设备所用的额外描述符、报告描述符的长度等。

USBHID类描述符的结构

偏移量

大小

描述

bLength

描述符的字节数

bDescriptorType

描述符类型,HID类描述符为0x21

bcdHID

HID版本号,如1.0版本的BCD码为0x000,版本1.1的BCD码为0x0110

4

bCountryCode

硬件目的国家的识别码(BCD码)

5

bNumDescrioptors

支持的附属描述符数目

6

bDescrioptorType

HID相关描述符的类型

0x21:

HID描述符

0x22:

报告描述符

0x23:

物理描述符

7

wDescriptorLength

报告描述符总长度

9

用于识别描述符类型的常量,使用一个以上描述符的设备

10

wDescrioptorLength

描述符总长度,使用一个以上描述符的设备

1.2报告描述符

HID设备的报告描述符比较复杂也比较难理解。

它以item形式排列组合而成,无固定长度,用户可以自定义长度以及每一bit的含义。

HID报告描述符已经不是简简单单地描述某个值对应某个固定意义了,它已经能够组合出很多种情况,并且需要PC上的HID驱动程序提供parser解释器来对描述的设备情形进行重新解释,进而组合生成出本HID硬件设备独特的数据流格式,所以可以把它理解为“报告描述符脚本语言”更为贴切。

我们使用“报告描述符”专用脚本语言,让用户来自己定义他们的HID设备都有什么数据以及这些数据各bit都有什么意义。

USB协会提供了一个HID描述符编辑工具HIDDescrioptorTool,用它可以方便生成报告描述符。

item类型分为三种:

main,global和local。

其中main类型又可以分为5种tag:

∙inputitemtag:

指的是从设备的一个或多个类似控制管道得到的数据

∙outputitemtag:

指的是发送给一个或多个类似控制管道的数据

∙featureitemtag:

表示设备的输入输出不面向最终用户

∙collectionitemtag:

一个有意义的input,output和feature的组合项目

∙endcollectionitemtag:

指定一个collectionitem的终止

每一个mainitemtag(input,output,feature)都表明了来自一个特定管道的数据的大小,数据相对还是独立,以及其他相关信息。

在此之前,global和localitem定义了数据的最大值和最小值,等等。

localitem仅仅描述下一个mainitem定义的数据域,而globalitem是这一个报告描述符中所有后续数据段的默认属性。

一个报告描述符可能包含多个mainitem,为了准确描述来自一个控制管道的数据,一个报告描述符必须包括以下内容:

∙input(output,feature)

∙usage

∙usagepage

∙LogicalMinimum

∙LogicalMaximum

∙ReportSize

∙ReportCount

下面用一个三键鼠标举例说明:

UsagePage(GenericDesktop);

//globalitem

Usage(Mouse);

Collection(Application);

//StartMousecollection

Usage(Pointer);

//

Collection(Physical);

//StartPointercollection

UsagePage(Buttons)

UsageMinimum

(1),

UsageMaximum(3),

LogicalMinimum(0),

LogicalMaximum

(1);

//Fieldsreturnvaluesfrom0to1

ReportCount(3),

ReportSize

(1);

//Createthree1bitfields(button1,2,&

3)

Input(Data,Variable,Absolute);

//Addfieldstotheinputreport.

ReportCount

(1),

ReportSize(5);

//Create5bitconstantfield

Input(Constant),;

Addfieldtotheinputreport

UsagePage(GenericDesktop),

Usage(X),

Usage(Y),

LogicalMinimum(-127),

LogicalMaximum(127);

//Fieldsreturnvaluesfrom-127to127

ReportSize(8),

ReportCount

(2);

//Createtwo8bitfields(X&

Yposition)

Input(Data,Variable,Relative);

//Addfieldstotheinputreport

EndCollection;

//ClosePointercollection

//CloseMousecollection

item的数据格式有两种,分别是短item和长item。

短item格式

bSize

0:

0个字节 

1:

1个字节 

2:

2个字节 

3:

3个字节

bType

main 

global 

local 

bTag

item类型

8:

input 

9:

output 

A:

collection 

B:

feature 

C:

endcollection

长item,其bType位值为3,bTag值为F

bDataSize

bLongItemTag

data

数据

1.3物理描述符

物理描述符被用来描述设备的行为特性,物理描述符是可选的,HID设备可以根据其本体的设备特性选择是否包含物理描述符。

下表是HID的物理描述符结构。

HID物理描述符的结构

bDesignator

用来指定本体的哪一部分影响项目

bFlags

位指定标志

位0~4:

Effort

位5~7:

Qualifier

bDesignator取值含义表

取值

0x00

0x15

小指

0x01

0x16

0x02

眼球

0x17

0x03

0x18

腰骨

0x04

眼皮

0x19

0x05

0x1A

大腿

0x06

0x1B

膝盖

0x07

0x1C

小腿

0x08

上唇

0x1D

0x09

下唇

0x1E

0x0A

0x1F

脚跟

0x0B

0x20

拇指

0x0C

上臂

0x21

大拇指

0x0D

手肘

0x22

第二指

0x0E

前臂

0x23

第三指

0x0F

手腕

0x24

第四指

0x10

手掌

0x25

小拇指

0x11

0x26

0x12

食指

0x27

0x13

中指

0x28~0xFF

0x14

无名指

Qualifier取值含义

其中之一

中间

同时

2、HID类可采用的通信管道

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

USBHID规范定义的HID设备可用端点

管道

要求

说明

控制(端点)

必须

传输USB描述符、类请求代码以及供查询的消息数据等

中断输入

传输从设备到主机的输入数据

中断输出

可选

传输从主机到设备的输出数据

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

∙接收/响应USB主机的控制请示及相关的类数据

∙在USB主机查询时传输数据(如响应Get_Report请求等)

∙接收USB主机的数据

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

∙USB主机接收USB设备的异步传输数据

∙USB主机发送有实时性要求的数据给USB设备

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

3、HID设备类特定的命令(请求)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1