基于ARM的IEEE 802.11b MAC層協(xié)議IP核設(shè)計-設(shè)計應(yīng)用_第1頁
基于ARM的IEEE 802.11b MAC層協(xié)議IP核設(shè)計-設(shè)計應(yīng)用_第2頁
基于ARM的IEEE 802.11b MAC層協(xié)議IP核設(shè)計-設(shè)計應(yīng)用_第3頁
基于ARM的IEEE 802.11b MAC層協(xié)議IP核設(shè)計-設(shè)計應(yīng)用_第4頁
基于ARM的IEEE 802.11b MAC層協(xié)議IP核設(shè)計-設(shè)計應(yīng)用_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

精品文檔-下載后可編輯基于ARM的IEEE802.11bMAC層協(xié)議IP核設(shè)計-設(shè)計應(yīng)用目前各種協(xié)議的設(shè)計實現(xiàn),大多數(shù)是基于微處理器、微控制器或DSP的嵌入式系統(tǒng)。ARM是ARM公司推出的高性能32位RISC微處理器,具有業(yè)界的體系結(jié)構(gòu),被廣泛應(yīng)用于各種系統(tǒng)設(shè)計中?;冢粒遥偷拈_發(fā)通常使用C、C++或匯編語言。筆者采用了更的形式語言SDL,大大縮短了協(xié)議的開發(fā)周期并提高了設(shè)計的可移植性。無線局域網(wǎng)是目前通信領(lǐng)域的一個研究熱點,無線局域網(wǎng)的協(xié)議是非常典型的協(xié)議。本文將詳細討論使用SDL進行無線局域網(wǎng)802.11bMAC層協(xié)議的設(shè)計以及基于微處理器ARM7TDMIARM7TDMI的系統(tǒng)實現(xiàn)方案。其設(shè)計方法具有普遍意義。1系統(tǒng)硬件平臺設(shè)計及功能描述整個系統(tǒng)硬件平臺的設(shè)計主要分MAC層和物理層兩部分。硬件平臺的結(jié)構(gòu)框圖如圖1所示。其中MAC層部分主要圍繞32位微處理器ARM7TDMI和AMBA總線設(shè)計,其主要的單元模塊和功能如下:

·PCMCIA接口,此接口為硬件平臺和主機的通信接口。其設(shè)計遵循PCCard標準(版本5)。

·WEP算法加解密模塊,此模塊用硬件實現(xiàn)IEEE802.11bMAC層協(xié)議定義的有線網(wǎng)等效加/解密算法。

·物理層數(shù)據(jù)接口,此接口用于完成物理層與MAC的數(shù)據(jù)交互操作,內(nèi)部設(shè)計有發(fā)送和接收FIFO,用于完成數(shù)據(jù)的接收發(fā)送緩存。

·物理層控制接口,此接口用于完成MAC層對物理層的控制功能。例如無數(shù)據(jù)收發(fā)時,可以通過此接口控制物理層部分轉(zhuǎn)入節(jié)能狀態(tài)。

·存儲器管理模塊,此模塊用于實現(xiàn)對系統(tǒng)所有存儲器(如FLASH、ROM、RAM)的管理,處理器通過此模塊對存儲器進行訪問。

·中斷控制邏輯,此模塊用于對系統(tǒng)中各模塊產(chǎn)生的中斷信號進行控制和管理。

·微處理器單元ARM7TDMI,用于完成與主機的通信,負責整個系統(tǒng)的控制和管理。

物理層部分的設(shè)計主要分為四個單元:

·基帶處理單元,主要用于完成基帶信號的處理操作,如Rake接收、均衡、數(shù)/模、模/數(shù)轉(zhuǎn)換等。

·中頻處理單元,主要用于完成信號的調(diào)制解調(diào)處理。

·混頻處理單元,主要用于完成射頻中頻的變頻處理。

·射頻處理單元,主要完成射頻信號的功率放大處理。

MAC層的主要模塊單元(外部存儲器單元除外)用Verilog硬件描述語言設(shè)計并用Xilinx的FPGAVirtexⅡxc2v3000編程實現(xiàn)。物理層部分則主要用Intersil公司的PRISM芯片組及少量外圍電路設(shè)計實現(xiàn)。

2SDL及軟件開發(fā)平臺

SDL是一種層次化的描述語言,采用結(jié)構(gòu)化和自頂向下的設(shè)計原則,把系統(tǒng)規(guī)范分為系統(tǒng)、塊、子塊、進程、服務(wù)和過程幾個層次進行描述。系統(tǒng)、塊和子塊是靜態(tài)描述,用于描述系統(tǒng)的結(jié)構(gòu);進程、服務(wù)和過程是動態(tài)描述,用于描述系統(tǒng)的行為。SDL的理論模型是通信擴展有限狀態(tài)機,每個進程都是一個通信擴展有限狀態(tài)機。

