USB 協議資料格式

2021-05-22 23:44:35 字數 1562 閱讀 5570

前面已經轉了一篇類似的文章, 這篇和那篇其實很相似, 只是按我的習慣編寫而成。 內容和圖表基本**於www.usb.org。

lsb(bit) first 1.

域(fields)

sync:

所有包開始都必須有的,

1位元組在

low/full speed, 4

位元組在high speed

pid (packet id): 8bit, 高4

位為低四位取反,以低

4位為準

(見圖1

)address:

兩種位址,一種指

function address (7bit),

一種指endpoint

位址(4bit)

frame number:

只出現在

sof token

包中,11 bit

data: 0-1024

位元組crc:token packet 5bit, data packet: 2bytes

2.包(packet)

四種,見圖

1token (

包括setup/in/out

和sof)

包格式setup/in/out: pid (8) + addr (7)+endp(4)+crc5(5) = 24bit = 3bytes

sof: pid(8)+framenumber(11)+crc5(5)=24bit = 3bytes

data(

包括data0

和data1包)

包格式(byte

為單位)

:pid(1)+data(0-1024)+crc16(2)

handshake

包格式(byte

為單位)

:pid (1)

3.事務 (transaction)

有三種事務: setup, in, out

每個事務,

又由多個包(token, data, handshake, special)組成

,如圖2

4. 傳輸 (transfer)

四種傳輸方式:control, bulk, interrupt, isochronous

每種傳輸由乙個或多個事務(setup, in, out)組成

control:

用於device剛attach到

host時。

使用預設的control pipe, endpoint = 0.

有setup (must)/in/out (optional) transaction.

bulk:

用於傳輸大量順序資料時,

並且對時序沒有嚴格要求。如印表機。由in/out transaction組成

interrupt: 傳輸資料時間不定,

資料量小,

如鍵盤,滑鼠。由in/out transaction組成

isochronous:用於資料量大,對時序有嚴格要求。由in/out transaction組成

可以看出只有controltransfer有setup transaction

USB資料格式

usb傳輸型別 1.控制傳輸 非週期性,突發 用於命令和狀態的傳輸 2.大容量資料傳輸 bulk 非週期性,突發 大容量資料的通訊,資料可以占用任意頻寬,並容忍延遲 3.同步傳輸 週期性.持續性的傳輸,用於傳輸與時效相關的資訊,並且在資料中儲存時間戳的資訊 4.中斷傳輸 週期性,低頻率 允許有限延遲...

USB的資料格式概述

和其他的一樣,usb資料是由二進位制數字串構成的,首先數字串構成域 有七種 域再構成包,包再構成事務 in out setup 事務最後構成傳輸 中斷傳輸 並行傳輸 批量傳輸和控制傳輸 下面簡單介紹一下域 包 事務 傳輸,請注意他們之間的關係。一 域 是usb資料最小的單位,由若干位組成 至於是多少...

TCP協議資料格式

tcp協議間交換的資料單元稱為 tcp段 包括兩部分 首部和資料。標準首部長20位元組,帶有選項的首部會更長。1.源埠和目的埠 各佔2位元組,埠號加上ip位址,共同構成socket。互相通訊的程序使用一對socket,包括協議 源ip 源埠 目的ip 目的埠,這五個元素唯一確定乙個tcp連線。2.序...