謹慎界定軟硬體分割 用戶端影響MAC軟硬體協同設計

MAC通用子層是整個MAC的處理核心,掌握MAC層以下的資料處理與控制,例如MAC層的資料傳送與接收、實體層晶片的控制,和射頻模組的參數設定等,皆是由控制模組根據目前狀態或量測結果,以及基地台傳遞的訊息處理後,而對各模組做參數的更改,或回覆基地台訊息,對整個MAC運作的正確性將產生重要影響。
MAC通用子層是整個MAC的處理核心,掌握MAC層以下的資料處理與控制,例如MAC層的資料傳送與接收、實體層晶片的控制,和射頻模組的參數設定等,皆是由控制模組根據目前狀態或量測結果,以及基地台傳遞的訊息處理後,而對各模組做參數的更改,或回覆基地台訊息,對整個MAC運作的正確性將產生重要影響。  

無線網路的規範標準大致可分為歐規與美規,其中,歐規標準由歐洲電信標準組織(ETSI)統籌規畫,美規則由業者或IEEE統整規範。IEEE802.16正是美規標準下的無線都會型網路技術(Wireless WAN),用於連結現行無線區域網路的接取熱點至網際網路;或是連結公司與家庭等有線區域網路,進而實現最後一哩的無線接取,因此被視為纜線和DSL的無線擴展技術。表1列出目前IEEE802.16中與無線接取部分相關的技術規格,本文即以802.16-2004與2004-D5作為規範基礎進行開發設計。  

802.16定義四層架構  

圖1是IEEE802.16通訊標準內所定義的各階層名稱,由上至下分為四層:  

1.收斂子層  

收斂子層(Convergence Sublayer, CS)的工作是進行分類(Classification)與檔頭壓縮(Payload Header Suppression)。分類目的是協助封包尋找適合的服務流(Service Flow)進行資料傳遞;檔頭壓縮則是為了減少頻寬的浪費。  

2.MAC通用子層  

MAC通用子層(MAC Common Part Sublayer)是MAC層的核心,負責控制訊息(MAC Management Message)的處理與程序,例如初次進入網路的初始流程(Network Entry Procedure)、週期性測距(Periodic Ranging)、連線管理(Dynamic Service Management)、連線品質維護(Synchronization/ Radio Link Maintenance);當然也包括了資料的傳遞與接收,例如封包合併(Packing)、切割(Fragment)等。  

3.安全子層  

安全子層(Security Sublayer)負責用戶端的認證(Authorization)、資料的加解密(Encryption/ Decryption)以及加解密所需的私鑰交換(Key Change)。本文並不討論安全子層的設計。  

4.實體層  

實體層(Physical Layer)負責資料的調變與解調變、錯誤更正碼(Channel Coding)等;若是採用OFDM的實體層,還會包含傅立葉轉換(FFT and IFFT)等複雜運算。本文也不討論實體層的設計。  

每個連線各自擁有佇列  

由於IEEE802.16是具有服務品質保證(QoS-guaranteed)且連線導向(Connection-oriented)的媒體存取控制層(MAC)技術,設計上採取每個連線擁有各自的佇列,儲存待處理的封包。當收到上鏈排程(UL-MAP)時,MAC會通知封包排程器根據各連線的服務品質進行頻寬配置,並組成協定資料單元(PDU)再轉送到實體層。當收到下鏈排程(DL-MAP)時,MAC會根據訊息內容,設定實體層的參數與時序,進行接收程序;在完成PDU的接收與處理後,會依各連線的特性轉送到不同的模組進行下一步動作;例如:傳輸層連線(Transport Connection)的資料會往收斂子層(CS)傳遞,而廣播連結(Broadcast Connection)與管理連結(Management Connections)的資料會往MAC的控制中心(Control Plane)傳遞。在服務品質(QoS)設定方面,是由動態服務管理(Dynamic Service Management)負責處理規格所定義的數位訊號(DSx)並與端點(Peer)進行協商,並定義每個服務流(Service Flow)的參數,包含該服務流上搭載的收斂子層類別、分類規則、服務品質等。  

