linux驅動由淺入深系列:usb子系統之三(usb系統中的設備、配置、接口、端點概念及代碼解釋)

一個usb設備對應一個或多個配置
一個配置包含一個或多個usb接口
一個usb接口可能存在一種或多種設置
一個設置會使用零個或多個usb端點


設備
設備就是一個usb物理設備,一個usb設備可以只包含一個簡單功能的device,也可以包含一個由hub連接的多個設備,叫作複合設備。
接口與端點的概念較爲清晰
端點
端點是host或device中具有獨立控制usb總線能力的最小物理單元,每個端點都具有唯一地址,是usb驅動物理層的操作對象。
每個端點都有一定的屬性,其中包括傳輸方式、總線訪問頻率、帶寬、端點號和數據包的最大容量等。一個USB端點只能在一個方向承載數據,或者從主機到設備(稱爲輸出端點),或者從設備到主機(稱爲輸入端點),因此端點可看作一個單向的管道。端點0通常爲控制端點,用於設備初始化參數等。只要設備連接到USB上並且上電端點0就可以被訪問。端點1、2等一般用作數據端點,存放主機與設備間往來的數據。
接口
一個接口是邏輯設備,代表一個基本功能,如一個複合設備具有4個端點資源(0端點除外)分爲兩個接口,一個接口使用端點2(IN),端點3(OUT)描述爲讀卡器;另一個接口使用端點1(IN),端點4(OUT)描述爲聲卡。當此複合設備插入計算機後即出現usb聲卡和讀卡器兩個設備,這兩個都是邏輯設備。
配置與設置
上面容易混亂的是配置與設置
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章