基于ARM的IEEE802.11bMAC層協(xié)議IP核設(shè)計
2 SDL及軟件開發(fā)平臺
SDL是一種層次化的描述語言,采用結(jié)構(gòu)化和自頂向下的設(shè)計原則,把系統(tǒng)規(guī)范分為系統(tǒng)、塊、子塊、進程、服務和過程幾個層次進行描述。系統(tǒng)、塊和子塊是靜態(tài)描述,用于描述系統(tǒng)的結(jié)構(gòu);進程、服務和過程是動態(tài)描述,用于描述系統(tǒng)的行為。SDL的理論模型是通信擴展有限狀態(tài)機,每個進程都是一個通信擴展有限狀態(tài)機。
SDL與常用的高級語音有很好的接口,如可以從SDL描述的系統(tǒng)規(guī)范直接導出C、CHILL甚至VHDL語言,以嵌入式系統(tǒng)和軟硬件混合系統(tǒng)實現(xiàn);在進行規(guī)范定義時,SDL又允許嵌入高級語言,如C/C++語音、義等。因而可以在多個層次上對系統(tǒng)進行準確的規(guī)范和描述。因為SDL的上述特性,目前已被越來越多地用于協(xié)議軟件的開發(fā)實現(xiàn)。
本文選用Telelogic公司的SDT4.3和ARM公司的ADS1.2作為主要的軟件開發(fā)工具。使用SDT進行協(xié)議軟件的開發(fā)步驟如圖2所示。
應用SDT生成的代碼經(jīng)過適當修改和處理后可以輸入ARM開發(fā)工具ADS,進行嵌入式系統(tǒng)的開發(fā),其方法和設(shè)計流程詳見后。
3 系統(tǒng)軟件的設(shè)計和開發(fā)
系統(tǒng)的軟件設(shè)計主要分為三部分:協(xié)議軟件、驅(qū)動軟件和接口軟件。其中協(xié)議軟件部分主要用于實現(xiàn)IEEE 802.11bMAC層協(xié)議定義的各種服務(如授權(quán)、關(guān)聯(lián)等)和算法(如DCF、PCF、時鐘同步算法等)。這一部分軟件采用圖2所示的設(shè)計流程,完全使用形式描述語言SDL進行設(shè)計實現(xiàn),并使用SDT的代碼生成器將SDL的系統(tǒ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所示。
評論