在建立服務流之後,若已配置連線代碼(Connection ID),則會在資料處理單元(Control Plane)中建立一連線佇列,以利資料的傳送與接收。  

在資料處理單元中,還有負責初次進入網路的註冊程序、同步控制程序、無線連結控制程序(Radio Link Control)、量測與報告程序(Measurement and Report)等。這些都是處理規格文件中定義的相對應的控制訊息(Management Message)。根據以上敘述,設計出如圖2的MAC層系統架構。  

另外也可以發現,在用戶端與基地台端的MAC通訊協定中,有些模組是可以共用的,避免進行重覆設計(Redesign Wheel),例如收斂子層、資料傳送模組(Tx)、資料接收模組(Rx)、動態服務管理(Dynamic Service Management)等。值得注意的是,動態服務管理模組在基地台端才有決定服務資料流識別碼(SFID)與連線識別碼(CID)的權力,用戶端則沒有。  

目前開發環境為純軟體模擬  

由於目前並無任何硬體平台支援,上述的設計架構是在純軟體環境下執行,許多介面與模組也須以軟體模擬方式進行;例如以Socket/Ethernet模擬實體層的行為,而計時器(Timers)的間隔設定,也應以符合軟體模擬的時間為原則。不過,由於軟體模擬在執行上並沒有真實硬體平台來得快,因此必須延長等待的時間。開發環境在一般的Linux伺服器下進行,表2陳述開發環境等資訊。  

通用子層是MAC核心  

MAC通用子層即是整個MAC的處理核心,掌握整個MAC層以下的資料處理與控制,例如MAC層的資料傳送與接收(Data Plane),實體層晶片的控制和射頻模組的參數設定等,皆是由控制模組根據目前狀態或量測結果,以及基地台傳遞的訊息處理後,而對各模組做參數的更改,或回覆基地台訊息,對整個MAC運作的正確性將產生重要影響。以下先介紹資料結構設計,之後便進一步介紹用戶端的初始流程、連線建立流程和執行時期的控制項等設計。  

資料結構設計  

圖3是以規格文件中的物件模型(Object Model)為基礎修改後所設計的資料結構;其中結合了前述的收斂子層內的分類規則與檔頭壓縮規則。  

此結構設計與規格文件的描述幾乎相同,不同的是,用戶站上下文(Subscriber Station Context)是儲存用戶端本身的MAC層所需的資訊,例如MAC位址、狀態、安全資訊以及服務串流表格。而服務串流表格與服務資料流上下文(Service Flow Context)是一對多的關聯。通道上下文(Channel Context)則是紀錄無線通道的資訊,例如基地台代碼、上傳通道描述子(UCD)、下傳通道描述子(DCD)、通道量測資訊等,當用戶端與基地台進行網路註冊時,通道上下文才會開始使用。  

初始流程說明  

首先初始狀態時,MAC在實體層搜尋到下載通道後,便開始一連串下載通道同步以及上載通道參數攫取等動作。完成以後接著進行測距(Ranging),用以修正上載參數,以達上載訊號同步的目的。當上下載通道全部同步後,接下來就是一步步訊息的交換,來協調設備的傳輸能力、加解密溝通和用戶設備認證等工作,全部完成後離開初始程序,並進入執行時期開始傳輸訊息服務。  

因為初始狀態必須按照步驟依序進行,所以可設計狀態機(State Machine)來實作上述的處理程序(圖4)。而在訊息交換的過程中,會不斷更新通道資訊和用戶端狀態,即圖3中的通道上下文與用戶站上下文。通道資訊包括碼框序號(Frame Number)與通道描述(Channel Descriptor)等資訊。另外,在初始程序中所需使用到的計時器(Timer),本文也將之整理成表3,以供初始程序設計的參考。  

連線建立流程  

連線建立的狀態機與流程設計,在規格書(6.3.14)已相當清楚,此處不再贅述,但須配合圖3的資料結構關聯。首先,在進行數位訊號交換時,會產生相對應的數位訊號傳輸(DSx Transaction)紀錄進行狀態,而數位訊號傳輸的狀態變化以及處理結果,皆會反應到服務資料流上下文的狀態。當建立好新的服務資料流,亦會建立相對應的QoS設定、分類規則、PHS規則和連接排序。  

