• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 手機與無線通信 > 設計應用 > USB主機如何識別USB設備及請求命令

    USB主機如何識別USB設備及請求命令

    作者: 時間:2011-07-19 來源:網絡 收藏

    設備的?

    本文引用地址:http://www.czjhyjcfj.com/article/156022.htm

      當設備插上時,就通過一系列的動作來對設備進行枚舉配置(配置是屬于枚舉的一個態,態表示暫時的狀態),這這些態如下:

      1、接入態(Attached):設備接入主機后,主機通過檢測信號線上的電平變化來發現設備的接入;

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

      3、缺省態(Default):USB在被配置之前,通過缺省地址0與主機進行通信;

      4、地址態(Address):經過了配置,USB設備被復位后,就可以按主機分配給它的唯一地址來與主機通信,這種狀態就是地址態;

      5、配置態(Configured):通過各種標準的USB來獲取設備的各種信息,并對設備的某此信息進行改變或設置。

      6、掛起態(Suspended):總線供電設備在3ms內沒有總線操作,即USB總線處于空閑狀態的話,該設備就要自動進入掛起狀態,在進入掛起狀態后,總的電流功耗不超過280UA。

      標準的USB設備究竟是什么?

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

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

    各字段的意義如下:

      1、bmRequestType:D7D6D5D4D3D2D1D0

      D7=0主機到設備

      =1設備到主機;

      D6D5=00標準請求命令

      =01 類請求命令

      =10用戶定義的命令

      =11保留值

      D4D3D2D1D0=00000 接收者為設備

      =00001 接收者為設備

      =00010 接收者為端點

      =00011 接收者為其他接收者

      =其他 其他值保留

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

      0) 0 GET_STATUS:用來返回特定接收者的狀態

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

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

      3) 5 SET_ADDRESS:用來給設備分配地址

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

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

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

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

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

      9) 11 SET_INTERFACE:用于主機要求設備用某個描述符來描述接口

      10) 12 SYNCH_FRAME:用于設備設置和報告一個端點的同步幀

      以上的11個命令要說得明白真的有一匹布那么長,請各位去看書吧,這里就不多說了,控制傳輸是USB的重心,而這11個命令是控制傳輸的重心,所以這11個命令是重中之重,這個搞明白了,USB就算是入門了。



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 玉林市| 大荔县| 沂水县| 平泉县| 安宁市| 福海县| 江安县| 吉首市| 什邡市| 隆子县| 中宁县| 兴和县| 莎车县| 临泽县| 鞍山市| 宝兴县| 麻阳| 彩票| 东山县| 措勤县| 定襄县| 嘉禾县| 巴东县| 正阳县| 宁夏| 陕西省| 喀喇沁旗| 邯郸县| 馆陶县| 河东区| 仪陇县| 六盘水市| 韶关市| 宁化县| 新竹县| 饶平县| 靖边县| 宜州市| 白城市| 仁化县| 赫章县|