SDL與常用的語言有很好的接口,如可以從SDL描述的系統(tǒng)規(guī)范直接導(dǎo)出C、CHILL甚至VHDL語言,以嵌入式系統(tǒng)和軟硬件混合系統(tǒng)實現(xiàn);在進行規(guī)范定義時,SDL又允許嵌入語言,如C/C++語言、OMT/UML對象模型、ASN.1或CORBA/IDL數(shù)據(jù)類型定義等。因而可以在多個層次上對系統(tǒng)進行準確的規(guī)范和描述。因為SDL的上述特性,目前已被越來越多地用于協(xié)議軟件的開發(fā)實現(xiàn)。

本文選用Telelogic公司的SDT4.3和ARM公司的ADS1.2作為主要的軟件開發(fā)工具。使用SDT進行協(xié)議軟件的開發(fā)步驟如圖2所示。

在系統(tǒng)行為定義階段,要特別注意代碼生成器對SDL設(shè)計的約束,例如對于Cadvanced生成器不支持信道子結(jié)構(gòu)、信號細化等;對于Cmicro生成器不支持連續(xù)信號、服務(wù)、優(yōu)先輸入/輸出等。在系統(tǒng)行為分析仿真調(diào)試階段,使用Cbasic/Cadvanced代碼生成器產(chǎn)生系統(tǒng)代碼,與SDT提供的仿真內(nèi)核一起編譯鏈接,得到系統(tǒng)行為的仿真模型,然后可以使用text、SDL、MSC等多種跟蹤方式進行仿真調(diào)試。在系統(tǒng)行為驗證時,使用相同的代碼只不過編譯鏈接時加入SDT提供的驗證內(nèi)核,可得到系統(tǒng)行為的驗證模型,可以使用自動狀態(tài)空間遍歷、覆蓋率分析等方式進行系統(tǒng)行為的驗證。仿真和驗證都無環(huán)境函數(shù),由仿真器和驗證器充當系統(tǒng)的環(huán)境,產(chǎn)生和接收與系統(tǒng)交互的信號。在系統(tǒng)行為經(jīng)仿真驗證正確后,可以應(yīng)用Cadvanced/Cmicro生成器產(chǎn)生面向應(yīng)用的系統(tǒng)代碼和環(huán)境函數(shù)。

應(yīng)用SDT生成的代碼經(jīng)過適當修改和處理后可以輸入ARM開發(fā)工具ADS,進行嵌入式系統(tǒng)的開發(fā),其方法和設(shè)計流程詳見后。

3系統(tǒng)軟件的設(shè)計和開發(fā)

系統(tǒng)的軟件設(shè)計主要分為三部分:協(xié)議軟件、驅(qū)動軟件和接口軟件。其中協(xié)議軟件部分主要用于實現(xiàn)IEEE802.11bMAC層協(xié)議定義的各種服務(wù)(如授權(quán)、關(guān)聯(lián)等)和算法(如DCF、PCF、時鐘同步算法等)。這一部分軟件采用圖2所示的設(shè)計流程,完全使用形式描述語言SDL進行設(shè)計實現(xiàn),并使用SDT的代碼生成器將SDL的系統(tǒng)描述轉(zhuǎn)換成面向應(yīng)用的C/C++代碼。驅(qū)動軟件部分主要用于實現(xiàn)對硬件設(shè)備的驅(qū)動功能。如PCMCIA接口驅(qū)動,這一部分軟件用C/C++語言進行設(shè)計實現(xiàn)。接口軟件部分主要完成SDL轉(zhuǎn)換出的系統(tǒng)代碼與RTOS及硬件平臺的接口功能。這一部分軟件借助于代碼生成器產(chǎn)生的環(huán)境函數(shù),用C/C++語言設(shè)計實現(xiàn)。軟件部分的層次結(jié)構(gòu)如圖3所示。

4與ADS接口及軟件后端開發(fā)

從SDL轉(zhuǎn)化出C/C++代碼后,可使用ARM的開發(fā)工具ADS進行后續(xù)的軟件開發(fā)。其與SDT工具的接口及開發(fā)流程如圖4所示。

由SDL描述轉(zhuǎn)換出的C/C++代碼,與環(huán)境函數(shù)、Runtime庫以及C/C++庫一起用ARM的編譯器編譯,產(chǎn)生面向ARM的可執(zhí)行程序。其中,環(huán)境函數(shù)主要用描述系統(tǒng)運行的具體物理環(huán)境。由SDT工具根據(jù)用戶所作的系統(tǒng)描述自動生成一個結(jié)構(gòu)框架,然后用戶根據(jù)所采用的具體硬件平臺環(huán)境編輯這個文件,以描述真實的系統(tǒng)工作環(huán)境。Runtime庫主要包含SDL預(yù)定義的數(shù)據(jù)類型、操作符的實現(xiàn)、調(diào)度函數(shù)、運行錯誤處理等信息。SDT工具提供簡單的Runtime庫。Cadvanced/Cmicro代碼生成器都有各自對應(yīng)的Runtime庫。C/C++庫是ADS本身攜帶的函數(shù)庫,主要包含ISO標準定義的C/C++庫函數(shù)。

