<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 淺析USB主機識別USB設備及請求命令的方法

淺析USB主機識別USB設備及請求命令的方法

作者: 時(shí)間:2012-10-12 來(lái)源:網(wǎng)絡(luò ) 收藏

插上時(shí),就通過(guò)一系列的動(dòng)作來(lái)對進(jìn)行枚舉配置(配置是屬于枚舉的一個(gè)態(tài),態(tài)表示暫時(shí)的狀態(tài)),這這些態(tài)如下:

本文引用地址:http://dyxdggzs.com/article/202150.htm

1、接入態(tài)(Attached):接入后,主機通過(guò)檢測信號線(xiàn)上的電平變化來(lái)發(fā)現設備的接入;

2、供電態(tài)(Powered):就是給設備供電,分為設備接入時(shí)的默認供電值,配置階段后的供電值(按數據中要求的最大值,可通過(guò)編程設置)

3、缺省態(tài)(Default):在被配置之前,通過(guò)缺省地址0與主機進(jìn)行通信;

4、地址態(tài)(Address):經(jīng)過(guò)了配置,設備被復位后,就可以按主機分配給它的唯一地址來(lái)與主機通信,這種狀態(tài)就是地址態(tài);

5、配置態(tài)(Configured):通過(guò)各種標準的USB請求命令來(lái)獲取設備的各種信息,并對設備的某此信息進(jìn)行改變或設置。

6、掛起態(tài)(Suspended):總線(xiàn)供電設備在3ms內沒(méi)有總線(xiàn)操作,即USB總線(xiàn)處于空閑狀態(tài)的話(huà),該設備就要自動(dòng)進(jìn)入掛起狀態(tài),在進(jìn)入掛起狀態(tài)后,總的電流功耗不超過(guò)280UA。

標準的USB設備請求命令究竟是什么?

標準的USB設備請求命令是用在控制傳輸中的“初始設置步驟”里的數據包階段(即DATA0,由八個(gè)字節構成)。標準USB設備請求命令共有11個(gè),大小都是8個(gè)字節,具有相同的結構,由5個(gè)字段構成(字段是標準請求命令的數據部分),結構如下(括號中的數字表示字節數,首字母bm,b,w分別表示位圖、字節,雙字節):

bmRequestType(1)+bRequest(1)+wvalue(2)+wIndex(2)+wLength(2)

各字段的意義如下:

1、bmRequestType:D7D6D5D4D3D2D1D0

D7=0主機到設備

=1設備到主機;

D6D5=00標準請求命令

=01 類(lèi)請求命令

=10用戶(hù)定義的命令

=11保留值

D4D3D2D1D0=00000 接收者為設備

=00001 接收者為設備

=00010 接收者為端點(diǎn)

=00011 接收者為其他接收者

=其他 其他值保留

2、bRequest:請求命令代碼 在標準的USB命令中,每一個(gè)命令都定義了編號,編號的值就為字段的值,編號與命令名稱(chēng)如下(要注意這里的命令代碼要與其他字段結合使用,可以說(shuō)命令代碼是標準請求命令代碼的核心,正是因為這些命令代碼而決定了11個(gè)USB標準請求命令):

0) 0 GET_STATUS:用來(lái)返回特定接收者的狀態(tài)

1) 1 CLEAR_FEATURE:用來(lái)清除或禁止接收者的某些特性

2) 3 SET_FEATURE:用來(lái)啟用或激活命令接收者的某些特性

3) 5 SET_ADDRESS:用來(lái)給設備分配地址

4) 6 GET_DEscriptOR:用于主機獲取設備的特定描述符

5) 7 SET_DEscriptOR:修改設備中有關(guān)的描述符,或者增加新的描述符

6) 8 GET_CONFIGURATION:用于主機獲取設備當前設備的配置值(注同上面的不同)

7) 9 SET_CONFIGURATION:用于主機指示設備采用的要求的配置

8) 10 GET_INTERFACE:用于獲取當前某個(gè)接口描述符編號

9) 11 SET_INTERFACE:用于主機要求設備用某個(gè)描述符來(lái)描述接口

10) 12 SYNCH_FRAME:用于設備設置和報告一個(gè)端點(diǎn)的同步幀

以上的11個(gè)命令要說(shuō)得明白真的有一匹布那么長(cháng),請各位去看書(shū)吧,這里就不多說(shuō)了,控制傳輸是USB的重心,而這11個(gè)命令是控制傳輸的重心,所以這11個(gè)命令是重中之重,這個(gè)搞明白了,USB就算是入門(mén)了。

更多計算機與外設信息請關(guān)注21ic計算機與外設頻道



關(guān)鍵詞: USB 主機 識別 設備

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>