- 相關推薦
基于ARM的IEEE802.11bMAC層協議IP核設計
摘要:介紹了IEEE 802.11b MAC層協議IP核設計,提出了基于32位微處理器ARM7DMI的系統設計方案,闡述了系統硬件平臺的設計、結構及主要模塊單元的功能;給出了利用形式描述語言SDL進行MAC層協議設計開發的完整設計流程;闡述了軟件的層次結構,并針對設計中遇到的代碼生成器的選擇、設計優化、與實時操作系統(RTOS)的集成和環境函數編寫等問題進行了深入討論。目前各種協議的設計實現,大多數是基于微處理器、微控制器或DSP的嵌入式系統。ARM是ARM公司推出的高性能32位RISC微處理器,具有業界領先的體系結構,被廣泛6應用于各種系統設計中;贏RM的開發通常使用C、C 或匯編語言。筆者采用了更高級的形式語言SCL,大大縮短了協議的開發周期并提高了設計的可移植性。無線局域網是目前通信領域的一個研究熱點,無線局域網的協議是非常典型的協議。本文將詳細討論使用SDL進行無線局域網802.11b MAC層協議的設計以及基于微處理器ARM7TDMI的系統實現方案。其設計方法具有普遍意義。
1 系統硬件平臺設計及功能描述
整個系統硬件平臺的設計主要分MAC層和物理層兩部分。硬件平臺的結構框圖如圖1所示。其中MAC層部分主要圍繞32位微處理器ARM7TDMI和AMBA總線設計,其主要的單元模塊和功能如下:
·PCMCIA接口,此接口為硬件平臺和主機的通信接口。其設計遵循PC Card標準(版本5)。
·WEP算法加解密模塊,此模塊用硬件實現IEEE 802.11b MAC層協議定義的有線網等效加/解密算法。
·物理層數據接口,此接口用于完成物理層與MAC的數據交互操作,內部設計有發關和接收FIFO,用來完成數據的接收發送緩存。
·物理層控制接口,此接口用于完成MAC層對物理層的控制功能。例如無數據收發時,可以通過此接口控制物理層部分轉入節能狀態。
·存儲器管理模塊,此模塊用于實現對系統所有存儲器(如FLASH、ROM、RAM)的管理,處理器通過此模塊對存儲器進行訪問。
·中斷控制邏輯,此模塊用于對系統中各模塊產生的中斷信號進行控制和管理。
·微處理器單元ARM7TDMI,用于完成與主機的通信,負責整個系統的控制和管理。
圖1 硬件平臺結構框圖
物理層部分的設計主要分為四個單元:
·基帶處理單元,主要用于完成基帶信號的處理操作,如Rake接收、均衡、數/模、模/數轉換等。
·中頻處理單元,主要用于完成信號的調制解調處理。
·混頻處理單元,主要用于完成射頻中頻的變頻處理。
·射頻處理單元,主要完成射頻信號的功率放大功能。
MAC層的主要模塊單元(外部存儲器單元除外)用Verilog硬件描述語言設計并用Xilinx的FPGA Vertex II xc2v3000編程實現。物理層部分則主要用Intersil公司的PRISM芯片組及少量外圍電路設計實現。
2 SDL及軟件開發平臺
SDL是一種層次化的描述語言,采用結構化和自頂向下的設計原則,把系統規范分為系統、塊、子塊、進程、服務和過程幾個層次進行描述。系統、塊和子塊是靜態描述,用于描述系統的結構;進程、服務和過程是動態描述,用于描述系統的行為。SDL的理論模型是通信擴展有限狀態機,每個進程都是一個通信擴展有限狀態機。
SDL與常用的高級語音有很好的接口,如可以從SDL描述的系統規范直接導出C、CHILL甚至VHDL語言,以嵌入式系統和軟硬件混合系統實現;在進行規范定義時,SDL又允許嵌入高級語言,如C/C 語音、義等。因而可以在多個層次上對系統進行準確的規范和描述。因為SDL的上述特性,目前已被越來越多地用于協議軟件的開發實現。
本文選用Telelogic公司的SDT4.3和ARM公司的ADS1.2作為主要的軟件開發工具。使用SDT進行協議軟件的開發步驟如圖2所示。
在系統行為定義階段,要特別注意代碼生成器對SDL設計的結束,例如對于C advanced生成器不支持信道子結構、信號細化等;對于C micro生成器不支持連續信號、服務、優先輸入/輸出等。在系統行為分析仿真調試階段,使用C basic/C advanced代碼生成器產生系統代碼,與SDT提供的仿真內核一起編譯連接,得到系統行為的仿真醋,然后可以使用text、SDL、MSC等多種跟蹤方式進行仿真調試。在系統行為驗證時,使用相同的代碼只不編譯連接時加入SDT提供的驗證內核,可得到系統行為的驗證模型,可以使用自動狀態空間遍歷、覆蓋率分析等方式進行系統行為的驗證。仿真和驗證都無環境函數,由仿真器和驗證器充當系統的環境,產生和接收與系統交互的信號。在系統行為經仿真驗證正確后,可以應用C advanced/C micro生成器產生面向應用的系統代碼和環境函數。
應用SDT生成的代碼經過適當修改和處理后可以輸入ARM開發工具ADS,進行嵌入式系統的開發,其方法和設計流程詳見后。
3 系統軟件的設計和開發
系統的軟件設計主要分為三部分:協議軟件、驅動軟件和接口軟件。其中協議軟件部分主要用于實現IEEE 802.11bMAC層協議定義的各種服務(如授權、關聯等)和算法(如DCF、PCF、時鐘同步算法等)。這一部分軟件采用圖2所示的設計流程,完全使用形式描述語言SDL進行設計實現,并使用SDT的代碼生成器將SDL的系統描述換成面向應用的C/C 代碼。驅動軟件部分主要用于實現對硬件設備的驅動功能。如PCMCIA接口驅動,這一部分軟件用C/C 語言進行設計實現。接口軟件部分主要完成SDL轉換出的系統代碼與RTOS及硬件平臺的接口功能。這一部分軟件借用于代碼生成器產生的環境函數,用C/C 語言設計實現。軟件部分的層次結構如圖3所示。
【基于ARM的IEEE802.11bMAC層協議IP核設計】相關文章:
基于Avalon總線的可配置LCD控制器IP核的設計03-07
異步串行通信接口的IP核設計03-18
I2C器件接口IP核的CPLD設計03-20
基于ARM的車載GPS系統的研究03-07
基于ARM7的嵌入式控制系統設計11-23
基于ARM及WindowsCE的學生實驗輔助學習機的設計與開發11-22
基于VHDL的I2C總線控制核設計03-18