USB通信數(shù)據(jù)緊密連接位
由于傳送器與接收器兩者都要追蹤數(shù)據(jù)緊密連接位。因此,為了怕弄混淆,一開始二者同時(shí)設(shè)置為DATA0。當(dāng)接收器檢測(cè)到剛進(jìn)來(lái)的數(shù)據(jù)交易時(shí),它就會(huì)比較所接收到數(shù)據(jù)緊密連接位與自己的數(shù)據(jù)緊密連接位的狀態(tài)。若位符合,接收器就會(huì)連接切換其位,并且傳回ACK封包給傳送器。而這個(gè)ACK也會(huì)使得傳送器去連接切換其位。
此時(shí),在傳輸中的下一個(gè)所接收到的封包將會(huì)包含DATA1的數(shù)據(jù)緊密連接位,而接收器再一次連接切換其位,并且回傳ACK。若這個(gè)傳輸過(guò)程都無(wú)誤,這個(gè)流程會(huì)一直持續(xù)著,DATA0→DATA1→DAYAO→……直到整個(gè)傳輸結(jié)束為止。
而特殊例外的情形是,在全速等時(shí)傳輸時(shí),主機(jī)總使用DATA0的數(shù)據(jù)緊密連接位。這是因?yàn)榈葧r(shí)傳輸沒有回傳ACK或NAK來(lái)作握手的動(dòng)作,也即是根本沒有時(shí)間來(lái)重傳數(shù)據(jù)。
為了在一個(gè)微幀同時(shí)支持3組數(shù)據(jù)傳輸以進(jìn)行高速同步傳輸,USB 2.0規(guī)范采用DATA2與MDATA兩種規(guī)范全新的數(shù)據(jù)PID。高速中斷傳輸能在DATA0與DA-TAI PID之間進(jìn)行緊密連接(togglg),如圖1所示。
圖1 高帶寬的中斷數(shù)據(jù)交易
對(duì)于高速等時(shí)傳輸來(lái)說(shuō),數(shù)據(jù)緊密連接位應(yīng)分為IN與OUT兩種類型。在高速等時(shí)傳輸IN中,每一個(gè)微幀包含2或3個(gè)數(shù)據(jù)交易。因此,使用DATA0、DATA1、DA-TA2來(lái)表示數(shù)據(jù)交易在微幀的位置,如表1所列。如圖2所示,顯示了一個(gè)等時(shí)IN端點(diǎn)在每個(gè)微幀中同步進(jìn)行3組數(shù)據(jù)傳輸?shù)倪^(guò)程。而數(shù)據(jù)PID(DATAx)代表傳輸要求的數(shù)量以及微幀的數(shù)值(x)。
表1 高速等時(shí)傳輸IN的數(shù)據(jù)緊密連接位
圖2 高帶寬的等時(shí)IN數(shù)據(jù)交易
對(duì)于高速等時(shí)OUT傳輸,最后數(shù)據(jù)PID(DATAx)代表在發(fā)生第x個(gè)微幀之前所進(jìn)行的一個(gè)傳輸。先前的數(shù)據(jù)傳輸以MDATA PID方式進(jìn)行數(shù)據(jù)傳輸。圖3中顯示了一個(gè)等時(shí)OUT端點(diǎn)能在每個(gè)微幀中同步完成3組數(shù)據(jù)傳輸?shù)倪^(guò)程。如表2所列,在高速等時(shí)傳輸OUT中,每一個(gè)微幀包含2或3個(gè)數(shù)據(jù)交易。因此,使用DA-TAO、DATA1、MDATA來(lái)表示是否有更多的數(shù)據(jù)會(huì)跟隨著在微幀中。
圖3 高帶寬的等時(shí)OUT數(shù)據(jù)交易
表2 高速等時(shí)傳輸OUT的數(shù)據(jù)緊密連接位
評(píng)論