包(
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中,適...