[問題] host controller 如何偵測usb裝置

作者: likecyndi   2014-10-31 14:44:03
從網路上的資訊得知,所有usb的溝通
都是從host發起,追host controller driver之後
在註冊時,hcd的struct內,會順便註冊一個ISR
當有usb裝置接入的時候,便會開始執行此ISR的function
但是host controller如何得知裝置接入的event
是D+、D-會拉一個特殊的訊號通知嗎??
作者: askacis (ASKA)   2014-10-31 17:05:00
平常BUS是SE0狀態,full/high speed接入會把D+拉高,反之low speed會拉D-,這樣host就會準備來溝通了如果是high speed device,他會再發一個chrip K,2.0 host收到之後會再回應一串KJKJKJ的訊號完成high speed 交握
作者: inses (毛筆)   2014-11-01 12:06:00
作者: likecyndi   2014-11-03 09:28:00
感謝askacis大大的說明 還有inses大補充的pdf另外再問一個問題,所以整個溝通的行為是,host提供5V的電,D+、D-是由device去拉的?一樣的主機 接不同的device,反應時間不一樣,要量測波型 才能確定嗎?
作者: askacis (ASKA)   2014-11-03 11:22:00
從SE0到D+拉high是device作的沒錯,因為不同device,用的controller跟phy可能也不一樣,所以可能反應時間不一
作者: likecyndi   2014-11-03 13:28:00
a大這邊指的controller跟phy是host端還是device端??因為都是從host的角度去看,對於device沒有這麼了解
作者: askacis (ASKA)   2014-11-03 16:27:00
我講的是device端~~
作者: likecyndi   2014-11-04 13:26:00
感謝askacis大的經驗分享~會再花時間琢磨

Links booklink

Contact Us: admin [ a t ] ucptt.com