USB主機是如何檢測到裝置的插入的呢?

2021-06-28 08:19:19 字數 515 閱讀 1829

首先,在usb集線器的每個下游埠的d+和d-上,  

分別接了乙個15k歐姆的下拉電阻到地。這樣,在集線器的埠懸空時,就被這兩個下拉電阻拉到了低電平。而在usb裝置端,在d+或者d-上接了1.5k歐姆上拉電阻。對於全速和高速裝置,  

上拉電阻是接在d+上;而低速裝置則是上拉電阻接在d-上。這樣,當裝置插入到集線器時,由1.5k的上拉電阻和15k的下拉電阻分壓,結果就將差分資料線中的一條拉高了。集線器檢測  

到這個狀態後,它就報告給usb主控制器(或者通過它上一層的集線器報告給usb主控制器),這樣就檢測到裝置的插入了。usb高速裝置先是被識別為全速裝置,然後通過host和device  

兩者之間的確認,再切換到高速模式的。在高速模式下,是電流傳輸模式,這時將d+上的上拉電阻斷開。   

乙個簡單的實驗:只用乙個上拉電阻接在usb的+5v和d+或者d-上,windows也會提示發現新硬體,但是無法找到驅動程式。這時去裝置管理器裡面看,有顯示未知usb裝置,並且其vid和pid為0。根據這個,我們可以簡單的判斷裝置是否列舉成功

基於OHCI的USB主機 USB裝置列舉

usb裝置接入以後,必須進行裝置列舉,得到裝置引數,設定裝置執行配置等引數,下面的 就是對u盤裝置進行列舉的過程。因為沒有使用作業系統,所以函式使用狀態遷移的方式完成列舉,該函式在主迴圈中被呼叫。usb裝置列舉處理 return 當前列舉處理的狀態 short usbenumdev void old...

USB裝置的插入檢測機制

參考 usb入門系列之五 usb主機是如何檢測到裝置的插入的呢?首先,在usb集線器的每個下游埠的d 和d 上,分別接了乙個15k歐姆的下拉電阻到地。這樣,在集線器的埠懸空時,就被這兩個下拉電阻 拉到了低電平。而在usb裝置端,在d 或者d 上接了1.5k歐姆上拉電阻。對於全速和高速裝置,上拉電阻是...

怎麼檢視我們的裝置是usb裝置

怎麼檢視我們的裝置是usb裝置,這裡我舉個usb外接行動硬碟為例來說明,其它的裝置同樣類似的做法。我的電腦裡有兩個內建sata硬碟,有兩個sata外接行動硬碟。碟符為 dev sda dev sdb dev sdc dev sdd 其中 dev sdc和 dev sdd是我的兩個sata外接行動硬碟...