USB的四種傳輸類(lèi)型
1. 控制傳輸:
控制傳輸是一種可靠的雙向傳輸,一次控制傳輸可分為三個(gè)階段。第一階段為從HOST到Device的SETUP事務(wù)傳輸,這個(gè)階段指定了此次控制傳輸?shù)恼?qǐng)求類(lèi)型;
第二階段為數(shù)據(jù)階段,也有些請(qǐng)求沒(méi)有數(shù)據(jù)階段;第三階段為狀態(tài)階段,通過(guò)一次IN/OUT 傳輸表明請(qǐng)求是否成功完成。
控制傳輸通過(guò)控制管道在應(yīng)用軟件和 Device 的控制端點(diǎn)之間進(jìn)行,控制傳輸過(guò)程中傳輸?shù)臄?shù)據(jù)是有格式定義的,USB 設(shè)備或主機(jī)可根據(jù)格式定義解析獲得的數(shù)據(jù)含義。
其他三種傳輸類(lèi)型都沒(méi)有格式定義。
控制傳輸對(duì)于最大包長(zhǎng)度有固定的要求。對(duì)于高速設(shè)備該值為 64Byte;對(duì)于低速設(shè)備該值為 8;全速設(shè)備可以是 8或 16或 32或 64。
最大包長(zhǎng)度 表征了一個(gè)端點(diǎn)單次接收/發(fā)送數(shù)據(jù)的能力,實(shí)際上反應(yīng)的是該端點(diǎn)對(duì)應(yīng)的Buffer 的大小。Buffer 越大,單次可接收/發(fā)送的數(shù)據(jù)包越大,反之亦反。
當(dāng)通過(guò)一個(gè)端點(diǎn)進(jìn)行數(shù)據(jù)傳輸時(shí),若數(shù)據(jù)的大小超過(guò)該端點(diǎn)的最大包長(zhǎng)度時(shí),需要將數(shù)據(jù)分成若干個(gè)數(shù)據(jù)包傳輸,并且要求除最后一個(gè)包外,所有的包長(zhǎng)度均等于該最大包長(zhǎng)度。
這也就是說(shuō)如果一個(gè)端點(diǎn)收到/發(fā)送了一個(gè)長(zhǎng)度小于最大包長(zhǎng)度的包,即意味著數(shù)據(jù)傳輸結(jié)束。
控制傳輸在訪(fǎng)問(wèn)總線(xiàn)時(shí)也受到一些限制,如:
a. 高速端點(diǎn)的控制傳輸不能占用超過(guò) 20%的微幀,全速和低速的則不能超過(guò) 10%。
b. 在一幀內(nèi)如果有多余的未用時(shí)間,并且沒(méi)有同步和中斷傳輸,可以用來(lái)進(jìn)行控制傳輸。
2. 中斷傳輸:
中斷傳輸是一種輪詢(xún)的傳輸方式,是一種單向的傳輸,HOST通過(guò)固定的間隔對(duì)中斷端點(diǎn)進(jìn)行查詢(xún),若有數(shù)據(jù)傳輸或可以接收數(shù)據(jù)則返回?cái)?shù)據(jù)或發(fā)送數(shù)據(jù),否則返回NAK,表示尚未準(zhǔn)備好。
中斷傳輸?shù)难舆t有保證,但并非實(shí)時(shí)傳輸,它是一種延遲有限的可靠傳輸,支持錯(cuò)誤重傳。
對(duì)于高速/全速/低速端點(diǎn),最大包長(zhǎng)度分別可以達(dá)到1024/64/8 Bytes。
高速中斷傳輸不得占用超過(guò) 80%的微幀時(shí)間,全速和低速不得超過(guò) 90%。
中斷端點(diǎn)的輪詢(xún)間隔由在端點(diǎn)描述符中定義,全速端點(diǎn)的輪詢(xún)間隔可以是1~255mS,低速端點(diǎn)為10~255mS,高速端點(diǎn)為(2interval-1)*125uS,其中 interval取 1到 16之間的值。
除高速高帶寬中斷端點(diǎn)外,一個(gè)微幀內(nèi)僅允許一次中斷事務(wù)傳輸,高速高帶寬端點(diǎn)最多可以在一個(gè)微幀內(nèi)進(jìn)行三次中斷事務(wù)傳輸,傳輸高達(dá) 3072 字節(jié)的數(shù)據(jù)。
所謂單向傳輸,并不是說(shuō)該傳輸只支持一個(gè)方向的傳輸,而是指在某個(gè)端點(diǎn)上該傳輸僅支持一個(gè)方向,或輸出,或輸入。如果需要在兩個(gè)方向上進(jìn)行某種單向傳輸,需要占用兩個(gè)端點(diǎn),
分別配置成不同的方向,可以擁有相同的端點(diǎn)編號(hào)。
3. 批量傳輸:
批量傳輸是一種可靠的單向傳輸,但延遲沒(méi)有保證,它盡量利用可以利用的帶寬來(lái)完成傳輸,適合數(shù)據(jù)量比較大的傳輸。
低速 USB 設(shè)備不支持批量傳輸,高速批量端點(diǎn)的最大包長(zhǎng)度為 512,全速批量端點(diǎn)的最大包長(zhǎng)度可以為 8、16、32、64。
批量傳輸在訪(fǎng)問(wèn) USB 總線(xiàn)時(shí),相對(duì)其他傳輸類(lèi)型具有最低的優(yōu)先級(jí),USB HOST 總是優(yōu)先安排其他類(lèi)型的傳輸,當(dāng)總線(xiàn)帶寬有富余時(shí)才安排批量傳輸。
高速的批量端點(diǎn)必須支持PING 操作,向主機(jī)報(bào)告端點(diǎn)的狀態(tài),NYET 表示否定應(yīng)答,沒(méi)有準(zhǔn)備好接收下一個(gè)數(shù)據(jù)包,ACK 表示肯定應(yīng)答,已經(jīng)準(zhǔn)備好接收下一個(gè)數(shù)據(jù)包。
4. 同步傳輸:
同步傳輸是一種實(shí)時(shí)的、不可靠的傳輸,不支持錯(cuò)誤重發(fā)機(jī)制。只有高速和全速端點(diǎn)支持同步傳輸,高速同步端點(diǎn)的最大包長(zhǎng)度為 1024,低速的為 1023。
除高速高帶寬同步端點(diǎn)外,一個(gè)微幀內(nèi)僅允許一次同步事務(wù)傳輸,高速高帶寬端點(diǎn)最多可以在一個(gè)微幀內(nèi)進(jìn)行三次同步事務(wù)傳輸,傳輸高達(dá) 3072 字節(jié)的數(shù)據(jù)。
全速同步傳輸不得占用超過(guò) 80%的幀時(shí)間,高速同步傳輸不得占用超過(guò) 90%的微幀時(shí)間。同步端點(diǎn)的訪(fǎng)問(wèn)也和中斷端點(diǎn)一樣,有固定的時(shí)間間隔限制。
在主機(jī)控制器和 USBHUB 之間還有另外一種傳輸——分離傳輸(SplitTransaction),它僅在主機(jī)控制器和 HUB之間執(zhí)行,通過(guò)分離傳輸,可以允許全速/低速設(shè)備連接到高速主機(jī)。
分離傳輸對(duì)于USB 設(shè)備來(lái)說(shuō)是透明的、不可見(jiàn)的。
分離傳輸:顧名思義就是把一次完整的事務(wù)傳輸分成兩個(gè)事務(wù)傳輸來(lái)完成。其出發(fā)點(diǎn)是高速傳輸和全速/低速傳輸?shù)乃俣炔幌嗟?,如果使用一次完整的事?wù)來(lái)傳輸,勢(shì)必會(huì)造成比較長(zhǎng)的等待時(shí)間,
從而降低了高速 USB 總線(xiàn)的利用率。通過(guò)將一次傳輸分成兩此,將令牌(和數(shù)據(jù))的傳輸與響應(yīng)數(shù)據(jù)(和握手)的傳輸分開(kāi),這樣就可以在中間插入其他高速傳輸,從而提高總線(xiàn)的利用率。
責(zé)任編輯:PSY
原文標(biāo)題:USB的四種傳輸類(lèi)型
文章出處:【微信公眾號(hào):multisim】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
USB接口
+關(guān)注
關(guān)注
9文章
707瀏覽量
57013 -
usb
+關(guān)注
關(guān)注
60文章
8190瀏覽量
273020 -
傳輸
+關(guān)注
關(guān)注
0文章
156瀏覽量
27841
原文標(biāo)題:USB的四種傳輸類(lèi)型
文章出處:【微信號(hào):A1411464185,微信公眾號(hào):multisim】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
RDMA簡(jiǎn)介3之四種子協(xié)議對(duì)比
四種常見(jiàn)ADC的特性和應(yīng)用
私藏技術(shù)大公開(kāi)!四種常見(jiàn)供電方案

被問(wèn)爆的四種供電方式,來(lái)啦~

USB接口常見(jiàn)的類(lèi)型有哪些
如何設(shè)置usb的傳輸方式
labview字符串的四種表示各有什么特點(diǎn)
雙軸測(cè)徑儀的四種樣式!
濾波電路的四種類(lèi)型是什么
負(fù)反饋的四種類(lèi)型是什么
負(fù)反饋的四種類(lèi)型及判斷方法
受控源四種類(lèi)型及表示方法
簡(jiǎn)述四種基本觸發(fā)器及其功能
關(guān)于溫補(bǔ)晶振的四種輸出模式詳解

評(píng)論