• 正文
  • 推薦器件
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

USB2.0實際傳輸速度為什么與480Mbps相差甚遠

2024/09/29
9.7萬
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

USB2.0 規(guī)范中傳輸速度是 480 Mbps(即 60 MB/s)。但是很多 USB2.0 設(shè)備在實際工作時的數(shù)據(jù)傳輸速度卻與此相差甚遠,比如用 PC 用 U 盤拷個東西,往往比 60MB/s 慢很多,這是為什么呢?

其實想想也能知道一些原因,USB 總線中傳輸數(shù)據(jù)的就一對差分線,單是其要同時支持各種設(shè)備(一個 USB HOST 設(shè)備通過 USB HUB 下面掛多個從設(shè)備是可以同時用的),支持雙向傳輸,必然存在復雜的協(xié)議,協(xié)議上面的開銷肯定不少,另外對于其中的單個設(shè)備來說也只能得到部分傳輸帶寬。

總的來說,主要有以下幾個因素:USB 協(xié)議開銷,USB 帶寬的分配,硬件結(jié)構(gòu),USB 設(shè)備驅(qū)動程序

USB 協(xié)議開銷

在 USB 數(shù)據(jù)通信的過程中,總線上傳輸?shù)牟⒉皇撬卸际怯行畔?,還要包括諸如同步信號、類型標識、校驗碼、握手信號等各種協(xié)議信息。因此實際數(shù)據(jù)傳輸?shù)乃俾矢緵]有可能達到總線傳輸?shù)臉O限速度 480 Mbps。且對不同的傳輸類型,存在不同的協(xié)議開銷。

USB 有 4 中傳輸模式:控制傳輸、批量傳輸、中斷傳輸、同步傳輸。

根據(jù) USB 協(xié)議,USB2.0 的告訴模式,1 秒有 8 個微幀,計算 4 中模式的最大速度傳輸如下:

傳輸類型 數(shù)據(jù)包長度 /Byte 每微幀最大傳輸次數(shù) 最大速度 /(MB/s)
控制傳輸 64 31 15.137
中斷傳輸 1024 3 23.436
批量傳輸 512 13 50.781
同步傳輸 1024 3 24.436

控制傳輸:控制傳輸是雙向傳輸,數(shù)據(jù)量通常較小,主要用來進行查詢、配置和給?USB?設(shè)備發(fā)送通用的命令。

中斷傳輸:中斷傳輸方式主要用于定時查詢設(shè)備是否有中斷數(shù)據(jù)要傳送,該傳輸方式應用在少量的、分散的、不可預測的數(shù)據(jù)傳輸場合。鍵盤,鼠標等。

批量傳輸:在訪問 USB 總線時,相對其他傳輸類型具有最低的優(yōu)先級,USB HOST 總是優(yōu)先安排其他類型的傳輸,當總線帶寬有富余時才安排批量傳輸,打印機,掃描儀,存儲設(shè)備等。

同步傳輸:同步傳輸適用于以固定速率傳輸,可以容忍偶爾錯誤的數(shù)據(jù)上。實時傳輸一般用于 UVC 攝像頭等設(shè)備。數(shù)據(jù)傳錯時不會重傳。

USB 帶寬的分配

USB 協(xié)議規(guī)定,控制傳輸應確保在低 / 全速時能夠使用 10%的帶寬,高速時能夠使用 20%的帶寬。而批量傳輸并沒有保留任何帶寬。即批量傳輸只有在控制傳輸和其它傳輸不需要使用其帶寬的情況下,方能使用剩下的帶寬。因此,盡管總線閑置時批量傳輸可以在一段時間里盡快地傳輸大量的數(shù)據(jù),但總線忙時批量傳輸就可能工作很慢。

