USB通信協(xié)議——分割數(shù)據(jù)交易
出處:k9673 發(fā)布于:2008-12-16 10:43:33
若要實現(xiàn)真正的USB高速傳輸,一定要2.0主機(jī)與2.0集線器連接。但是如果中間插上了一臺1.1集線器,就無法達(dá)到這個高速傳輸?shù)男Ч?。此外,?dāng)?shù)退倩蚴侨僭O(shè)各被連接至2.0集線器后,這個集線器會轉(zhuǎn)換兩者所需的速度。但是這種速度的轉(zhuǎn)換并不是集線器的工作,它還要管理多個速度。而高速比全速快了40倍,又比低速快了320倍。若當(dāng)集線器在與設(shè)各交換低速或高速數(shù)據(jù)時,要整個總線去等待是沒有意義的。因此,這個解決方案即是分割數(shù)據(jù)交易。當(dāng)2.0主機(jī)要在高速總線上與低速或是全速來作通信時,即會使用分割交易的程序。低速或全速的一個單一數(shù)據(jù)交易通常需要兩種類型的分割數(shù)據(jù)交易,其中,一個或是更多地起始分割數(shù)據(jù)交易(start-SplittransactIons)來送出信息給設(shè)備,或是更多地完成分割數(shù)據(jù)交易(complete-split transactions),如圖1所示。其中,可以看到不論是起始分割數(shù)據(jù)交易去送出信息給設(shè)各,或是更多地完成分割數(shù)據(jù)交易,而其后都跟隨著一般的令牌和數(shù)據(jù)封包等。

圖1 起始分割數(shù)據(jù)交易與完成分割數(shù)據(jù)交易的示意圖
但其中,有一個例外的是,快速等時OUT數(shù)據(jù)交易。這是因其無須回傳任何值,所以不必使用完全分割數(shù)據(jù)交易。而即使用戶需要包含更多的數(shù)據(jù)交易來實現(xiàn)一個傳輸?shù)墓ぷ?,但分割?shù)據(jù)交易的程序?qū)沟每偩€的時間有較佳的使用性。這是因為它們將會縮小對于低速或是全速設(shè)備用來響應(yīng)所需花費的總線等待時間量。
如圖1所示,在起始分割數(shù)據(jù)交易中,2.0主機(jī)會送出至起始分割令牌封包(Start-Split Token Packet,SSPLIT),其后再跟隨一般的低速或是全速令牌封包(在令牌階段中,包含2個令牌封包,SSPLIT(起始令牌)+令牌),以及指定此設(shè)備的數(shù)據(jù)封包。此時,若設(shè)各所連接的2.0集線器回傳ACK或是NAK,主機(jī)就可以針對別的數(shù)據(jù)交易很自由地使用整個總線的帶寬。而設(shè)各也知道至今仍未有任何的數(shù)據(jù)存在。
為了更清楚了解整個起始分割數(shù)據(jù)交易與完成分割數(shù)據(jù)交易的過程,讀者可以比對圖2與圖3,分割數(shù)據(jù)交易IN與OUT的過程示意圖。在這兩個圖中,包含了3個主要的傳輸部分,2.0主機(jī)、2.0集線器與低速或是全速的設(shè)各。因此,讀者可以從這3個主要的部分來加以分析,且以圖2與3所示之3個步驟來加以了解。

