在前面的十一節中,學習了usb中傳輸中乙個包是由多個域組成。
在前面的十二節中,學習了usb傳輸中學習了包的形式有哪些(令牌包、資料報、應答包等),以及各自的特點和功能。
在前面的十三節中,學習了usb的乙個事務是由多個包組成的(in、out、setup事務等),以及四種傳輸型別,具體怎麼組織事務(乙個傳輸是由多個包組成)。
本節就站在傳輸的角度來總結一下幾個的關係。
上面這個例子中,乙個控制傳輸是由乙個setup事務(建立),乙個in事務(資料),乙個out事務(狀態)構成。
同時三種事務的格式都是有,分為三個階段,即令牌階段、資料傳輸階段、握手階段。
每種包中,不同的域,上圖已經用不同的顏色表明了出來。
上一節也說了,有的控制傳輸中無資料,則在setup事務後面跟乙個in狀態事務就可以。
上面列出了乙個批量寫傳輸和批量的讀傳輸。
和控制傳輸相比就簡單很多了,只有資料傳輸,沒有setup事務和狀態事務。
在事務中,也分為三個階段,即令牌階段、資料傳輸階段、握手階段。
當然,上面這兩個個批量傳輸的資料很少分別是31和36個位元組,乙個傳輸就傳完了。
下面這個全速裝置,每次最多傳輸64位元組,傳輸4096個位元組,就需要很多個傳輸了。
上圖給出了中斷in傳輸的資料過程。
在中斷事務中,也分為三個階段,即令牌階段、資料傳輸階段(有則返回資料,沒準備好則不返回資料)、握手階段(從機正常返回資料,主機解析成功,則主機給從機應答。從機沒準備好資料,則從機給主機返回nak)。
可以看到主機對裝置進行定期查詢。
如果裝置有資料,則對in事務進行響應,返回資料,主機解析成功資料,返回ack應答。
如果裝置沒資料,則返回nak表示沒準備好資料。
暫時沒等時傳輸的抓包資訊,就不分析了。只需要知道等時傳輸是沒應答包的。其它和上面幾種沒大的差異。
在前面的十一節中,學習了usb中傳輸中乙個包是由多個域組成。
從零開始學USB(六 USB通訊的資料格式)
前面章節已經學習過了usb的引腳定義了,但是對於其中的usb 2.0的兩根資料線d 和d 所對應的資料傳輸,卻沒有詳細介紹。此處就是介紹,在此序列資料線中,資料是如何被編碼和傳送的。usb所傳輸的資料,用的資料編碼方式是nrzi non return to zero inverted 其具體的含 釋...
從零開始學USB(一 基礎知識1)
1.什麼是usb?usb是universal serial bus的縮寫,中文譯為通用序列匯流排。正如usb的第乙個單詞表述的那樣,為了通用。那麼我們看一下,還有哪些匯流排不是序列的,哪些是不通用的序列匯流排 下表來自 usb complete 裡面對一些常見匯流排所總結的一些區別 當然上表中關於s...
零開始學python 從零開始學Python
第1章 python入門 1 1 1 什麼是python 1 1 2 python語言有什麼特點 2 1 3 python可以幹什麼 4 練一練 5 第2章 準備開發環境 6 2 1 在windows上安裝python開發環境 6 2 2 選擇和安裝開發工具 11 練一練 17 第3章 基本概念 1...