1 / 69
文档名称:

USBHID协议书中文版-USB接口HID设备.docx

格式:docx   大小:534KB   页数:69页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

USBHID协议书中文版-USB接口HID设备.docx

上传人:玥玥 2022/11/27 文件大小:534 KB

下载得到文件列表

USBHID协议书中文版-USB接口HID设备.docx

相关文档

文档介绍

文档介绍:该【USBHID协议书中文版-USB接口HID设备 】是由【玥玥】上传分享,文档一共【69】页,该文档可以免费在线阅读,需要了解更多关于【USBHID协议书中文版-USB接口HID设备 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
WORD格式整理版
第8章USB接口HID设施
HID(HumanInterfaceDevice,人机接口设施)是USB设施中常用的设施种类,是
直接与人交互的USB设施,比如键盘、鼠标与游戏杆等。在USB设施中,HID设施的成
本较低。此外,HID设施其实不必定要有人机交互功能,只需切合HID类型规范的设施都是
HID设施。
Wndows操作系统最初支持的HID设施。在windows98以及此后的版本中内置有
HID设施的驱动程序,应用程序能够直接使用这些驱动程序来与设施通讯。
在设计一个USB接口的计算机外面设施时,假如HID种类的设施能够知足需要,能够
将其设计为HID种类设施,这样能够省去比较复杂的USB驱动程序的编写,直接利用
Windows操作系统对标准的HID种类USB设施的支持。

HID设施的特色
互换的数据储藏在称为报表
(Report)的构造内,设施的固件一定支持
HlD报表
的格式。主机经过控制和中止传输中的传递和恳求报表来传递和接收数据
。报表
的格式特别灵巧。
每一笔事务能够携带小量或中量的数据
。低速设施每一笔事务最大是
8B,全速设
备每一笔事务最大是64B,高速设施每一笔事务最大是
1024B。一个报表能够使用
多笔事务。
设施能够在未预期的时间传递信息给主机
,比如键盘的按键或是鼠标的挪动
。所
以主时机准时轮询设施
,以获得最新的数据。
HID设施的最大传输速度有限制。主机能够保证低速的中止端点每
10ms内最多1
笔事务,每一秒最多是
800B。保证全速端点每
lms
一笔事务,每一秒最多是
64000B。保证高速端点每125us三笔事务,。
HID设施没有保证的传输速率
。假如设施是设置在
10ms的时距,事务之间的时间
可能等于或小于10ms。除非设施是设置在全速时在每个帧传输数据
,或是在高速
时在每个微帧传输数据
。这是最快的轮询速率,因此端点能够保证有正确的带宽
可供使用。
HID设施除了传递数据给主机外
,它也会从主机接收数据
。只需能够切合
HlD类型规
学****参照好帮手
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
182

计算机高级接口实践
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
范的设施都能够是HID设施。
设施除了HlD接口以外,它可能同时还包含有其余的USB接口。比如影像显示设施可
能使用HID接口来做亮度、对照度的软件控制,而使用传统的影像接口来传递要显示的数
据。USB扩音器能够使用及时传输来播放语音,同时使用HID接口来控制音量、低音等。
HID类型设施的规范文件主假如以下两份:
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
DeviceClassDefinitionforHumaninterfaceDevices
HIDUsageTables
此中前者是HID的基本规范文件,后者能够是前者的附件,为开发人员供给实质的控
制种类的描绘。文件是用来定义让主机认识以及使用HID数据的数值。这两份文件是由
USBDeviceWorkingGroup制定的,能够在网址
#Class_Definition下载。
HID设施的硬件要求
HID接口一定切合DeviceClassDefinitionforHumaninterfaceDevices规范内所定
义的HID类其余需求。在此文件内描绘了所需的描绘符、传输的频次以及传输的种类等。
为了切合规范,HID接口的端点与描绘符都一定切合数个要求。
所有的HID传输都是使用默认控制管道或是一此中止管道,HID设施一定有一此中止
输入端点来传递数据到主机,中止输出端点则不是必需的。
主机
默认控制管道
外设
HID类型
HID类型
驱动程序
设施
中止管道
图8-1
HID传输的传输种类
表8-1
HID设施的传输种类
传输
数据种类
能否需
数据根源
种类
要管道
设施(输入)
没有严格时间限制的数据