執行時期的控制項  

執行時期除了處理與基地台的訊息聯繫之外,還須要持續監控本身設備的狀態,分別為連線訊號的量測,發射功率的控制以及統計資訊的監控。  

通道量測  

通道量測主要為兩項數值,其一為接收訊號的強度值(Receive Signal Strength Indicator, RSSI),另一個就是傳送訊號與干擾訊號的比值(Carrier to Interference plus Noise Ratio, CINR),以上兩種數值都可由實體層晶片的估測運算求得,而MAC層則須持續監控。而當數值變化大於設定界限時,就表示下載通道已有大幅變化,須傳遞DBPC-REQ的訊息要求基地台傳輸方式(某些情況下須以RNG-REQ進行之,請參見規格文件),以適合目前的通道來傳送。  

功率控制  

功率控制則是操作在上載通道,是基地台用來讓用戶台的傳送功率維持在一定的範圍內。避免當傳送功率太低時,基地台無法辨識其傳送的訊號;也防止當傳送功率太大時,而造成過高的頻外干擾(Adjacent Interference)。  

統計資訊監控  

此外封包經過標頭檢查序列(Header Check Sequence, HCS)、循環冗餘檢查(Cyclic Redundancy Check, CRC)等檢查的通過率以及失敗後丟棄的封包數量統計等,也必須持續監控,以便有效判斷目前的傳輸狀態,並做出正確的動作決策。  

封包排程  

IEEE802.16-2004標準規範支援四種服務類別,分別為非請求的頻寬分配(Unsolicited Grant Service, UGS)、即時輪詢服務(real-time Polling Service, rtPS)、非即時輪詢服務(non-real-time Polling Service, nrtPS)和盡力傳送(Best Effort, BE)。其中UGS以及rtPS是屬於即時性(Real-time)的訊息服務,必須滿足時間參數上的要求,例如延遲(Delay)、延遲變化(Jitter)等;反之nrtPS和BE比較不具有即時性(Non-real-time)。因此在排程的實作上,針對不同的服務種類可分為不同的優先權等級(表4),可將這四種服務種類依序設計為UGS→rtPS→nrtPS→BE,也就是先對所有的UGS服務先排程,接著才是rtPS與nrtPS,最後才排入BE。  

另外在佇列(Queuing)的設計上,考慮UGS、rtPS資料即時性的需求和無線傳輸條件下的影響,為了維持其傳輸品質可將佇列設計為加權公平佇列的方式,來維持同等級中各連線的公平性。而nrtPS的考量上,因為QoS參數只有最小傳輸速率和服務優先權,所以可使用簡單的比重法排程方式,即可滿足其QoS需求。而BE則幾乎沒有嚴謹的QoS參數,所以實作上使用最簡單的先進先出佇列即可完成;值得注意的是,若假設在一個用戶端上的所有BE服務流都不具優先權的設定時,可將這些服務流簡化成使用「單一佇列」,來降低排程的複雜度。  

利用軟硬體協同設計實作WiMAX MAC層  

接下來的討論重點,將集中於以WiMAX用戶站(SS)的角度來判斷MAC協定層的需求與限制,並分析適合的軟硬體分割方式。  

即時性及反應時間考量  

圖5摘錄自802.16-2004標準規格,其表示在分時多工(Time Division Duplex, TDD)系統下UL-MAP和DL-MAP在描述區間使用方式的最大和最小時間。  

從圖5可看出下鏈排程(DL-MAP)一定是描述目前的碼框(Frame),而上鏈排程(UL-MAP)則是考慮用戶站的上鏈處理能力,最小是描述目前的碼框,最大則可延至下一碼框。也就是說以目前WiMAX論壇第一波認證所定義的5毫秒碼框長度來看,上鏈排程最大反應處理時間在5~10毫秒之間,而下鏈排程的反應更必須是即時的。因此由硬體做排程(MAP)的解譯,來對實體層的接取模式(Burst Profile)做控制,是合理且必須的;另外在碼框一開始的控制標頭,也就是下鏈碼框前置碼(Downlink Frame Prefix, DLFP),更須要即時處理,以下分別詳細討論。  

