說起USB,想必大家對這個詞兒都不默生,USB接頭那么多種,怎么分得清呢?
常見USB接頭及連接線介紹
通過上面兩幅圖,我們心里已經有了一個大致的概念了,那么在USB接口設計的時候,通常我們要在USB的通信線上掛上拉電阻,為什么要這個上拉電阻呢?不要行嗎?談起這個USB的上拉電阻,我們還得從USB的插入檢測機制說起,至于這個上拉電阻是掛在D+?還是D-還大有文章,請聽我慢慢道來!
USB主機是如何檢測到,到插入的設備呢?在USB集線器的每個下游端口的D+ D-上,分別接了一個15K的下拉電阻到地,這樣,當集線器的端口懸空沒有設備插入時,輸入端就被這兩個下拉電阻拉到了低電平,而在USB的設備端,在D+或者D-上接了一個1.5K的上拉電阻到3.3V的電源,1.5K的上拉電阻是接在D+還是D-上,有設備的速度來決定,對于全速設備和高速設備,上拉電阻是接在D+上的,而低速設備的上拉電阻則是接在D-上。
當設備插入到集線器時,接了上拉電阻的那條數據線的電壓由1.5K的上拉和15K的下拉分壓決定,結果大概在3V(3.3/1.5+15)* 1.5=3V),這對于集線器的接收端來說,是一個高電平信號,集線器檢測到這個狀態后,它就報告給USB主控制器,這樣就檢測到設備的插入了,集線器根據檢測到的被拉高的數據線是D+還是D-來判斷插入的是什么速度類型的設備,USB高速設備先是被識別為全速設備,然后通過集線器和設備的通信確認,再切換到高速設備,在高速模式下,是電流傳輸模式,這時要將D+上的上拉電阻斷開。
可以做一個簡答的實驗,用一個10K的上拉電阻接在USB的+5V和D+/D-上,電腦會提示發現新硬件,但是無法找到驅動程序,這時因為D+/D-被拉高,集線器就認為有設備插入了,它就報告給主機,但是主機獲取數據卻沒有響應,就會得到一個無法識別的USB設備,這時你的設備管理器就會顯示一個未知USB設備。
換句話來講,這個如果這個1.5K是其他值,那么D+/D-上拉分壓之后的電平就會發生變化,如果再遇到電壓紋波,那么就有可能不會被檢測到,這個就是1.5K的由來,你明白了嗎?
責任編輯:haq
-
電阻
+關注
關注
86文章
5519瀏覽量
172097 -
usb
+關注
關注
60文章
7947瀏覽量
264773
原文標題:為什么好多人設計USB上拉電阻都是1.5K?
文章出處:【微信號:gh_e7f294a514ca,微信公眾號:單片機匠人】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論