USB傳輸類型
控制傳輸?shù)淖x寫時(shí)序如下:
本文引用地址:http://m.butianyuan.cn/article/201612/328921.htmsetup階段首先是setup令牌,然后是數(shù)據(jù)過程,最后是狀態(tài)過程,對于數(shù)據(jù)過程只能使用DATA0包,設(shè)備在接收到setup數(shù)據(jù)包之后,需要返回ACK信號,如果接收數(shù)據(jù)錯(cuò)誤,設(shè)備是不會(huì)返回握手包。setup數(shù)據(jù)呢就是主機(jī)往設(shè)備發(fā)送的請求數(shù)據(jù)包,設(shè)備根據(jù)這個(gè)請求數(shù)據(jù)包來做相應(yīng)的動(dòng)作,例如:返回設(shè)備描述符或者直接進(jìn)入狀態(tài)階段返回一個(gè)0長度的數(shù)據(jù)包。SETUP傳輸呢有點(diǎn)類似于OUT傳輸,只不過OUT傳輸發(fā)送的是OUT令牌,SETUP傳輸發(fā)送的是SETUP令牌。
狀態(tài)階段的傳輸方向同數(shù)據(jù)階段的傳輸方向剛好相反,即數(shù)據(jù)階段是IN傳輸呢,狀態(tài)階段就是OUT傳輸,數(shù)據(jù)階段是OUT傳輸呢,狀態(tài)階段就是IN傳輸。如果沒有數(shù)據(jù)階段呢,那就是只能是IN傳輸。狀態(tài)階段的響應(yīng)信息如圖所示:
中斷傳輸呢分為IN和OUT傳輸,如果是IN傳輸,設(shè)備返回?cái)?shù)據(jù)或者NAK、STALL握手信息。如果端點(diǎn)沒有新的中斷信息返回,在數(shù)據(jù)過程中設(shè)備返回的是NAK握手信息,如果此時(shí)端點(diǎn)已經(jīng)被設(shè)置為暫停了,設(shè)備返回的是STALL握手信息,如果設(shè)備返回的是中斷信息數(shù)據(jù)包,主機(jī)必須返回一個(gè)ACK握手信息給設(shè)備,如果數(shù)據(jù)數(shù)據(jù)接收錯(cuò)誤,將不會(huì)返回握手信息。IN、OUT傳輸過程如圖所示
:
同步傳輸也叫做等時(shí)傳輸,也分為IN和OUT傳輸,但是注意沒有握手過程,所以說它并不保證數(shù)據(jù)傳輸是否正確性,但是要保證數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性,所以這種傳輸方式一般用于音頻和視頻流的數(shù)據(jù)傳輸,例如你的USB攝像頭就是采用的這種傳輸方式,傳輸過程如下:
塊傳輸也叫做批量傳輸,塊傳輸并不追求數(shù)據(jù)傳輸?shù)臅r(shí)間,但是必須保證數(shù)據(jù)傳輸?shù)恼_性,例如U盤就是采用的這種傳輸方式,傳輸過程如下:
評論