前言
現行國際無線標準大致以歐規和美規為主,依據不同的傳輸距離標準分為PAN(Personal Area Network)、LAN(Local Area Network)、MAN(Metropolitan Area Network)及WAN(Wide Area Network)。新推出標準已不約而同朝向高寬頻和高速傳輸趨勢發展,例如IUT所頒定的4G無線技術,資料傳輸速率在靜止時必須達到1Gbps,高速移動下也要有100Mbps的表現。
高速資料傳輸速率應用日益普及,連帶促使通訊協定第二層中的媒體擷取層(MAC)在單位時間必須處理的資料位元數將大幅增加。此外,無線技術快速接取Internet,包括語音、資料和多媒體服務蓬勃發展,當混合各種需求的服務在一個高速無線通訊產品時,MAC也需要在特性時變的無線實體通道下,兼顧不同服務品質要求的同時,也能提供上層更多的服務流容量。
因此,在成本效益、上市時程及市場競爭力的考量下,建立系統性的無線寬頻MAC實現方法和早期效能評估工作的技能,在邁向高速無線寬頻階段益顯重要。
FPGA之WiMAX參考設計
因應標準變化提升硬體設計靈活度
行動寬頻接取服務因市場需求發展而備受矚目,特別是在於IEEE 802.16、亦即WiMAX的系列標準,其中802.16e-2005(亦即行動WiMAX標準)可視為台灣網通產業極佳的跳板與契機,可藉此讓台灣從週邊設備的製造產業位置,逐漸邁入核心設備(Infrastructure Equipment)的製造行列。
與此同時,下一波的WiMAX技術IEEE 802.16j及IEEE 802.16m標準也正如火如荼地制訂中。為避免因標準變化所帶來的專案失敗風險,在開發WiMAX產品時,相容的硬體靈活性和重組硬體結構的能力,就顯得非常重要。
WiMAX FPGA參考設計要點
@內文;設計無線寬頻系統時,其最嚴峻的挑戰是釐清哪些任務應當由處理器上的軟體執行、以及哪些任務該由特定硬體功能來完成。因此,採用處理器搭配FPGA的架構,則成為產品極佳的解決方案。目前FPGA廠商為搶佔WiMAX無線寬頻接取服務市場,也陸續推出FPGA架構的WiMAX參考設計方案。
Xilinx設計方案大要
Virtex-4系列設計平台
Xilinx針對WiMAX應用領域的FPGA架構,分別推出Virtex-4以及Spartan3E系列。其中Virtex-4系列就有包括3個設計平台:Virtex-4 LX支援邏輯處理;Virtex-4 SX支援訊號處理;Virtex-4 FX加入了支援嵌入型處理與高速序列連結的架構。
Xilinx平台提供各種共通的FPGA功能與不同的核心功能組合,例如邏輯、記憶體、平行、序列I/O等。
除共通功能外,Virtex-4 FPGA具有不同種類的嵌入式處理器、DSP功能、改良型時脈管理、Hard IP Core、混合訊號以及其它功能區塊等核心功能組合,以支援不同種類應用的特定需求。Xilinx主要把Virtex-4系列的內部功能加以運用在無線通訊系統上,如圖一所示,用以實現諸如DUC、CFR、DPD、RACH、Searcher、OFDM PHY、TCC及MIMO等不同的功能。
另外Virtex-4 FX內建的嵌入型處理器,就已經內含有一組短延遲時間輔助處理器介面埠(APU),使用者可以利用這個介面埠,將自己定義的指令整合到軟體程式碼中,再透過運行這些自有指令改變整個邏輯結構,不但可緊密配合軟硬體,也簡化架構劃分過程。
《圖一 Virtex-4應用在無線通訊上的硬體區塊示意圖》 |
|
Spartan-3E解決方案
除了高階的Virtex-4系列外,Spartan-3E解決方案則針對低成本的市場需求,並與寬頻無線晶片半導體開發商Wavesat共同推出16d Fixed WiMAX mini-PCI介面設計,如圖二所示。在此Spartan-3E FPGA被運用於實現主要系統性功能,包括Lower Layer MAC部份以及PCI介面。
《圖二 Xilinx與Wavesat共同推出之16d Fixed WiMAX mini-PCI介面參考設計》 |
|
WiMAX FEC IP Pack
如圖三所示,對於WiMAX系統中基頻部份所必須要使用的前向糾錯(FEC),Xilinx也推出Virtex-4和Spartan-3 FPGA系列均可支援的IP Pack,利用Virtex-4和Spartan-3E內部的數位信號處理(DSP)區塊功能來實現這些FEC功能。
WiMAX FEC IP Pack包括有下列幾項:
- ●Convolution Turbo Code Encoder/Decoder(CTC);
- ●Convolution(Viterbi)Codec Encoder/Decoder
- ●Reed-Solomon Encoder/Decoder
- ●Turbo Product Code(TPC)Encoder/Decoder
FPGA能否處理整個MAC?
對於WiMAX系統設計,WiMAX採用處理器搭配FPGA已是現有趨勢,但是在FPGA裡,目前技術上也只處理到Lower Layer MAC階段,到底該實現WiMAX MAC中的那一部份,是否能把MAC中其它的部份挪出,進一步能夠分散處理器負擔的此項關鍵技術,將會大大地影響之後WiMAX的系統設計趨勢。
WiMAX MAC解決方案
Processor與硬體加速器界線日益模糊
對無線寬頻MAC層而言,傳統上會由處理器搭配特定的硬體電路來完成實現,此特定硬體電路俗稱為Lower Layer MAC。一般而言,對於Time-critical、或是計算固定但需要大量資料處理的部分,會交由硬體來加速完成。另一方面,Time-insensitive或需要複雜計算的處理,才會交由Processor來完成。然而對越來越講求高速的MAC而言,此一界線將變得越來越模糊,因為需要複雜計算處理的部分,也有很高機率會受到Time-critical的限制。此外,Processor與硬體加速器之間的I/O和記憶體頻寬,也會產生重大的影響。
提昇硬體執行效能
以資策會開發IEEE 802.16e WiMAX基地台MAC軟體的經驗為例,在CPU為IXP-465@667 MHz的硬體環境下,當系統中有兩個MSs時,會需要約250 MIPS的計算量,同時增加第三個MS將會再需要50MIPS。過去的研究顯示,隨著MS數量的增加,對系統資源的消耗將會呈指數性的成長,因此預估在這樣的平台上,能同時支援的Active使用者容量將低於10。
用FPGA減少處理器運算量
若使用FPGA來實現部分Time-critical或複雜運算的工作時,將可有效減少處理器所需的運算量。因此在相同的使用者數量下,系統可以使用較低階的處理器而降低成本;或者在使用相同處理器的情況下,允許系統容忍更多的使用者。下表為在純軟體實現下,VoIP應用的使用者容量預估,其中預估參數為5ms WiMAX frame;Per user有4條WiMAX MAC connections;20ms VoIP frame。
(表一) VoIP使用者容量預估表
|
Concurrent active users per frame |
Concurrent active VOIP users (20% headroom) |
Concurrent active data connections |
Number of users |
< 10 |
< 32 (= 10*4*80%) |
< 32*4 = 128 |
對WiMAX MAC進行軟硬體切割
以過去的開發經驗為基礎,針對WiMAX MAC進行軟硬體切割,以期最佳化執行效率並得以增加使用者容量,就是一個在增加最低的成本下所能夠得到的較佳結果。依據資策會所實現的IEEE 802.16e Mobile WiMAX MAC軟體雛形,除了Checksum、CID filter、Encrypt/decrypt等習知Lower Layer MAC之外,對於有關「MAC資料排程與決策」及「MAP即時處理」等技術議題,也進行硬體加速之技術。
MAC資料排程與決策
@小標高速資料排程演算法課題
當考慮無線通道特性時,如何實現高速資料傳送排程演算法的設計,非常關鍵。理論上來說,可藉由過去的無線通道量測結果及預測技術,先針對接下來要傳送的資料,做最佳的Channel Rate Assignment後,再對所要傳送的資料進行不同準則的排程計算。然而隨著Data Burst的長度縮短以及支援服務流數目增加,上述程序如何在相當短的時間內完成便顯得困難。
另外,一個完整的排程器需考慮諸多系統參數:
- ●每一WiMAX Frame的DL/UL 比例;
- ●每一連線服務品質QoS參數;
- ●封裝(Encapsulation)所產生如表頭、子表頭與檢查碼之Overheads;
- ●系統廣播(如UL/DL MAP、DCD/UCD)之Overheads;
- ●每一用戶對各子載波通道特性進行頻寬配置(Channel conditions);
- ●目前用戶與連線上行與下行Non-HARQ與 HARQ頻寬需求;
- ●用戶所需上行回饋通道(如HARQ ACK channel、CQICH與Feedback channels);
- ●重送HARQ與ARQ頻寬需求;
- ●每一連線與進入睡眠模式的用戶省電參數(如Listen/Active週期與時間);
- ●呼叫(Paging)進入待機模式的用戶所需頻寬;
- ●每一進入換手模式的用戶所需頻寬;
- ●週期性調距與頻寬需求之頻寬;
- ●多點跳躍頻寬配置與路由選擇。
考慮上述複雜參數與參數交互影響之關聯性(如MAPs與Normal data burst 個數),可預見排程器對寬頻無線網路頻寬配置之複雜性與重要性, 特別是如何處理大量的連線數目與對抗高速移動所造成無線通道快速變化。
革新MAC資料基因排程演算法
在MAC資料排程演算法上可使用基因算法來做排程。一般軟體的基因法排程是選染色體,交配後突變經篩選後成為子代,然後子代再做交配、突變篩選變為孫代,這樣代代篩選,尋找適應環境的後代,不過這需要花費許久時間,無法滿足即時處理需求。
這時若使用硬體同時並進及Pipeline的原理,可變化基因演算法,亦即不是以下一代配同代,而是跨世代交配以子代回頭與父代交配產生好的染色體,如此便可迅速選擇到適應環境的下一代,此方法便需要使用硬體支援。爾後再將排程好的基因排程,使用Merge演算法改變調變方式,並利用可靠低速的調變,減少重傳,加上排程壓縮將減少訊框數量,大幅度提昇整體效率。
MAP的即時處理
從WiMAX Frame Structure來看,在一個Frame中帶有DL-MAP與UL-MAP等WiMAX MAC管理訊息。DL-MAP帶有為描述這個Frame中整個下傳區間的資源配置資訊;UL-MAP則描述著這個Frame或下一個Frame的上傳區間的資源配置。解讀這些MAP都需要即時處理,尤其是DL-MAP,必須在收到的同一個5ms Frame完成解讀,並對下層PHY進行相關設定。
MAP的格式因為所帶IE(Information Element)在數量上和種類的不同,變得不容易完全由硬體解釋。因此設計上可採部份IE由硬體負責其功能,部份由軟體判斷後操作。以DL-MAP而言,接取模式的IE就可以硬體判斷直接控制PHY的接取,將所需讀取的資料以適當的接收模式接收。而其它延伸IE,可由硬體作初步處理後,交由軟體進行後續處理並執行相對應的程序。以UL-MAP而言,透過硬體加速器輔助,可減少過多的訊息傳遞給處理器,因此有助於提升整體傳輸排程的處理時間。
使用FPGA實現WiMAX MAC
FPGA處理MAC的好處
通常使用軟體方式完成所有MAC高速資料傳輸功能,包含格式排程與封裝處理、Policy決策處理等,是一個極高的技術挑戰。由於FPGA具有可編程重組電路功能結構的特性,能夠同時並行執行不同的功能的結構,因此透過硬體FPGA來加速部分具時效性之MAC功能,預期可獲得最佳化之處理速度,這將會是既符合經濟效益且具有一定技術彈性之可行方法。
《圖四 WiMAX MAC Data Plane硬體架構示意圖》 |
|
最佳化處理無線寬頻MAC
在無線寬頻MAC中有許多最佳化議題,軟體能處理的部分有其侷限瓶頸,因此對於Time-critical與大量資料處理部份,如果單純利用軟體來執行,系
統可能無法即時反應而造成整體效能低落。
Data Plane適合由FPGA執行
MAC大致上來說分為Control Plane及Data Plane,Control Plane負責同步、入網、連線建立及維護等功能,這些功能涉及很多Peer Message交換,需要較高的智能以及彈性,較不適合由FPGA來執行。相對地,Data Plane較為規律,適合由FPGA執行。
以圖四來說,Data Plane可分成Classification、Scheduling以及PDU Construction三個模組。Classification將Ethernet封包做分類,並將其存在Queue裡;Scheduler配合著一些輸入參數,經過計算後決定每個Frame該送出多少資料出去,再將這些資料組裝成MAC PDU送往PHY層。以FPGA的特性,相當適合Data Plane的任務,處理這些封包分類、排程及PDU組裝等功能。若能進一步將Data Plane硬體化,將可有效提升MAC效能並分攤CPU計算資源。
用FPGA檢查分類PDU
高速WiMAX MAC系統架構圖如圖五所示。當PHY把MAC PDU解出來同時,利用FPGA對PDU做Checksum檢查、分類等動作,並將帶有MAP資訊的PDU給獨立出來,進行無線資源分配的資訊解析。如此不必再經由CPU,可直接將MAP資訊迴授給PHY控制,也可直接丟給Scheduler計算,來決定下個Frame的資料傳輸。CPU資源可釋放出來處理其他部分,不必負責整個MAC的運作過程。
FPGA開發提升競爭力
在越來越高速的無線通訊產品開發上,藉由FPGA平台實現高速WiMAX MAC技術,可以RTL code或 Soft IP的型式展現,這便能移植在任何廠牌的FPGA工具中。在一定的成本效益考慮下,藉由硬體協助達到整體的最佳化效能及降低成本,將是一個非常重要的技術競爭力考量。
資策會開發高速WiMAX MAC成果
資策會在實現高速WiMAX MAC開發時,進程規劃主要分為四個階段進行,包括:WiMAX MAC軟硬體系統分析、軟硬體共同設計和除錯平台建置、WiMAX MAC模組硬體化、以及WiMAX MAC軟硬體系統整合等。
進行軟硬體協同設計的解決方法可分為軟硬體分割評估、硬體模組建立、及系統整合測試等三步驟來進行。
軟硬體分割評估
針對WiMAX MAC Data Plane、MAC資料排程與決策以及MAP即時處理的部分,細分規劃其功能與任務,獨立出功能方塊,分析與評估這些獨立的功能方塊,利用初期分析的報告或是系統級描述語言的輔助,進行系統級的模擬與驗證,建立起一套效能評估的方法與準則,制訂基礎系統的雛形。
硬體模組建立
在完成軟硬體分割的評估之後,利用硬體描述語言Verilog或VHDL來實現要達成硬體加速的部分,並建立設計Test Bench環境,透過Test Bench來驗證及分析效能。
系統整合測試
完成硬體模組建立並經過電路合成後,便實際下載至FPGA上進行驗證,接著將透過外部CPU或是內建Soft CPU發送資料,監測硬體模組處理資料的情形、以及整個系統軟硬體分工的狀況,驗證硬體加速模組的功能。
分割評估軟硬體以及建立硬體模組可並行處理,因為當建立硬體模組建立的同時,也會產生一些軟硬體分割評估的參考數據,例如硬體實現功能方塊模組所需的時間、以及其所佔的資源等等;而在分割評估軟硬體的同時,也將決定硬體模組的介面與功能。
結語
開發高速傳輸速率的無線通訊產品,在一定的成本效益考慮下,藉由硬體協助達到整體的最佳化效能及降低成本,將是非常重要的技術競爭力。由於FPGA具有可編程重組電路功能結構,且具有可同時並行執行特定功能結構的特點,可根據市場需求變化輕易更新系統。FPGA所開發的系統及其更新,可確保產品的相容性及穩固其他通訊協定的支援;在進行故障修復和改進時,也可容易更新。
此外,FPGA可支援4G階段這種在早期設備實施階段還不確定的標準和應用,達到早期效能評估需求,避免產品早期開發的風險。
(作者林威志為資策會WiMAX技術中心/經理,E-mail:wjlin@iii.org.tw
;鄭凱方為資策會WiMAX技術中心工程師,E-mail:kaifang@iii.org.tw)