圖2 分割數(shù)據(jù)交易(IN)過程示意圖
如圖2所示的第1步中,2.0主機(jī)先送出SSPLIT與IN令牌。第2步,集線器就會轉(zhuǎn)換主機(jī)接收到的封包或多 個封包為適當(dāng)?shù)乃俣?,然后將它們送至設(shè)備,以及存儲如果設(shè)備有的任何響應(yīng)。根據(jù)數(shù)據(jù)交易類型,設(shè)各可以回傳數(shù)據(jù)、握手或是沒有任何動作。對于設(shè)備部分來說,這個數(shù)據(jù)已經(jīng)是以預(yù)期的低速或是全速來處理的,且不知這是已被分割過的數(shù)據(jù)交易。此時,主機(jī)仍未收到任何設(shè)備的響應(yīng)。當(dāng)集線器已經(jīng)完成了與設(shè)各的數(shù)據(jù)交易的工作后,緊接著,主機(jī)可以開始另外的總線傳輸工作。同時,該集線器也必須加以處理。
此時對主機(jī)來說,當(dāng)其認(rèn)為集線器已經(jīng)有足夠的時間來完成與設(shè)各的數(shù)據(jù)交易后,就開始與集線器進(jìn)行完成分割數(shù)據(jù)的步驟,這即是步驟3(注意到這個動作在數(shù)據(jù)交易OUT,是不需要的)。
在第3步中的完成分割數(shù)據(jù)交易中,主機(jī)會送出完成分割數(shù)據(jù)交易,其后一般再跟隨低速或全速令牌封包(在令牌階段中,包含2個令牌封包,CSPLIT(完成令牌)+令牌),來要求集線器已經(jīng)從設(shè)各收到的數(shù)據(jù)或狀態(tài)信息。這也可參考圖2所示的下半部。集線器就會回傳所要求的數(shù)據(jù)或是狀態(tài)碼。這將是完成數(shù)據(jù)交易的動作。如果集線器并沒有準(zhǔn)備好可以送出封包,它將會回傳NYET狀態(tài)碼,而且主機(jī)還會再試。
中斷與等時傳輸?shù)姆指顢?shù)據(jù)交易的程序是類似的,但更嚴(yán)謹(jǐn)?shù)囟x其時序。而這個目標(biāo)即是在設(shè)各有可使用的數(shù)據(jù)后,會盡可能立即去傳輸數(shù)據(jù)給主機(jī),或是設(shè)備已經(jīng)準(zhǔn)備好新的數(shù)據(jù)之前,主機(jī)能傳輸數(shù)據(jù)給設(shè)各。為了達(dá)到這個目標(biāo),具有大量封包的等時數(shù)據(jù)交易可以使用多個起始分割或完成分割數(shù)據(jù)交易,來每傳輸一部分?jǐn)?shù)據(jù)。
不像批量或控制傳輸,在中斷與等時傳輸?shù)钠鹗挤指顢?shù)據(jù)交易不含有握手階段。反而是在其后跟隨IN、OUT或SETUP封包,以及若是OUT或SETUP封包,應(yīng)再加上數(shù)據(jù)封包。
在此,對數(shù)據(jù)交易的起始分割與完成分割做個小結(jié)論(參考圖2)。
·仍然包含3個(或是更少)的數(shù)據(jù)交易層(令牌、數(shù)據(jù)與握手);
·令牌階段具有2個封包:SPLIT令牌封包與一般令牌封包;
·Start-OUT:SSPLIT(起始令牌)+令牌,數(shù)據(jù),(握手);
·Start IN:SSPLIT(起始令牌)+令牌,(握手);
·Complete OUT:CSPLIT(完成令牌)+令牌,握手;
·Complete IN:CSPLIT(完成令牌)+令牌,{數(shù)據(jù)),握手。
如圖2所示,在等時IN數(shù)據(jù)交易中,當(dāng)主機(jī)知道設(shè)各將會有部分?jǐn)?shù)據(jù)要回傳時,就會在每一個微幀安排完成分割數(shù)據(jù)交易的工作。這種以較小量來要求數(shù)據(jù)的方式,可以確保主機(jī)盡可能快速地接收到數(shù)據(jù)。這樣主機(jī)就不必等待從設(shè)備以全速傳輸?shù)乃袛?shù)據(jù)。
此外,如圖3所示,在等時OUT數(shù)據(jù)交易中,主機(jī)會以一個或是更多的起始分割數(shù)據(jù)交易來送出數(shù)據(jù)。主機(jī)會安排這些數(shù)據(jù)交易的程序,如此集線器的緩沖區(qū)將不曾是空的,且會盡可能包含一些字節(jié)。在每一個SPLIT封包中,包含了用來表示其在低速或全速數(shù)據(jù)封包的數(shù)據(jù)位置的許多位。讀者也可以發(fā)現(xiàn)這個OUT數(shù)據(jù)交易不含完成分割數(shù)據(jù)交易的程序。

圖3 分割數(shù)據(jù)交易(OUT)過程示意圖
表比較了在不同的總線速度下,低速與全速設(shè)各所具有的數(shù)據(jù)交易的結(jié)構(gòu)與內(nèi)容。其中,列出了當(dāng)?shù)退倩蛉僭O(shè)各在高速總線上有一個數(shù)據(jù)交易,且主機(jī)在這些設(shè)各與USB 2.0主機(jī)集線器之間使用了起始分割數(shù)據(jù)交易(SSPLIT)以及完成分割數(shù)據(jù)交易(CSPLIT)時,中間的集線器就負(fù)責(zé)將低速或全速加以完成分割,并且回報給主機(jī)。
表 不同的總線下,低速與全速設(shè)備所具有的數(shù)據(jù)交易的結(jié)構(gòu)與內(nèi)容

歡迎轉(zhuǎn)載,信息來源維庫電子市場網(wǎng)(www.hbjingang.com)
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 什么是氫氧燃料電池,氫氧燃料電池的知識介紹2025/8/29 16:58:56
- SQL核心知識點總結(jié)2025/8/11 16:51:36
- 等電位端子箱是什么_等電位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重復(fù)控制的復(fù)合控制策略2025/7/29 16:58:24
- 什么是樹莓派?一文快速了解樹莓派基礎(chǔ)知識2025/6/18 16:30:52









