USB描述符
- 全部的USB设备都是有一个叙述服务器信息内容的描述符结构分析,如设备是啥、谁生产制造的、它适用哪些新版本的USB、可以配置是多少种方法、端点的总数以及种类这些更普遍的USB描述符是
- 设备描述符
- 配置描述符
- 接口描述符
- 结束点描述符
- 字符串数组描述符
- USB设备只有有一个设备描述符。设备描述符包含下列信息内容:设备合乎的USB版本号、用以载入适度驱动软件的设备和经销商ID及其设备很有可能具备的配置总数。配置的数量表明要遵循多少个配置描述符支系。假如叙述器采用的是自配电的配置,那麼它特定了设备的总数,换句话说它应用的是自配电配置的总数。当枚举类型一个设备时,服务器载入设备描述符,并可以决策开启哪个配置。它一次只有开启一个配置。例如,可以有大功率系统总线配电配置和自供电配置。假如设备插进有主开关电源的服务器,设备驱动软件可以挑选开启功率大的系统总线配电配置,使设备在没有联接开关电源的情形下也可以配电,但假如设备联接到笔记本或本人事务管理管理工具,则可以开启第二种配置(自配电)将必须开关电源的客户插进设备。配置设置不限于输出功率差。每一个配置都能够以同样的方法配电,并耗费同样的电流量,但有不一样的接口或端点组成。可是需要特别注意的是,变更配置必须终止每一个端点上的全部主题活动。尽管USB给予了这类操作灵活性,但极少有设备有一个以上的配置。接口描述符可以看成是一个头,或是将端点分类到一个作用组里,实行设备的单独作用。例如,您可以有着多用途发传真/扫描机/复印机设备。打印机接口描述符作用可以叙述复印机接口描述符的三个作用。与配置描述符不一样,一次只开启一个接口并没有限定。一个设备可以一起开启一个或好几个接口描述符。描述符有一个接口 B接口特定接口号和 均衡设置它容许页面动态性变更设置。例如,我们可以有一个有两个接口的设备,接口一和接口二。一号接口 B接口设置为零表明它是第一个接口描述符和 均衡设置零接口2将有一个 B接口设置为1表明它是第二个接口和 均衡设置为零(默认设置)。随后我们可以应用另一个描述符 B接口设置为1表明它是第二个接口,但此次设置 均衡设置针对一个,标示此接口描述符可以做为另一个接口描述符2的取代设置。开启此配置时,前2个接口描述符 B预留设置应用等于零。可是,在使用期内,服务器可以上传一个偏向接口1的SetInterface要求,另一个设置为1,以开启另一个接口描述符。这相比二种配置有一个优点,由于我们可以根据接口0传送数据,与此同时变更与接口1有关的端点设置,而并不会危害接口0。每一个端点描述符用以特定每一个端点的传送种类、方位、轮询间距和较大数据尺寸。端点0,默认设置的操纵端点一直被假设为操纵端点,因而从来没有描述符。
USB描述符的构成
- 全部的描述符都由一种通用性文件格式构成。第一个字节数特定描述符的长短,而第二个字节数表明描述符的种类。假如描述符的长短低于标准界定的长短,则服务器将忽视它。可是,假如尺寸超过预估,服务器将忽视不必要的字节数,并逐渐在具体回到长短的结尾搜索下一个描述符。相抵场尺寸使用价值表明zero混和one总数描述符的尺寸(字节数)oneb表明one参量描述符种类two…n描述符的主要参数逐渐
设备描述符
- USB设备的设备描述符意味着全部设备。因而,一个USB设备只有有一个设备描述符。它特定了一些相关设备的基础但关键的信息内容,例如适用的USB版本号、较大数据尺寸、经销商和商品id及其设备可以具备的很有可能配置的总数。设备描述符的文件格式如下所示所显示。相抵场尺寸使用价值表明zero混和one总数描述符的尺寸(字节数)(18字节)oneb叙述器one参量设备描述符(0x01)twobcdUSB企业twoBCD公司设备也合乎的USB规格型号号。fourB设备one级别类编码(由USB机构分派)假如等于零,则每一个接口特定它自身的类编码假如相当于0xFF,则类编码由经销商特定。不然字段名是合理的类编码。fiveB设备派生类one子类派生类编码(由USB机构分派)sixB设备协议书one协议协议书编码(由USB机构分派)sevenB外包装规格one总数零结束点的较大数据尺寸。合理规格为8、16、32、64eightID经销商two身份证证件经销商ID(由USB机构分派)tenIDP商品two身份证证件商品ID(由生产商特定)twelveBCD设备twoBCD企业设备公布号fourteen图象生产商one数据库索引生产商字符串数组描述符的数据库索引fifteeni商品one数据库索引商品字符串数组描述符数据库索引sixteeniSerialNumber企业one数据库索引系列号字符串数组描述符数据库索引seventeenbNum配置one整数金额很有可能配置的总数
- 这一 bcdUSB企业字段名汇报设备适用的最大版的USB。该值选用二进制编码的十进制文件格式,格式为0xJJMN,在其中JJ是主版本信息,M是主次版本信息,N是次主次版本信息。e、 g.USB 2.0汇报为0x0200,USB 1.1报告为0x0110,USB 1.0汇报为0x0100。
- 这一 b设备类,b设备派生类和 B设备协议书由电脑操作系统用以为您的设备搜索类驱动软件。通常只有bDeviceClass在设备等级设置。大部分类标准挑选在接口等级标志自身,结论将bDeviceClass设置为0x00。这容许一个设备适用好几个类。
- 这一 B外包装规格字段名汇报端点0的较大数据尺寸。全部设备都务必适用结束点零。
- 这一 ID经销商和 IDP商品由电脑操作系统用以为您的设备搜索驱动软件。经销商ID由USB-IF .
- 这一BCD设备具备与bcdUSB同样的文件格式,并用以给予设备版本信息。此值由开发者特定。
- 存有三个字符串数组描述符来给予生产商、商品和系列号的详细资料。不用有字符串数组描述符。假如不会有字符串数组描述符,则应应用零数据库索引。
- bNum配置界定设备在其现阶段速率下适用的配置数。
配置描述符
- 一个USB设备可以有几种不一样的配置,虽然大部分设备都非常简单并且仅有一种。配置描述符特定设备的配电方法、较大功能损耗、接口总数。因而,可以有二种配置,一种用以设备系统总线配电,另一种用以开关电源配电。因为这也是接口描述符的“头”,因而应用有别于另一个配置的传送方式的一个配置也是有效的。一旦服务器查验了全部配置,服务器将推送一个SetConfiguration指令,该命令的值与在其中一个配置的bConfigurationValue相符合。这用以挑选需要的配置。相抵场尺寸使用价值表明zero混和one总数描述符的尺寸(字节数)oneb叙述器one参量配置描述符(0x02)two总长two总数回到数据信息的总长(字节数)fourB接口one总数接口数量fiveB配置one总数值作为挑选此配置的主要参数sixI配置one数据库索引叙述此配置的字符串数组描述符的数据库索引sevenBM属性one位图文件D7保存,设置为1。(USB 1.0系统总线配电)D6自供电D5远程唤醒D4..0保存,设置为0。eightB至大功率one母亲2mA模块的较大功能损耗
- 载入配置描述符时,它回到全部配置结构分析,主要包括全部有关接口和端点描述符。这一 总长字段名体现结构分析中的字节。
- B接口特定此配置的接口数
- B配置由SetConfiguration要求用以挑选此配置。
- I配置是以人们可读方式叙述配置的字符串数组描述符的数据库索引。
- BM属性特定配置的开关电源主要参数。假如设备是自配电的,则设置为D6。位D7在usb1.0中用以表明系统总线配电的设备,但如今由bMaxPower进行。假如设备应用来源于系统总线的一切开关电源,无论它是做为系统总线配电设备或是做为自配电设备,它都需要以bMaxPower汇报其功能损耗。设备还能够适用远程唤醒,容许设备在服务器处在挂起状态时唤起服务器。
- B至大功率界定设备将从系统总线耗费的至大功率。这也是以2mA为公司的,因而可以特定较大约500mA。该标准容许功率大的系统总线配电设备从VBU中的电流量不超过500mA。假如设备丧失外界开关电源,则其耗费的用电量不能超过bMaxPower中标示的值。要是没有外界开关电源,它将没法实行一切实际操作。
接口描述符
- 接口描述符可以看成是一个头,或是将端点分类到一个作用组里,实行设备的单独作用。接口描述符合乎下列文件格式,相抵场尺寸使用价值表明zero混和one总数描述符尺寸(字节数)(9字节)oneb叙述器one参量接口描述符(0x04)twoB接口one总数接口数量three均衡设置one总数用以挑选取代设置的值fourB等级one总数用以此接口的结束等级fiveBinterfaceclassone级别类编码(由USB机构分派)six派生类接口one子类派生类编码(由USB机构分派)sevenB接口协议书one协议协议书编码(由USB机构分派)eight接口one数据库索引字符串数组描述符数据库索引
- B接口标示接口描述符的数据库索引。它应当从零开始,而且每提升一个新的接口描述符。
- 均衡设置可用来特定取代接口. 这种可选接口可以用设置接口要求
- B等级标示接口应用的结束等级。此值应清除端点0,并用以标示要遵循的端点描述符的总数。
- BinInterfaceClass,BinInterfaceSubclass和 B接口协议书可用来特定适用的类(例如HID、通讯、大容量存储器等),这容许很多设备应用类驱动软件,进而防止为设备撰写相应的驱动软件。
- 接口容许接口的字符串数组叙述。
结束点描述符
- 端点描述符用以叙述端点0之外的端点。端点0自始至终被假设为操纵端点,而且在要求一切描述符以前开展配置。服务器将采用这种描述符回到的消息来明确系统总线的网络带宽要求。相抵场尺寸使用价值表明zero混和one总数描述符尺寸(字节数)(7字节)oneb叙述器one参量结束点描述符(0x05)two修改地址one终结点终点站详细地址
位0..3b端点序号。位4..6b保留。设成零Bits 7 Direction 0 = Out, 1 = In (Ignored for Control Endpoints)threeBM属性one位图文件位0..1传送种类- 00 = Control
01 = Isochronous10 = Bulk11 = Interrupt
- 00 = Control
- 位2..7被保留。如果是等时端点,
Bits 3..2 = Synchronisation Type (Iso Mode)- 00 = No Synchonisation
01 = Asynchronous10 = Adaptive11 = Synchronous
- 00 = No Synchonisation
- Bits 5..4 = Usage Type (Iso Mode)
- 00 = Data Endpoint
01 = Feedback Endpoint10 = Explicit Feedback Data Endpoint11 = Reserved
- 00 = Data Endpoint
- four包长短two数量此端点可以传送或接受的较大数据大小sixB间期one数量轮询终结点传输数据的间距。帧记数中的值。对大批量操纵终结点忽视(&C)。针对终断端点,Isochronous务必提供1,而且字段名的标准可以是1到255。
- 修改地址标示此描述符叙述的端点。
- BM属性特定传送种类。这可以是操纵 ,终断 ,等时或大批量传送. 假如特定了同歩端点,则可以挑选别的属性,例如同歩和应用种类。
- 包长短标示此终结点的较大负荷尺寸。
- B间期用以特定一些传送的轮询间距。企业以帧表明,因而针对低速档/满速机器设备,这相当于1ms,针对快速机器设备相当于125us。
字符串数组描述符
- 字符串描述符给予人们可写的信息内容,而且是供选择的。如果不应用他们,则描述符的一切字符串数组数据库索引字段名都务必设定为零,表明并没有可以用的字符串数组描述符。字符串被编号在Unicode码可以制做文件格式和设备来适用多语种。字符串数组数据库索引0应回到受适用语言表达的目录。可以在中国寻找USB语言ID的目录通用性串行接口语言表达标志符(LANGIDs)版本号1.0相抵场尺寸使用价值表明zero混和one数量描述符的尺寸(字节数)oneb叙述器one参量字符串数组描述符(0x03)twoWLANGID[0]two数适用的语言编码0
(例如0x0409英文-英国)four瓦朗吉德[1]two数适用的语言编码1(例如0x0c09英文-澳洲)n瓦朗吉德[x]two数适用的语言编码x(例如0x0407德语-规范)上边的字符串数组描述符表明了字符串数组描述符0的文件格式。服务器应载入此描述符以明确可以用的语言表达。假如wIndex的言语适用推送,则获得描述符(字符串数组)要求全部后面字符串数组选用下列文件格式,相抵场尺寸使用价值表明zero混和one数量描述符的尺寸(字节数)oneb叙述器one参量字符串数组描述符(0x03)twoB串nUnicode码Unicode编号字符串数组
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。