无线局域网卡MAC控制器设计
发布时间:2008/5/29 0:00:00 访问次数:512
关键词:无线局域网sdl;嵌入式系统;控制器
中图分类号:tp393.1 文献标识码: a 文章编号:1003-353x(2005)03-0050-04
随着无线局域网wlan(wireless local area network)应用的普及,设计具有自主知识产权的wlan网卡显得更加迫切。网卡中内嵌的通信协议的复杂性很高,当前工业界主要采取基于微处理器、微控制器或dsp嵌入式系统的形式。microblaze 是xilinx公司推出的高性能32位risc处理器,是当前工业界最快的mpu软核,尤其在virtex ii pro系列的fpga设计中得到广泛的应用。与通常片上总线设计流程相似,wlan中mac(media access control)协议的实现需要设计基于microblaze片上总线和运行于其上的嵌入式软件。基于microblaze的 fpga软件开发通常使用c/c++或汇编语言,但是考虑到协议的复杂性,设计者用功能规格描述语言 sdl(specification and description language)来设计wlan的mac协议。sdl是一种抽象的形式语言,适于开发移动通信中的复杂软件如mac层协议。sdl用图形的方式来描述系统的结构、行为和协议各个模块间的通信,它可以在设计的早期快速实现系统的原型。系统软件原型经过性能仿真后可以进行软硬件划分,其中由sdl描述的软件部分可以在带有sdl的编译器、调试器以及带有仿真和验证的开发环境下进一步开发调试,自动转换为c/c++源代码,并和一些嵌入式操作系统(如vxworks,psos等) 实现集成。最终的c/c++源代码可以在不同目标硬件平台的编译器上进行编译,这样能在其硬件平台上产生可执行代码。
本文所涉及的无线局域网网卡实现受到国家863 项目的支持,利用microblaze进行片上总线设计,用sdl语言实现无线局域网的mac协议层,并在 telelogic tau工具的帮助下将sdl描述转换成的c源代码。这样的设计方法具有普遍意义。
2 mac控制器的硬件结构
无线网卡包括射频功率放大器、射频/中频转换器、中频调制解调器、基带处理器和mac控制器几个部分,它们分别处理从射频到mac帧转换过程中的各种信号流。本文主要涉及mac控制器的设计是基于32位microblaze软核,microblaze总线是哈佛结构,分为连接外设的opb(on_chip peripheral bus)总线和读写片内双端口ram的片内总线lmb(local memory bus)。本项目,完成了各种接口模块和从mac中划分为硬件的模块设计, 并根据相关的总线规范将各硬件模块和microblaze
连接起来,如图1所示。
由图1可见,除软核外,我们用verilog hdl设计了wep(wireless equivalent protocol)、pldi(physical layer data interface)、plci(physical layer control interface)和一些通用模块,这些模块的功能描述如下:
(1)物理层数据接口(pldi):接收基带处理器的数据,并将其传递到mac控制器处理,反之,将从mac控制器来的数据发送到基带处理器中;
(2)物理层控制接口(plci):向基带处理器和射频收发器发送命令或读取其中的状态;
(3)wep模块:对数据进行加密和解密以防止窃听,为标准推荐的加密算法;
(4)pcmcia接口:提供了主机和无线网卡之间的数据接口,还配备了相应的驱动程序。
在上述结构中,pldi和plci提供网络体系中的物理层和mac层的接口,而pcmcia接口提供在mac层和llc以上各层的接口。wep模块用硬件实现可以当作协处理器,它可以加速数据的处理,减轻microblaze的负担。
除了上述的自定义模块外,我们还使用了xilinx提供的可直接使用的ip,如定时器,uart,mmc等。其中的定时器还支持rtos时钟,并为 microblaze提供定时功能;中断控制器对不同硬件的中断进行仲裁。本设计中,xilinx提供的ip和用 verilog自定义的ip可以在edk和ise等工具下生成网表文件,最后导入到virtex ii系列的xc2v3000fpga中,实现整个wlan的mac控制器。
3 基于sdl的mac控制软件开发
无线网卡的软件框架如图2所示[2,3] 。它由与硬件无关的sdl描述的mac协议和运行在嵌入式microblaze上的对硬件操作的片内驱动程序和中断服务程序两个部分组成。图2中的无线局域网的mac协议是用sdl描述、仿真和验证的。它本身不包含任何嵌入式操作系统和硬件平台的特征,它使用环境函数为接口,作为与实际物理平台交互。环境函数作为sdl设计和运行的中间媒介,它调用驱动程序和中断服务程序以控制硬件,使设计者能手动处理sdl系统和物理环境之间的信号。有了
关键词:无线局域网sdl;嵌入式系统;控制器
中图分类号:tp393.1 文献标识码: a 文章编号:1003-353x(2005)03-0050-04
随着无线局域网wlan(wireless local area network)应用的普及,设计具有自主知识产权的wlan网卡显得更加迫切。网卡中内嵌的通信协议的复杂性很高,当前工业界主要采取基于微处理器、微控制器或dsp嵌入式系统的形式。microblaze 是xilinx公司推出的高性能32位risc处理器,是当前工业界最快的mpu软核,尤其在virtex ii pro系列的fpga设计中得到广泛的应用。与通常片上总线设计流程相似,wlan中mac(media access control)协议的实现需要设计基于microblaze片上总线和运行于其上的嵌入式软件。基于microblaze的 fpga软件开发通常使用c/c++或汇编语言,但是考虑到协议的复杂性,设计者用功能规格描述语言 sdl(specification and description language)来设计wlan的mac协议。sdl是一种抽象的形式语言,适于开发移动通信中的复杂软件如mac层协议。sdl用图形的方式来描述系统的结构、行为和协议各个模块间的通信,它可以在设计的早期快速实现系统的原型。系统软件原型经过性能仿真后可以进行软硬件划分,其中由sdl描述的软件部分可以在带有sdl的编译器、调试器以及带有仿真和验证的开发环境下进一步开发调试,自动转换为c/c++源代码,并和一些嵌入式操作系统(如vxworks,psos等) 实现集成。最终的c/c++源代码可以在不同目标硬件平台的编译器上进行编译,这样能在其硬件平台上产生可执行代码。
本文所涉及的无线局域网网卡实现受到国家863 项目的支持,利用microblaze进行片上总线设计,用sdl语言实现无线局域网的mac协议层,并在 telelogic tau工具的帮助下将sdl描述转换成的c源代码。这样的设计方法具有普遍意义。
2 mac控制器的硬件结构
无线网卡包括射频功率放大器、射频/中频转换器、中频调制解调器、基带处理器和mac控制器几个部分,它们分别处理从射频到mac帧转换过程中的各种信号流。本文主要涉及mac控制器的设计是基于32位microblaze软核,microblaze总线是哈佛结构,分为连接外设的opb(on_chip peripheral bus)总线和读写片内双端口ram的片内总线lmb(local memory bus)。本项目,完成了各种接口模块和从mac中划分为硬件的模块设计, 并根据相关的总线规范将各硬件模块和microblaze
连接起来,如图1所示。
由图1可见,除软核外,我们用verilog hdl设计了wep(wireless equivalent protocol)、pldi(physical layer data interface)、plci(physical layer control interface)和一些通用模块,这些模块的功能描述如下:
(1)物理层数据接口(pldi):接收基带处理器的数据,并将其传递到mac控制器处理,反之,将从mac控制器来的数据发送到基带处理器中;
(2)物理层控制接口(plci):向基带处理器和射频收发器发送命令或读取其中的状态;
(3)wep模块:对数据进行加密和解密以防止窃听,为标准推荐的加密算法;
(4)pcmcia接口:提供了主机和无线网卡之间的数据接口,还配备了相应的驱动程序。
在上述结构中,pldi和plci提供网络体系中的物理层和mac层的接口,而pcmcia接口提供在mac层和llc以上各层的接口。wep模块用硬件实现可以当作协处理器,它可以加速数据的处理,减轻microblaze的负担。
除了上述的自定义模块外,我们还使用了xilinx提供的可直接使用的ip,如定时器,uart,mmc等。其中的定时器还支持rtos时钟,并为 microblaze提供定时功能;中断控制器对不同硬件的中断进行仲裁。本设计中,xilinx提供的ip和用 verilog自定义的ip可以在edk和ise等工具下生成网表文件,最后导入到virtex ii系列的xc2v3000fpga中,实现整个wlan的mac控制器。
3 基于sdl的mac控制软件开发
无线网卡的软件框架如图2所示[2,3] 。它由与硬件无关的sdl描述的mac协议和运行在嵌入式microblaze上的对硬件操作的片内驱动程序和中断服务程序两个部分组成。图2中的无线局域网的mac协议是用sdl描述、仿真和验证的。它本身不包含任何嵌入式操作系统和硬件平台的特征,它使用环境函数为接口,作为与实际物理平台交互。环境函数作为sdl设计和运行的中间媒介,它调用驱动程序和中断服务程序以控制硬件,使设计者能手动处理sdl系统和物理环境之间的信号。有了
上一篇:OFDM实现中的关键技术