控制
没有严格时间限制的数据
主机(输出)
或是没有中止输出管道时的任何数据
设施(输入)
准时或低延缓的数据

中止
准时或低延缓的数据

主机(输出)
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
第8章USB接口HID设施
183
主机与设施之间所互换的数据,能够分红两种种类:
低延缓的数据,一定赶快地到达目的;
配置或其余的数据,没有严格时间限制的需求。
中止管道是控制管道以外的另一种数据互换的方式,特别合适使用在接收端需要准时
或是尽可能及时收到数据的时候。中止输入管道携带数据到主机,中止输出管道则是携
带数据到设施。在总线忙的时候,控制管道可能会被延缓,而中止管道保证会有可获取
的带宽。HID不需要必定有中止输出管道。假如没有中止输出管道,主时机在控制管道上
使用HID设施独有的Set_Report恳求来传递所有的报表。
HID固件的要求
主机的驱动程序要与HID设施通讯,设施的固件一定切合以下需求:
设施的描绘符一定辨别该设施包含有HID接口。
除了默认控制管道外,固件一定此外支持一此中止输入管道。
固件一定包含一个报表描绘符来定义要传递与接收的设施数据。
假如要传递数据,固件一定支持Get_Report控制传输与中止输入传输。假如要接收
数据,固件一定支持Set_Report控制传输与选择性的中止输出传输。
所有的HID数据都一定使用定义过的报表格式来定义报表中数据的大小与内容。设施
能够支持一个或多个报表。在固件中的一个报表描绘符用来描绘此报表,以及怎样使用
报表数据的信息。
在每一个报表中的一个数值,定义此报表是一个输入(Input)、输出(Output)或
是特色(Feature)报表。主机在输入报表中接收数据,在输出报表中传递数据,特色报
表能够在任何方向传达。
Windows98以及此后版本的HID驱动程序使用中止传输来传达输入报表。输出报表
的传输种类要依据设施支持的端点与Windows的版本而定。Windows98Gold只切合
,它的HID驱动程序使用控制传输来传达输出报表。Windows98SE、
,HID驱动程序在有中止输出端点时使用中止传输,否
则使用控制传输来传达输出报表。特色报表都是使用控制传输。

USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
HID设施连结到USB主机后,主机经过发送Get_Descriptor恳求读取HID设施的描
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
184计算机高级接口实践
述符,认识描绘符对认识USB设施是至关重要的。
HID设施的描绘符
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
HID设施除了支持USB设施的5种标准描绘符以外,还支持HID
述符。这些描绘符是:

设施独有的3种描
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
USB标准描绘符:设施、配置、接口、端点和字符串描绘符。
HID独有的描绘符:HID、报表(Report)和实体(Physical)描绘符。
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
从描绘符的关系关系看,HID描绘符是关系于接口。因此假如一个点,设施不需要每个端点有一个HID描绘符。

HID设施有2个端
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
接口描绘符
Interface
HID描绘符端点描绘符
HidEndpoint
HID、报表和实体描
报表描绘符
实体描绘符
述符是HID设施特
Report
Physical
有的描绘符
图8-2
HID描绘符的关系关系
以前面的USB描绘符能够看出一个规律,描绘符的第一、二字节分别是描绘符的长
度和种类,描绘符的种类字段(bDescriptorType)表示描绘符的种类,下表列出了不同
描绘符的种类字段数值。
表8-2
HID的描绘符
种类
描绘符
应用


设施
Device
所有设施一定有,只好一个
01
标准
配置
Configuration
所有设施一定有,起码一个
02
字符串
String
可选择
03
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
第8章
接口Interface
端点Endpoint
设施限制Device_QualiffierOther_Speed_ConfigurationInterface_powerHID
类型

