USB入門系列之五 —— USB設備的插入檢測機制[圖]

USB主機是如何檢測到設備的插入的呢?首先,在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。根據這個,我們可以簡單的判斷設備是否枚舉成功。如下圖所示,分別是枚舉不成功和枚舉成功的圖。

(來自USB小組專區:http://group.ednchina.com/93/
                       By computer00 @ 2007-09-03)

溫馨提示:

  百合電子工作室有一個關於USB開發方面的開源項目-Easy USB 51 Programer,整個開發過程寫得非常詳細,不防參考一下,您還可以進入她的論壇參與此項目的討論。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章