基于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所示。
评论