1、 無線局域網MAC層協(xié)議
在IEEE推出802.11-1999和802.11b以來,無線局域網在技術上已日漸成熟。在國家863計劃 SoC設計方法及其關鍵支撐技術專項資金的資助下,我們初步完成無線局域網MAC層控制器知識產權核(IP core)的設計和驗證。設計了用ARM7TDMI實現的MAC層控制器的體系結構,同時片上總線使用先進微控制器總線架構(AMBA)。該實現結構清晰,利于設計重用且設計復雜度不大,是一種值得推薦的體系結構。
無線局域網協(xié)議描述數據鏈路層MAC子層及其以下各層的規(guī)范。MAC層控制器實現的規(guī)范為IEEE 802.11-1999有關的無線局域網MAC層部分。MAC層的控制分點控制和分布控制兩種,其中分布控制是CSMA/CA。802.11同時定義了可選的有線網等效加密(WEP)機制。
2、ARM核和AMBA
MAC層控制器是802.11 協(xié)議MAC部分的物理實現。由于協(xié)議比較復雜,一般在設計中嵌入32 位處理器,而ARM 7核就是一種選擇。
ARM7TDMI為馮諾依曼體系結構,支持ARM的Thumb兩個指令集,ARM對16位的Thumb指令集的支持,使其實現了比16位體系結構更高的性能和比32位體系結構更高的代碼密度。
先進微控制器總線架構AMBA是ARM公司為高性能片上微控制器定義的一套總線標準,是一種中央多路選擇器互連方案,它讀數據和寫數據的總線分開,完成片上數據傳送。AMBA包括先進高性能總線(AHB)、先進系統(tǒng)總線(ASB)和先進外設總線(APB)。AHB和ASB都是高性能總線,采用高性能、高帶寬系統(tǒng)設計,它支持多個主(Master)設備和多個從(Slave)設備,ARM公司推薦使用AHB。APB實際上是二級總線,為AHB/ASB提供一個低功耗和接口簡單的擴展。它從整體上說是一個從設備。APB通過橋與AHB/ASB連接。
3、 基于AMBA的MAC層控制器方案
系統(tǒng)中共有4個主設備:ARM7核、PCMCIA接口、物理層數據接口和有線網等效加密引擎。各個模塊的功能:
ARM7TDMI核:它完成系統(tǒng)的核心控制功能,完成802.11MAC協(xié)議,整個系統(tǒng)在它的控制之下工作。
物理層數據接口(PLDI):完成與基帶處理器數據端口的通信。在接收時,緩存來自基帶處理器的數據,通知ARM核收到數據需要進一步處理。ARM核首先讀取包頭,如果數據需要緩存,則ARM核控制該接口的DMA控制器將數據凈核存儲到SRAM中。在發(fā)送端,它緩存來自MAC的數據,然后送給基帶處理器。
物理層控制接口(PLCI):它通過讀寫基帶處理器的寄存器完成基帶處理器的初始化和控制功能。
有線網等效加密引擎(WEP):完成無線局域網的加密算法和進行循環(huán)冗余校驗,其內有 DMA控制器。
PCMCIA接口(PCMCIA):完成MAC處理器與主計算機的通信功能,也可以是USB或者PCI 接口等。
中斷控制器(ICTRL):中斷控制模塊仲裁當前哪個模塊應該產生中斷,ARM通過讀取它的寄存器得知中斷的原因。
存儲器管理單元(MMU):ARM7TDMI-S內部沒有存儲器管理單元,需要單獨設計。存儲器管理單元完成邏輯地址向物理地址的轉換和其他存儲器控制功能。
串口(UART)和定時器(timers):通過UART可以與主計算機通信,完成基本的MAC控制功能和狀態(tài)監(jiān)視,另外實現MAC協(xié)議需要專門的定時器。
Arbiter、Decoder、Dummy Slave、Bridge為實現AMBA所需的功能模塊。SRAM的大小為256K×16,Flash的大小為128×16。
另外,需要設計PCMCIA接口的NDIS5 WDM網絡設備驅動程序。
4、 MAC控制器工作原理
MAC控制器的工作原理:
系統(tǒng)加電并復位后,Flash處于邏輯地址的最低端。ARM核讀取Flash中的指令,將核心代碼存入片內RAM中,然后通過寫地址映射寄存器,實現物理地址和邏輯地址的重新映射,將片內RAM映射為邏輯最低端地址,重新執(zhí)行初始化程序。執(zhí)行片內RAM中的指令,初始化基帶處理器和PCMCIA接口的屬性存儲器以完成初始化。
對于來自物理層的數據,首先緩存在PLDI中。ARM核讀出PLDI中的數據,處理包頭,然后將數據緩存入SDRAM。ARM核根據需要通知WEP完成解密工作。解密完成后,數據被重新存入SRAM。PCMCIA接口依設備驅動程序的需要讀取數據給主機。對于來自PCMCIA接口的數據,首先緩存在SRAM中。然后執(zhí)行與來自物理層的數據相反順序的操作。
5、 若干關鍵子模塊的設計
5.1 PCMCIA接口
該接口完成MAC控制器與主機的接口,左邊是PCMCIA主機接口模塊,實現PC Card-1995標準;右邊是DMA控制器,完成與AHB的接口。來自主機的數據首先在臨時存儲器中緩存。存儲器被管理為以256字節(jié)為單位的首尾相接的環(huán),可以使該存儲器得到最有效的利用。
5.2 主設備中DMA控制器的設計
所有主設備都包含一個DMA控制器,完成存儲器直接存取,以減少ARM核的數據處理壓力。ARM核通過從設備設定DMA控制器的寄存器,包括起始地址、數據長度、數據讀寫使能和讀寫方向等。DMA控制器通過AHB主設備接口申請使用AHB總線、完成DMA請求和響應接口和存儲器之間的DMA操作。完成操作后DMA控制器將產生中斷通知ARM核任務的完成情況。通道和控制邏輯完成相應的控制功能。
5.3 PCMCIA接口中的主機接口
接口服從PC Card-1995標準,設計為程控IO工作模式。屬性存儲器存儲卡相關的信息如卡的類型、IO范圍和申請的中斷號。功能控制寄存器完成卡的進一步控制功能。
有線網等效加密引擎的設計:該模塊由CRC模塊、加密模塊、數據緩存模塊、DMA控制器和相關控制邏輯構成。加密模塊使用的是RC4加密算法。
6、 結論
MAC控制器有多種實現方式,包括(1)不采用AMBA架構完成與ARM核的接口方案,(2)不使用32位處理器,而是使用微碼編程,這種結構更加專門化,設計復雜度更高。基于ARM7TDMI和AMBA的無線局域網MAC層控制器片上系統(tǒng),結構清晰,接口為標準接口,擴展性強,符合設計重用的要求。