_______ ______ |\ /|( ____ \( ___ \ | ) ( || ( \/| ( ) ) | | | || (_____ | (__/ / | | | |(_____ )| __ ( | | | | ) || ( \ \ | (___) |/\____) || )___) ) (_______)\_______)|/ \___/
設備 :設備即咱們所理解的設備,如一個鍵盤是一個設備,一個U盤是一個設備 配置 :配置是功能的集合,如一個USB耳麥能錄音和播放,那麼就能夠存在三種配置 接口 :如上,就分爲錄音接口,播放接口 端點 :好比播放接口會存在兩個端點,一個是左聲道,一個是右聲道
*事務:事務通常由令牌包、數據包(可選)、握手包組成。算法
事務通常由令牌包、數據包(可選)、握手包組成。架構
USB協議規定了四種傳輸類型:控制傳輸、批量傳輸、同步傳輸、中斷傳輸源碼分析
2-1:1.0 設備-端口:配置.接口code
第二個設備的第一個端口,使用配置0 的接口1視頻
USB Core接口
USB Core提供一些核心算法,爲別的設備驅動程序提供服務,提供一個用於訪問和控制USB硬件的接口,而不用考慮系統當前是那種主機控制器,事件
USB Core、USB主機控制器 USB設備驅動三者的關係以下:事務
Block層 : Net層 : Char層 : --- ------------------------------- USB設備驅動程序 ------------------------------- USB Core ------------------------------- USB主機控制器(HCD) ------------------------------- 硬件
HCD提供主機控制器硬件的抽象,隱藏硬件的細節,HCD只對 USB Core負責。這也就意味着咱們寫USB驅動,是在調用USB Core接口的基礎上進行的。同步
咱們接下來的源碼分析就從HCD開始。源碼