基于A(yíng)RM的IEEE802.11bMAC層協(xié)議IP核設計
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所示。
應用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所示。
4 與ADS接口及軟件后端開(kāi)發(fā)
從SDL轉化出C/C++代碼后,可使用ARM的開(kāi)發(fā)工具ADS進(jìn)行后續的軟件開(kāi)發(fā)。其與SDT工具的接口及開(kāi)發(fā)流程如圖4所示。
評論