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