USB通信協議——數據交易
表 傳輸類型、數據交易與封包的關系表
*每一個封包是往下端接口傳遞出去的,若是低速,前面還會再放置PRE封包。
因此,若要了解完整的USB通信協議就必須從數據域談起。通過由下而上,從簡易至復雜的通信協議單位來組合出各種復雜的通信協議,進而構建出完整的通信協議。
從表的第2欄中,可以知道其中包含了3種數據交易類型。這3種數據交易是根據其目的與數據流方向來決定的。其中,SETUP數據交易用來送出控制傳輸要求給設備;IN數據交易是數據從設各傳回主機;OUT數據交易是將數據傳送出去給設各。每一個數據交易中,包含了辨識、錯誤檢核、狀態以及控制信息,同樣也包含了要交換的數據等。此外,一個完整的數據交易可能占用多個幀。但是數據交易卻是一個實現USB通信協議的最基本的結構組成。也即是,在總線上沒有任何通信能夠去切斷該數據交易的溝通過程。當然,除非是錯誤的USB通信過程。
此外,一個小量數據的傳輸也許僅需一個數據交易。如果是大量的數據,傳輸可能就需使用多個數據交易,每一次傳輸一部分數據。讀者或許會認為表的通信協議的結構非常復雜。其中,尤其是第1欄所列的控制傳輸是較為嚴謹與必須去實現的。
評論