USB通信協(xié)議——分割數(shù)據(jù)交易
中斷與等時(shí)傳輸?shù)?a class="contentlabel" href="http://butianyuan.cn/news/listbylabel/label/分割數(shù)據(jù)交易">分割數(shù)據(jù)交易的程序是類似的,但更嚴(yán)謹(jǐn)?shù)囟x其時(shí)序。而這個(gè)目標(biāo)即是在設(shè)各有可使用的數(shù)據(jù)后,會盡可能立即去傳輸數(shù)據(jù)給主機(jī),或是設(shè)備已經(jīng)準(zhǔn)備好新的數(shù)據(jù)之前,主機(jī)能傳輸數(shù)據(jù)給設(shè)各。為了達(dá)到這個(gè)目標(biāo),具有大量封包的等時(shí)數(shù)據(jù)交易可以使用多個(gè)起始分割或完成分割數(shù)據(jù)交易,來每一次傳輸一部分?jǐn)?shù)據(jù)。
不像批量或控制傳輸,在中斷與等時(shí)傳輸?shù)钠鹗?a class="contentlabel" href="http://butianyuan.cn/news/listbylabel/label/分割數(shù)據(jù)交易">分割數(shù)據(jù)交易不含有握手階段。反而是在其后跟隨IN、OUT或SETUP封包,以及若是OUT或SETUP封包,應(yīng)再加上數(shù)據(jù)封包。
在此,對數(shù)據(jù)交易的起始分割與完成分割做個(gè)小結(jié)論(參考圖2)。
·仍然包含3個(gè)(或是更少)的數(shù)據(jù)交易層(令牌、數(shù)據(jù)與握手);
·令牌階段具有2個(gè)封包:SPLIT令牌封包與一般令牌封包;
·Start-OUT:SSPLIT(起始令牌)+令牌,數(shù)據(jù),(握手);
·Start IN:SSPLIT(起始令牌)+令牌,(握手);
·Complete OUT:CSPLIT(完成令牌)+令牌,握手;
·Complete IN:CSPLIT(完成令牌)+令牌,{數(shù)據(jù)),握手。
如圖2所示,在等時(shí)IN數(shù)據(jù)交易中,當(dāng)主機(jī)知道設(shè)各將會有部分?jǐn)?shù)據(jù)要回傳時(shí),就會在每一個(gè)微幀安排完成分割數(shù)據(jù)交易的工作。這種以較小量來要求數(shù)據(jù)的方式,可以確保主機(jī)盡可能快速地接收到數(shù)據(jù)。這樣主機(jī)就不必等待從設(shè)備以全速傳輸?shù)乃袛?shù)據(jù)。
此外,如圖3所示,在等時(shí)OUT數(shù)據(jù)交易中,主機(jī)會以一個(gè)或是更多的起始分割數(shù)據(jù)交易來送出數(shù)據(jù)。主機(jī)會安排這些數(shù)據(jù)交易的程序,如此集線器的緩沖區(qū)將不曾是空的,且會盡可能包含一些字節(jié)。在每一個(gè)SPLIT封包中,包含了用來表示其在低速或全速數(shù)據(jù)封包的數(shù)據(jù)位置的許多位。讀者也可以發(fā)現(xiàn)這個(gè)OUT數(shù)據(jù)交易不含完成分割數(shù)據(jù)交易的程序。
圖3 分割數(shù)據(jù)交易(OUT)過程示意圖
表比較了在不同的總線速度下,低速與全速設(shè)各所具有的數(shù)據(jù)交易的結(jié)構(gòu)與內(nèi)容。其中,列出了當(dāng)?shù)退倩蛉僭O(shè)各在高速總線上有一個(gè)數(shù)據(jù)交易,且主機(jī)在這些設(shè)各與USB 2.0主機(jī)集線器之間使用了起始分割數(shù)據(jù)交易(SSPLIT)以及完成分割數(shù)據(jù)交易(CSPLIT)時(shí),中間的集線器就負(fù)責(zé)將低速或全速加以完成分割,并且回報(bào)給主機(jī)。
表 不同的總線下,低速與全速設(shè)備所具有的數(shù)據(jù)交易的結(jié)構(gòu)與內(nèi)容
評論