- UID
- 1023229
- 来自
- 中国
|
无线局域网由于其具有安装便捷、使用灵活、经济节约及易于扩展等优点,逐渐在变动频繁、突发以及不方便敷设有线网络的情况下成为最佳的网络部署方案,被广泛应用于学校、机场及流动办公等场合。无线局域网有两种基本布置方式,即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接口。另外,加入了一些复位电路,以备调试使用。
e)电源管理模块。ML310采用开关电源模块,但开关电源模块价格非常昂贵。为了降低成本,采用电压转换芯片来完成变压。因此,对电源管理模块进行了重新设计。裁减后的无线接入点主板硬件结构如图3所示。
电路模块的设计及芯片选型
根据上述五个功能模块的划分和裁减方案进行具体的电路设计与实现,同时对相应的芯片进行选型。
a)处理器模块由XC2VP50 FPGA 芯片及其外围电路组成,如图4所示。该芯片拥有八个I/O bank,每一个bank中提供了许多I/O引脚,在使用某一个bank之前,首先需要将该bank激活。每一个bank都有两个特殊的I/O 引脚,即VRN( voltage reference of N transistor)和VRP ( voltage reference of Ptransistor) 。Bank在使用时需要对其进行阻抗的匹配,VRN和VRP这两个引脚是用来平衡阻抗的。VRP需要连接一个50Ω的阻抗,并与高电平相连,而VRN则需要连接一个50Ω 的阻抗并与地相连。
P50上的电源引脚非常多,每一根电源引脚都需要进行退耦。退耦的方法是将每一根电源引脚上加一个0. 1μf的贴片式陶瓷电容。
b)存储器模块包括系统的内存和外存两部分。HostAP在运行过程中需要的动态内存大小为500 KB~14 MB。考虑到后续安全、认证和QoS的研究需要,内存大小定为32 MB 的DDR SDRAM。芯片选择的是Micron公司的MT46V16M16FG。该芯片拥有16根数据线, 13根地址线,时钟速率在133 MHz。它与FPGA 的连接如图5所示。
选用Atmel公司的32MB flash芯片AT49BV32-A-70TI作为系统的外部存储芯片。该芯片工作电压为2165~316 V,设
计中使用3. 3 V对其进行供电;芯片支持21位地址线、16位数据线。
c)应用接口模块主要包括RJ245以太网接口和PCMCIA接口。以太网接口需要以太网控制芯片才能与CPU 进行通信,常用的以太网控制芯片为Intel公司的i82559。i82559芯片通过挂载在PCI总线上的工作方式与CPU进行通信,可以自适应10/100Mbps以太网。由于以太网端口需要一个惟一的MAC地址保存到ROM中不能更改,电路中需要提供一个1KB的E2 PROM芯片来存储这些信息。芯片选用的是Atmel公司的at93c46a。PCMCIA接口不能直接与CPU相连,因此选用了RICOH公司的R5C841芯片进行桥接。
d)调试接口模块。无线接入点的接口调试模块采用ML310开发平台上的调试模块,包括下载软件用的JTAG接口和调试用的RS-232接口。
e)电源管理模块。ML310开发平台由于电路复杂,电流最大达到10A,所以必须使用开关电源来进行变压。但是,对于无线接入点来说,板上电流最大不超过500mA,没有必要使用开关电源。因此采用低压差线性稳压芯片的电源设计方案。
无线接入点上总共有±12、5、3. 3、2. 5、1.8、1.5和1.25V等多种电压。其中工作在5、3.3、2.5、1.5V四种电压下的元件最多。系统采用与ML310开发平台相同的进电方式,即采用计算机的电源接口来供电。该接口可以直接提供±12、5V三种电压,因此,在电源模块设计中需要设计5转3.3、5转2.5、5转1.5 V三种电压转换电路。剩余的5转1.8以及5转1. 25 V两部分变压电路将放置在靠近元件的地方进行变压,不单独放在电源模块中,有利于PCB电路板的布局布线。电压转换电路采用相同的转换方式,选用不同的变压芯片,芯片型号依次为TPS76933、TPS76925、TPS76915、TPS76918、TPS73101DBVR,都是TI公司的产品。采用这些芯片设计出的变压电路具有功耗低、电路设计简单及成本低等特点。
高速的布局布线
高速电路的传输线效应
无线接入点的CPU主频为300 MHz,内存芯片的主频为133MHz,板上大部分的信号传输速率都在50 MHz以上。因此会不可避免地遇到高速电路设计中经常遇到的传输线效应问题[ 7 ] 。传输线效应的解决办法主要是通过对PCB板进行合理的布局布线以及对PCB的电源层和地层进行合理的配置。本文在无线接入点的布局布线过程中,从多方面对PCB板进
行电气连接的约束并配置合理的电源和地,尽量使传输线效应带来的影响降到最低。
合理的布局是解决传输线问题的主要手段之一。布局主要参考ML310开发平台上相关元器件的摆放方法,采取手动布局方式。元器件摆放的原则由设计的约束规则来进行限制。约束规则包括:元器件之间的焊盘摆放间距需要大于0. 1 mm;元件的摆放密度根据要求在PCMCIA接口附近尽量少甚至不摆放元器件,避免产生干扰,其他区域可以均匀地放置。
合理的布线是解决传输线问题另一个主要的手段,包括严格控制关键网线的走线长度、合理规划走线的拓扑结构、过孔数量等。无线接入点PCB 的布线采用交互式布线的方式。在布线软件工具中首先对布线进行一些约束,进行自动布线,再根据自动布线的情况,对某些有特殊要求的走线进行调节。
此外,解决传输线效应的另一个方法是选择正确的布线路径和终端拓扑结构。在设计中采用了菊花链的布线方式,通过自动布线和手动布线交互进行的方式,使得布通率达到了100%。采用菊花链的布线方式也避免了进行阻抗匹配的工作量。另外,在布线时导线的拐角处不要走成90°折线,以减小高频信号对外的发射耦合。
为了减少信号干扰,需要对PCB的电源层和地层进行合理的分配。无线接入点的PCB板采用八层板的结构。其中,四层作为信号线的走线层,另外四层进行电源层和地层的设置。板上的电压主要有5、3.3、2. 5和1. 5 V四种。根据板上各电压的分布情况,将3. 3和1. 5 V的电压安排在同一电源层,将5和2.5 V的电压安排在另一电源层。另外两层作为地层,这样使得地平面尽量大,从而降低了噪声和PCB的层间信号的串扰。
对接地的处理,必须将高频数字电路和低频模拟电路的地回路分开;对高频信号采用多点串联接地,并尽量加粗缩短地线,从而降低了耦合噪声。另外,在地平面分割时,应保证参考平面的连续性。对数/模共存的PCB板,如果模拟信号线走的距离较远,应该使它的参考回流路径也是模拟地。因此,在设计中,采用在地层沿模拟信号的路径割一个模拟地,使其参考模拟地,从而保证了参考平面的连续性。
通过使用上述几种方法,大大减少了传输线效应产生的影响。布线的效果如图6所示。
图6中,高速电路部分主要分布在中间位置靠右侧。该部分靠近FPGA芯片,容易产生传输线效应。为此,将与FPGA引脚直接相连的其他芯片的对应引脚之间的连线尽量走短,保证了线上所产生的电阻较小,信号在传输线上流动时所产生的衰减也较小,从而不会产生大的传输线效应。
系统测试
将CPU时钟设定为100 MHz,对无线接入点主板硬件电路进行测试。一方面,由于FPGA与flash、SDRAM之间是主要的高速数字信号线,需要对外部存储芯片进行测试。首先编写flash测试程序,对flash进行读、写、擦除操作,并验证数据的正确性。然后,编写SDRAM的测试程序,对SDRAM指定地址空间进行读、写操作,并验证数据的正确性,经过测试外部存储芯片工作正常。另一方面,需要对以太网接口和PCMCIA接口进行测试,编写以太网接口和PCMCIA接口测试程序,通过以太网接口、PCMCIA接口与主机之间进行数据的收发实验,并验证收发数据的正确性。经过测试,以太网接口和PCMCIA接口
能够正确地接收和发送数据。以上测试表明,硬件系统工作正常,因此本文方案较好地解决了传输线效应对信号质量影响的问题。
结束语
本文根据系统需求设计了无线接入点的设计方案,并基于ML310 FPGA平台搭建了无线接入点的原型系统,在此基础上进行嵌入式操作系统Linux和HostAP软件的移植;同时进行了硬件裁减和集成,设计了无线接入点主板的硬件电路。在实际的高速PCB布局布线中解决了传输线效应等问题,最后实现了无线接入点的主板硬件。本文的开发过程对其他嵌入式设备的硬件开发有重要的参考价值。
作者:方林波,侯义斌,黄樟钦,彭冬鸣,张 勇 |
|