作者likecyndi ()
看板LinuxDev
標題[問題] host controller 如何偵測usb裝置
時間Fri Oct 31 14:44:03 2014
從網路上的資訊得知,所有usb的溝通
都是從host發起,追host controller driver之後
在註冊時,hcd的struct內,會順便註冊一個ISR
當有usb裝置接入的時候,便會開始執行此ISR的function
但是host controller如何得知裝置接入的event
是D+、D-會拉一個特殊的訊號通知嗎??
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.20.230.25
※ 文章網址: http://webptt.com/m.aspx?n=bbs/LinuxDev/M.1414737846.A.E76.html
1F:推 askacis: 平常BUS是SE0狀態,full/high speed接入會把D+拉高,反之 10/31 17:05
2F:推 askacis: low speed會拉D-,這樣host就會準備來溝通了 10/31 17:11
3F:→ askacis: 如果是high speed device,他會再發一個chrip K,2.0 host 10/31 17:23
4F:→ askacis: 收到之後會再回應一串KJKJKJ的訊號完成high speed 交握 10/31 17:25
6F:→ inses: m_choate_sp.pdf 11/01 12:06
7F:→ likecyndi: 感謝askacis大大的說明 還有inses大補充的pdf 11/03 09:28
8F:→ likecyndi: 另外再問一個問題,所以整個溝通的行為是,host提供5V 11/03 09:54
9F:→ likecyndi: 的電,D+、D-是由device去拉的?一樣的主機 接不同的 11/03 09:56
10F:→ likecyndi: device,反應時間不一樣,要量測波型 才能確定嗎? 11/03 09:57
11F:推 askacis: 從SE0到D+拉high是device作的沒錯,因為不同device, 11/03 11:22
12F:→ askacis: 用的controller跟phy可能也不一樣,所以可能反應時間不一 11/03 11:23
13F:→ likecyndi: a大這邊指的controller跟phy是host端還是device端?? 11/03 13:28
14F:→ likecyndi: 因為都是從host的角度去看,對於device沒有這麼了解 11/03 13:29
15F:推 askacis: 我講的是device端~~ 11/03 16:27
16F:→ likecyndi: 感謝askacis大的經驗分享~會再花時間琢磨 11/04 13:26