圖解USB協(xié)議之三USB標(biāo)準(zhǔn)描述符_第1頁(yè)
圖解USB協(xié)議之三USB標(biāo)準(zhǔn)描述符_第2頁(yè)
圖解USB協(xié)議之三USB標(biāo)準(zhǔn)描述符_第3頁(yè)
圖解USB協(xié)議之三USB標(biāo)準(zhǔn)描述符_第4頁(yè)
圖解USB協(xié)議之三USB標(biāo)準(zhǔn)描述符_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、解USB協(xié)議之三USB標(biāo)準(zhǔn)描述符最近忙丁公司的項(xiàng)目和本人的駕駛證考試,拖延了這個(gè)系列第三篇的完成,先向各位支持我的DX表示一下歉意。不過(guò)好在駕駛證的蝴蝶樁考試順利通過(guò),H己先慶賀一下二述,嘿嘿。最近做一個(gè)手持機(jī)的項(xiàng)目,第一次真正感受到了手頭這個(gè)小設(shè)備的功力。事情是這樣的:要將n年前寫(xiě)的基于的固件代碼移植到AVR,問(wèn)題出現(xiàn)了枚舉不成功!立刻想到用協(xié)議分析儀看看(此處省略168字),結(jié)果當(dāng)然是一目了然,兒分鐘輕松搞定!關(guān)于這次的經(jīng)歷,回頭專門(mén)寫(xiě)一個(gè)帖子吧,先賣(mài)個(gè)關(guān)子,哈。閑話少說(shuō),本篇圖解USB標(biāo)準(zhǔn)描述符。數(shù)據(jù)采集設(shè)備:HD-USB12USB協(xié)議分析儀。還是先復(fù)習(xí)一下USB協(xié)議的相關(guān)內(nèi)容。USB通

2、迅配置是通過(guò)描述符完成的,下面對(duì)USB標(biāo)準(zhǔn)描述符進(jìn)行說(shuō)明。一、USB標(biāo)準(zhǔn)描述符1、標(biāo)準(zhǔn)設(shè)備描述符偏移量域大小值描述0bLength1數(shù)7描述符的大小=12H1bDecriptorType1常戢設(shè)備描述符類型=01H2bcdUSB2BCD碼此設(shè)備與描述符兼容的USB設(shè)備說(shuō)明版本號(hào)(BCD碼)4bDeviceclass1類設(shè)備類碼如果此域的值為0則一個(gè)設(shè)世下每個(gè)接口指出它H己的類,并個(gè)接口各H獨(dú)立工作。如果此域的值處丁1-FEHZ間,則設(shè)備在不同的接口上支持不同的類。并這些接口可能不能獨(dú)立工作。此值指出了,這些接口集體的類定義。如果此域設(shè)為FFH,則此設(shè)備的類山廠商定義。5bDeviceSubCl

3、ass1子類子類碼這些碼值的具體含義根據(jù)bDeviceClass域來(lái)看。如bDeviceClass域?yàn)榱?,此域也須為寥如bDeviceClass域?yàn)镕FH,此域的所有值保留。6bDevicePortocol1協(xié)議協(xié)議碼這些碼的值視bDeviceClass和bDeviceSubClass的值而定。如果設(shè)備支持設(shè)備基礎(chǔ)上的類相關(guān)的協(xié)議,此碼標(biāo)志了設(shè)備類說(shuō)明上的值。如果此域的值為零,則此設(shè)備不在設(shè)備基礎(chǔ)上支持設(shè)備類相關(guān)的協(xié)議。然而,它可能在接口基礎(chǔ)上支持設(shè)備類相關(guān)的協(xié)議。如果此域的值為FFH,此設(shè)備使用廠商定義的協(xié)議。7bMaxPacketSizeO1數(shù)7端點(diǎn)0的最大包大?。▋H8,16,32,64為

