- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
USBHID设备报告描述符详解
USBHID设备报告描述符详解
PAGE / NUMPAGES
USBHID设备报告描述符详解
USB/HID 设施报告描绘符详解
概括:
报告在这里意思是数据传输(
data transfer
),而报告描绘符是对这些传输的数据作用途
(usage )上的说明。
USB通信协议的规范是以
1ms产生一个 USB帧( frame ), USB设施能够每一个帧中发送和
接收一个互换( transaction
)。互换是由几个封包
(packet)
构成,而传输是由一个或几个互换
来达成传递一口中有效的数据。在这里,传输和报告的意思相近似。传输方式有四种,
初始学一
般只需认识控制型传输 (control
transfer) 和中止型传输 (interrupttransfer)
即可。控制型传
输是当需要时才履行传输要求,
是最一般的传输方式, 组态、命令和状态的通信都能够使用控制
型传输;控制型传输主要用于信息型数据(
message-type data
)。中止型传输目的在做重复的
数据更新( recurring data
)传输,精准一点而言,即是在每个有限周期内
(bounded period)
作起码一次的小量数据发送或接收;所以合用于流动型数据(
stream-type data
) , 注意这里所
谓的周期时间就是在端点描绘符中的轮询间隔时间。报告有三种:
input
、 output 和 Feature 。
后边将作进一步介绍。中止型输入管线
(interrupt in pipe)
仅能够传递 input
报告;中止型输
出管线 (interrupt out pipe)
仅能够传递 output
报告;可是控制型管线
(control pipe)
能够传
送 input 、 output 和 feature
报告。端点描绘符有申明所使用的端点为什么种管线。
数据自己没有任何意义,要赋于用途才能明确其为控制什么(
control );比如设施上的按
钮指示灯和 X 与 Y 轴的位移等都通称控制, 数据则为按钮和指示灯的开关状态或
X 与 Y 轴的位移
量。为了这个目的应运而生报告描绘符,
其将数据的控制与它的用途作一对一的对应,
所以解读
报告后就能够知道每个数据作何种操作。
所以“传输的数据”和“操作”不过一事件的两种描绘
方式。用途是以一个 32
位卷标(称作 usage tag )来表示, 高 16 位称作 usage page( 用途类页 ) ,
16 位称为 usage ID( 用途识又名 ) : Usage = (usage page:usage ID)
举例说明:二个字节分别为
x 和 y 轴的位移数据,所以第一个字节的
usage= (generic
desktop:X) ,而第二个字节的
usage = (generic desktop:Y)
,此中 generic desktop
为用途的
大类型(称作用途类页) 之一, x 和 y 轴的操作用途属于此用途类页。
文件 universal
serial Bus
HID Usage Table
完好列出全部的
usage pages( 用途类页 ) 和 usage ID( 用途识又名 ) ,使用者必
须依照文件的规范来申明操作的用途。
该文件的附录 A 有十多个报告描绘符的典范, 值得研究下。
表 1、报告描绘符的标签
主项目 Main Item
全域项目 Global Item
地区项目 Local Item
标签
代码
标签
代码
标签
代码
Input
0x8?
Usage Page
0x0?
Usage
0x0?
Output
0x9?
Logical Minimum
0x1?
Usage Minimum
0x1?
Feature
0xB?
Logical Maximum
0x2?
Usage Maximum
0x2?
Physical Minimum
0x3?
Designator Minimum
0x3?
Collection
0xA1
Physical Maximum
0x4?
Designator Minimum
0x4?
End Collection
0xc0
Unit Exponent
0x5?
Designator Maximum
0x5?
Unit
0x6?
String
0x7?
Report Size
0x7?
Sreing Minimum
0x8?
Report ID
0x8?
String Maximum
0x9?
Report Coumt
0x9?
Delimiter
0xA?
Push
0xA4
Pop
文档评论(0)