USB-HID协议.doc
《USB-HID协议.doc》由会员分享,可在线阅读,更多相关《USB-HID协议.doc(16页珍藏版)》请在咨信网上搜索。
1、.USB HID类设备属于人机交互操作的设备,是一个比较大的类,用于控制计算机操作的某些方面,如USB鼠标、USB键盘、USB游戏操作杆、USB触摸板、USB轨迹球、电话拨号设备、VCR遥控等等设备。另外,使用HID设备的一个好处就是操作系统自带了HID类的驱动程序,用户无需开发很麻烦的驱动程序,只有直接使用API调用即可完成通信,所有很多简单的USB设备喜欢枚举成HID设备,这样就可以不用安装驱动而直接使用。1、HID设备描述符 当插入USB设备后,主机会向设备请求各种描述符来识别设备。为了把一个设备识别为HID类,设备在定义描述符的时候必须遵守HID规范。HID设备的描述符除了5个USB的
2、标准描述符(设备描述符、配置描述符、接口描述符、端点描述符、字符串描述符)外,还包括3个HID设备类特定描述符:HID描述符、报告描述符、物理描述符。HID描述符是关联于接口(而不是端点)的,所以设备不需要为每个端点都提供一个HID描述符。设备和主机的通信是通过报告的形式来实现的。而物理描述符不是必需的。 5个标准描述符中与HID设备有关的部分有: 设备描述符中bDeviceClass、bDeviceSubClass和bDeviceProtocol三个字段的值必须为0。 接口描述符中bInterfaceClass的值必须为0x03,bInterfaceSubClass的值为0或1,为1表示HI
3、D设备是一个启动设备(Boot Device,一般对PC机而言才有意义,意思是BIOS启动时能识别并使用您的HID设备,且只有标准鼠标或键盘类设备才能成为Boot Device。如果为0则只有在操作系统启动后才能识别并使用您的HID设备)。HID接口描述符中bInterfaceProtocol的含义bInterfaceProtocol的取值含义0NONE1键盘2鼠标3255保留1.1 HID描述符 HID描述符关联于接口描述符,因而如果一个设备只有一个接口描述符,则无论它有几个端点描述符,HID设备只有一个HID描述符。HID设备描述符主要描述HID规范的版本号、HID设备所用的额外描述符、报
4、告描述符的长度等。USB HID类描述符的结构偏移量域大小描述0bLength1描述符的字节数1bDescriptorType1描述符类型,HID类描述符为0x212bcdHID2HID版本号,如1.0版本的BCD码为0x000,版本1.1的BCD码为0x01104bCountryCode1硬件目的国家的识别码(BCD码)5bNumDescrioptors1支持的附属描述符数目6bDescrioptorType1HID相关描述符的类型0x21:HID描述符0x22:报告描述符0x23:物理描述符7wDescriptorLength2报告描述符总长度9bDescriptorType1用于识别描述
5、符类型的常量,使用一个以上描述符的设备10wDescrioptorLength2描述符总长度,使用一个以上描述符的设备1.2 报告描述符 HID设备的报告描述符比较复杂也比较难理解。它以item形式排列组合而成,无固定长度,用户可以自定义长度以及每一bit的含义。HID报告描述符已经不是简简单单地描述某个值对应某个固定意义了,它已经能够组合出很多种情况,并且需要PC上的HID驱动程序提供parser解释器来对描述的设备情形进行重新解释,进而组合生成出本HID硬件设备独特的数据流格式,所以可以把它理解为“报告描述符脚本语言”更为贴切。我们使用“报告描述符”专用脚本语言,让用户来自己定义他们的HI
6、D设备都有什么数据以及这些数据各bit都有什么意义。USB协会提供了一个HID描述符编辑工具HIDDescrioptor Tool,用它可以方便生成报告描述符。 item类型分为三种:main, global和local。其中main类型又可以分为5种tag: input item tag:指的是从设备的一个或多个类似控制管道得到的数据 output item tag:指的是发送给一个或多个类似控制管道的数据 feature item tag:表示设备的输入输出不面向最终用户 collection item tag:一个有意义的input, output和feature的组合项目 end co
7、llection item tag:指定一个collectionitem的终止每一个mainitem tag(input,output,feature)都表明了来自一个特定管道的数据的大小,数据相对还是独立,以及其他相关信息。在此之前,global和local item定义了数据的最大值和最小值,等等。local item仅仅描述下一个main item定义的数据域,而global item是这一个报告描述符中所有后续数据段的默认属性。一个报告描述符可能包含多个main item,为了准确描述来自一个控制管道的数据,一个报告描述符必须包括以下内容: input(output,feature)
8、usage usage page Logical Minimum Logical Maximum Report Size Report Count下面用一个三键鼠标举例说明:UsagePage (Generic Desktop); /global itemUsage(Mouse); /global itemCollection(Application); /Start MousecollectionUsage(Pointer); /Collection(Physical); /Start Pointer collectionUsagePage (Buttons)UsageMinimum (1)
9、,UsageMaximum (3),LogicalMinimum (0),LogicalMaximum (1) ; /Fields return valuesfrom 0 to 1ReportCount (3),ReportSize (1); /Create three 1 bit fields(button 1, 2, & 3)Input(Data, Variable, Absolute); /Addfields to the input report.ReportCount (1),ReportSize (5); /Create 5 bit constant fieldInput(Cons
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- USB HID 协议
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。