4、合法值)8idVendor2ID廠商標(biāo)志(山USB標(biāo)準(zhǔn)付值)10idProduct2ID產(chǎn)品標(biāo)志(山廠商付值)12bcdDevice2BCD碼設(shè)備發(fā)行號(hào)(BCD碼)14iManufacturer1索引描述廠商信息的字串的索引。15iProduct1索引描述產(chǎn)品信息的字串的索引。16iSerialNumber1索引描述設(shè)備序列號(hào)信息的字串的索引。17bNumConfigurations1數(shù)字可能的設(shè)直數(shù)2、標(biāo)準(zhǔn)配置描述符偏移量域大小值描述0bLength1數(shù)字描述符的大小=09H1bDescriptorType1常雖配國(guó)描述符類型=02H2wTotalLength2數(shù)字此配進(jìn)信息的總長(zhǎng)(包括配進(jìn)

5、,接口,端點(diǎn)和設(shè)備類及廠商定義的描述符)4bNuminterfaces1數(shù)字此配直所支持的接口個(gè)數(shù)5bCongfigurationValue1數(shù)字右:Setconfiguration()請(qǐng)求中用作參數(shù)來(lái)選定此配直。6iconfiguration1索引描述此配直的字串描述符索引7bmAttributes1位圖配置特性:D7:保留(設(shè)為一)D6:Fl給電源D5:遠(yuǎn)程喚醒D4.0:保留(設(shè)為一)一個(gè)既用總線電源又有自給電源的設(shè)備會(huì)在MaxPower域指出需要從總線取的電量。并設(shè)直D6為一。運(yùn)行時(shí)期的實(shí)際電源模式可由GetStatus(DEVICE)請(qǐng)求得到。8MaxPower1mA在此配理下的總線電

6、源耗費(fèi)戢。以2mA為一個(gè)單位。3、標(biāo)準(zhǔn)接口描述符偏移量域大小值說(shuō)明0bLength1數(shù)字描述符的大小=09H1bDescriptorType1常雖接口描述符類型=04H2bInterfaceNumber1數(shù)字接口號(hào),當(dāng)詢配世支持的接口數(shù)組索引(從零開(kāi)始)3bAlternateSetting1數(shù)字可選設(shè)且的索引值。4bNumEndpoints1數(shù)字此接口用的端點(diǎn)數(shù)嵐,如果是零則說(shuō)明此接口只用缺省控制管道。5bInterfaceclass1類類值零值為將來(lái)的標(biāo)準(zhǔn)保留。如果此域的值設(shè)為FFH,則此接口類山廠商說(shuō)明。所有其它的值USB說(shuō)明保留。6bInterfaceSubClass1了類子類碼這些值的

7、定義視blnterfaceClass域而定。如果blnterfaceClass域的值為零則此域的值必須為零。blnterfaceClass域不為FFH則所有值由USB所保留。7bInterfaceprotocol1協(xié)議協(xié)議碼:blnterfaceClass和blnterfaceSubClass域的值而定如果一個(gè)接口支持設(shè)備類相關(guān)的請(qǐng)求此域的值指出了設(shè)備類說(shuō)明中所定義的協(xié)議.8ilnterface1索引描述此接口的字串描述符的索引值。4、標(biāo)準(zhǔn)端點(diǎn)描述符偏移量域大小值說(shuō)明0bLength1數(shù)字描述符的大小=07H1bDescriptorType1端點(diǎn)描述符類型=05H2bEndpointAddre

8、ss1端點(diǎn)此描述符所描述的端點(diǎn)的地址。此地址的編碼如下:Bit3.0:端點(diǎn)號(hào).Bit6.4:保留,為寥Bit7:方向,如果控制端點(diǎn)則略。0:出端點(diǎn)1:入端點(diǎn)3bmAttributes1位圖此域的值描述的是在bConfigurationValue域所指的配匿下端點(diǎn)的持性。Bit1.0:傳送類型00=控制傳送01=同步傳送10=批傳送11=中斷傳送所有其它的位都保留。4wMaxPacketSize2數(shù)字當(dāng)前配氏下此端點(diǎn)能夠接收或發(fā)送的最大數(shù)據(jù)包的大小。對(duì)與同步傳送此值用丁為每禎的數(shù)據(jù)凈負(fù)荷預(yù)留時(shí)間。而通道可能在實(shí)際運(yùn)行時(shí)不需耍預(yù)留的帶寬。實(shí)際帶寬可山設(shè)備通過(guò)一種非USB定義的機(jī)制匯報(bào)給主機(jī).對(duì)丁中

