USB协议详解第23讲(USB包-握手包及其工作方式)
目錄
1.握手包的分類
2.握手包的組成
3.握手包的功能
4.批量數(shù)據(jù)傳輸握手包的工作方式舉例
1.IN事務(wù)
2.OUT事務(wù)
3.PING事務(wù)(只在高速傳輸中有)
5.其他傳輸握手包事務(wù)圖
1.中斷傳輸
2.控制傳輸
3.同步傳輸(無(wú)握手包)
1.握手包的分類
握手包有ACK握手包、NAK握手包、STALL握手包、NYET握手包、ERR握手包。
2.握手包的組成
握手包內(nèi)容僅由PID域組成,PID域標(biāo)志當(dāng)前握手包的具體類型是ACK、NAK、STALL、NYET、ERR五種中的哪一種。
3.握手包的功能
握手包是接收方給發(fā)送方返回的狀態(tài),這樣發(fā)送方可以知道接收方的當(dāng)前狀態(tài)。
4.批量數(shù)據(jù)傳輸握手包的工作方式舉例
1.IN事務(wù)
(1)主機(jī)發(fā)送IN令牌包給設(shè)備功能;
(2)設(shè)備功能如果有數(shù)據(jù)會(huì)發(fā)送給主機(jī),如果設(shè)備沒(méi)有準(zhǔn)備好數(shù)據(jù),則會(huì)給主機(jī)發(fā)送NAK握手包(你給我要數(shù)據(jù),我這會(huì)沒(méi)有),如果設(shè)備不能進(jìn)行傳輸,則會(huì)給主機(jī)發(fā)送STALL握手包;
(3)主機(jī)正確收到數(shù)據(jù)后,主機(jī)會(huì)給設(shè)備發(fā)送應(yīng)答包ACK,一個(gè)IN事務(wù)正確傳輸完成。
2.OUT事務(wù)
(1)主機(jī)發(fā)送OUT令牌包給設(shè)備功能;
(2)主機(jī)發(fā)送DATA數(shù)據(jù)包給設(shè)備功能;
(3)設(shè)備功能如果有數(shù)據(jù)會(huì)發(fā)送給主機(jī),如果設(shè)備沒(méi)有準(zhǔn)備好接收主機(jī)的數(shù)據(jù),則會(huì)給主機(jī)發(fā)送NAK握手包(你給我發(fā)送數(shù)據(jù),我這會(huì)忙著,沒(méi)辦法收,你一會(huì)再發(fā)),如果設(shè)備不能進(jìn)行傳輸,則會(huì)給主機(jī)發(fā)送STALL握手包,如果設(shè)備正確接收數(shù)據(jù),則會(huì)給主機(jī)發(fā)送ACK握手包,在高速USB設(shè)備傳輸事務(wù)中,如果設(shè)備沒(méi)有準(zhǔn)備好,則會(huì)給主機(jī)發(fā)送NYET握手包,如果設(shè)備出錯(cuò),則會(huì)給主機(jī)發(fā)送ERR握手包。
3.PING事務(wù)(只在高速傳輸中有)
(1)主機(jī)發(fā)送PING令牌包給設(shè)備功能(先查下設(shè)備的狀態(tài));
(2)如果設(shè)備正確接收數(shù)據(jù),則會(huì)給主機(jī)發(fā)送ACK握手包,如果設(shè)備沒(méi)有準(zhǔn)備好接收主機(jī)的數(shù)據(jù)或者沒(méi)有準(zhǔn)備好給主機(jī)發(fā)送數(shù)據(jù),則會(huì)給主機(jī)發(fā)送NAK握手包,如果設(shè)備不能進(jìn)行傳輸,則會(huì)給主機(jī)發(fā)送STALL握手包。
5.其他傳輸握手包事務(wù)圖
1.中斷傳輸
2.控制傳輸
3.同步傳輸(無(wú)握手包)
1.本文部分素材來(lái)源網(wǎng)絡(luò),版權(quán)歸原作者所有,如涉及作品版權(quán)問(wèn)題,請(qǐng)與我聯(lián)系刪除。
2.未經(jīng)原作者允許不得轉(zhuǎn)載本文內(nèi)容,否則將視為侵權(quán);
3.轉(zhuǎn)載或者引用本文內(nèi)容請(qǐng)注明來(lái)源及原作者;
4.對(duì)于不遵守此聲明或者其他違法使用本文內(nèi)容者,本人依法保留追究權(quán)等。
下面是我的個(gè)人微信公眾號(hào),關(guān)注【一個(gè)早起的程序員】精彩系列文章每天不斷。
總結(jié)
以上是生活随笔為你收集整理的USB协议详解第23讲(USB包-握手包及其工作方式)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 金邦达:做最值得客户尊重的IC卡项目服务
- 下一篇: 机器人学之轴角