無(wú)線USB協(xié)議的帶寬分析
無(wú)線USB是一種新型互連方法,它為現(xiàn)有USB應(yīng)用提供了一種替代的無(wú)線方案。無(wú)線USB設(shè)備的開(kāi)發(fā)人員的首要考慮是保證與以往成熟技術(shù)(如USB 2.0)相當(dāng)?shù)膫鬏斅?。本文?duì)無(wú)線USB 帶寬特性作了詳細(xì)分析,并與USB進(jìn)行了比較。然后,利用分析結(jié)果對(duì)幾種單USB 設(shè)備傳輸率需求與一系列有代表性的多USB設(shè)備配置進(jìn)行建模。這些例子表明,大批潛在的USB 設(shè)備亦可以采用無(wú)線USB 技術(shù)實(shí)現(xiàn)。本文還有助于讀者理解當(dāng)前系統(tǒng)實(shí)現(xiàn)中可能會(huì)出現(xiàn)的瓶頸,以及進(jìn)一步提升系統(tǒng)流量的可能方案。本文假設(shè)讀者已熟悉了USB 系統(tǒng)架構(gòu)。
介紹
認(rèn)證無(wú)線 USB(Certified Wireless USB)是一種新技術(shù),它提供的無(wú)線連接能力建立在強(qiáng)大的 WiMedia 超寬帶(UWB)公共射頻平臺(tái)之上。WiMedia UWB 可以提供高達(dá)480Mb/s的帶寬,這也是有線USB 2.0的帶寬。因此,它吸引終端用戶與應(yīng)用開(kāi)發(fā)人員將現(xiàn)有 USB 應(yīng)用遷移到無(wú)線領(lǐng)域。USB無(wú)線技術(shù)應(yīng)用將使便攜硬盤驅(qū)動(dòng)、打印機(jī)、數(shù)碼相機(jī)、以及諸如PDA或手機(jī)一類的手持設(shè)備受益。
現(xiàn)在人們對(duì)新協(xié)議到底能為應(yīng)用或類驅(qū)動(dòng)(class driver)提供多大的有效帶寬表示關(guān)注。由于其無(wú)線特性,總開(kāi)銷中必須計(jì)入一些額外的部分。無(wú)線 USB 能否提供足夠的帶寬以支持應(yīng)用USB的設(shè)備,尤其是那些基于龐大結(jié)構(gòu)和高帶寬要求的應(yīng)用設(shè)備?本文特別關(guān)注無(wú)線USB協(xié)議的效率問(wèn)題。首先,我們將詳細(xì)分析降至幀級(jí)的無(wú)線協(xié)議開(kāi)銷,并提供其與USB的簡(jiǎn)單比較作為參考。接下來(lái),我們將研究幾個(gè)應(yīng)用實(shí)例。最后,我們會(huì)簡(jiǎn)單討論系統(tǒng)實(shí)現(xiàn)中的潛在瓶頸以及可能的解決方案。
無(wú)線USB協(xié)議開(kāi)銷的分析
由于無(wú)線USB的自身特性,與有線USB相比,它要有一些“額外”的開(kāi)銷。無(wú)線 USB 建立在 WiMedia UWB 平臺(tái)之上,該平臺(tái)包含用于點(diǎn)對(duì)點(diǎn)(ad hoc) 個(gè)人域網(wǎng)絡(luò)(piconet)的一個(gè) UWB 物理(PHY)層,以及整套的分布式介質(zhì)訪問(wèn)控制(MAC)協(xié)議。如圖1所示,WiMedia MAC將空中時(shí)間劃分成一種65ms的基本時(shí)序結(jié)構(gòu),名為超幀(superframe)。然后再進(jìn)一步劃分為 256個(gè)介質(zhì)訪問(wèn)隙(medium access slot)。每個(gè)超幀都開(kāi)始于一個(gè)占16個(gè)介質(zhì)分配隙(MAS)的信標(biāo)期(beacon period)。信標(biāo)是WiMedia MAC的核心;每個(gè)活動(dòng)的WiMedia設(shè)備嘗試在信標(biāo)周期內(nèi)傳輸自己的信標(biāo)時(shí),都必須聆聽(tīng)其他的信標(biāo)。換句話說(shuō),空中時(shí)間的 1/16必須用于WiMedia MAC協(xié)議的信標(biāo)操作。
圖1 基本時(shí)序結(jié)構(gòu)圖
UWB 技術(shù)也不可避免地帶來(lái)了數(shù)據(jù)包級(jí)的開(kāi)銷,如前導(dǎo)(preamble)、PHY 與 MAC頭(PLCP 頭)、IFS。所有這些都將考慮在下面的計(jì)算中。
需要注意的是,即使是最好的有線 USB 技術(shù),雖然一般情況下比無(wú)線技術(shù)要小得多。也同樣存在著通信方法的開(kāi)銷。一個(gè)典型實(shí)例就是“位填充”。同樣,從應(yīng)用觀點(diǎn)看,在數(shù)據(jù)包級(jí)也存在著一些可以看作開(kāi)銷的部分,如 SYNC、EOP和CRC等。
無(wú)線 USB協(xié)議中的改進(jìn)
為提高無(wú)線USB協(xié)議的效率,引入了事務(wù)類型和流量?jī)煞N增強(qiáng)方法。
圖2是無(wú)線USB與有線USB之間事務(wù)概念的一個(gè)比較圖。在USB 2.0中,傳入或傳出一個(gè)設(shè)備當(dāng)中的任何一個(gè)數(shù)據(jù)包都需要來(lái)自USB主機(jī)的一個(gè)令牌。在無(wú)線 USB 中,數(shù)據(jù)傳輸則以事務(wù)組(transaction group)的形式完成。事務(wù)組是指微調(diào)度管理指令(MMC)與被分配協(xié)議時(shí)間隙的組合,在時(shí)間隙期間執(zhí)行一個(gè)或多個(gè)無(wú)線 USB 事務(wù)。即,對(duì)無(wú)線 USB,并非每個(gè)空中傳輸數(shù)據(jù)包都需要一個(gè)令牌;一組針對(duì)不同端點(diǎn)(EP)管道(甚至是不同設(shè)備)的事務(wù)可以共享同一令牌。
圖2 無(wú)線與有線USB事務(wù)概念的比較
無(wú)線USB中的傳輸率改進(jìn)是通過(guò)定義一種較大的包尺寸(最大為 3584 應(yīng)用負(fù)荷)與數(shù)據(jù)的突發(fā)模式來(lái)實(shí)現(xiàn)的。通過(guò)使用數(shù)據(jù)突發(fā)模式,幀間距可以從 10μs 減小到 1.875μs。另外,還可以使用突發(fā)先導(dǎo)(5.625μs)來(lái)代替標(biāo)準(zhǔn)先導(dǎo)(9.875μs)。
無(wú)線USB的拓?fù)浣Y(jié)構(gòu)產(chǎn)生了大的有效帶寬。由于其無(wú)線特性,不再需要傳統(tǒng)的“樹(shù)”狀拓?fù)洌@樣集線器就被省略了。原來(lái)消耗在集線器輪詢上的時(shí)間現(xiàn)在可以用于數(shù)據(jù)傳輸。
最后,無(wú)線USB 在高級(jí)協(xié)議上作了一些優(yōu)化。例如,對(duì)bulk-in(批量傳入)事務(wù),無(wú)線USB不需要一個(gè)主機(jī)來(lái)發(fā)送獨(dú)立的握手包,而是將握手信息嵌入在其后的MMC 中。這樣進(jìn)一步提高了信道的使用效率。另外,還省略了控制傳輸設(shè)置階段的握手(handshake),如果數(shù)據(jù)段后緊接著控制傳輸,則數(shù)據(jù)段令牌將嵌入到設(shè)置令牌中。
從上述分析可見(jiàn),無(wú)線USB 有一些由于無(wú)線特性以及介質(zhì)訪問(wèn)控制層所帶來(lái)的額外開(kāi)銷,但無(wú)線 USB 協(xié)議設(shè)計(jì)者亦采用了一些新方法來(lái)提升系統(tǒng)傳輸率。因此,需要把全部因素包括進(jìn)來(lái),以作全面考慮。下面我們將計(jì)算無(wú)線 USB 的有效帶寬,并作進(jìn)一步的詳盡描述。
計(jì)算應(yīng)用的有效帶寬
下面的計(jì)算基于一種單設(shè)備的簡(jiǎn)單方案。類似方法也可以分析多設(shè)備的情況。理想情況下,如果一個(gè)無(wú)線 USB 主機(jī)可以將不同設(shè)備的多個(gè)事務(wù)安排在單一事務(wù)組中,則能夠大大改進(jìn)平均傳輸率數(shù)字(因?yàn)榱钆票旧肀徽J(rèn)為是一種協(xié)議開(kāi)銷,因此,如果多個(gè)事務(wù)能夠共享一個(gè)令牌,則能減少總開(kāi)銷)。
表1是一個(gè)標(biāo)準(zhǔn)無(wú)線USB數(shù)據(jù)包開(kāi)銷的計(jì)算。
現(xiàn)在,我們看看在事務(wù)級(jí)的帶寬特性。此處以批量傳出(bulk-out)事務(wù)為例,批量傳入(bulk-in) 事務(wù)的計(jì)算方法與之相似。此外,由于無(wú)線USB協(xié)議省略了bulk-in事務(wù)的獨(dú)立握手包,因此bulk-in 可以實(shí)現(xiàn)比bulk-out更高的流量。(相同的 MMC 可以用于批量傳入(bulk-in)和批量傳出(bulk-out)事務(wù),前提是這些事務(wù)被組合到一個(gè)事務(wù)組。)
整個(gè)事務(wù)的持續(xù)時(shí)間將為:T=2*SIFS+burstsize*(MIFS+Packetduration)+AckDuration+ MMCOUTDuration。握手與 MMC 持續(xù)時(shí)間的計(jì)算采用一種簡(jiǎn)單方法,因?yàn)閮煞N包都是一種預(yù)定義好的格式,有固定的長(zhǎng)度。等效有效帶寬的計(jì)算方式如下:B = [本次事務(wù)中傳輸?shù)挠行?yīng)用負(fù)荷/ T] *15/16。
其中,附加的因數(shù) 15/16 用于消除信標(biāo)操作的開(kāi)銷。
表2列出了不同數(shù)據(jù)包與突發(fā)尺寸配置下的有效應(yīng)用帶寬。
應(yīng)用的全部有效帶寬大約為總帶寬的 75%。
注意,上述計(jì)算是單純基于事務(wù)級(jí)開(kāi)銷,沒(méi)有考慮用于信道保留的 MAC 層共存策略。
USB事務(wù)級(jí)的等效帶寬如表3所示。
應(yīng)用的全部有效帶寬大約為總帶寬的88%。
注意,這一計(jì)算中尚未包含一些其他因素(雖然不太重要),如SOF和輪詢集線器所消耗的時(shí)間。
從USB 轉(zhuǎn)到無(wú)線USB有效帶寬的下降是源于射頻的特性:即在發(fā)射(TX)與接收(RX)之間過(guò)渡耗時(shí)嚴(yán)重。
與USB相比,無(wú)線USB 更適合于批量數(shù)據(jù)傳輸,而對(duì)少量數(shù)據(jù)來(lái)說(shuō),過(guò)渡的成本太高。
另外對(duì) ISO 傳輸,無(wú)線USB 定義了一個(gè)限制,即把每個(gè)同步端點(diǎn)對(duì)帶寬的需求限制在不超過(guò) 40 Mb/s。這意味著:如果一個(gè)同步端點(diǎn)服務(wù)間隔為 4.096ms,帶寬需求為 40Mb/s,則每個(gè)服務(wù)間隔內(nèi)可移動(dòng) 21475字節(jié)。將這個(gè)數(shù)字與支持大帶寬端點(diǎn)的USB 2.0(最高 192Mb/s)相比較。在準(zhǔn)備實(shí)現(xiàn)需要大帶寬的同步傳輸時(shí),要牢記這一點(diǎn)。
應(yīng)用實(shí)例
表4是幾個(gè)當(dāng)前使用USB并需要大帶寬的典型應(yīng)用實(shí)例。通過(guò)分析這些實(shí)例的帶寬需求,就能更好地了解這些應(yīng)用是否能夠完美地配合于無(wú)線 USB 框架。
總結(jié)
迄今為止我們所見(jiàn)的大多數(shù)應(yīng)用均可以無(wú)縫地遷移到無(wú)線USB 上。至于海量存儲(chǔ)這種“貪婪”的應(yīng)用,無(wú)線USB的性能與USB 2.0相比會(huì)受到一些影響。這種情況下必須作進(jìn)一步研究,從而確保在提供特定應(yīng)用及無(wú)線解決方案時(shí),性能的降級(jí)程度在可承受范圍內(nèi)。
實(shí)現(xiàn)建議
如前所述,無(wú)線USB協(xié)議通過(guò)傳輸批量數(shù)據(jù)可以獲得更好的帶寬性能,系統(tǒng)設(shè)計(jì)者應(yīng)有效地管理緩存,即當(dāng)主機(jī)給出一個(gè)用于數(shù)據(jù)傳輸?shù)臅r(shí)間窗口(CTA)時(shí),設(shè)備應(yīng)總是保有足夠用于發(fā)送的數(shù)據(jù),或有足夠保存數(shù)據(jù)的緩存空間。緩存管理不僅要考慮來(lái)自應(yīng)用的需求,還要考慮無(wú)線 USB 的端點(diǎn)成對(duì)描述符(endpoint companion descriptor)。否則,主機(jī)仍要根據(jù)包尺寸與突發(fā)尺寸來(lái)安排一個(gè)大的時(shí)間窗口,而事實(shí)上,設(shè)備實(shí)際只用到一部分時(shí)間。這也會(huì)浪費(fèi)整體的總線帶寬。
同樣,如果無(wú)線USB主機(jī)可以積累來(lái)自較高層的多個(gè)事務(wù)請(qǐng)求,并將它們高效地組織成事務(wù)組,也將提升多設(shè)備配置的總體系統(tǒng)性能。當(dāng)然,主機(jī)實(shí)現(xiàn)應(yīng)有充足的本地緩存,以保存該事務(wù)組中發(fā)射或接收的數(shù)據(jù)包。
評(píng)論