9、斷傳送,批傳送,控制傳送.端點(diǎn)可能發(fā)送較小的數(shù)據(jù)包。并11在結(jié)束傳送后既有可能間隙時(shí)間來(lái)垂啟,也有可能不需要這段時(shí)間。具休請(qǐng)參照第五章。6blnterval1數(shù)字輪尋數(shù)據(jù)傳送端點(diǎn)的時(shí)間間隙。此域的值對(duì)丁批傳送的端點(diǎn)及控制傳送的端點(diǎn)忽略。對(duì)丁同步傳送的端點(diǎn)此域必需為1。對(duì)丁中斷傳送的端點(diǎn)此域值的范閑為1到255o5、語(yǔ)言描述符偏移量域大小值描述0bLength1N+2描述符的大小1bDescriptorType1常fit字串描述符類型=03H2wLANGID02數(shù)字語(yǔ)言標(biāo)識(shí)(LANGID)碼0NwLANGIDx2數(shù)字語(yǔ)言標(biāo)識(shí)(LANGID)碼X6、UNICODE字串描述符偏移量域大小值描述0bL

10、ength1數(shù)字描述符的大小1bDescriptorType1常雖字串描述符類型=03H2bStringN數(shù)寧UNICODE編碼的字串二、圖解枚舉過(guò)程中的描述符1、枚舉成功后主機(jī)得到的第一個(gè)描述符(設(shè)備描述符),見(jiàn)圖1Index:S.BS.USDwrLenErrPIDCRCPacket3200:03.738.2272.75nsSETUPIDDEV=01EP=003300:03.738.2308.08ns8DATAOF4E0GETJESCRIPTOR3400:03.738.2391.42nsACK3500:03.738.243797.77us109IH/NkK3600:03.739.0692.7

11、5ns1SOF3700:03.739.072297.06us40IH/NAK3800:03.739.3722.75nsIHIDDEV=00EP=803900:03.739.37513.42us16DATA11BB8120100010000001014IB6606000100004000:03.739.3891.42nsACK4100:03.739.391239.44us33IH/NAK4200:03.739.6332.75nsIHIDDEV=00EP=804300:03.739.6374.17ns2DATAO8F3F00014400:03.739.6411.42nsACK4500:03.739

12、.6442.75nsOUTIDDEV=01EP=004600:03.739.6472.75ps0DATA14700:03.739.6501.42nsACK(圖1)(本數(shù)據(jù)由HD-USB12USB協(xié)議分析儀采集)a、Lidex38-44:設(shè)備發(fā)送到主機(jī)的描述,詳見(jiàn)圖2。b、圖2為設(shè)備描述符,其各字段含義參考上而標(biāo)準(zhǔn)設(shè)備描述符。0 x12OxOLDEVICEOxOLOO0 x000 x000 x00160 xlB140 x06660 x0100000*bLength=bDescriptoflype=bcdVSB=bJeviceClass=tDeviceSubCla.ss=bDeviceFrotoc

13、ol=acketSizeO=iAVenilor=i-iProduct=bcdDevice=iNanufcturer=iProduct=iSerialNuniber=bNunConfiguratiore=1(圖2)(本數(shù)據(jù)由HD-USB12USB協(xié)議分析儀采集)2、枚舉成功后主機(jī)得到的第二個(gè)描述符(配置描述符),見(jiàn)圖3Indez:E-.USDurLen.JLttPIDCRCP&cket4900:03.740.0952.73usSETUPIDDEV=01EP=005000:03.740.0988.06us8DATAO04AJGET.DESCRIPTOR5100:03.740.1061.44usAC

