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