USB設備驅動之設備初始化(設備枚舉)


USB設備從接入HUB到正常工作之前。都屬於設備枚舉階段。所謂設備枚舉。就是讓host控制器認識USB設備,並為其准備資源。建立好主機與設備間的數據傳遞機制。

該階段的工作,是USB通信協議規定的,所以屬於ISO標准流程。設備枚舉階段也相應了USB設備的五種狀態。

設備枚舉階段分為例如以下8個步驟:

  1. 獲取設備描寫敘述符
  2. 復位
  3. 設置地址
  4. 再次獲取設備描寫敘述符
  5. 獲取配置描寫敘述符
  6. 獲取接口。端點描寫敘述符
  7. 獲取字符串描寫敘述符
  8. 選擇設置配置
當中,步驟1與4都是獲取設備描寫敘述符,兩者有什么差別?
步驟1中僅僅取得設備描寫敘述符的固定長度字段,而步驟4是獲取設備描寫敘述符的所有字段。

通過上述的8個步驟。能夠看出:在設備枚舉階段,主機控制器獲取了USB設備的全部具體信息(5大描寫敘述符),然后為其分配了資源(設置地址)。在設備枚舉階段完畢之后。USB設備就能與USB主機之間進行數據交換了。


同一時候,我們知道USB設備接入USB主機之后有5種狀態:
  1. Attached
  2. Powered
  3. Default
  4. Addressed
  5. Configured
這5中狀態與USB設備枚舉的相應關系是:
  • USB設備插入接口之后,處於Attached狀態;
  • USB主控制器會給USB設備供電,此時處於Powered狀態;
  • 設備枚舉階段的步驟2。復位操作之后,設備處於Default狀態;
  • 設備枚舉階段的步驟3。設置地址操作之后,設備處於Addressed狀態。
  • 設備枚舉結束之后,設備處於Configured狀態。



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM