引言
20世纪90年代以来,随着个人数据通信的发展,为了实现任何人在任何时间,任何地点均能实现数据通信的目标,无线局域网得到了迅猛发展。无线局域网(wLAN),通常被称为wi-Fi,这是一种可以在9l.44m内进行无线通信的技术。IEEE802.11委员会把孤立使用的无线局域网称为自组无线局域网(Ad-boc Network),把互连使用的无线局域网称为多区无线局域网(Infrastructure Network)
无线AP是组建多区无线局域网的常用设备,配置多个接入点AP,就可以构成一个连续的覆盖区域,可提供移动用户漫游的能力。同时,它在介质访问控制子层MAC中扮演无线工作站及有线局域网的桥梁,是一十两端口的网桥。
1 无线接入点AP的功能描述和系统设计
无线接入点AP(Accss Point)通过一个标准的RJ-45接口用电缆连接到一个传统的集线器或交换机端口,一个无线接入点可认为是一个中继器,在有线局域网和无线设备运行的RF之间转发帧。
当一个站在LAN上发送数据时,接入点
基于MPC852T的无线接入点AP由核心板和接口板组成,如图l所示。核心板集成了摩托罗拉MPC852T处理器,32MB SDRAM以及4MB的Flash,为系统软件提供了足够的空间。核心板上还集成了一个l0M以太网口,不仅实现和有线局域网的桥接。还可以实现系统程序的以太网下载,从而烧写进FIash中。底板上则提供了非常丰富的外设接口:1个10M以太网接口,1个100M以太网接口,1个RS-232接口(COMI),1个BDM调试口(MPC8XX系列的EPBDM),还有1个PCMCIA接口,按入无线网卡,作为无线接入点的RF,实现数据的无线发送和接收。该系统具有体积小,耗电低,处理能力强,网络功能强大的特点,能够装载和运行嵌入式Linux的操作系统,可以在这个系统平台上进行自主的应用软件和驱动程序开发。
2 MPC852T功能介绍
在无线接入点A P的设计中,选用了MotoIoraMPC852T处理器。它是Motorola公司的PowerQUICC系列嵌入式通信处理器。PowerQulCC处理器系列广泛应用于当今市场上的DSL 调制解调器、SOHO路由器、远程接入服务器、DSLAM、中心局交换机设备、无线基础设施基站、企业路由器以及媒体网关等领域。
MPC852T PowerQUICC(Quad Integrated CommunicationController)内部集成了微处理器和一些控制领域的常用器件,是一个多用途的通用芯片。它内部集成了微处理器和常用外围器件,可用于各种控制领域。它应用于通信系统的低成本实现,提供了更高的性价比,并在通信方面有所增强。MPC852 PowerQUICC集成了两个处理块,一个处理块是嵌入的PowerPC核,另一个是通信处理模块(CPM,C0MMunications processor Module)。由于cPM分担了嵌入式PowerPC核的外围工作任务,这种双处理器体系结构功耗要低于传统的体系结构的处理器。嵌入式MFC852T内核可达l00MHz,扩展总线最大频率是66MHz,50/60MHz内核频率支持l:1模式和2:1模式,80/100MHz内核频率支持2:l模式。MFC852T系统集成单元主要包括:总线监视器、中断监视器、软件看门狗、中断定时器、时钟合成器、PowerPC减量器、复位控制器及JTAG1149.l测试口。以上性能理想地适用于各种有线和无线的通信处理任务,极大地满足了控制层繁重的任务处理及传输层高带宽的要求。
3 核心板的设计
MPC852T是32位地址,32位数据总线宽度,4
KB的数据Cache和4KB指令Cache,分别带有一个MMU,52MHz的主频,52MbpS的总线速度。若外接8位或l6位数据宽度的外设芯片,与CPU相接时,MPC852T的总线数据宽度是可设置的,可分配为8位、l6位或32位模式。在核心板中,选用了2片16×lbit数据宽度,共4MB的Flash(MX29Lv160BTC,如有不同型号,则是完全兼容的器件),速度70/90ns:2片16M×8bit数据宽度的SDRAM(HY57V651620BTC-10S,如有不同型号,则是完全兼容的器件)构成,共32MB SDRAM。MPC852T共提供了4个PORT,即PoRTA、PortB、P0rtC和PortD,对应的控制寄存器实现与其它信号引脚的复用。
端口分配使用情况如表l所列。
其中:一个SCC作为10M以太网接口,SMC(和P0rtB GPIO复用)作为两线串口(TXD,RXD)。核心板未用的,通过核心板接口,引到接口板作为GPl0资源使用。
同时,由1个LED提供1个运行指示.1个l0M局域网接口LINK/TRANSMIT/RE
4 底层接口板的设计
底层接口板有1个9V供电插座和1个供电模块,用的是9V的直流电源,为核心板和接口板提供标准的3.3V和5V电压。底层接口板还提供了一系列的接口:1个标准RS-232串口,1个标准10M快速以太网接口,1个标准的100M快速以太网接口,1个PCMCIA接口,1个BDM接口。其中,BDM接口和RS-232串口,可用于核心板硬件检测,映象文件下载,运行,Flash烧写等。
系统所用的无线网卡是LANEscapeTM XI-325H的无线网卡,PCMCIA接口,2.4GHz直接序列扩频,高速低功耗,发射功率为20dBm,遵循802.11h协议和Wi-Fi认证,64bit/128bitWEP加密,支持TCP/IP,IPX,NetBEUI的协议,支持1Mbps、2Mbps、5.5Mbps和llMbps的自动传输速率选择,支持Ad-Hoc(对等),Infrastructure(基础网络)和Roaming(漫游)的网络模式,可以实现方便快捷无缝连接以太网和无线局域网。
MPC852T的CPM部分的4个SCC均可配置为10M以太网控制器,FEM是10M/100M以太网自适应控制器-通过这些以太网控制器,只需要简单的线路接口单元就可构成10M以太网口和10M/100M自适应网口。该以太网口符台IEEE8023规范。实际使用中,MPC852T设置多少个网口,应根据主芯片的运行主频和接口要求统筹考虑。在50MHz的MPC852T芯片上,实现1个10M网口(采用SCCl实现,如图3所示)和1个lO/100M自适应网口如图4所示。
MPC852T中I/O口的引脚几乎都有多种功能,通过对有关的寄存器进行设置或将某些引脚设置成指定电位,使得有关I/0功能为设计指定功能。由于MPC852T的引脚多,各引脚的功能也多,为了能够尽快地确定各引脚的功能,可利用摩托罗拉公司提供的引脚功能安排工具,检查引脚功能上的冲突。
5 无线接入点AP的系统软件设计
MPC852T是遵照P0werPC结构体系的嵌入式芯片系列,因此可实现多任务操作,并支持多种内存映射方式,完全可以运行实时多任务操作系统,以满足通信控制设备所要求的实时性。
嵌入式操作系统主要有Palm OS、Windows CE、EPOC、Linux CE、ONX、ECOS、LYNX等。高端嵌入式操作系统要求许多高级功能,如图形用户界面和网络支持,但其价格很高,一般用户难以接受。嵌入式Linux操作系统以价格低廉,功能强大有易于移植而被广泛应用。Linux是个和Unix相似,以核心为基础的,完全内存保护,多任务多进程的操作系统。它支持广泛的计算机硬件,包括MOTOROLA、X86、Alpha、Sparce、MIPS、PPC、ARM、NEG等。
在移植的Linux源代码中,根据目标进行半裁减定制,以适合目标系统,尽量少占用系统内存。操作系统定制后.将其连接到目标的应用程序上,成为应用程序的一部分,并对低级系统的初始化文件进行修改,使之符合目标板的需要。对于MPC852T,所有软件都固化在板上2片Flash内,Flash的内容可通过烧写工具来更新升级。开发应用程序和更改其上的操作系统工作方式,可以采用一种交叉编译的开发模式,即为MPC852T应用。它不能直接在MPC823板上编辑、编译和调试,而必须把工作寄宿到一台
PC机上完成。一个小型的Linux操作系统需要下面三个基本要素。
①引导工具.它完成系统的一些初始化工作,然后把操作系统调入到内存中,跳到操作系统的入口。
②Linux内核,由内存管理,进程管理和事务处理构成。因为Linux内核支持多种CPU体系,所以修改Linux内核运行到硬件平台中,不需要太多的工作。
③初始化进程,为Linux系统安装inetd、telnetd、tftpd、bttpd等守护进程,使得Linux系统成为名副其实的网络操作系统,可以Telnet远程管理,可以FTP传递文件。
如果系统想成为完整的操作系统,还得加上一个文件系统,硬件驱动程序和提供所需功能的一个或多个应用程序,如1个串口、1个10M以太网接口、1个100M以太网接口、1个BDM调试接口、WLAN无限网卡的驱动程序,802.1lb无线AP以及网关系统软件,Web Server及TCP/IP协议等应用程序。
6 嵌入式LinuX无线接入点AP的实现
由于嵌入式操作系统硬件资源的限制.要做到实现AP在嵌入式Linux操作系统上的应用,就需要
(1)精简内核
Linux内核是可以根据特定的要求进行定制的,笔者使用的是嵌入式Linux操作系统3.0for PowerPC版本.在/usr/src/linux目录下,使用make menuconfig把可以拿掉的项目全部拿掉。如果嵌入式系统没有软驱和光驱,则去掉内核中对于软驱(floppy)及光驱(cdrom)的支持选项;如果AP不需要发声,则不要声音(sound)的支持。去掉所有的字符设备(character device)等。
在去除的同时 要根据AP应用软件及一些特定功能的要求,在内核中留下对需要驱动的支持。例如:要保留对网络的支持,保留对TCP/IP协议的支持,保留PPP(点对点协议)特定功能的支持。
配置完成后,重新编译内核,然后修改Linux系统引导器Iilo的配置文件井最后以新编译的核作为启动内核。
(2)缩小Llnux的文件系统
嵌入式Linux本身是一种操作系统,它的主要任务是管理计算机的系统资源,为用户提供使用计算机及外部设备的接口,因此在对Linux进行大幅度删减缩小的同时,也保留了一些基本的命令和目录。这些保留的命令和目录大致可以分成三类:一类是Linux操作系统启动所需要的,另一类是为了完成一些系统功能的,最后一类是使AP能够正常工作的。
完成裁减工作后重启,若Linux能够正常启动运行,表明初步的Linux操作系统已构架成功,这样就要完成AP在此上面的实现。AP是以运行脚本命令pcmcia将AP驱动程序中已经编好的目标文件(.o文件)作为模块加载到系统中启动的,Linux提供了depmod、insmod、rmmod以及其它一些命令来保证适当的模块以正确的顺序加载。同时,AP启动时还要读取配置文件,所谓配置文件就是方便用户修改相应的参数,如AP的SSID,AP的信道号等所编制的简单脚本文件。这些配置文件通知AP驱动程序相关参数的设置。有了这些文件后,AP就能正常启动了。另外,AP的目标文件在AP关闭后自动卸载掉。
最终实现的AP嵌入式Linux操作系统大概由以下几个目录组成。
◇/bin: 包含用户的使用命令,如cp、Is、rm等,可根据情况对原系统的命令进行删减。
◇/boot:包含一些压缩的内核映像和启动必备的文件。
◇/dev包含系统所需要的设备文件,是Linux设备输出,输入所需要的,可以用命令mknod或是makedev来产生。
◇/etc:包含系统所需要的配置文件。
◇/lib包含执行命令所需要的共享库,命令ldd可以告诉哪些库可以动态连接在某一个执行命令上,这样可以将需要的库拷入。
◇/mnt:此目录一般为空。
◇/proc:是个空目录,启动时内核将系统启动状态文件放人此目录中,是proc文件系统所需要的目录。
◇/sbin:包含系统命令,如init、getty、reboot等,有 些命令会影响整个系统。
◇/var:包含AP启动时的一些日志文件。
◇/usr:放入另外一些必要的命令,在目录/ust/sbin及/usr/bin中。
根据具体的情况进行具体的删减,最终在4MB存储容量的巅入式Linux操作系统中完成对无线接入点AP的使用。
结语
在嵌入式Linux操作系统上实现基于MPC852T的无线接入点AP的系统设计,充分发挥了MPC852T的强
大控制能力和通信能力,以及Linux操作系统资源调度能力和实时性的特性,使AP具有较高的转发速率,满足了用户的需求,而且构成了一个结构清晰、模块化、易实现、易使用的嵌入式系统。