資料報格式 USB資料報解析

2021-10-16 03:20:44 字數 902 閱讀 6395

由域構成的包有四種型別,分別是令牌包、資料報、握手包和特殊包,前面三種是重要的包,不同包的域結構不同,介紹如下:         

1、令牌包

分為輸入包、輸出包、設定包和幀起始包(注意這裡的輸入包是用於設定輸入命令的,輸出包是用來設定輸出命令的,而不是放資料的)其中輸入包、輸出包和設定包的格式都是一樣的:

sync + pid + addr + endp + crc5(五位的校驗碼)

幀起始包的格式:

sync + pid + 11位fram + crc5(五位的校驗碼)

2、資料報

分為data0包和data1包,當usb傳送資料的時候,如果一次傳送的資料長度大於相應端點的容量時,就需要把資料報分為好幾個包,分批傳送,data0包和data1包交替傳送,即如果第乙個資料報是data0,那第二個資料報就是data1。但也有例外情況,在同步傳輸中(四類傳輸型別中之一),所有的資料報都是為data0,格式如下:

sync + pid + 0~1023位元組 + crc16

3、握手包

結構最為簡單的包,格式如下:

sync + pid

握手包包括 ack、nak、stall以及nyet 四種,其中 ack 表示肯定的應答,成功的資料傳輸。nak 表示否定的應答,失敗的資料傳輸,要求重新傳輸。stall表示功能錯誤或端點被設定了stall屬性。nyet表示尚未準備好,要求等待。

資料報解析

從專業的角度來說,網路協議 osi就是乙個開放的通訊系統互聯參考模型,也是乙個定義的很好的協議規範。osi模型有7層結構,每層都可以有幾個子層。osi的7層從下到上分別是7 應用層 6 表示層 5 會話層 4 傳輸層 3 網路層 2 資料鏈路層 1 物理層。物理層 是參考模型的最低層。該層是網路通訊...

IP資料報格式

版本字段長度為4,用來表明建立資料報的ip版本,目前的ip版本是ipv4,ipv6正在發展中。ipv4的字段為0100 首部長度 報頭長度 指的是首部佔32 bit字的數目,包括任何選項。由於它是乙個4位元字段,因此首部最長為60個位元組。15x32 8 60位元組.ip首部始終是32 bit的整數...

TCP資料報格式

tcp 提供一種面向連線的 全雙工的 可靠的位元組流服務。在乙個tcp 連線中,僅有兩方進行彼此通訊。廣播和多播不能用於tcp。tcp 的接收端必須丟棄重複的資料。tcp 對位元組流的內容不作任何解釋。對位元組流的解釋由tcp 連線雙方的應用層解釋。tcp 通過下列方式來提供可靠性 應用資料被分割成...