摘 要:Ad Hoc无线网络的基本形式是采取对等节点的形式进行通信,其缺点是通信距离有限,且网内只能有一种通信协议。采用了一种新的体系结构,在该体系结构中,整个网络分为2层(骨干网层和子网层):子网即普通的Ad Hoc网,而骨干网(backbone)专门负责各个子网之间的通信(包括路由和协议转换功能)。采用MCF5272充当骨干网的多协议路由器;使用嵌入式操作系统uClinux来进行系统资源管理,运行路由和协议转换模块;网络节点通过无线接口与路由器相连浏览Internet。 关键词:MCF5272;Ad Hoc无线网络;骨干网;路由器;uClinux
1 Ad Hoc网的基本形式[1]和改进的体系结构 与蜂窝网络不同,Ad Hoc无线网络不需要固定网络设施(如基站等),因此可以应用于各种场合,比如紧急灾难援助、军事部署等。在Ad Hoc网中,移动设备既充当通信节点也充当路由器,具有建立路由、中转其他节点的数据的功能。 Ad Hoc无线网络的基本形式是一种平面型网络结构,如图1所示。在平面型结构网络中,移动节点的地位是平等的,其优点是协议的可靠性较好,网络的流量能够比较平均地分散在网络中;但缺点是网络可扩展性差,网络规模较小。首先,当Ad Hoc网中的节点较多且节点分布又很广时,就会出现2个节点必须通过许多中间节点中转才能进行通信的情况,这样就会造成大的延迟和高的误码率。此外,如果2个Ad Hoc 网运行不同的协议,还存在协议转换的问题。

针对这2个问题,我们采取了如图2所示的层次性体系结构。其中A为由3个路由器组成的骨干网(Backbone,速率为256 kb/s),B,C,D为各个路由器从属的子网,其中子网的类型有220 B子网和VHF子网。子网内通信类似于一般的Ad Hoc网络,而子网络间通信和不同路由器下同构/异构网络间通信。对于同一路由器下的同构/异构子网间通信,比如子网B中的节点2向子网C中的节点3发送数据,节点2首先将数据发给子网B的网关节点Gb(节点1)并由Gb转发给路由器R2。R2首先将该数据转换为骨干网的协议格式,然后再将其转换为子网C的数据格式并发给子网C的网关节点Gc(节点1)。Gc收到数据后将其转发给目的节点3。对于不同路由器下的同构/异构子网间通信,比如子网B中的结点2向子网D中的节点3发送数据,节点2首先将数据发给子网B的网关节点Gb并由Gb转发给路由器R2,由R2将该数据转换为骨干网的协议格式并在骨干网中发给R3。R3将其转换为子网D的数据格式并发给子网D的网关节点Gd(节点1)。Gd收到数据后将其转发给目的节点3。

因此,我们可以把2个相距很远的Ad Hoc网作为骨干网的2个子网:2个子网通过Ad Hoc无线网络的骨干网路由器进行中转实现通信,这样就可以减少跳数,而且由于骨干网速度比子网的速度高(骨干网中的路由器也比普通节点的处理能力强),他对数据的延迟也会相应地降低。如果异构网络进行通信,我们可以先在入口路由器中将源子网的协议格式转换为骨干网的协议格式,然后在骨干网中进行传输,最后在相应的出口路由器上转换为目的子网的协议格式。 由上面的讨论可知,路由器在我们的体系结构中起着非常重要的作用:实现路由功能和协议转换功能。从这一角度来讲,我们要求路由器具有良好的性能。另一方面,由于一般情况下Ad Hoc网中的路由器为车载式或背负式,所以路由器还必须有高集成度和移动性。考虑到以上因素,我们采用Motorola公司ColdFire系列集成度最高的MCF5272作为路由器的CPU;外部存储器不是使用硬盘,而是使用Flash;操作系统采用功能强大而占用存储空间很小的uCliunx。
2 MCF5272简介[2] MCF5272是Motorola推出的一款高集成度的32 bColdFire微处理器。这款微处理器基于第二代(V2)ColdFire核心版本而设计。他集成的通信接口包括1个10/100 M自适应以太网控制器,2个串口控制器和1个USB(从)控制器。由于其很强的通信处理能力和较高的性能价格比使得这款微处理器很适合应用于中小型网络的控制设备。MCF5272的结构框图如图3所示。 由图3可见,MCF5272内部结构主要分为3部分: 即ColdFire V2内核模块、系统集成模块(SIM)和外围设备模块。他的主要特点是: (1)ColdFire V2内核模块 ColdFire V2内核是基于32 b精简指令集处理器(RISC)技术发展起来的。主要特征有:32位地址总线,可直接访问4 GB地址空间;32 b数据总线;可变长度精简指令集(RISC);16个通用32 b地址和数据寄存器;支持2种操作模式(内核模式和用户模式)提供系统保护;提供用于重定位中断/异常向量表的中断矢量基址寄存器;全面支持实时跟踪和背景调试模式(BDM);提供适用于DSP的乘加单元(MAC)等。

