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