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