




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、解USB協(xié)議之三USB標準描述符最近忙丁公司的項目和本人的駕駛證考試,拖延了這個系列第三篇的完成,先向各位支持我的DX表示一下歉意。不過好在駕駛證的蝴蝶樁考試順利通過,H己先慶賀一下二述,嘿嘿。最近做一個手持機的項目,第一次真正感受到了手頭這個小設備的功力。事情是這樣的:要將n年前寫的基于的固件代碼移植到AVR,問題出現(xiàn)了枚舉不成功!立刻想到用協(xié)議分析儀看看(此處省略168字),結(jié)果當然是一目了然,兒分鐘輕松搞定!關于這次的經(jīng)歷,回頭專門寫一個帖子吧,先賣個關子,哈。閑話少說,本篇圖解USB標準描述符。數(shù)據(jù)采集設備:HD-USB12USB協(xié)議分析儀。還是先復習一下USB協(xié)議的相關內(nèi)容。USB通
2、迅配置是通過描述符完成的,下面對USB標準描述符進行說明。一、USB標準描述符1、標準設備描述符偏移量域大小值描述0bLength1數(shù)7描述符的大小=12H1bDecriptorType1常戢設備描述符類型=01H2bcdUSB2BCD碼此設備與描述符兼容的USB設備說明版本號(BCD碼)4bDeviceclass1類設備類碼如果此域的值為0則一個設世下每個接口指出它H己的類,并個接口各H獨立工作。如果此域的值處丁1-FEHZ間,則設備在不同的接口上支持不同的類。并這些接口可能不能獨立工作。此值指出了,這些接口集體的類定義。如果此域設為FFH,則此設備的類山廠商定義。5bDeviceSubCl
3、ass1子類子類碼這些碼值的具體含義根據(jù)bDeviceClass域來看。如bDeviceClass域為零,此域也須為寥如bDeviceClass域為FFH,此域的所有值保留。6bDevicePortocol1協(xié)議協(xié)議碼這些碼的值視bDeviceClass和bDeviceSubClass的值而定。如果設備支持設備基礎上的類相關的協(xié)議,此碼標志了設備類說明上的值。如果此域的值為零,則此設備不在設備基礎上支持設備類相關的協(xié)議。然而,它可能在接口基礎上支持設備類相關的協(xié)議。如果此域的值為FFH,此設備使用廠商定義的協(xié)議。7bMaxPacketSizeO1數(shù)7端點0的最大包大?。▋H8,16,32,64為
4、合法值)8idVendor2ID廠商標志(山USB標準付值)10idProduct2ID產(chǎn)品標志(山廠商付值)12bcdDevice2BCD碼設備發(fā)行號(BCD碼)14iManufacturer1索引描述廠商信息的字串的索引。15iProduct1索引描述產(chǎn)品信息的字串的索引。16iSerialNumber1索引描述設備序列號信息的字串的索引。17bNumConfigurations1數(shù)字可能的設直數(shù)2、標準配置描述符偏移量域大小值描述0bLength1數(shù)字描述符的大小=09H1bDescriptorType1常雖配國描述符類型=02H2wTotalLength2數(shù)字此配進信息的總長(包括配進
5、,接口,端點和設備類及廠商定義的描述符)4bNuminterfaces1數(shù)字此配直所支持的接口個數(shù)5bCongfigurationValue1數(shù)字右:Setconfiguration()請求中用作參數(shù)來選定此配直。6iconfiguration1索引描述此配直的字串描述符索引7bmAttributes1位圖配置特性:D7:保留(設為一)D6:Fl給電源D5:遠程喚醒D4.0:保留(設為一)一個既用總線電源又有自給電源的設備會在MaxPower域指出需要從總線取的電量。并設直D6為一。運行時期的實際電源模式可由GetStatus(DEVICE)請求得到。8MaxPower1mA在此配理下的總線電
6、源耗費戢。以2mA為一個單位。3、標準接口描述符偏移量域大小值說明0bLength1數(shù)字描述符的大小=09H1bDescriptorType1常雖接口描述符類型=04H2bInterfaceNumber1數(shù)字接口號,當詢配世支持的接口數(shù)組索引(從零開始)3bAlternateSetting1數(shù)字可選設且的索引值。4bNumEndpoints1數(shù)字此接口用的端點數(shù)嵐,如果是零則說明此接口只用缺省控制管道。5bInterfaceclass1類類值零值為將來的標準保留。如果此域的值設為FFH,則此接口類山廠商說明。所有其它的值USB說明保留。6bInterfaceSubClass1了類子類碼這些值的
7、定義視blnterfaceClass域而定。如果blnterfaceClass域的值為零則此域的值必須為零。blnterfaceClass域不為FFH則所有值由USB所保留。7bInterfaceprotocol1協(xié)議協(xié)議碼:blnterfaceClass和blnterfaceSubClass域的值而定如果一個接口支持設備類相關的請求此域的值指出了設備類說明中所定義的協(xié)議.8ilnterface1索引描述此接口的字串描述符的索引值。4、標準端點描述符偏移量域大小值說明0bLength1數(shù)字描述符的大小=07H1bDescriptorType1端點描述符類型=05H2bEndpointAddre
8、ss1端點此描述符所描述的端點的地址。此地址的編碼如下:Bit3.0:端點號.Bit6.4:保留,為寥Bit7:方向,如果控制端點則略。0:出端點1:入端點3bmAttributes1位圖此域的值描述的是在bConfigurationValue域所指的配匿下端點的持性。Bit1.0:傳送類型00=控制傳送01=同步傳送10=批傳送11=中斷傳送所有其它的位都保留。4wMaxPacketSize2數(shù)字當前配氏下此端點能夠接收或發(fā)送的最大數(shù)據(jù)包的大小。對與同步傳送此值用丁為每禎的數(shù)據(jù)凈負荷預留時間。而通道可能在實際運行時不需耍預留的帶寬。實際帶寬可山設備通過一種非USB定義的機制匯報給主機.對丁中
9、斷傳送,批傳送,控制傳送.端點可能發(fā)送較小的數(shù)據(jù)包。并11在結(jié)束傳送后既有可能間隙時間來垂啟,也有可能不需要這段時間。具休請參照第五章。6blnterval1數(shù)字輪尋數(shù)據(jù)傳送端點的時間間隙。此域的值對丁批傳送的端點及控制傳送的端點忽略。對丁同步傳送的端點此域必需為1。對丁中斷傳送的端點此域值的范閑為1到255o5、語言描述符偏移量域大小值描述0bLength1N+2描述符的大小1bDescriptorType1常fit字串描述符類型=03H2wLANGID02數(shù)字語言標識(LANGID)碼0NwLANGIDx2數(shù)字語言標識(LANGID)碼X6、UNICODE字串描述符偏移量域大小值描述0bL
10、ength1數(shù)字描述符的大小1bDescriptorType1常雖字串描述符類型=03H2bStringN數(shù)寧UNICODE編碼的字串二、圖解枚舉過程中的描述符1、枚舉成功后主機得到的第一個描述符(設備描述符),見圖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:設備發(fā)送到主機的描述,詳見圖2。b、圖2為設備描述符,其各字段含義參考上而標準設備描述符。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、枚舉成功后主機得到的第二個描述符(配置描述符),見圖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:設備發(fā)
15、送到主機的描述,詳見圖4。b、圖4為配置描述符,其各字段含義參考上而標準配置描述符。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、為配置描述符、接口描述符及端點描述符見圖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:設備發(fā)送到主機的描述,詳見圖6、圖7、圖8及圖9。b、圖6為配置描述符,其各字段含義參考上而標準配置描述符。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為接口描述符,其各字段含義參考上面標準接口描述符。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為端點描述符,其各字段含義參考上面標準端點描述符。bLength=0 x07bBesc
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川商務職業(yè)學院《環(huán)境學基礎》2023-2024學年第二學期期末試卷
- 阜陽職業(yè)技術(shù)學院《概率論與數(shù)理統(tǒng)計AW》2023-2024學年第一學期期末試卷
- 河南女子職業(yè)學院《舞蹈鑒賞與批評》2023-2024學年第二學期期末試卷
- 湖南冶金職業(yè)技術(shù)學院《土木水利專業(yè)導論》2023-2024學年第二學期期末試卷
- 浙江工業(yè)職業(yè)技術(shù)學院《建筑裝飾材料與施工工藝》2023-2024學年第一學期期末試卷
- 福建信息職業(yè)技術(shù)學院《模擬商務談判》2023-2024學年第一學期期末試卷
- 四川省眉山一中辦學共同體2024-2025學年高三下期末考試物理試題(B卷)含解析
- 廣西藍天航空職業(yè)學院《自動化系統(tǒng)概論》2023-2024學年第二學期期末試卷
- 吉林省吉化第一高級中學2025屆高三考前沖刺模擬語文試題試卷含解析
- 福建師范大學《汽車服務工程專業(yè)導論》2023-2024學年第二學期期末試卷
- 藝術(shù)創(chuàng)新的思維技巧
- 部隊保密安全課件
- 陜西省西安市鐵一中2025屆高三下學期聯(lián)合考試數(shù)學試題含解析
- 教師資格考試高級中學信息技術(shù)學科知識與教學能力試題及解答參考(2024年)
- 腹膜透析操作流程及評分標準
- 清風電子相冊的設計與實現(xiàn)
- 開封市第一屆職業(yè)技能大賽美容項目技術(shù)文件(世賽項目)
- 醫(yī)院窗簾、隔簾采購 投標方案(技術(shù)方案)
- 國家開放大學《Photoshop圖像處理》章節(jié)測試題參考答案
- 紅木文化智慧樹知到答案2024年廣西大學
- 控制計劃課件教材-2024年
評論
0/150
提交評論