没有合适的资源?快使用搜索试试~ 我知道了~
USB接口HID设备说明书样本.doc
0 下载量 41 浏览量
2022-12-06
19:45:31
上传
评论
收藏 1.48MB DOC 举报
温馨提示
试读
58页
USB接口HID设备说明书样本.doc
资源推荐
资源详情
资源评论
第8章 USB 接口 HID 设备
HID(Human Interface Device,人机接口设备)是 USB 设备中惯用设备类型,是直
接与人交互 USB 设备,例如键盘、鼠标与游戏杆等。在 USB 设备中,HID 设备成本较低。
此外,HID 设备并不一定要有人机交互功能,只要符合 HID 类别规范设备都是 HID 设备。
Wndows 操作系统最先支持 HID 设备。在 windows 98 以及日后版本中内置有 HID 设
备驱动程序,应用程序可以直接使用这些驱动程序来与设备通信。
在设计一种 USB 接口计算机外部设备时,如果 HID 类型设备可以满足需要,可以将其
设计为 HID 类型设备,这样可以省去比较复杂 USB 驱动程序编写,直接运用 Windows 操
作系统对原则 HID 类型 USB 设备支持。
8.1 HID 设备简介
8.1.1 HID 设备特点
互换数据储存在称为报表(Report)构造内,设备固件必要支持 HlD 报表格式。主
机通过控制和中断传播中传送和祈求报表来传送和接受数据。报表格式非常灵活。
每一笔事务可以携带小量或中量数据。低速设备每一笔事务最大是 8B,全速设备
每一笔事务最大是 64B,高速设备每一笔事务最大是 1024B。一种报表可以使用多
笔事务。
设备可以在未预期时间传送信息给主机,例如键盘按键或是鼠标移动。因此主机会
定期轮询设备,以获得最新数据。
HID 设备最大传播速度有限制。主机可以保证低速中断端点每 10ms 内最多 1 笔事
务,每一秒最多是 800B。保证全速端点每 lms 一笔事务,每一秒最多是 64000B。
保证高速端点每 125 us 一笔事务,每一秒最多是 24.576MB。
HID 设备没有保证传播速率。如果设备是设立在 10ms 时距,事务之间时间也许等
于或不大于 10ms。除非设备是设立在全速时在每个帧传播数据,或是在高速时在
每个微帧传播数据。这是最快轮询速率,因此端点可以保证有对的带宽可供使用。
HID 设备除了传送数据给主机外,它也会从主机接受数据。只要可以符合 HlD 类别规
范设备都可以是 HID 设备。
设备除了 HlD 接口之外,它也许同步还包具有其她 USB 接口。例如影像显示设备也
许使用 HID 接口来做亮度、对比度软件控制,而使用老式影像接口来传送要显示数据。USB
扩音器可以使用实时传播来播放语音,同步使用 HID 接口来控制音量、低音等。
HID 类别设备规范文献重要是如下两份:
Device Class Definition for Human interface Devices
HID Usage Tables
其中前者是 HID 基本规范文献,后者可以是前者附件,为开发人员提供实际控制类型
描述。文献是用来定义让主机理解以及使用 HID 数据数值。这两份文献是由 USB Device
Working Group 制定,可以在网址。
8.1.2 HID 设备硬件规定
HID 接口必要符合 Device Class Definition for Human interface Devices 规范内所定
义 HID 类别需求。在此文献内描述了所需描述符、传播频率以及传播类型等。为了符合规
范,HID 接口端点与描述符都必要符合数个规定。
所有 HID 传播都是使用默认控制管道或是一种中断管道,HID 设备必要有一种中断输
入端点来传送数据到主机,中断输出端点则不是必须。
表 8-1 HID 设备传播类型
传播
类型
数据来源
数据类型
与否需
要管道
控制
设备(输入)
没有严格时间限制数据
是
HID 类别
驱动程序
HID 类别
设备
主机
外设
默认控制管道
中断管道
图 8-1 HID 传播传播类型
主机(输出)
没有严格时间限制数据
或是没有中断输出管道时任何数据
设备(输入)
定期或低延迟数据
是
中断
主机(输出)
定期或低延迟数据
是
主机与设备之间所互换数据,可以提成两种类型:
低延迟数据,必要尽快地到达目;
配备或其她数据,没有严格时间限制需求。
中断管道是控制管道之外另一种数据互换方式,特别适合使用在接受端需要定期或是
尽量及时收到数据时候。中断输入管道携带数据到主机,中断输出管道则是携带数据到设
备。在总线忙时候,控制管道也许会被延迟,而中断管道保证会有可得到带宽。HID 不需
要一定有中断输出管道。如果没有中断输出管道,主机会在控制管道上使用 HID 设备特有
Set_Report 祈求来传送所有报表。
8.1.3 HID 固件规定
主机驱动程序要与 HID 设备通信,设备固件必要符合下列需求:
设备描述符必要辨认该设备包具有 HID 接口。
除了默认控制管道外,固件必要此外支持一种中断输入管道。
固件必要包括一种报表描述符来定义要传送与接受设备数据。
如果要传送数据,固件必要支持 Get_Report 控制传播与中断输入传播。如果要接受
数据,固件必要支持 Set_Report 控制传播与选取性中断输出传播。
所有 HID 数据都必要使用定义过报表格式来定义报表中数据大小与内容。设备可以支
持一种或各种报表。在固件中一种报表描述符用来描述此报表,以及如何使用报表数据信
息。
在每一种报表中一种数值,定义此报表是一种输入(Input)、输出(Output)或是特
性(Feature)报表。主机在输入报表中接受数据,在输出报表中传送数据,特性报表可以
在任何方向传递。
Windows 98 以及日后版本 HID 驱动程序使用中断传播来传递输入报表。输出报表传
播类型要依照设备支持端点与 Windows 版本而定。Windows 98 Gold 只符合 HID 1.0 规范,
它 HID 驱动程序使用控制传播来传递输出报表。Windows 98 SE、Wndows 符合 HID 1.1
规范,HID 驱动程序在有中断输出端点时使用中断传播,否则使用控制传播来传递输出报
表。特性报表都是使用控制传播。
8.2 HID 设备描述符
HID 设备连接到 USB 主机后,主机通过发送 Get_Descriptor 祈求读取 HID 设备描述
符,理解描述符对理解 USB 设备是至关重要。
8.2.1 HID 设备描述符
HID 设备除了支持 USB 设备 5 种原则描述符之外,还支持 HID 设备特有 3 种描述符。
这些描述符是:
USB 原则描述符:设备、配备、接口、端点和字符串描述符。
HID 特有描述符:HID、报表(Report)和实体(Physical)描述符。
从描述符关联关系看,HID 描述符是关联于接口。因此如果一种 HID 设备有 2 个端点,
设备不需要每个端点有一种 HID 描述符。
从前面 USB 描述符可以看出一种规律,描述符第一、二字节分别是描述符长度和类
图 8-2 HID 描述符关联关系
接口描述符
Interface
端点描述符
Endpoint
HID 描述符
Hid
报表描述符
Report
实体描述符
Physical
HID、报表和实体描
述符是 HID 设备特
有描述符
型,描述符类型字段(bDescriptorType)表白描述符种类,下表列出了不同描述符类型字
段数值。
表 8-2 HID 描述符
类型
描述符
应用
数
值
设备 Device
所有设备必要有,只能一种
01
配备 Configuration
所有设备必要有,至少一种
02
字符串 String
可选取
03
接口 Interface
每一种接口一种
04
端点 Endpoint
除端点 0 之外每个端点一种
05
设备限定 Device_Qualiffier
06
Other_Speed_Configuration
同步支持全速与高速设备必要有一
种
07
原则
Interface_power
08
HID
HID 设备必要有
21
类别
Hub
29
报表 Report
HID 设备必要有
22
HID
特定
实体 Physical
可选取
23
对于一种 HID 设备,设备描述符与配备描述符没有 HID 特定信息。其设备描述符
bDeviceClass 和 bDeviceSubClass 字段值为 0,接口描述符 bInterfaceClass 字段值为 03,
表达设备该接口是 HID 类别。在接口描述符中其她包括 HID 特定信息字段尚有子类别码
(blnterfaceSubClass)与合同码(blnterfaceProtocol 字段)。
在接口描述符中子类别码字段等于 1 表达此设备支持启动接口(Boot Interface)。如
果设备有启动接口,即便主机 HID 没有加载驱动程序,设备也可以使用。这种情形也许发
生在计算机是由 DOS 直接启动,在启动时观看系统设立画面或使用 Wndows 安全模式时。
具有启动接口键盘或鼠标可以使用 BIOS 或许多主机支持默认简朴合同。HID 规范定
义了键盘与鼠标启动接口合同。
如果设备没有启动接口,并且接口描述符中合同码字段是 1,表达设备支持键盘接口,
合同码字段是 2,表达支持鼠标接口。接口描述符中合同码字段是 0,表达设备不支持启
动合同。
在 HID Usage Tables 规范中定义了键盘与鼠标启动描述符(Boot Descriptor)。BIOS
不需要从设备中读取描述符,由于它懂得启动合同,并且假设设备支持启动合同。因此要
启动设备不需要在固件内包括启动接口描述符,它只要在主机尚未规定在报表描述符中定
义合同时支持启动合同即可。在操作系统加载 HlD 驱动程序后会使用 Set_Protocol 祈求,
剩余57页未读,继续阅读
资源评论
yyyyyyhhh222
- 粉丝: 404
- 资源: 6万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功