基于ARM的IEEE802.11bMAC层协议IP核设计

时间:2024-09-15 13:55:48 理工毕业论文 我要投稿
  • 相关推荐

基于ARM的IEEE802.11bMAC层协议IP核设计

摘要:介绍了IEEE 802.11b MAC层协议IP核设计,提出了基于32位微处理器ARM7DMI的系统设计方案,阐述了系统硬件平台的设计、结构及主要模块单元的功能;给出了利用形式描述语言SDL进行MAC层协议设计开发的完整设计流程;阐述了软件的层次结构,并针对设计中遇到的代码生成器的选择、设计优化、与实时操作系统(RTOS)的集成和环境函数编写等问题进行了深入讨论。

目前各种协议的设计实现,大多数是基于微处理器、微控制器或DSP的嵌入式系统。ARM是ARM公司推出的高性能32位RISC微处理器,具有业界领先的体系结构,被广泛6应用于各种系统设计中。基于ARM的开发通常使用C、C 或汇编语言。笔者采用了更高级的形式语言SCL,大大缩短了协议的开发周期并提高了设计的可移植性。无线局域网是目前通信领域的一个研究热点,无线局域网的协议是非常典型的协议。本文将详细讨论使用SDL进行无线局域网802.11b MAC层协议的设计以及基于微处理器ARM7TDMI的系统实现方案。其设计方法具有普遍意义。

1 系统硬件平台设计及功能描述

整个系统硬件平台的设计主要分MAC层和物理层两部分。硬件平台的结构框图如图1所示。其中MAC层部分主要围绕32位微处理器ARM7TDMI和AMBA总线设计,其主要的单元模块和功能如下:

·PCMCIA接口,此接口为硬件平台和主机的通信接口。其设计遵循PC Card标准(版本5)。

·WEP算法加解密模块,此模块用硬件实现IEEE 802.11b MAC层协议定义的有线网等效加/解密算法。

·物理层数据接口,此接口用于完成物理层与MAC的数据交互操作,内部设计有发关和接收FIFO,用来完成数据的接收发送缓存。

·物理层控制接口,此接口用于完成MAC层对物理层的控制功能。例如无数据收发时,可以通过此接口控制物理层部分转入节能状态。

·存储器管理模块,此模块用于实现对系统所有存储器(如FLASH、ROM、RAM)的管理,处理器通过此模块对存储器进行访问。

·中断控制逻辑,此模块用于对系统中各模块产生的中断信号进行控制和管理。

·微处理器单元ARM7TDMI,用于完成与主机的通信,负责整个系统的控制和管理。

图1 硬件平台结构框图

物理层部分的设计主要分为四个单元:

·基带处理单元,主要用于完成基带信号的处理操作,如Rake接收、均衡、数/模、模/数转换等。

·中频处理单元,主要用于完成信号的调制解调处理。

·混频处理单元,主要用于完成射频中频的变频处理。

·射频处理单元,主要完成射频信号的功率放大功能。

MAC层的主要模块单元(外部存储器单元除外)用Verilog硬件描述语言设计并用Xilinx的FPGA Vertex II xc2v3000编程实现。物理层部分则主要用Intersil公司的PRISM芯片组及少量外围电路设计实现。

2 SDL及软件开发平台

SDL是一种层次化的描述语言,采用结构化和自顶向下的设计原则,把系统规范分为系统、块、子块、进程、服务和过程几个层次进行描述。系统、块和子块是静态描述,用于描述系统的结构;进程、服务和过程是动态描述,用于描述系统的行为。SDL的理论模型是通信扩展有限状态机,每个进程都是一个通信扩展有限状态机。

SDL与常用的高级语音有很好的接口,如可以从SDL描述的系统规范直接导出C、CHILL甚至VHDL语言,以嵌入式系统和软硬件混合系统实现;在进行规范定义时,SDL又允许嵌入高级语言,如C/C 语音、义等。因而可以在多个层次上对系统进行准确的规范和描述。因为SDL的上述特性,目前已被越来越多地用于协议软件的开发实现。

本文选用Telelogic公司的SDT4.3和ARM公司的ADS1.2作为主要的软件开发工具。使用SDT进行协议软件的开发步骤如图2所示。

在系统行为定义阶段,要特别注意代码生成器对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所示。

【基于ARM的IEEE802.11bMAC层协议IP核设计】相关文章:

基于ARM7核处理器VxWorks系统BSP设计03-19

基于Avalon总线的可配置LCD控制器IP核的设计03-07

异步串行通信接口的IP核设计03-18

I2C器件接口IP核的CPLD设计03-20

基于ARM的车载GPS系统的研究03-07

基于ARM体系的嵌入式系统BSP的程序设计03-18

基于ARM7的嵌入式控制系统设计11-23

基于ARM及WindowsCE的学生实验辅助学习机的设计与开发11-22

基于VHDL的I2C总线控制核设计03-18