USB協議之四 USB枚舉失敗常見原因分析

本篇 基於固件代碼的開發及移植過程中可能引起的 USB 枚舉失敗的原因進行分 析。

數據採集設備:“ HD-USB 12 全 速 / 低速 USB2.0 協議分析儀

一、 如圖 1 所示的 USB 枚舉失敗

  1 Index[666 - 668] :表示主機向默認地址 發送 GET_DESCRIPTOR 指令包。

  2 Index[670 - 671] :表示設備默認地址端 點不可用。

  3 )由上我們可以推斷出 固件代碼對 GET_DESCRIPTOR 指令包無響應。

1.gif

(圖 1 )(本數據由 HD-USB12 USB 協議分析儀採集)

 

 

二、 如圖 2 所示的 USB 枚舉失敗

  1 Index[697 - 699] :表示主機向默認地址 發送 SET_ADDRESS 指令包。

  2 Index[701 - 703] :表示設備完成 SET_ADDRESS 指令後,給主機發送一個 空應答。

  3 Index[705 - 710] :表示主機向地址 DEC=01 重複發送 SET_DESCRIPTOR 指令包,但設備無任何應 答,因此該事務包設備並沒有接收到。

  4 )由上我們可以推斷出固件中設置地址的代碼執行失敗。

2.gif
(圖 2 )(本數據由 HD-USB12 USB 協議分析儀採集)

三、 如圖 3 所示的 USB 枚舉失敗(圖 3 爲過濾掉 IN + NAK SOF 包後的數據)

  1 Index[694 - 696] :表示主機向默認地址 發送 SET_ADDRESS 指令包。但設備對該指令 答,無應答。

  2 )由上我們可以推斷出 固件代碼對 SET_ADDRESS 指令包無響應或響應沒 發送空應答。

3.gif
(圖 3 )(本數據由 HD-USB12 USB 協議分析儀採集)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章