USB接口HID设施
185
每一个接口一个
04
除端点0以外的每个端点一个
05
同时支持全速与高速的设施一定有
06
一个
07
08
HID设施一定有
21
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
Hub
29
HID
报表
Report
HID设施一定有
22
特定
实体
Physical
可选择的
23
对于一个
HID设施,设施描绘符与配置描绘符没有
HID特定的信息。其设施描绘符的
bDeviceClass
和bDeviceSubClass
字段的值为0,接口描绘符的
bInterfaceClass
字段值为
03,表示设施的该接口是
HID
类型。在接口描绘符中其余包含
HID特定信息的字段还有
子类型码(blnterfaceSubClass
)与协议码(blnterfaceProtocol
字段)。
在接口描绘符中子类型码字段等于
1表示此设施支持启动接口(BootInterface)。
假如设施有启动接口
,即使主机的HID没有加载驱动程序,设施也能够使用。这类情况可
能发生在计算机是由
DOS直接启动,在启动时观看系统设置画面或使用
Wndows的安全
模式时。
含有启动接口的键盘或鼠标能够使用
BIOS也很多主机支持的默认简单协议
。HID规
范定义了键盘与鼠标的启动接口协议

假如设施没有启动接口
,并且接口描绘符中协议码字段是
1,表示设施支持键盘接
口,协议码字段是
2,表示支持鼠标接口。接口描绘符中协议码字段是
0,表示设施不支
持启动协议。
在HIDUsageTables
规范中定义了键盘与鼠标的启动描绘符
(BootDescriptor
)。
BIOS不需要从设施中读取描绘符
,因为它知道启动协议
,并且假定设施支持启动协议

因此要启动的设施不需要在固件内包含启动接口描绘符
,它只需在主机还没有要求在报表
描绘符中的定义协议时支持启动协议即可
。在操作系统加载
HlD
驱动程序后会使用
Set_Protocol恳求,将设施由启动协议变换成报表协议

HID描绘符
HID描绘符的主要作用是用来辨别HID通讯所使用的额外描绘符。下表是HID描绘符构造。
表8-3
HID描绘符构造
偏移
字节
数值

字段
说明
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施

种类
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
186
计算机高级接口实践
0
bLength
1
Numeric
描绘符字节数
1
bDescriptorType
1
Constant
0x21=HID描绘符
2
bcdHID
2
Numeric
HID规范版本号(BCD)
4
bCountryCode
1
Numeric
硬件设施所在国家的国家代码
5
bNumDescriptors
1
Numeric
类型描绘符数量(起码有一个报表描绘符
)
6
bDescriptorType
1
Constant
类型描绘符的种类
7
wDescriptorLength
2
Numeric
报表描绘符的总长度
9
[bDescriptorType]...
1
Constant
附带的描绘符的种类
,可选的
10
[wDescriptorLength]...
2
Numeric
附带的描绘符的总长度
,可选的
bcdHID:设施与其描绘符所依据的HID规范的版本号码,此数值是4个16进位的
BCD格式字符。。
bCountryCode:硬件目的国家的辨别码。假如不说明,该字段为0。
bDescriptorType:HID描绘符隶属的描绘符的种类(报表或实体)。每一个HID都
一定起码支持一个报表描绘符。一个接口能够支持多个报表描绘符,以及一个或多个实
体描绘符。
HID描绘符的偏移量为9和10的bDescriptorType和wDescriptorLength能够重复存在多个。