DLFP處理  

由標準所定義的DLFP可知其長度及格式為固定,而且可描述至多4個不帶任何連線識別碼(Connection ID)的下傳區間,因此處理簡單非常適合實作於硬體,而且DLFP所描述的第一個下載區間通常攜帶MAP及通道描述(Channel Descriptor, CD)等即時資料,因此DLFP的即時要求更是嚴謹,而目前的平台也幾乎都交由硬體來處理。  

MAP處理  

而MAP的格式中會因為所攜帶的資訊元素(Information Element, IE)在數量上和種類上的不同變得比較不容易完全由硬體解譯,因此設計上可採部分IE由硬體負責其功能,部分IE則由軟體判斷後操作。以DL-MAP而言,接取模式的IE就可由硬體判讀並直接控制實體層的接取,將所須讀取的資料以適合的模式接收,而其他延伸的IE則由軟體判讀並執行相對應的程序。  

軟硬體分割的決定因素  

相對於上述DL-MAP處理,UL-MAP的操作直接影響了整個傳輸排程的步驟,並且與其他模組有密切,如圖6所示,若只使用軟體來處理MAP的接收,則經過實體層處理和I/O的存取後,將資料傳至軟體MAC層,接著會經過接收模組解譯標頭和訊息分配(Message Dispatch)的操作,然後交由控制模組中DL-MAP所屬的訊息操作函數分析所攜帶的IE,以及算出本次碼框可傳送之訊息量給MAC排程器(Scheduler)模組,排程本次應該傳遞的封包及數量;之後由傳送模組負責切割、合併和串連等處理。最後經由I/O的存取傳給實體層做傳輸的處理。從圖6的比較可以看出UL-MAP的處理設計,將減少過多的訊息傳遞並利用硬體加速,有助於提升整體傳輸排程的處理時間。  

另外,一些重複性的單一功能模組,也是軟硬體分割時的考慮方向之一,例如以用戶站而言,在WiMAX MAC裡的加解密模組,HCS與CRC的檢查,以及用戶站中對於非所屬連線識別碼封包的過濾等。這些模組的功能獨立,而且以硬體方式會比軟體方式更容易實作。例如圖7的暫存器實作HCS檢查電路的硬體架構,只需要數個D型正反器和簡單的組合電路即可達成,而軟體實作可能還需要迴圈等較繁瑣的處理,因此相當適合切割為硬體來做實現。  

須考量成本、功耗與電路面積限制  

除了上述幾種功能性的限制外,為了商用價值,其實更重要的是成本、功率損耗和尺寸的考量,這些可能都不是初期標準制訂所能顧及的,但又是影響產品成功與否的重要關鍵。成本決定了產品的市場競爭力,若一味地為了功能完整及性能卓越而使用高階元件,則高昂的價格未必能為大眾接受,尤其近年電子業進入微利時代,各項成本錙銖必較,設計者更不可忽略。另外,以用戶站產品而言,還須考慮功率損耗和產品尺寸的問題。在產品界定上,用戶站是屬於非行動(Immobile)但卻可攜帶(Portable)的產品,因此是否耗電、是否容易攜帶等客戶端的感受,也是重要的設計參數,將影響整個WiMAX MAC軟硬體協同設計的結果。  

IEEE802.16規格已問世多時,目前也有越來越多廠商提供完整軟硬體解決方案,並通過WiMAX論壇認證。但是礙於篇幅,許多技術細節無法詳述;事實上,IEEE802.16的MAC有部分功能是早已習知的技術,或是從其他相關領域衍生的概念,例如服務資料流的觀念,即可參考電纜數據服務介面規格(DOCSIS)相關技術文件。讀者若有興趣,可進一步參考技術規格或廠商提供的產品資訊。本文重點在於了解目前熱門的技術,並提供一個WiMAX MAC設計上的基礎想法;然而主要的設計與實作方式,還是會依照所採用的硬體平台而有些許變化,例如利用硬體快速的特性,亦可將排程器實作於硬體內;因此須視所採用的平台而決定並進行最佳化。  

(本文作者任職於資策會網路多媒體研究所)  

(詳細圖表請見新通訊64期6月號)  

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!