一個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聲卡和讀卡器兩個設備,這兩個都是邏輯設備。
配置與設置
上面容易混亂的是配置與設置
linux驅動由淺入深系列:usb子系統之三(usb系統中的設備、配置、接口、端點概念及代碼解釋)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
linux驅動由淺入深系列:usb子系統之四(android平臺鼠標驅動代碼分析)
android上的usb口是支持OTG(on the go)的,USB OTG既可以作爲Host又可以作爲Device,我們本文來看一下androi
二进制橙子
2020-06-16 03:45:02
Linux DTS(Device Tree Source)設備樹詳解之三(高通MSM8953實例分析篇)
二进制橙子
2020-06-16 03:45:02
linux驅動由淺入深系列:camera驅動之一(背景及基礎知識篇)
RadianceBlau
2020-02-20 21:08:50
linux中i2c子系統代碼結構詳解
RadianceBlau
2020-02-20 21:08:50
android AP側通過sensor_class掛載sensor的一種方案
RadianceBlau
2020-02-20 21:08:50
linux設備驅動uevent詳解,高通平臺battery上報電量實例
RadianceBlau
2020-02-20 21:08:50
linux驅動由淺入深系列:基於高通平臺分析觸摸屏(TP)、虛擬按鍵驅動
RadianceBlau
2020-02-20 21:08:50
sys文件系統中文件、文件夾與kobject、kset、kobj_type的對應關係
RadianceBlau
2020-02-20 21:08:50
linux雙向鏈表List結構分析
RadianceBlau
2020-02-20 21:08:50
linux驅動由淺入深系列:高通sensor架構實例分析之三(adsp上報數據詳解、校準流程詳解)
RadianceBlau
2020-02-20 21:08:50
linux/android代碼中對於不同項目中conf、dts、defconfig文件的處理方法
RadianceBlau
2020-02-20 21:08:50
linux模塊(module_init)、子系統(subsys_initcall)入口函數詳解
RadianceBlau
2020-02-20 21:08:50
linux驅動由淺入深系列:usb子系統之四(android平臺鼠標驅動代碼分析)
android上的usb口是支持OTG(on the go)的,USB OTG既可以作爲Host又可以作爲Device,我們本文來看一下androi
二进制橙子
2020-06-16 03:45:02
Linux DTS(Device Tree Source)設備樹詳解之三(高通MSM8953實例分析篇)
二进制橙子
2020-06-16 03:45:02
linux驅動由淺入深系列:camera驅動之一(背景及基礎知識篇)
RadianceBlau
2020-02-20 21:08:50
24小時熱門文章