报表描绘符定义了履行设施功能的数据格式和使用方法。
报表描绘符和USB的其余描绘符是不同样的,它不是一个简单的表格,报表描绘符
是USB所有描绘符中最复杂的。报表描绘符特别复杂而有弹性,因为它需要办理各种用
途的设施。报表的数据一定以简短的格式来储藏,这样才不会浪费设施内的储藏空间以
及数据传输时的总线时间。
实质上能够这样理解,报表内容的简短,是经过报表描绘符全面的、复杂的数据描
述实现的。
报表描绘符一定先描绘数据的大小与内容。报表描绘符的内容与大小因设施的不同
而不同,在进行报表传输以前,主机一定先恳求设施的报表描绘符,只有获取了报表描
述符才可正确分析报表的数据。
报表描绘符是报表描绘项目(Item)的会合,每一个描绘项目都有相对一致的数据
构造,项目好多,经过编码实现。
(1)项目
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
报表描绘符由描绘HID设施的数据项目(Item)构成,项目的第一个字节(项目前
缀)由三部分构成,即项目种类(itemtype)、项目标记(itemtag)和项目长度(item
size)。此中项目种类说明项目的数据种类,项目标签说明项目的功能,项目长度说明项
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
第8章USB接口HID设施
187
目的数据部分的长度。
HID的项目有短项目和长项目两种,此中短项目的格式以以下图。
位序
7
6
5
43
2
1
0
字段
Data(能够是0、1、2、4个字节)
bTag
bTypebSize
图8-3HID报表短项目格式
短项目的数据字节数由bSize的值定义,bSize为0、1、2、3时Data部分的字节数
分别为0、1、2、4个字节。短项目的项目种类由bType定义,bType为0、1、2时分别
为Main、Global和Local种类。
长项目能够携带许多的数据,其格式以以下图。
位序
76543210
字段
Data
bLongItemTag
bDataSize
11111110
字节数
1~255
1
1
1
图8-4
HID报表长项目格式
项目中的第一个字节为上图中的特定值时表示该项目是一个长项目。长项目中的
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
bDataSize

说明

Data

部分的字节数,bLongItemTag



HID

规范中没有定义。
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
下边是经过汇编实现的一个简单的报表描绘符

,描绘符的每一行是一个项目

,该描
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
述符描绘了一个从设施接收

2个字节的输入报表和发送

2个字节到设施的输出报表


USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
HID_Report_desc_table:
db
06h,A0h,FFh
;UsagePage(Vendordefined)
定义设施功能
db
09h,A5h
;Usage(VendorDefined)
定义用法
db
A1h,01h
;Collection(Application)
开一个会合
db
09H,A6h
;
Usage(Vendordefined)
定义用法
;输入报表
db
09h,A7h
;
Usgae(Vendordefined)
定义用法
db
15h,80h
;
LogicalMinimum
定义输入最小值=-128
db
25h,7Fh
;
LogicalMaximum
定义输入最大值=+27
db
75h,08h
;
ReportSize
定义报表数据项大小=8
db
95h,02h
;
ReportCount
定义报表数据向个数=2
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
188

计算机高级接口实践
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
db

81h,02h

;

Input(Data,Variable,Absolute)

输入项目
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
;输出报表
db
09h,A9h
;
Usgae(Vendordefined)
定义用法
db
15h,80h
;
LogicalMinimum
定义输入最小值=-128
db
25h,7Fh
;
LogicalMaximum
定义输入最大值=+27
db
75h,08h
;
ReportSize
定义报表数据项大小=8
db
95h,02h
;
ReportCount
定义报表数据向个数=2
db
91h,02h
;
Output(Data,Variable,Absolute)
输出项目
dbC0h;EndCollection封闭会合
(2)项目的分类
报表的项目有Main、Global和Local三大类,每一类都有多个不同的项目
,实现不同
的描绘。
Main类项目用于定义报表描绘符中的数据项
。也能够组合此中的若干数据项成为一
个会合。Main项目能够分为带数据的
Main
项目和不带数据的
Main
项目。带数据项的
Main用于生成报表中的数据项
,包含Input
、Output和Feature项目。不带数据的Main
项目不生成报表中的数据项,包含Collection
和EndCollection
项目。
Global类项目实现对数据的描绘
,用来辨别报表并且描绘报表内的数据
,包含数据
的功能、最大与最小同意值以及数据项的大小与数量等
。改变由Main
类项目生成的项目
状态表。Global类项目描绘对后续的所有项目有效
,除非碰到有新的
Global类项目。
Local类项目定义控制的特色
,这一类项目的作用域不超出下一个
Main项目,因此在
每一Main项目以前可能有多个
Local项目。Local项目用于描绘后边的
Input、Output和
Feature项目。
下表列出的是所有的项目的前缀字和简要功能说明。
表8-4HID项目列表项目前缀,
项目
项目标记(Tag)
nn为数据长
功能说明
种类

Input
100000nn
定义输入报表,主机利用该信息分析设施供给的数
据。主机向控制端口发送
Get_Report实现输入
Main
类项
创立输出报表,经过向设施发送Set_Report
实现
Output
100100nn
输出

