无线局域网由于其具有安装便捷、使用灵活、经济节约及易于扩展等优点,逐渐在变动频繁、突发以及不方便敷设有线网络的情况下成为最佳的网络部署方案,被广泛应用于学校、机场及流动办公等场合。无线局域网有两种基本布置方式,即Adhoc模式和BSS模式[ 1 ]。在BSS模式中,主要以无线局域网接入点( access point, AP)实现移动无线局域网内移动设备的管理和与有线网络的互连互通。因此,AP作为无线局域网的关键组成设备,其性能的好坏将直接影响到整个无局域网的数据传输性能,即设计功能强大、配置灵活、管理方便、安全性高的AP对无线网络的性能有着重要的影响。
无线AP有三种实现方式[ 2 ] ,即HostAP方式、第三代码( tertiary code)的固件方式和带有自身固化程序的固件方式。本文设计的无线AP采用HostAP方式。HostAP通过软件程序完成几乎所有的IEEE 802.11b控制功能,包括路由、网桥协议和管理等。这种设计方式的显著优点是软件程序较易更改且具有很强的灵活性,易于按用户的要求进行配置和拓展,为后续的认证、安全以及QoS等研究工作奠定了基础。
FPGA既具有门阵列器件的高度集成度和通用性,又具有用户可编程的灵活性。
总体设计方案
通过对无线接入点的功能需求分析,确定了基于Xilinx公司的ML310 FPGA开发板的HostAP的设计方案。ML310 FPGA开发板是Xilinx公司特别为需要开发支持PCI总线的嵌入式设备所开发的硬件平台[ 3 ] ,它拥有双PowerPC ( PPC405)处理器,主频最高可达300 MHz,并且可以分别在100、200、300MHz的频率下自适应地工作。软件部分通过移植HostAP的方式解决。HostAP实现了无线接入点的大部分功能,包括SS和DSS服务等。
硬件设计方案
以TI公司的无线接入点设计方案[ 4, 5 ]为参考,硬件平台以ML310 FPGA为基础,对底层软件和硬件进行改进。采用处理
性能更好的CPU、成本更低的芯片,以期达到在不降低性能的前提下,增加新的功能并降低成本的目的。本文设计的无线接入点的硬件框图如图1所示。
图1中, RJ-45接口用于接入有线网络,无线网卡实现无线物理层的数据收发,用于接入无线网络。Flash和SDRAM作为系统存储设备。本文采用了一个桥接芯片来实现CPU与无线网卡的桥接工作。
软件设计方案
软件开发环境采用嵌入式Monta Vista Linux 3. 1 professional edition,通过在FPGA平台上移植并修改HostAP软件,实现
了无线接入点的功能,为后续的认证、安全和QoS的研究工作奠定基础。通过将HostAP移植到ML310 FPGA平台的方式完成无线AP的功能,移植工作采用交叉开发模式。首先,在宿主机上完成开发,并用交叉编译工具编译生成二进制文件;然
后下载到目标机上运行和测试,并通过JTAG调试接口对运行在目标机上的程序跟踪调试,定位问题后在宿主机上对代码修
改、重新编译并下载。如此反复,直到程序在目标机上正常运行为止。
硬件详细设计
原型系统的搭建
ML310 FPGA开发板[ 3 ]拥有双PowerPC 405 ( PPC405)处理器,有类似于PC的存储结构。ML310 还支持多种接口,包括
以太网接口、USB 接口、RS-232接口、UART接口、LCD 接口、JTAG编程口等。多类型的接口极大地方便了嵌入式设备的开发。无线接入点的硬件平台环境主要包括ML310 FPGA开发板、PCI2PCMCIA转接卡、D-Link 650无线网卡。ML310 FPGA与D-Link 650之间用PCI2PCMCIA转接卡连接。该转接卡采用RICOH公司的芯片R5C485实现PCI总线与PCMCIA总线之间的桥接,电路设计简单可靠。无线接入点的原型系统结构如图2所示。
系统硬件裁减和集成方法
实验结果表明,上述原型系统能够完成无线接入点的功能,但缺点是硬件系统过于庞大。笔者在原型系统的基础上,将开发板上没有使用的电路进行了裁减和集成。
硬件的裁减和集成方案[ 6 ]如下:在硬件裁减和集成的过程中,第一阶段是通用平台功能性模块划分阶段,本阶段根据原型系统实际使用到的部分模块,得出裁减方案;第二阶段是实现阶段,按照模块划分设计各电路模块,完成PCB的制作。
ML310 FPGA开发板的硬件电路可划分成五个电路模块:处理器模块、存储器模块、应用接口模块、调试接口模块和电源
管理模块。处理器模块包括板上CPU以及外围电路,该开发板有PowerPC 405硬核处理器(XC2VP30pro) 。存储器模块包
括系统内存和外存两个部分:ML310上使用的是256 MB DDR的内存条;外存使用的是512 MB的CF卡。可供用户开发使
用的接口模块包括了PCI插槽、USB接口、CF卡接口等。调试模块包括用于调试CPU的CPU JTAG接口、用于下载程序的PC4 JTAG以及可以通过主机上的超级终端来调试系统UART接口等。电源管理模块比较复杂,板上涉及到的电源包括5、313、215、115、12和- 12 V等多种电压值。
在裁减和集成过程中,考虑到设计的成本以及降低电路的复杂性,对ML310各部分模块中的芯片进行适当的替换和删除。按照模块的划分,对各个模块进行分别裁减。各模块的裁减方案如下:
a)处理器模块部分。XC2VP30 ( P30)和XC2VP50 ( P50)都属于Xilinx公司的FPGA芯片Virtex-II Pro系列,但P50的性价比高于P30。因此,处理器选用P50芯片代替ML310上的P30芯片。
b)存储器模块部分。内存采用DDR SDRAM芯片来代替ML310的内存插槽方式,可以减少成本,降低内存部分的电路复杂性,缩小电路板的空间。外存使用flash;外存与CPU的通信方式由原先的SystemACE控制芯片来桥接CF卡与CPU的结构,变为flash芯片直接与CPU相连接的方式。
c)应用接口模块。ML310提供了丰富的应用接口,但大部分在无线接入点的开发中没有用到。因此,应用接口模块部分只保留了RJ-45网口。
d)调试接口模块。无线接入点的调试模块沿用ML310开发板的调试接口的电路设计,保留了JTAG口、CPU JTAG口、RS-232接口。另外,加入了一些复位电路,以备调试使用。 |