USB傳輸類(lèi)型
控制傳輸的讀寫(xiě)時(shí)序如下:
本文引用地址:http://dyxdggzs.com/article/201612/328921.htmsetup階段首先是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令牌。
狀態(tài)階段的傳輸方向同數據階段的傳輸方向剛好相反,即數據階段是IN傳輸呢,狀態(tài)階段就是OUT傳輸,數據階段是OUT傳輸呢,狀態(tài)階段就是IN傳輸。如果沒(méi)有數據階段呢,那就是只能是IN傳輸。狀態(tài)階段的響應信息如圖所示:
中斷傳輸呢分為IN和OUT傳輸,如果是IN傳輸,設備返回數據或者NAK、STALL握手信息。如果端點(diǎn)沒(méi)有新的中斷信息返回,在數據過(guò)程中設備返回的是NAK握手信息,如果此時(shí)端點(diǎn)已經(jīng)被設置為暫停了,設備返回的是STALL握手信息,如果設備返回的是中斷信息數據包,主機必須返回一個(gè)ACK握手信息給設備,如果數據數據接收錯誤,將不會(huì )返回握手信息。IN、OUT傳輸過(guò)程如圖所示
:
同步傳輸也叫做等時(shí)傳輸,也分為IN和OUT傳輸,但是注意沒(méi)有握手過(guò)程,所以說(shuō)它并不保證數據傳輸是否正確性,但是要保證數據傳輸的實(shí)時(shí)性,所以這種傳輸方式一般用于音頻和視頻流的數據傳輸,例如你的USB攝像頭就是采用的這種傳輸方式,傳輸過(guò)程如下:
塊傳輸也叫做批量傳輸,塊傳輸并不追求數據傳輸的時(shí)間,但是必須保證數據傳輸的正確性,例如U盤(pán)就是采用的這種傳輸方式,傳輸過(guò)程如下:
評論