usb傳輸的資料總是低位在前, 高位在後. 注意, 這是序列傳輸中的低位元, 當然, 在位元組層面上, usb的資料格式也是小端的.
usb的傳輸方向:從裝置到主機的資料為輸入, 從主機到裝置的資料叫做輸出. usb的傳輸方向都是從主機方向看的.
包就是usb匯流排上進行的一次資料傳輸, 是底層運算元據的最小單元.
每個包包含三部分內容: 以同步域開始, 緊跟著乙個包識別符號pid(packet identifier), 最終以包結束符eop(end of packet)結束這個包.
根據包識別符號pid的不同, 包可以分為四種包:
令牌包用來啟動一次usb傳輸.
由於usb是主從結構的拓撲結構, 所以所有的資料傳輸都是主機發起的(唯一的例外是支援遠端喚醒的裝置能夠主動改變匯流排的狀態, 讓集線器感知到裝置的喚醒訊號, 但是這一過程並不傳送資料, 只是改變匯流排的狀態).
令牌包分4種:輸出(out)、輸入(in)、建立(setup)、幀起始(sof)。
由於某些usb主機同hub之間的通訊過程.
暫不介紹.
對於嵌入式開發者, 在使用很多帶usb控制器的mcu時, usb控制器硬體會自動實現對各種包的解析, 並在一定程度上自動啟動後續對資料的處理. 具體情況還需要閱讀具體的晶元手冊.
本文部分內容引用
2 USB傳輸型別
上次說了usb有四種傳輸型別,這次對具體的傳輸做乙個分析。這個是所有的usb裝置都會用到的傳輸了,在列舉過程中使用的就是控制傳輸。控制傳輸分為三個過程。其中,每乙個過程都是transaction.用一次列舉過程中的資料來舉例.2.1.1 建立過程 首先上面說過,每個transaction都由2 3個...
2 USB標準請求
bmrequesttype 的d6 d5為00的請求,usb協議定義了11個標準請求 brequest 其名字與相應的brequest的值如下表 表3.5.3是各個標準請求的結構及需要傳輸的資料,常用的幾個請求有 get descriptor set address和set configuratio...
USB 協議的科普
舊名稱新名稱 最新名稱 最大速度 2000.04 usb 2.0 480 mbps 2008.11 usb 3.0 usb 3.1 gen1 usb 3.2 gen1 5 gbps 2013.12 usb 3.1 usb 3.1 gen2 usb 3.2 gen2 10 gbps 2017.09 u...