Feature
101100nn
定义送往设施的设置信息
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
Global
类项

Local
类项


第8章USB接口HID设施
189
Collection
101000nn
定义2个以上数据(Input、Output
和Feature)的
关系为会合,Collection开始一个会合
,以后的
EndCollection
110000nn
EndCollection结束会合。Collection
项目的数据
部分说明Collection的种类
指定设施的功能
此外因为Usage项目有32位数据值,Usage
UsagePage
000001nn
Page项目用于为Usage项目在报表描绘符中占
居储存空间。用于寄存后续的Usage项目的高16
位。
LogicalMinimum
000101nn
定义变量或数组项目的逻辑最小值和最大值
LogicalMaximum
001001nn
PhysicalMinimum
001101nn
定义变量或数组项目的物理最小值和最大值
,分别
PhysicalMaximum
010001nn
和LogicalMinimum
、LogicalMaximum
对应
UnitExponent
010101nn
定义数值是鉴于10
的指数
Unit
011001nn
单位
ReportSize
011101nn
指定报表数据地区所包含的位数
ReportID
100001nn
报表ID,该项目在报表中插入一个字节的报表ID
ReportCount
100101nn
报表中数据域的数量
Push
101001nn
将Global项目状态表送入货仓
Pop
101101nn
从货仓恢复Global
项目状态表
110001nn

111101nn
保存
用法索引值,表示对项目或会合建议的用法
,用于
Usage
000010nn
当一个项目描绘多个控制,对每一个变量和数组元
素都有建议的用法
UsageMinimum
000110nn
定义阵列或位图中控制操作的第一个和最后一个用
UsageMaximum
001010nn

DesignatorIndex
001110nn
确立用于控制的实体
,指向物理描绘符中的目标
DesignatorMinimum
010010nn
定义阵列或位图目标的开端和停止索引值
DesignatorMaximum
010110nn
StringIndex
011110nn
确立字符串描绘符中的索引值
StringMinimum
100010nn
定义用于阵列或位图控制中字符串序列索引值的最
StringMaximum
100110nn
小值和最大值
Delimiter
101010nn
定义一组Local项目的开始和结束,1=开始,0=
结束
101010nn

111110nn
保存
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施
USBHID协议书中文版-USB接口HID设施

最近更新

复合添加高性能锶铁氧体的制备与干压成型研究.. 2页

塞尔的社会实在建构论探析的开题报告 2页

基于风险方法的油船货舱区分舱设计研究的开题.. 2页

基于遥感的鄱阳湖典型湿地植被生物量变化及其.. 2页

基于财务分析视角下的医药商业类上市公司的投.. 2页

基于衔接理论对高考短文改错题型的分析的开题.. 2页

基于聚噻吩的光伏太阳能电池研究中期报告 2页

基于系统调用序列及参数的异常检测研究的开题.. 2页

基于目标结构重复性的电磁散射高效分析的开题.. 2页

基于环境心理需求的居住区铺装设计研究的开题.. 2页

基于物联网的列车智慧物流配送系统研究的开题.. 2页

基于标准成本管理的A供电公司运营成本执行研究.. 2页

基于有限元的桥式起重机主梁优化设计的开题报.. 2页

2024年师范生实习日记集合5篇 15页

基于接触测量法的齿轮三维齿面偏差测量与评价.. 2页

基于技术接受模型的网络团购意愿影响因素研究.. 2页

基于情绪计算的驾驶行为研究的开题报告 2页

2024年市场销售的工作者的自我鉴定(精选5篇).. 9页

基于序列特征的核小体定位中期报告 2页

歌曲版权授权书范本 2页

国三柴油机燃油系统结构原理电控高压喷油系统.. 69页

设计院战略合作协议书(精选3篇) 8页

头疗养生 ppt课件 9页

学校规章制度高中学生学业评价管理办法 6页

《gb50108 2016 地下工程防水技术规范.》 80页

社区警务室基础工作台帐封面和工作用表样张样.. 26页

二胡曲《三门峡畅想曲》作品分析及演奏特色-音.. 23页

潮流计算课程设计 18页

Xxx医院弱电系统设备维保外包项目维护方案设计.. 16页