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