USB 的資料構成方式

2022-07-07 10:24:13 字數 1122 閱讀 8440

包(

packet

)是usb

系統中資訊傳輸的基本單元,所有資料都是經過打包後在匯流排上傳輸的。

usb包由五部分組成,即同步字段(

sync

)、包識別符號字段(

pid)、資料字段、迴圈冗餘校驗字段(

crc)和包結尾字段(

eop),包的基本格式如下圖:

sof封包屬於令牌封包的一種,但具有獨自的

pid型別名:

sof。這個封包常用於等時傳輸,並不應用於低速裝置。令牌(

token

)封包,由於

usb的資料交換是由

pc主機端所啟用的,所以在每乙個資料交換中必須以

sync

、pid

、addr

、endp

與crc5這5

個資料域組合而成的令牌封包為起始。資料封包含有

4個域:

sync

、pid

、data

與crc16

。data

資料域的位值是根據

usb裝置的傳輸速度及傳輸型別而定,且須以

8位元組為基本單位。也就是,若傳輸的資料不足

8位元組,或傳輸到最後所剩餘的也不足

8位元組,仍須傳輸

8位元組的資料域。格式如下:

握手封包僅包含

sync

和乙個pid

資料域。

usb規範將事務

( transaction )

定義為將乙個服務傳輸到乙個端點。這裡的服務是指主機傳輸資訊給裝置或從裝置接收資訊。每乙個傳輸含乙個或多個事務,而每乙個事務包含乙個或多個資訊包,如圖所示。

資料構成方式

主機總是用乙個令牌包開始乙個事務。令牌包指定乙個裝置位址和端點號。在這之後是乙個或多個資料報傳輸,有的事務也可不需要進行資料報傳輸,傳輸方向和資料報的數量也由令牌指定。最後是沿資料傳輸的反方向傳送乙個握手包。

事務依據其目的及資料流的方向可分為輸入事務、輸出事務和設定。輸入事務、輸出事務用於主機與裝置之間傳輸資料,設定事務用來將控制傳輸的要求傳輸給裝置。

cache模式的兩種構成方式

在我們系統開發中,有一些資料變動比較少,但是會經常對它進行訪問。為了提高訪問的效能,我們首先會把資料從資料庫中讀出,放入到乙個hashtable中。以後資料的訪問都是從hashtable中獲取,這樣起到了乙個cache的作用。從資料庫中獲取資料有兩種方式 1 系統第一次訪問,從資料中獲取所有的資料放...

物件的生成方式

物件的生成方式 拷貝建構函式 用乙個已經存在的物件去初始化另乙個物件時,用到拷貝建構函式。如 class a a a1 a a2 a1 這裡就用到拷貝建構函式 另外 在傳入引數和return返回時,以傳值方式傳遞,需要呼叫拷貝建構函式。需要注意的兩種情況 1 a a1 a a2 a2 a1 並沒有用...

資料庫主鍵生成方式

轉 1 assign ed主鍵由外部程式負責生成,無需hibernate參與。2 hilo 通過hi lo 演算法實現的主鍵生成機制,需要額外的資料庫表儲存主鍵生成歷史狀態。3 seqhilo 與hilo 類似,通過hi lo 演算法實現的主鍵生成機制,只是主鍵歷史狀態儲存在seque nce中,適...