




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、USB®述符的分类与介绍USB的符述符分为几类?有人可能会答:设备描述符、配置描述符、接口描述符、 端点描述符、字符申描述符等。但这里说的不是这样的。上面的几类描述符届于 USBfe准描述符。另外还有HID描述符和Hub描述符。所以分类是这样的: 1.标准描述符1)设备描述符2)配置描述符3)字符申描述符4)接口描述符5)端点描述符6)设备限定描述符7)其他速率配置描述符2. HID描述符3. Hub描述符1标准描述符标准描述符是指一组设备描述符,包括设备描述符、配置描述符、字符申描述符、 接口描述符、端点描述符、设备限定描述符和其他速率配置描述符。这七种描述符具有类似的格式,比如说
2、它们的第一个字段都是bLength,第二个字段都是bDescriptorType。七种描述符在使用时以 bDescriptorType 字段来区分。描述 符类型与对应的bDescriptorType字段值对应关系为:bDescriptorType 值描述符类用bDescriptorType设备蹴符1端娜述符51蝴述符2设备限定描述符6字符串脱符37|接口描林41.1设备描述符设备描述符描述的是设备的整体信息, 与设备本身一一对应,一个设备只能有一 个设备描述符。在主机对US瞅备枚举的过程中,首先要做的就是获取设备描述 符,以对设备有一个整体的了解。设备描述符由14个字段组成,总长度18字节:字
3、段名长度/字节地址偏移说明bLength10描述符长度伽2)bDescriptorType11描述符类型(0X01)bedUSB22US9规范版本号(眄码bDeviceClass14类代码bDeviceSubClass15子类代码bDeviceProtocol16痴代码bMaxPacketSizeO17糕。支特最大娜包长度idVendor28供应商IDidProduct210产品IDbed DeviceI12设备版本号(采用BCD码)iManufacturer114供应商字符耦述符索引iProduct115产品字髀描述符索引iSeriNumber116设备序列号字符串索引bNumCcmfigu
4、rations117所支持的配置字符符串斜这些字段都有一个小写字母表示的前缀,它们所表示的意思如下:b表一个字节,=8bits ;w 表一个字,=16bits ;bm表按位寻址;bcd用BCDK表示;i表索引值id表标识码各字段含义:bLength :表示描述符的长度,对丁设备描述符来说,其值为18,即0x12。bDescriptorType :描述符类型,对应表1中的值,设备描述符为0x01。bcdUSB:该设备遵循的 USB®本号,以BC况表示,USB1.1为0x0101, USB2.0 为 0x0200。bDeviceClass :该设备所届的标准设备类,USEft、议中对常见
5、的设备进行了 分类。该字段值为0x010xFE时,表示是USBB议中已定义的设备类,常用的 HID设备类编号为0x03,其它设备类编号参:/developers/defined_classbDeviceProtocol :用丁表示USB®备类所采用的设备类协议,其值和 bDeviceClass和bDeviceSubClass有关。当此 字段为0时,表示不使用任何设 备类协议。如果该US瞅备届丁某个设备类和设备子类,则应该继续指明所采用 的设备类协议。当该字段为0xFF时,表明设备 类协议由供应商自定义。bMaxPacketSizeO :用丁表示在US
6、EK备中,端点0所支持最大数据包的长度, 它以字节为单位。对丁低速 USE®:备,bMaxPacketSizeO为8;对丁全速USB 设备,bMaxPacketSizeO 为 8、16、32、64;对丁高速 USB® 备,bMaxPacketSizeO 为64。IdVendor :用丁表示USB®备供应商的ID。USBffl织中规定每种产品都必须 包含一个供应商ID,这样可以使主机加载合适的驱动程序。idProduct :用丁表示USB产品的ID,由设备供应商提供。idProduct用丁表 示特定的US瞅备,在US般备上电的时候可以帮助 USB主机选择合适的驱动程
7、 序。bcdDevice :用丁表示USB®备的版本号,它以BC况的形式表示。一般来说 bcdDevcie由设备供应商指定,在US瞅备上电的时候可以帮助USB主机选择合 适的驱动程序。iManufacturer :用丁表示供应商字符申描述符的索引值。 具体字符申的内容 在后面字符申描述符中定义。如果没有供应商字符申,可以置0。iSerialNumber :用丁表示设备序歹0号字符申描述符的索引值,如果没有,可 以置为00bNumConfigurations :用丁表示该USB设备所支持的配置数。1.2配置描述符一个USB设备可以有多种配置,不同的配置使设备工作在不同的状态下,每个配置
8、必须有一个配置描述符。其格式包括 8个字段,共9字节字段名长射字节«耕b Length10描述符的长度609bDescriptorType11描述符的类型02wTotolLength2I配置信息的长度bNumlnterface14该配置支持的接口数bConfiguratlonValue15配置值iconfiguration16字符串艇符索弓1值bmAttributes17阳置特性bMaxPower18所需要的最大总线电流各个字段含义:bLength :用丁表示配置描述符的长度,固定为 9个字节,即0x09。bDescriptorType :用丁表示配置描述符的类型值,固定为 0x02
9、。wTotalLength :用丁表示配置信息的总长度,包括配置描述符、接口描述符、 端点描述符长度的总和。bNumInterfaces :用丁表示配置所支持的接口数。一般来说,USBES备的接口至少有一个,因此其最小值为1。bConfigurationValue :用丁表示 USBiS备的配置值。iConfiguration :用丁指出配置字符申描述符的索引值。具体字符申的内容 在后面字符申描述符中定义。如果没有配置字符申,可以置为0。bmAttributes :用丁表示USE®备特性。bmAttributes 是接位寻址的,第 6 位置1表示使用总线电源;第5位置1表示支持远程唤
10、醒功能;该字段其他位均 保留,一般来说,第04位置0即可,第7位置1即可。bMaxPowen用丁表示USE®备运行时所需要消耗的总线电流,单位以 2mA 为基准。USB备可以从USB总线上获得最大的电流为500mA因此bMaxPower 字段的最大值可以设置为250。1.3字符申描述符在USBB议中字符申描述符是可选的。字符申描述符用丁保存一些供应商名称、 产品序列号等文本信息。它的长度是不固定的,随字符申的数量和信息的长度变化而变化。其格式如下:mbLengthi0鼬联度(W字节)bDescriptorTypei1瞬嫩顶3hittingN2各字段含义:bLength :字符申描述符
11、的长度,其值应为 N+2 bDescriptorType :字符申描述符的类型值,为 0x03 bString : UNICOD编码的字符申。1.4接口描述符接口是端点的集合,负责完成USB勺特定功能,例如数据的输入输出。接口描述 符用丁描述一个接口,包含了接口的特性,如端点个数,所届设备类和子类等。它有9个字段,共9字节。具格式如下:字段名JI蜘量;bLength10描述苻的长 (M9bDescriptorType11描述符的类地0x04MnterfattNumber12接口号bAhernateSetting13mm| bNumEndpoints14前哪的端愚blnterfacetlass1
12、5类代科bl nt erf ace SubChss16瑚码blnterfa 俚 Protocol17眦代码ilnterface18祎概述醐索牖2. HID描述符3. Hub描述符1.5端点描述符端点描述符用丁指出US酬点的特性,包括其所支持的传输类型、传输方向等信 息。USE规定,端点0没有端点描述符,其余端点必须包含端点描述符。端点 描述符由6个字段组成,共7个字节。其格式如下:字段名长度/字节地址翩量设明bLength10描述符的长尾0X07bDescriptorType11描述符的类性娜一bEndpointAddress12端点号、传输方向bm Attributes13端楠性wMaxPa
13、ckebize24最大觥包长度blnterval16访问间隔各字段含义:bLength :用丁表小端点描述符的长度,固正为 7bDescriptorType :用丁表小接口描述符的类型值,字节,即0x07。固定为0x05。bEndpointAddress :用丁表示端点的端点号以及端点的数据传输方向。第七位表示端点的数据传输方向,0表示OU嗷据传输,1表示IN数据传输;第0 位表示端点号,例如001B表示端点1、010B表示端点2;其余位均保留,必须 置0。bmAttributes :用丁表示端点的特性。其中第 0位和第1位表示端点的数据 传输类型,00B表示控制传输、01B表示同步传输、10
14、B表示块传 输、11B表示 中断传输;如果是同步传输,第 2位和第3位表示同步类型,00B表示非同步、 01B表小异步、10B表小自适应、11B表小同步;第4、5位表小端点的用法类型, 00B表示数据端点、01B表示显示反馈端点、10B表示隐匿反馈端点、11B保留。 其余位保留。wMaxPacketSize :用丁表示端点所支持最大数据包的长度。其中第 010位 表示数据包的长度,第11位和12位指出每小帧最多传输的事务数,其余位均保 留,必须置00bInterval :用丁指定端点数据传输的访问间隔。 低速中断端点,取值范围为 10255,对应的访问间隔为10255ms对丁全速中断端点,取值
15、范围为1255, 对应的访问间隔为1255ms对丁其他端点,可以参阅 USB!关协议。1.6设备限定描述符设备限定描述符用丁指定另一传输速率下该设备的总体信息,如果高速USB®备既需要采用高速传输乂需要全速传输,则它必须支持设备限定描述符 (Device_Qualifier)。设备限定描述符包含9个字段,长度固定为10个字节。 其格式如下:字段名jfewi蝴bLength10描述苻长度:0他bDescriptorType1i描述瞬型顶06bcdUSB22USB腕版本号(BCD码)bDeviceOass14类代码bDeviceSubClass15子类代码b Deviceprotocol
16、16bMaxPacketSizeO17端点0所支赣景大觥起建bNumConfigurations18所翅姬置敖bReserved19艇各字段含义:bLength :用丁表示设备限定描述符的长度,为固定值 0x0abDescriptorType :用丁表示设备限定描述符的类型值,固定为0x06。bcdUSB:用丁表示US瞅备及其描述符所遵循的USE®范版本,以BCDK的 形式表示,其值必须在版本2.0以上。bDeviceClass :用丁表示USB®备所届的设备类。该字段值在 10xFE之间 的时候,表示为US耽义的某个设备类,如0x03表示HID设 备类。当为0时, 表示U
17、SB设备的各个接口互相独立,分别届丁不同的设备类,在接口描述符中会 进一步说明。当为0xFF时,表示该设备为供应商自定义的。bDeviceSubClass :用丁表示USE®备所采用的设备类协议,它对USE®备类 进行了更详细的定义。例如,对丁前面的HID设备类,只有一个 子类代码0x01。 而对丁显示设备类(0x04)子类代码0x01表示CRT显示器、0X02表示平面显示器、 0x03表示3D显示器。当bDeviceClass=0时,该字段也必须为0;当该字段为 0xFF时,表示由供应商自定义的设备子类。bDeviceProtocol :用丁表示USB®备所采用
18、的设备类协议,其值和 bDeviceClass及bDevcieSubClass的值有关。当 该字段为0时,表示不使用任 何设备协议。如果该USB备届丁某个设备类和设备子类,则应该继续指明所采 用的设备类协议。当该字段为 0xFF时,表示由供 应商自定义设备类协议。bMaxPacketSize0 :用丁表示USB®备端点0支持最大数据包的长度,它以字 节为单位。对丁低速 US般备,bMaxPacketSize0为8,对丁全速USB®备, bMaxPacketSize0 为 8、16、32 或 64;对丁高速 USB®备 bMaxPacketSize。为 64。bNu
19、mConfigurations :表示USB设备另一个速率所支持的配置数。 bReserved :保留项,要置 0。1.7其他速率配置描述符其他速率配置描述符用丁指定另一传输速率下该设备的配置信息,如果高速USB设备既需要采用高速传输乂需要全速传输,则它必须支持其他速率配置描述符。其他速率配置描述符包含8个字段,长度固定为9个字节。其格式如下:字既H湃节mm撅bLength10bDescriptorType1 1融牍您0x07wTotalLengthI2覆信息长度bNumInterfaces14所殊的接岐_bConfigurationValue15Elfiiconfiguration16bmA
20、ttributes17椰性bMaxPower18所蔽的驮仍8总线电澈2M为单园各字段含义:bLength :描述符的长度,固定为0x09。bDescriptorType :描述符类型,固定为0x07。wTotalLength :用丁表示其他速率配置信息的总长度,包括配置描述符、接 口描述符、端点描述符、设备类定义描述符和供应商自定义描述符的总和。bNumInterfaces :用丁表示其他速率配置所支持的接口数。bConfigurationValue :用丁表示其他速率配置值。iConfiguration :用丁指出配置字符申描述符的索引值,具体字符申的内容 在字符申描述符中定义。如果没有配置
21、字符申,可以置 0。bmAttributes :用丁表示配置特性。它量按位寻址的,第 6位置1表示使用 总线电源;第5位置1表示支持远程唤醒功能;该字段的其他位均保留,一般来 说,第04位应该置0,第7位应该置1。bMaxPower用丁表示US瞅备运行时所需要消耗的总线电流,单位以 2mA 为基准。USBK备可以从USB总线上获得最大电流为500mA因此该字段的最大 值为250。2 HID描述符USB®备中有一大类就是 HID设备,即Human Interface Devices ,人机接口设 备。这类设备包括鼠标、键盘等,主要用丁人与计算机进行交互。它是USB&议最早支持的
22、一种设备类。HID设备可以作为低速、全速、高速设备用。由丁 HID设备要求用户输入能得到及时响应,故其传输方式通常采用中断方式。在USBfe议中,HID设备的定义放置在接口描述符中,USB的设备描述符和配置 描述符中不包含HID设备的信息。因此,对丁某些特定的HID设备,可以定义多 个接口,只有其中一个接口为 HID设备类即可。当定义一个设备为HID设备时,其设备描述符应为:bDeviceClass=ObDeviceSubCiass=Ob Device P ratocol=0其接口描述符应该:bInterfaceClass=0x03另外(接口描述符):对无引导的HID设备,子类代码bInter
23、faceSubClass 应置0,此时 bInterfaceProtocol 无效,置零即可。即为:bInterfaceClass=0x03bInterfaceSubClass=0bInterfaceProtocol=0对支持引导的USB设备,子类代码bInterfaceSubClass 应置1,此时 bInterfaceProtocol 可以为1或2, 1表示键盘接口,3表示鼠标接口。其参考 设置如下:bInterfaceClass=0x03bInterfaceSubClass=1bInterfaceProtocol=1或 2HID设备支持USBB准描述符中的五个:设备描述符、配置描述符、接
24、口描述符、 端点描述符、字符申描述符。除此之外,HID设备还有三种特殊的描 述符:HID描述符、报告描述符、物理描述符。一个 USB®备只能支持一个HID描述符,但 可以支持多个报告描述符,而物理描述符则可以有也可以没有。2.1 HID描述符HID描述符用丁识别HID设备中所包含的额外描述符,例如报告描述符或物理描 述符等。其格式如下:字段名长度/字节地扯偏移量诚bLength10报告描述符长度序节)bDescriptorType11描述符类型两nbcdHID22HID版本号(BCD码)bCountryCode14国家/地区代码bNumDescriptor1S支持的其他类型描述符数量bDescriptorType16类别描述符的类型wDescriptofLength27报告描述符的总长度bDescriptorType19用于识别艇符类型的常数wDescriptoftengtii210描述符龄长度n各字段含义:bLength : HID描述符长度。bDescriptorType : HID描述符类型,值为 0x21。bcdH
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 气管切开吸痰试题及答案
- 休克医学考试题及答案
- 国际商业美术设计师学术成果试题及答案
- 哈尔滨模考试题及答案
- 环境可靠性试题及答案
- 教师心理健康试题及答案
- 如何通过实战提升国际商业美术设计师考试成绩与试题及答案
- 掌握助理广告师考试核心内容试题及答案
- 审计知识测试题及答案
- 监委面试题目及答案
- 文书档案整理课件
- 《水浒传》读书汇报课
- 梅毒与hiv职业暴露及防护-图文
- 鲤科鱼类八亚科检索表(新)
- 烙铁头的寿命一般有多长
- GB∕T 37370-2019 中国常见色色名和色度特性
- Continual Improvement持续改进程序(中英文)
- 10x2000对称式三辊卷板机设计机械毕业设计论文
- RCA应用于给药错误事情的分析结果汇报
- 申论答题纸-方格纸模板A4-可打印
- 土石方测量方案完整版
评论
0/150
提交评论