基于ARM的IEEE802.11bMAC層協(xié)議IP核設(shè)計(jì)
2 SDL及軟件開發(fā)平臺(tái)
SDL是一種層次化的描述語言,采用結(jié)構(gòu)化和自頂向下的設(shè)計(jì)原則,把系統(tǒng)規(guī)范分為系統(tǒng)、塊、子塊、進(jìn)程、服務(wù)和過程幾個(gè)層次進(jìn)行描述。系統(tǒng)、塊和子塊是靜態(tài)描述,用于描述系統(tǒng)的結(jié)構(gòu);進(jìn)程、服務(wù)和過程是動(dòng)態(tài)描述,用于描述系統(tǒng)的行為。SDL的理論模型是通信擴(kuò)展有限狀態(tài)機(jī),每個(gè)進(jìn)程都是一個(gè)通信擴(kuò)展有限狀態(tài)機(jī)。
SDL與常用的高級(jí)語音有很好的接口,如可以從SDL描述的系統(tǒng)規(guī)范直接導(dǎo)出C、CHILL甚至VHDL語言,以嵌入式系統(tǒng)和軟硬件混合系統(tǒng)實(shí)現(xiàn);在進(jìn)行規(guī)范定義時(shí),SDL又允許嵌入高級(jí)語言,如C/C++語音、義等。因而可以在多個(gè)層次上對(duì)系統(tǒng)進(jìn)行準(zhǔn)確的規(guī)范和描述。因?yàn)镾DL的上述特性,目前已被越來越多地用于協(xié)議軟件的開發(fā)實(shí)現(xiàn)。
本文選用Telelogic公司的SDT4.3和ARM公司的ADS1.2作為主要的軟件開發(fā)工具。使用SDT進(jìn)行協(xié)議軟件的開發(fā)步驟如圖2所示。
應(yīng)用SDT生成的代碼經(jīng)過適當(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ì)流程,完全使用形式描述語言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++語言進(jìn)行設(shè)計(jì)實(shí)現(xiàn)。接口軟件部分主要完成SDL轉(zhuǎn)換出的系統(tǒng)代碼與RTOS及硬件平臺(tái)的接口功能。這一部分軟件借用于代碼生成器產(chǎn)生的環(huán)境函數(shù),用C/C++語言設(shè)計(jì)實(shí)現(xiàn)。軟件部分的層次結(jié)構(gòu)如圖3所示。
4 與ADS接口及軟件后端開發(fā)
從SDL轉(zhuǎn)化出C/C++代碼后,可使用ARM的開發(fā)工具ADS進(jìn)行后續(xù)的軟件開發(fā)。其與SDT工具的接口及開發(fā)流程如圖4所示。
評(píng)論