14、K5200:03.740.111909.10us124I1T/NAK5300:03.741.0512.75us1SOF5400:03.741.0542.75usINIDDEV=01EP=805500:03.741.0578.75us9DATA1B8730902290001010060015600:03.741.0671.42usACK5700:03.741.0692.75usOUTIDDEV=01EP=005800:03.741.0722.75us0DATA15900:03.741.0751.42usACK(圖3)(本數(shù)據(jù)由HD-USB12USB協(xié)議分析儀采集)a、Index54-56:設(shè)備發(fā)

15、送到主機(jī)的描述,詳見(jiàn)圖4。b、圖4為配置描述符,其各字段含義參考上而標(biāo)準(zhǔn)配置描述符。bLength=0 x09bDescriptorType=0 x02C01TFIGURATI0HwTotalLength=41bNumlnterfaces=1bConfigurationValue=1iConEiguratiCbn=0bmAittribut.es=0 x60D7:Reserved(settoorte)0D6:S-alE-pCbwered1D5:Rmot-aWakeup1D4.0:Rsefv&d(restto上電丫。00000=2mA(圖4)(本數(shù)據(jù)由HD-USB12USB協(xié)議分析儀采集)3、隨后

16、為配置描述符、接口描述符及端點(diǎn)描述符見(jiàn)圖5Index:SSusDurLenErrPIDCRCPacket610003.742.1802.75usSETUPIDDEV=01EP=006200:03.742.1838.17us8DATAOA4E9GETJESCRIPTOR6300:03.742.1921.42usACK6400:03.742.196814.02us111IH/NAK650003.743.0412.75us1SOF6600:03.743.044281.56us38IN/MAK670003.743.3282.75usIHIDDEV=00EP=80680003.743.33113.42u

17、s16DATA1F484090229CO010100600109040000020300B900.03.743.3451.42usACK700003.743.347654.35us90IH/NAT:710003.744.0302.75us1SOF720003744.033275usTNIDDEV=01FP=80730003.744.03613.42us16DATAO6F2200000921010100012225000705820340740003.744.0501.42usACK750003.744.052470.02us64IH/NAT:760003.744.5252.75usIHIDDE

18、V=00EP=80770003.744.5288.75us9DATA1B2FB000A07C5020340000A780003.744.5371.42usACK7900:03.744.5402.75usOUTIDDEV=01EP=00800003.744.5432.75us0DATA1810003.744.5461.42usACK(圖5)(本數(shù)據(jù)由HD-USB12USB協(xié)議分析儀采集)aIndex67-78:設(shè)備發(fā)送到主機(jī)的描述,詳見(jiàn)圖6、圖7、圖8及圖9。b、圖6為配置描述符,其各字段含義參考上而標(biāo)準(zhǔn)配置描述符。bLengthbDescriptorTypewTotalLengthbNuinl

19、nterf:a.cGbConfigiirationValueiConfigurationbinAttributesD7D6D5D4.0bMaixFower二0ic09=002CONTFIGURATIOW=41=1=1=0=OSO:Reserved(settoone)0:Self-pcowered1:RerrioteWakeup1:Reserved(resetto00000=(圖6)(本數(shù)據(jù)由HD-USB12USB協(xié)議分析儀采集)c、圖7為接口描述符,其各字段含義參考上面標(biāo)準(zhǔn)接口描述符。bLength=0 x09bDeseriptorType=0 x04INTERFACEblrkterE&eKuffiber=0bAlternateSetting=0bNufTiEndpints=2LinteraceClass=0 x03blnterfGceSubClass:=0 x00blnte::r8CEProt.o:ol.=0 x00iInterface=0(圖7)(本數(shù)據(jù)由HD-USB12USB協(xié)議分析儀采集)d、圖8及圖9為端點(diǎn)描述符,其各字段含義參考上面標(biāo)準(zhǔn)端點(diǎn)描述符。bLength=0 x07bBesc

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論