USB通信協議——數據交易
發布時間:2008/12/17 0:00:00 訪問次數:727
表列出了組成4種傳輸類型的元素。在這里,讀者就需要注意一些通信協議的結構。例如,傳輸與數據交易、數據交易與封包、封包與字段之間的關系。當然,這是相當復雜且容易弄混淆的地方。其中,傳輸包含1個或是更多的數據交易,每一個數據交易又包含1個、2個或是3個封包。而封包中,又包含封包標識符(pid)字段、檢查字段(crc)以及額外的信息字段。
表 傳輸類型、數據交易與封包的關系表
*每一個封包是往下端接口傳遞出去的,若是低速,前面還會再放置pre封包。
因此,若要了解完整的usb通信協議就必須從數據域談起。通過由下而上,從簡易至復雜的通信協議單位來組合出各種復雜的通信協議,進而構建出完整的通信協議。
從表的第2欄中,可以知道其中包含了3種數據交易類型。這3種數據交易是根據其目的與數據流方向來決定的。其中,setup數據交易用來送出控制傳輸要求給設備;in數據交易是數據從設各傳回主機;out數據交易是將數據傳送出去給設各。每一個數據交易中,包含了辨識、錯誤檢核、狀態以及控制信息,同樣也包含了要交換的數據等。此外,一個完整的數據交易可能占用多個幀。但是數據交易卻是一個實現usb通信協議的最基本的結構組成。也即是,在總線上沒有任何通信能夠去切斷該數據交易的溝通過程。當然,除非是錯誤的usb通信過程。
此外,一個小量數據的傳輸也許僅需一個數據交易。如果是大量的數據,傳輸可能就需使用多個數據交易,每一次傳輸一部分數據。讀者或許會認為表的通信協議的結構非常復雜。其中,尤其是第1欄所列的控制傳輸是較為嚴謹與必須去實現的。
根據上述不同封包的組合與搭配就可以執行各種數據交易。但最重要的是,數據交易的格式必須與前面所提及的4種傳輸類型互相配合。這是因為不同的傳輸類型就會執行不同的數據交易。其中,除了等時傳輸外,控制傳輸、中斷傳輸與批量傳輸都以下列的3個階段來組成一個數據交易的動作。
等時傳輸卻只有包含如下所列的2個階段而已。若等時傳輸在傳輸的過程中發生錯誤,不會重送一次,所以也就不具有握手階段。
因此,為了方便讀者的記憶與了解整個usb的通信協議,在此以一個較簡易的方式來向讀者介紹。即是通過一個小口訣來介紹usb通信概念。這個口訣即是:5 4 2 3 3,如圖所示。
圖 usb通信協議的簡易口訣
這個口訣相當簡單,有點像是通關秘訣,而整個數字的順序即可串聯出usb的通信協議。5,4,2即分別為每個封包(令牌、數據與握手)的字段數目,其后的3則為實現一個數據交易所需的3個封包階段(令牌、數據與握手),而最后的3則為實現一個控制傳輸所需的3個數據交易層。讀者可以對照表,且只須以這個簡易的數字順序,從下層到上層,即可構建出一個完整的控制傳輸。而以下,先從usb封包類型與其所包含的字段來談起。
歡迎轉載,信息來源維庫電子市場網(www.dzsc.com)
表列出了組成4種傳輸類型的元素。在這里,讀者就需要注意一些通信協議的結構。例如,傳輸與數據交易、數據交易與封包、封包與字段之間的關系。當然,這是相當復雜且容易弄混淆的地方。其中,傳輸包含1個或是更多的數據交易,每一個數據交易又包含1個、2個或是3個封包。而封包中,又包含封包標識符(pid)字段、檢查字段(crc)以及額外的信息字段。
表 傳輸類型、數據交易與封包的關系表
*每一個封包是往下端接口傳遞出去的,若是低速,前面還會再放置pre封包。
因此,若要了解完整的usb通信協議就必須從數據域談起。通過由下而上,從簡易至復雜的通信協議單位來組合出各種復雜的通信協議,進而構建出完整的通信協議。
從表的第2欄中,可以知道其中包含了3種數據交易類型。這3種數據交易是根據其目的與數據流方向來決定的。其中,setup數據交易用來送出控制傳輸要求給設備;in數據交易是數據從設各傳回主機;out數據交易是將數據傳送出去給設各。每一個數據交易中,包含了辨識、錯誤檢核、狀態以及控制信息,同樣也包含了要交換的數據等。此外,一個完整的數據交易可能占用多個幀。但是數據交易卻是一個實現usb通信協議的最基本的結構組成。也即是,在總線上沒有任何通信能夠去切斷該數據交易的溝通過程。當然,除非是錯誤的usb通信過程。
此外,一個小量數據的傳輸也許僅需一個數據交易。如果是大量的數據,傳輸可能就需使用多個數據交易,每一次傳輸一部分數據。讀者或許會認為表的通信協議的結構非常復雜。其中,尤其是第1欄所列的控制傳輸是較為嚴謹與必須去實現的。
根據上述不同封包的組合與搭配就可以執行各種數據交易。但最重要的是,數據交易的格式必須與前面所提及的4種傳輸類型互相配合。這是因為不同的傳輸類型就會執行不同的數據交易。其中,除了等時傳輸外,控制傳輸、中斷傳輸與批量傳輸都以下列的3個階段來組成一個數據交易的動作。
等時傳輸卻只有包含如下所列的2個階段而已。若等時傳輸在傳輸的過程中發生錯誤,不會重送一次,所以也就不具有握手階段。
因此,為了方便讀者的記憶與了解整個usb的通信協議,在此以一個較簡易的方式來向讀者介紹。即是通過一個小口訣來介紹usb通信概念。這個口訣即是:5 4 2 3 3,如圖所示。
圖 usb通信協議的簡易口訣
這個口訣相當簡單,有點像是通關秘訣,而整個數字的順序即可串聯出usb的通信協議。5,4,2即分別為每個封包(令牌、數據與握手)的字段數目,其后的3則為實現一個數據交易所需的3個封包階段(令牌、數據與握手),而最后的3則為實現一個控制傳輸所需的3個數據交易層。讀者可以對照表,且只須以這個簡易的數字順序,從下層到上層,即可構建出一個完整的控制傳輸。而以下,先從usb封包類型與其所包含的字段來談起。
歡迎轉載,信息來源維庫電子市場網(www.dzsc.com)
上一篇:USB封包中的數據域類型
上一篇:信號管線與數據流管線