基于ARM的IEEE802.11bMAC层协议IP核设计(2)
2017-08-25 04:57
导读:在系统行为定义阶段,要特别注意代码生成器对SDL设计的结束,例如对于C advanced生成器不支持信道子结构、信号细化等;对于C micro生成器不支持连续信号
在系统行为定义阶段,要特别注意代码生成器对SDL设计的结束,例如对于C advanced生成器不支持信道子结构、信号细化等;对于C micro生成器不支持连续信号、服务、优先输入/输出等。在系统行为分析仿真调试阶段,使用C basic/C advanced代码生成器产生系统代码,与SDT提供的仿真内核一起编译连接,得到系统行为的仿真醋,然后可以使用text、SDL、MSC等多种跟踪方式进行仿真调试。在系统行为验证时,使用相同的代码只不编译连接时加入SDT提供的验证内核,可得到系统行为的验证模型,可以使用自动状态空间遍历、覆盖率分析等方式进行系统行为的验证。仿真和验证都无环境函数,由仿真器和验证器充当系统的环境,产生和接收与系统交互的信号。在系统行为经仿真验证正确后,可以应用C advanced/C micro生成器产生面向应用的系统代码和环境函数。
应用SDT生成的代码经过适当修改和处理后可以输入ARM开发工具ADS,进行嵌入式系统的开发,其方法和设计流程详见后。
3 系统软件的设计和开发
系统的软件设计主要分为三部分:协议软件、驱动软件和接口软件。其中协议软件部分主要用于实现IEEE 802.11bMAC层协议定义的各种服务(如授权、关联等)和算法(如DCF、PCF、时钟同步算法等)。这一部分软件采用图2所示的设计流程,完全使用形式描述语言SDL进行设计实现,并使用SDT的代码生成器将SDL的系统描述换成面向应用的C/C 代码。驱动软件部分主要用于实现对硬件设备的驱动功能。如PCMCIA接口驱动,这一部分软件用C/C 语言进行设计实现。接口软件部分主要完成SDL转换出的系统代码与RTOS及硬件平台的接口功能。这一部分软件借用于代码生成器产生的环境函数,用C/C 语言设计实现。软件部分的层次结构如图3所示。