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