引言
20世纪90年代以来,随着个人数据通信的发展,为了实现任何人在任何时间,任何地点均能实现数据通信的目标,无线局域网得到了迅猛发展。无线局域网(wLAN),通常被称为wi-Fi,这是一种可以在9l.44m内进行无线通信的技术。IEEE802.11委员会把孤立使用的无线局域网称为自组无线局域网(Ad-boc Network),把互连使用的无线局域网称为多区无线局域网(Infrastructure Network)
1 无线接入点AP的功能描述和系统设计
无线接入点AP(Accss Point)通过一个标准的RJ-45接口用电缆连接到一个传统的集线器或交换机端口,一个无线接入点可认为是一个中继器,在有线局域网和无线设备运行的RF之间转发帧。
当一个站在LAN上发送数据时,接入点以指定的RF和无线帧格式转发帧,而并不考虑该帧的目的地。同样,当一个无线设备发送一个帧时,接入点通过所设定运行的RF来接收帧,然后把帧转发到有线局域网。两个或者多个无线局域网接入点,将为移动无线设备提供一个接入到有线局域网的无线扩展区域。当建立一个无线局域网接人点时,要配置一个BSS(Basic Service Set)标识符。同样,也要为那些无线局域网适配卡设定一个区域标识符,其中接入点是为使用适配卡与其连接在一起的无线设备提供服务的。在多个无线接入点构造的一个扩展服务集(ESS,Extended Serice Set)中,通过定位接入点,无线设备就实现了漫游功能,以及通过应用无线局域网接入点服务的能力。一个基本的无线局域网是由一个连接到有限局域网的接入点和使用该接入点的一个或多个无线PC用户所组成。
基于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位数据总线宽度,4KB的数据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/RECEIVE指示,如图2所示。
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操作系统上的应用,就需要对Linux操作系统进行特别定制,删除AP不需要的部分,真正做到精简系统,过程大致可以分成两个部分。
(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具有较高的转发速率,满足了用户的需求,而且构成了一个结构清晰、模块化、易实现、易使用的嵌入式系统。