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