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