<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > USB傳輸類(lèi)型

USB傳輸類(lèi)型

作者: 時(shí)間:2016-12-12 來(lái)源:網(wǎng)絡(luò ) 收藏
USB傳輸類(lèi)型
USB中有四種類(lèi)型的端點(diǎn),也就對應四種不同的傳輸方式,分別是控制傳輸、中斷傳輸、同步傳輸和塊傳輸。
1
控制傳輸

控制傳輸的讀寫(xiě)時(shí)序如下:

本文引用地址:http://dyxdggzs.com/article/201612/328921.htm

控制傳輸總共三個(gè)階段,setup階段、數據階段和狀態(tài)階段,其中數據階段是可選的,而每個(gè)階段都包含三個(gè)過(guò)程,即令牌過(guò)程、數據過(guò)程和握手過(guò)程。每個(gè)USB設備都必須具有控制傳輸功能,控制傳輸用于主機同設備的控制端點(diǎn)進(jìn)行通信,通過(guò)讀取設備的配置信息來(lái)完成對設備的枚舉和配置。
setup階段

setup階段首先是setup令牌,然后是數據過(guò)程,最后是狀態(tài)過(guò)程,對于數據過(guò)程只能使用DATA0包,設備在接收到setup數據包之后,需要返回ACK信號,如果接收數據錯誤,設備是不會(huì )返回握手包。setup數據呢就是主機往設備發(fā)送的請求數據包,設備根據這個(gè)請求數據包來(lái)做相應的動(dòng)作,例如:返回設備描述符或者直接進(jìn)入狀態(tài)階段返回一個(gè)0長(cháng)度的數據包。SETUP傳輸呢有點(diǎn)類(lèi)似于OUT傳輸,只不過(guò)OUT傳輸發(fā)送的是OUT令牌,SETUP傳輸發(fā)送的是SETUP令牌。

數據階段
如果是OUT傳輸呢,那么首先發(fā)送的是OUT令牌,如果IN傳輸呢,則發(fā)送的是IN令牌,然后是數據過(guò)程,數據過(guò)程必須以DATA1包開(kāi)始,然后在DATA0和DATA1之間交替,注意數據過(guò)程的方向必須是同一個(gè)方向,即要么都是IN傳輸,要么都是OUT傳輸。
狀態(tài)階段

狀態(tài)階段的傳輸方向同數據階段的傳輸方向剛好相反,即數據階段是IN傳輸呢,狀態(tài)階段就是OUT傳輸,數據階段是OUT傳輸呢,狀態(tài)階段就是IN傳輸。如果沒(méi)有數據階段呢,那就是只能是IN傳輸。狀態(tài)階段的響應信息如圖所示:

狀態(tài)階段的數據過(guò)程呢使用的DATA1包,如果是控制寫(xiě),設備在正確收到數據包之后將返回一個(gè)0長(cháng)度的數據包。注意這個(gè)0長(cháng)度數據和沒(méi)有數據概念是不一樣的,0長(cháng)度數據有數據的包頭,只是后面沒(méi)有數據罷了。對于控制讀,主機在接收數據之后,將返回ACK握手信息。
2
中斷傳輸

中斷傳輸呢分為IN和OUT傳輸,如果是IN傳輸,設備返回數據或者NAK、STALL握手信息。如果端點(diǎn)沒(méi)有新的中斷信息返回,在數據過(guò)程中設備返回的是NAK握手信息,如果此時(shí)端點(diǎn)已經(jīng)被設置為暫停了,設備返回的是STALL握手信息,如果設備返回的是中斷信息數據包,主機必須返回一個(gè)ACK握手信息給設備,如果數據數據接收錯誤,將不會(huì )返回握手信息。IN、OUT傳輸過(guò)程如圖所示

中斷傳輸一般用于這種具有固定速率、數據量少的數據傳輸,例如USB鼠標、鍵盤(pán)就是采用的中斷傳輸。
3
同步傳輸

同步傳輸也叫做等時(shí)傳輸,也分為IN和OUT傳輸,但是注意沒(méi)有握手過(guò)程,所以說(shuō)它并不保證數據傳輸是否正確性,但是要保證數據傳輸的實(shí)時(shí)性,所以這種傳輸方式一般用于音頻和視頻流的數據傳輸,例如你的USB攝像頭就是采用的這種傳輸方式,傳輸過(guò)程如下:

4
塊傳輸

塊傳輸也叫做批量傳輸,塊傳輸并不追求數據傳輸的時(shí)間,但是必須保證數據傳輸的正確性,例如U盤(pán)就是采用的這種傳輸方式,傳輸過(guò)程如下:

為了保證數據傳輸的正確性,USB采用的是錯誤檢測機制和重試機制來(lái)確保數據傳輸正確,當然它也分三個(gè)過(guò)程,令牌過(guò)程、數據過(guò)程和握手過(guò)程,其中PING令牌和NYET令牌只用于高速設備。


關(guān)鍵詞: USB傳輸類(lèi)

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>