图解USB协议之三USB标准描述符

上传人:小** 文档编号:46438441 上传时间:2021-12-13 格式:DOC 页数:11 大小:343KB
返回 下载 相关 举报
图解USB协议之三USB标准描述符_第1页
第1页 / 共11页
图解USB协议之三USB标准描述符_第2页
第2页 / 共11页
图解USB协议之三USB标准描述符_第3页
第3页 / 共11页
点击查看更多>>
资源描述
欢迎访问avatar的电子W?客:EET站点:http:/, forum, eet-cn. conv BL0G_zhou36_301 HTIEDN站点:Avatar 的邮箱:avatar_1 21 Otom .com图解USB协议之三USB标准描述符最近忙丁公司的项忖和木人的驾驶证考试,拖延了这个系列第三篇的完成, 先向各位支持我的DX表示一下歉意。不过好在驾驶证的蝴蝶桩考试顺利通过,n己先庆贺一下亠己,嘿嘿。最近做一个手持机的项目,第一次真正感受到了手头这个小设备的功力。事 情是这样的:要将n年前写的基丁 51的固件代码移植到AVR问题出现了., 枚举不成功!立刻想到用协议分析仪看看(此处省略168字),结果当然是 一目了然,儿分钟轻松搞定!关丁这次的经历,回头专门写一个帖子吧,先卖个 关子,哈。闲话少说,本篇图解USB标准描述符。数据采集设备:HD-USB12USB协议分析仪。还是先复习一 K USB协议的相关内容。USB通迅配置是通过描述符完成的, 下而对USB标准描述符进行说明。一、USB标准描述符1、标准设备描述符偏移量域大小值描述0bLength1数字描述符的大小=12H1bDecriptorType1设备描述符类型= 01H2bcdUSB2BCD码此设备与描述符兼容的USB设佑说明版木1; (BCD 码)4bDeviceClass1类设备类码如果此域的值为0则一个设朮下毎个接口指 出它门己的类,并个接口冬“独立工作.如果此域的值处T- HFEH之间,则设备在不 同的接口上支持不同的类。并这些接U可能不能 独立工作。此值指出了,这些接口集体的类定义。如果此域设为FFH,则此设备的类由厂商定 义.5bDeviceSubClass1子类子类码这些码值的口体金义根据bDeviceClass域 来看.如bDeviceClass域为零,此域也须为零 如bDeviceClass域为FFH,此域的所育值保6bDevicePortocol1协议协议码这些码的值视bDeviceClass和 bDeviceSubClass 的值而定。如果设备支持i殳备基础上的类相关的协议, 此码标志了设备类说明上的值.如果此域的值为零,则此设备不在设备基础 上支持设备类相关的协议。然而,它可能在接LI 基础上支持设备类相关的协议。如果此域的值为FFH,此设备使用厂商定义 的协议.7bMaxPacketSizeO1瑞点0的最大包大小(仅8,16,32,64为合法值)8idVendor2ID厂商标志(由USB标准付值)10idProduct2ID产品标志(由厂翡付值)12bcdDevice2BCD码设备发行号(BCD码)14iManufacturer1索引描述厂商信息的字串的索引。15iProduct1索引描述产品信息的字串的索引.16iSerialNumber1索引描述设务序列弓信息的了川的索引.17bNumConfigurations1数字可能的设代数2. 标准配置描述符偏移绘城大小值描述0bLength1数字描述符的大小= 09H1bDescriptorType1配理描述符类型= 02H2wTotalLength2数字此配誉信息的总长(包扌舌配代接口.靖点和设 备类及厂商定义的描述符)4bNumlnterfaces1数字此配置所支持的接口个数5bCongfigurationValue1数字1; Setconfiguration ()诸求中用作参数來 选定此配丑。6iconfiguration1索引描述此配誉的字串描述符索引7bmAttributes1位图配置特性*D7:保留(设为一)D6:自给电源D5:远稈唤酹D4.0:保留(设为一)一个嘅用总线电源乂有门給电源的设备会在 MaxPower域指出需要从总线取的电园。并设朮 D6为一.运行时期的实际电源模式可由 GetStatus(DEVICE)请求得到.8MaxPower1mA在此配代卜的总线电源耗费最。以2mA为一个单 位。3、标准接口描述符偏移量大小值说明0bLength1数字描述符的大小= 09H1bDescriptorType1接口描述符类型= 04H2blnterfaceNumber1数了按口号,当胁配置支持的接口数组索引(从零开 始)3bAlternateSetting1数字可选设定的索引值.4bNumEndpoints1数字此接口用的端点数駅,如果是零则说明此接口只 用缺省控制管道。5blnterfaceClass1类类值零值为将来的标准保阳。如果此域的值设为FFH,则此接口类山厂商说 明。所冇其它的值山USB说明保留。6bInterfaceSubClass1子类子类码这些值的定义视blnterfaceClass域而定. 如果blnterfaceClass域的值为零则此域的值 必须为零。blnterfaceClass 域不为 FFH 则所fjffilll USB 所保留.7blnterfaceProtocol1协议协议码:blnterfaceClass 和blnterfaceSubClass域的值而定如果一个 接口支持设备类相关的请求此域的值指出了设备 类说明中所定义的协议.8ilnterface1索引描述此接口的7串描述符的索引值。4、标准端点描述符備移量域大小值说明0bLength1数字描述符的大小= 07H1bDescriptorType1端点描述符类型= 05H2bEndpointAddress1靖点此描述符所描述的端点的地址。此地址的编码如 下:Bit 3. . 0 :端点号.Bit 6.4 :保留,为零Bit 7:方向,如果控制靖点则略。0:出端点1:入端点3bmAttributes1位图此域的值描述的是在bConf igurationValue 域所指的配进下端点的特性。Bit 1.0 :传送类樂00=控制传送01=同步传送10=批传送11中断传送所有其它的位都保留.4wMaxPacketSize2数字当前配址卜此端点能够接收或发送的垠大数据包 的大小.对与同步传送此值用丁为毎祯的数据净负荷预 留时间.而通逍可能在实际运行时不需耍预留的 帯宽。实际帝宽町山设备通过一种非USB定义的 机制汇报给主机.对丁中断传送,批传送,控制传送端点可能发 送较小的数据包.并II在结束传送后既有可能间 隙时间来重启,也有可能不需嘤这段时间。具体 诫参照第五章.6blnterval1数字轮寻数据传送端点的时间间隙.此域的值对F批传送的瑞点及控制传送的端 点忽略。对同步传送的端点此域必需为1。对 于中断传送的端点此域值的范围为1到255.5.语言描述符偏移量城大小值描述0bLength1N+2描述符的大小1bDescriptorType1常昴:字巾描述符类 = 03H2wLANGID(O)2数7语言标讲(LANGID)码0 NwLANGIDfx2数字语言标识(LANGID)码X6、UNICODE字串描述符偏移量域大小值描述0bLength1数字描述符的大小1bDescriptorType1字那描述符类科= 03H2bStringN数字UNICODE编码的字串二、图解枚举过程中的描述符1、枚举成功后主机紂到的第一个描述符(设备描述符),见图1Index : USDwrLeuErrPIDCBCPacket3200:03.738.2272. 75 psSETUPIDDEV = 01 EP = 003300:03.738.2308. 08 ps8DATAOF4E0GET.DESCRIPTOR3400:03.738.2391.42 -usACK3500:03.738.243797.17 us109 IN/NAK3600:03.739.0692.75 ns1 SOF3700:03.739.072297.06 us40 IN/NAK3800:03.739.3722. 75 psINIDDEV = 00 EP = 803900:03.739.37513.42 us16DATA11BB812 01 00 01 00 00 00 10 14 IB 66 06 00 01 00 004000:03.739.3891.42 psACK4100:03.739.391239.44 us33 IN/NAK4200:03.739.6332.75 nsINIDDEV = 00 EP = 804300:03.739.6374.17 *us2DATAO8F3T00 014400:03.739.6411.42 *usACK4500:03.739.6442.75 nsOUTIDDEV = 01 EP = 004600:03.739.6472.75 ps0DATA14700:03.739.6501.42 nsACK(图1)(本数据由HD-USB12 USB协议分析仪來集)a. Index38-44:设备发送到主机的描述,详见图2。b、图2为设备描述符,其各字段含义参考上而标准设备描述符。0x12 OxOL DEVICE OxOLOO 0x00 0x00b Length =bDescriptorlype =bcdVSB = bHevi ceCl iss = bDevi ceSubCl &ss = bDevi ceFrotocol = 0x00IMexIacketSizeO = 16 i d.Vend.or = 0xlB14 idTroduct = OxOB66 bcdBevice = 0x0100 iMer = 0iTroduct = 0 iSerilNuntb er = 0 bNufriConfigurati ons = 1(图2)(本数据由HD-USB12USB协议分析仪采集)2、枚举成功后主机得到的笫二个描述符(配置描述符),见图3Index : M “.usDnrLeuIrrPIDCRCF ticket4900:03.740.0952.73 usSETUPIDDEV = 01 E? = 005000:03.740.0988.06 us8臥TAO04AEGET.DESCRIPTOR5100:03.740.1Q61.44 usACK5200:03.740.Ill909. 10 us124 IK/NAK5300:03.741.0512.75 us1 SOF5400:03.741.0542.75 usIHIDDEY = 01 EP = 805500:03.741.057S.75 us9DATA.1B87309 02 29 00 01 01 00 60 015b00:03.741.0671.42 usACK5700:03.741.069么 75 usOUTIDDEV = 01 EP = 005800:03.741.0722.75 us0DATkl5900:03.741.0751.42 xACK(图3)(本数据由HD-USB12 USB协议分析仪采集)a. Lidex54-56:设备发送到主机的描述,详见图4。b、图4为配置描述符,其各字段含义参考上而标准配置描述符。Length 二 bDescnptorType =wTotal Length = bNumlnterfaces 二 bConfi gurati onValue = iConfigurati= brakttributes =D7 : 0D8 :10x090x02CONFIGURATION411100x60Reserved (set to owe)Sl-p6WGr fedD5 : Rmot电 Wakeup1D4. 0 : Reserved (rest to 00000= 2mA(图4)(本数据由HD-USB12 USB协议分析仪來集)3. 随后为配置描述符、接口描述符及端点描述符见图5Index : S. BS. USDurLeuErrPIDCRCPacket6100:03.742.1802. 75 usSETUPIDDEV = 01 EP = 006200 03.742.1838.17 us8DATAOA4E9GET.DESCRIPTOR6300 03.742. 1921.42 usACK6400 03.742. 196814.02 us111 IN/NAK6500 03.743.0412. 75 us1 SOF6600 03.743.044281.56 us38 1N/NAKJ6700 03. 743. 3282. 75 usIHIDDEV = 00 EP = 806800 03.743.33113.42 us16DATA1F48409 02 29 CO 01 01 00 60 01 09 04 00 00 02 03 006900 03.743. 3451.42 usACK70100 03 743.347654.35 us90 IN/NAI:7100 03.744. 0302. 75 us1 SOF72100 03 744 0332 75TNinDEV = 01 FP = 807300 03.744. 03613.42 us16DATAO6F2200 00 09 21 01 01 00 01 22 25 00 07 05 82 03 407400 03.744.0501.42 usACK7500 03.744.052470.02 us64 IN/HW:7600 03.744.5252. 75 usINIDDEV = 00 EP = 8017100 03.744.5288.75 us9DATA1B2FB00 0A 07 C5 02 03 40 00 0A7800 03.744. 5371.42 usACK7900 03.744.5402. 75 usOUTIDDEV = 01 EP = 008000 03.744. 5432. 75 us0DATA18100 03.744.5461.42 usACK(图5)(本数据由HD-USB12 USB协议分析仪采集)a Iiidex67-78:设备发送到主机的描述,详见图6.图人图8及图9。b、图6为配置描述符,其各字段會义参考上而标准朮置描述符。bLength LDescriptorTypewTotaiLength bNumlnterfces LConfigurati onValue lConfigurat 1 on binAttribu tesD7D8D5D40bMixFewer二 0x09=0x02COHFIGURATIOM=41=1=1=0=OxSO:Reserved (set to one)0:Self-ped1:Rfiibote Wakeup1: Reserved (resfet to zro) 00000二 2m K(图6)(木数据由HD-USB12USB协议分析仪采集)c图7为接口描述符,其各字段倉义参考上而标准接口描述符。bLenjth = 0x09bDezcriptorType - 004INTERFACEblnter FaceKumb er = 0bAl ternateSetting = 0 bNumEndpiritg = 2 bint er fac eClass = 0x03 blnterfceSubClss = 0x00 bint erfcePro toe ol = 0x00 iInterface = 0(图7)(木数据由HD-USB12USB协议分析仪采集)d、图8及图9为端点描述符,其各字段禽义参考上而标准端点描述符。bLength = 0x07bBescriptorType 二 0x05EWDPOIBT bEndpc1 ntAddr s s 二 0x82 DT : Directi on1 = IK endpoiitt B6. . . 4 : Reserved000D3.0bnikt tributesDT. . 6:The endpoint nunber2=0x03:Reserved,00D5 4 :Type00 二 BatG endpointP3.2 : Synchroni zati on Type 00 二 Ho Synchr ani z ati onIII. 0 : Transfer Type 11= Interrupt wlllaxPacketSi ze = 64 blntfervl 二 10(图8)(本数据由HD-USB12USB协议分析仪采集)bLngth bBescr iptorType bEndpo i ntAdLires s DT叽 4D30bmAt tri bugBT. 6D54B3.2B1.0wMaxP acketSize blntervil=0x07=0x05ENDFOIHT=0x02:tig0 = OUT endpoint:Reserved000:The endpoint nun/bey2=0x03:Reserved00:Usae Type00 = D&ta endpoint:Synchroni rat i on Typ00 二 No Synchr oni z itioil:Transfer Type11 = Iiiterrupt=64=10(图9)(木数据由HD4JSB12USB协议分析仪來集)以上描述符不包括髙速USE的描述符,如速度配置描述符等,详细请参考USB标准。
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!