在使用ARM編譯器編譯后,產(chǎn)生ARM的目標文件(.o文件)。如果還有用ARM匯編指令編寫的匯編程序,可用匯編器(armasm)匯編,產(chǎn)生相應(yīng)的目標文件。把所有的目標文件用鏈接器(armlink)鏈接,便可得到能在ARM7TDMI處理器上執(zhí)行的映像文件(.aof文件)。這時可以用ADS提供的調(diào)試工具AXD進行程序的調(diào)試。

因為SDL的系統(tǒng)設(shè)計在高層進行了仿真和驗證,所以調(diào)試的主要工作集中在驅(qū)動、中斷和環(huán)境函數(shù)的調(diào)試上。對SDL系統(tǒng)的調(diào)試主要是通過仿真確定對系統(tǒng)性能影響嚴重的模塊并對其進行優(yōu)化以及系統(tǒng)在實時運行狀態(tài)下能否滿足設(shè)計要求。如果在調(diào)試中發(fā)現(xiàn)問題需要修改SDL的系統(tǒng)設(shè)計,可重新執(zhí)行如圖4所示的流程,直到滿足設(shè)計要求。

5問題及分析

(1)代碼生成器的選擇問題。SDT提供三種代碼生成器,即Cbasic、Cadvanced和Cmicro。其中Cbasic是簡單的代碼產(chǎn)生器,一般只用于在SDT開發(fā)環(huán)境中仿真系統(tǒng)的行為。Cadvanced和Cmicro是面向應(yīng)用的代碼產(chǎn)生器,可以產(chǎn)生高效的代碼。Cadvanced支持幾乎所有的SDL概念,對SDL設(shè)計的約束較少。Cmicro可以產(chǎn)生性能更優(yōu)越、占用存儲器空間更小的代碼,代價是對SDL設(shè)計的約束較多,例如不支持使能條件、連續(xù)信號、過程的繼承等。

(2)設(shè)計優(yōu)化問題。在進行系統(tǒng)設(shè)計時,應(yīng)注意的設(shè)計要點有:當輸出信號時,應(yīng)帶上接收進程的PID,這樣可以減少對信號進行路由的開銷;信號應(yīng)盡量少帶占用大量存儲空間的參數(shù),因為在信號傳遞時同時復(fù)制信號的參數(shù),占用大量存儲空間的參數(shù)將占用過多存儲空間并引起附加延時;兩個狀態(tài)之間的傳輸操作不宜過多,否則會帶來較大延時(可以用實時仿真確定影響時延的關(guān)鍵路徑并進行優(yōu)化);如果系統(tǒng)中有比較復(fù)雜的模塊,對時延又有嚴格要求,可以用C/C++或匯編單獨編寫,也可用硬件完成,如圖1中的WEP算法模塊。(3)與RTOS的集成問題。用戶可以不使用RTOS,而使用SDT提供的缺省內(nèi)核程序,也可以自己編寫所需的調(diào)度算法、內(nèi)存管理、中斷處理等。SDT工具直接支持的RTOS有Solaris(Posix4)、Win32、VxWorks和OSEdelta。SDT提供三種與RTOS的集成方式,即松集成、線程集成和緊集成。松集成把整個系統(tǒng)映射為OS的一個任務(wù),使用SDT提供的標準內(nèi)核進行調(diào)度,每次執(zhí)行一個完整的傳輸。因此松集成調(diào)度的延時是SDL設(shè)計中狀態(tài)之間傳輸?shù)拈L時間。緊集成把每個進程映射為一個OS的任務(wù),可以使用OS的調(diào)度算法,給不同的任務(wù)以不同的優(yōu)先級執(zhí)行,因而性能好于松集成。線程集成則是兩者的折衷。(4)環(huán)境函數(shù)的編寫。環(huán)境函數(shù)主要是完成四個函數(shù)的編寫。xInitEnv():主要用于完成系統(tǒng)的初始化操作。xInEnv():主要用于接收來自硬件或RTOS的信號并轉(zhuǎn)換成SDL系統(tǒng)所需要的信號。調(diào)度器每隔一段時間輪詢xInEnv()函數(shù),檢查是否有信號輸入。如果發(fā)現(xiàn)有信號輸入則發(fā)送適當信號給SDL系統(tǒng)。xInEnv()函數(shù)中不能使用阻塞函數(shù),如getcha

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論