通常主機同時使用鼠標、鍵盤、攝像頭、打印機和掃描儀等多種 USB 設(shè)備,它們分別采用不同的傳輸方式。如果開始只有一個設(shè)備以批量傳輸方式獨占系統(tǒng)的全部帶寬,速度會很快(接近 53 MB/s)。但如果新插入的若干設(shè)備需要使用控制傳輸全部 20%的保留帶寬,那么先前設(shè)備批量傳輸?shù)目捎脦捑蜁陆档皆鹊?80%,傳輸速度可能變?yōu)?42 MB/s 以下。作為一種更極端情況是批量傳輸設(shè)備插入前,已有設(shè)備以控制傳輸方式完全占有了 20%的保留帶寬。其它設(shè)備也以中斷或者同步傳輸方式共同占據(jù)了剩下的 80%帶寬,那么批量傳輸設(shè)備就會因為沒有保留帶寬,只能處于等待的狀態(tài)。

硬件結(jié)構(gòu)

其實常用 USB 接口的硬件結(jié)構(gòu)如下圖,一個 USB HUB 下面掛了多個設(shè)備,即時我們用 PC 時是直接用的電腦的 USB 接口,那也是因為廠家把 USB HUB 做到 PC 里面了,這樣才能有這么多的 USB 接口。

USB HUB 的外設(shè)(Device 端)所有的數(shù)據(jù)之和是和 HOST 端一樣的,而 HOST 端也不能超過 480Mb/s,所以 480Mb/s 的速度是大家共享的,而不是某一個獨享。

USB 設(shè)備驅(qū)動程序

USB 設(shè)備的驅(qū)動可以分為設(shè)備驅(qū)動程序、USB 總線驅(qū)動程序、USB 控制器驅(qū)動程序三個部分。應用程序通過使用 API 函數(shù)與 USB 設(shè)備驅(qū)動程序聯(lián)系。USB 設(shè)備驅(qū)動程序通過調(diào)用驅(qū)動程序完成對設(shè)備的數(shù)據(jù)讀寫。USB 總線驅(qū)動程序和 USB2.0 控制器驅(qū)動程序由操作系統(tǒng)提供。設(shè)備驅(qū)動通過構(gòu)造 URB(USB Request Block),并傳給總線驅(qū)動程序來完成與總線驅(qū)動程序的通信。

通常情況下設(shè)備驅(qū)動程序需要頻繁產(chǎn)生中斷。而設(shè)備驅(qū)動程序系統(tǒng)優(yōu)先級并不高,當計算機負荷較重或者有其它優(yōu)先級較高的中斷發(fā)生時,它的中斷得不到處理而需要等待。如果設(shè)備驅(qū)動程序向 USB 總線傳遞 URB 的時候設(shè)置一個較大的緩沖區(qū) . 便可減少了中斷的頻率而減少等待時間。從而提高數(shù)據(jù)傳輸?shù)乃俣取4送?,調(diào)整驅(qū)動程序中諸如命令排隊策略、改變請求包大小等措施,也能對 USB 的數(shù)據(jù)傳輸速度產(chǎn)生一定的影響。

綜上所述,通常所說的 480 Mbps 是 USB2.0 總線速度的上限 . 考慮通信協(xié)議的開銷后,實際數(shù)據(jù)的傳輸速度存理論上最高也只有 53 MB/s(426Mbps). 實際綜合條件下 15 MB/s 至 25 MB/s 都可以作為合理的高速目標。

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風險等級 參考價格 更多信息
EZADT33AAAJ 1 Panasonic Electronic Components RC Network, RC Low Pass Filter, 0.063W, 100ohm, 12V, 0.0001uF, Surface Mount, 10 Pins, CHIP
暫無數(shù)據(jù) 查看
FQPF27P06 1 onsemi Power MOSFET, P-Channel, QFET®, -60 V, -17 A, 26 mΩ, TO-220F, 1000-TUBE

ECAD模型

下載ECAD模型
$1.68 查看
09140060361 1 HARTING Technology Group Connector Accessory,

ECAD模型

下載ECAD模型
$24.65 查看

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