(2)系统集成模块MCF5272 系统集成模块为ColdFire V2内核提供外部总线接口。ColdFire V2内核内部使用的是32 b的内部地址总线,但其中只有23 b通过系统集成模块和CPU引脚给出来。若外接8 b或16 b数据宽度的外设芯片,445272的数据总线宽度是可配置的,可分别配置为32 b,16 b或8 b模式。设置是在CSBRn中的BW位实现的。在给外设分配片选时,设置好他的CSBR中的这2 b,在访问他的地址时就可以改变数据宽度。16 b数据宽度时,是高16 b(16~31 b)数据线有效。8 b模式时,是最高8 b(24~31 b)数据线有效。 (3)外围设备模块 MCF5272集成了丰富的外围设备及其接口,主要包括2个通用异步串口收发模块;1个自适应快速以太网控制器模块;1个USB控制器(作为从设备)模块。
3 基于MCF5272的Ad Hoc无线网络骨干网路由器的硬件实现 Ad Hoc无线网络层次性体系结构如图2所示。其中,路由器(R1,R2,R3)的CPU采用MCF5272。通 常路由器需要连接多个子网(图2中1个路由器只画出了2个子网)和路由器,而MCF5272只集成了2个UART控制器,因此我们利用ST16C554扩展了4个UART控制器,从而保证某1个路由器在与其他2个路由器相连的同时,可以与4个子网相连接。另外,为了实现路由器对USB设备(如USB标准的移动硬盘,用来存储重要的路由信息)的存储控制,我们扩展了1个主USB控制器。 基于MCF5272路由器的实现方案如图4所示。MCF5272作为路由器的CPU,用于完成骨干网内或者子网间的路由交换,以及异构子网间的协议转换。利用MCF5272集成的以太网控制器实现与外部Internet相连。片内的从USB控制器与网络管理终端主机相连;片外扩展的主USB控制器与USB设备相连。

图4中PRU为无线分组单元(Packet RadioUnit),完成基带信号和射频信号的相互转换。此外,将以太网收发器连接到Internet上,可以实现Ad Hoc无线网络节点对Internet的浏览。
4 软件实现 MCF5272片内外资源十分丰富,可以引入嵌入式操作系统来进行系统资源的管理。uClinux是一种免费的嵌入式网络操作系统,其内核包含TCP/IP协议栈,可以满足Ad Hoc无线网络与Internet互联互通的需要。uCliunx一个显著的特征是没有MMU(内存管理单元模块),他很适合那些没有MMU的处理器,而MCF5272就是一种没有MMU的微处理器。因此,我们选择uClinux作为系统的资源管理平台。内核固化在Flash上,系统启动后,由uClinux自动运行路由器软件。 一般的uClinux操作系统(可以从网上免费得到)只向用户提供了1个最基本的系统平台,针对实际应用还必须编写用户所必需的驱动程序和应用软件。MCF5272集成了2个UART控制器、1个从USB控制器和1个以太网控制器,我们又扩展了1个主USB控制器和4个UART控制器。我们为这些设备编写相应的驱动程序[3,4],并且在uClinux和驱动程序的基础上,实现了路由器软件[1,3](包括路由模块、协议转换模块和无线网络节点浏览Internet代理模块)。 我们在实验室的环境下,利用串口线代替实际的无线链路进行了实验。实验表明,在节点数目相同的情况下,我们的系统和基本形式的Ad Hoc无线网络相比具有令人满意的性能(时延和通过率)。另外,我们的系统通过了对异构子网(220B子网和VHF子网)的测试,完全满足要求。
参考文献
[1]李建东.信息网络理论基础[M].西安:西安电子科技大学出版社,2001. [2]Motorola Literature Distribution.MCF5272ColdFire integrated microprocessor user′smanual[M].第2版.美国:Motorola,2002. [3]天夜创作室.Linux网络编程技术[M].北京:人民邮电出版社,2001. [4]邹思轶.嵌入式Linux设计与应用[M].北京:清华大学出版社,2002.
|