性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

硬件工程師煉成之路
認(rèn)證:優(yōu)質(zhì)創(chuàng)作者
作者動(dòng)態(tài)
遲滯電壓比較器電路的相關(guān)計(jì)算
06-22 09:15
為什么經(jīng)常要求MOS管快速關(guān)斷,而不要求MOS管快速開(kāi)通?
04-07 15:30
MOS管損耗理論計(jì)算公式推導(dǎo)及LTspice仿真驗(yàn)證
03-18 09:34
浪涌Surge如何仿真?找到了浪涌仿真模型
01-15 09:17
我做了個(gè)小軟件——硬件工程師煉成之路助手
2024-11-11 10:18

USB2.0實(shí)際傳輸速度為什么與480Mbps相差甚遠(yuǎn)?

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

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

 

總的來(lái)說(shuō),主要有以下幾個(gè)因素:

USB協(xié)議開(kāi)銷(xiāo),USB帶寬的分配,硬件結(jié)構(gòu),USB設(shè)備驅(qū)動(dòng)程序

USB協(xié)議開(kāi)銷(xiāo)

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

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

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

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

中斷傳輸:中斷傳輸方式主要用于定時(shí)查詢(xún)?cè)O(shè)備是否有中斷數(shù)據(jù)要傳送,該傳輸方式應(yīng)用在少量的、分散的、不可預(yù)測(cè)的數(shù)據(jù)傳輸場(chǎng)合。鍵盤(pán),鼠標(biāo)等。

批量傳輸:在訪問(wèn)USB總線(xiàn)時(shí),相對(duì)其他傳輸類(lèi)型具有最低的優(yōu)先級(jí),USB HOST總是優(yōu)先安排其他類(lèi)型的傳輸,當(dāng)總線(xiàn)帶寬有富余時(shí)才安排批量傳輸,打印機(jī),掃描儀,存儲(chǔ)設(shè)備等。

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

USB帶寬的分配

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

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

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

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

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

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

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

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

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

聲明:本內(nèi)容為作者獨(dú)立觀點(diǎn),不代表電子星球立場(chǎng)。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請(qǐng)聯(lián)系:editor@netbroad.com
覺(jué)得內(nèi)容不錯(cuò)的朋友,別忘了一鍵三連哦!
贊 0
收藏 1
關(guān)注 881
成為作者 賺取收益
全部留言
0/200
成為第一個(gè)和作者交流的人吧