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