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