在433Mhz 下的MANET 设计与实现

    吴磊 袁宗胜

    

    

    

    摘要:针对工业应用背景,探索433MHz下的MANET设计与实现。采用了平面结构的网络拓扑和分层的网络协议栈结构。以STC12 系列单片机和nRF905为核心射频芯片,构建了低功耗、通用性强网络节点。MAC层协议采用优化的CSMA/CA,降低了网络碰撞。对DSR路由算法进行了优化和改进,有效抑制了广播风暴,提了网络吞吐率。模拟了工业应用场景,提供了温度的采集、继电器和指示灯控制的实现。最终设计实现的MANET功能完善、性能优秀,有广泛的应用前景。

    关键词:MANTA;DSR;自组网;协议栈

    中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)13-0226-04

    Abstract: According to the industrial application background, the design and implementation of MANET under 433MHz is explored. Network topology and layered network protocol stack structure with planar structure. With STC12 Series MCU and nRF905 as the core of the RF chip, low power consumption, strong network node. MAC layer protocol uses the optimized CSMA/CA, reduces the network collision. The DSR routing algorithm is optimized and improved, which effectively inhibits the broadcast storm and improves the network throughput. Simulated the industrial application scenarios, provided the temperature acquisition, the relay and the indicator light control realization. The final design and implementation of the MANET function, excellent performance, has a wide range of application prospects.

    Key words: MANTA; DSR; ad hoc network; protocol stack

    MANET (Mobile Ad Hoc Network),即移动Ad Hoc网络,也可称为移动自组织网络。MANET是一种无中心、自组织、分布式、动态、多跳的无线网络。

    伴随着工业4.0热潮的到来,工业控制、工业传感线网络、户外作业等领域对MANET有了巨大的需求。国内外对MANET设计和实现的研究工作,在各个层面都取得了一定的突破。路由协议的研究工作已经取得了很大进展。整体的设计与实现方案也取得了进步。一些在2.4Ghz频段下的MANET进入了实用阶段。但是,2.4Ghz 频段的无线通信,在复杂的工业生产环境中面临难题。相比之下,433MHz下的无线通信在工业生产环境中有着明显优势。然而433MHz下的MANET尚未有成熟的方案。

    探索在433MHz下的MANET设计与实现有了很大的科研和应用意义。网络层的路由策略是MANTA设计与实现过程中的关键环节。将DSR路由算法MANET中进行优化、改进和移植是一项开拓性的工作,也给其他路由算法的移植带来技术上的指导意义。

    1 总体方案设计

    1.1 需求分析

    根据应用背景,对设计实现一个在433MHz下的MANET进行需求分析。提出如下需求:

    1)网络是个MANET,能够运行在工业环境中,使用433MHz频段。

    2)网络无中心节点,节点数不超过10个,可轻量构建,支持3跳路由转发。

    3)网络性能稳定,数据传输可靠,吞吐量高,端到端延时小,高能效。

    4)网络节点体积小,可携带,运行持续、稳定,处理器芯片通用性强。

    5)对网络应用前景进行探索,组温度传感器网络和工业控制网络。

    1.2 概要设计

    移动节点构成了网络的主体。每个节点既是终端节点又是路由中转节点。每个节点通过无线方式与网络中的其他节点通信。

    1)功能设计

    网络的构建和变动对终端节点透明,网络具有自组织性。网络提供任意节点之间,端到端的透明数据传输。如图1。

    2)体系结构设计

    体系结构的设计主要包括网络拓扑结构设计和协议栈结构设计。

    根据需求分析可知,要设计的目标MANET,规模小,都在433MHz频段下通信。故此,目标MANET的网络拓扑结构使用平面结构。根据MANET自身的特点,可以将433MHz下MANET的协议栈划分为五层。如图2所示。

    3)MAC协议选择

    载波监听多址访问(CSMA)协议,是一个优秀异步竞争协议。对MANET的特点有很好地适应。故此,在MAC层采用CSMA/CA协议实现。

    4)路由算法选择

    常见的MANET路由算法有AODV、DSR、TORA 。文献[1]仿真模拟了三种路由算法,得知在MANET中,DSR 算法表现了较高的性能。此外,DSR路由算法简洁、稳定且容易优化和移植,适合小型网络。 因此,要设计的MANET可以基于DSR路由算法实现。

    2 节点详情设计

    统筹考虑节点自身特征和工业应用环境,节点的详情设计需要从以下几个方面出发:稳定、轻量、可扩展、能耗低、低成本等。

    2.1 节点架构设计

    节点的主要组成部分包括:处理器,电源及供电模块,无线收发模块,电量检测模块,温度传感器,控制模块,外部存储模块,通信接口,状态提示模块。

    2.2 核心器件选型

    根据节点的构架设计框图,可知处理器芯片和无线收发芯片对节点整体的功能实现和性能表现启到决定性的作用。

    1)无线收发芯片。Nordic VLSI 公司的射频芯片nRF905,可工作于433MHz频段;封装体积(5×5mm)小;电路集成度高,只需要加少量外围电路就可以工作;通过SPI总线与处理器通信,传输速度快、误码率低;有多种工作模式,功率可调,能效高;功能集成度高,对对MAC层协议支持好,芯片普及率高价格合适。因此采用nRF905作为无线收发模块的核心芯片。

    2)对于处理器芯片的选择需要以下几个方面:运行速率、存储容量大小,集成度,功耗高低,体积大小,价格等。综合节点具体需求,最终选STC12C5A60S2_ PDIP-40作为处理器芯片。STC12C5A60S2是款增强型的C51内核单片机。完全兼容8051 系列单片,并且速度快,能耗低。

    3)其他芯片。其他模块的芯片对节点的整体性能影响不大。参考常见方案其他模块的核心芯片的最终选择为:通信接口采用MAX232芯片进行串口电平转换。温度传感器采用单总线的DS18B20传感器。状态提示模块,使用蜂鸣器和led指示灯,支持串行链接的12864屏幕。控制模块采用工业级的5v直流继电器。

    2.3 硬件整体实现

    结合所选择的核心元器件可将节点架构设计图3进一步细化。根据芯片技术手册进行电路原理图设计。根据电路原理图进行电路板的设计。为了减少数字信号对无线收发模块的干扰,需要将电路板中的模拟地和数字地隔离,也要将无线收发模块与主模块的电路板分离设计,通过插槽连接。

    3 软件设计与实现

    3.1 MAC协议的软件实现

    1)节点实时检测无线信道上的载波信号,当信道上没有载波信号的时间持续一定的长度时,就看做是信道空闲。这个时长被称为DIFS(分散帧空间)。若节点有发送信号的要求,需要满足信道空闲的条件,不能满足就继续等待,直到信道空闲为止。

    载波检测协议被集成在了nRF905芯片内部,使得nRF905 CSMA/CA 有了很好的结合。nRF905专用的芯片引脚CD用于载波检测。CD 引脚出现高电平的时候,说明同频率的信道正在被使用。载波检测的实现函数如下:

    bool CSMA(void)

    {

    将nRF905 设置为接收模式;

    while (检测预设的时间值)

    {

    if(CD 出现高电平)

    return ture;

    检测预设的时间值减一;

    }

    return false;

    }

    2)退避算法

    在同一通信环境中,同一时刻可能有多个节点在等待着信道空闲状态的满足,因此当信道从占用状态转变到到空闲状态的时刻,最有可能发生冲突。此时节点还应该有退避等待策略。

    “指数退避”策略是退避等待的常用算法。在该算法中:节点第一次检测到当信道从占用状态转变到到空闲状态时初始化一个计数器。然后退避一段时间,继续检测信道状态。若信道是空闲状态就将计数器减一,否则不更改计数器的值。如此往复知道知道计数器的值为零,就得到了信道的使用权。在往复的过程中,每次退避的时长与循环次数的二进制指数相关。

    “指数退避”算法的实现流程,如图4所示。NB表示退避次数,CW表示尝试次数,BE表示后退指数。根据测量可知DIFS的值应设为250us。根据nRF905的收发模式切换时间可,将BE初始值设为2,上限值4。

    3.2 DSR路由算法

    1)DSR路由算法实现过程

    DSR算法实现了源路由的机制。源节点向目的节点发送数据包时,需要在数据包的头部添加完整的路由信息。路由发现和路由维护是节点获得和维护路由信息的两个主要过程。

    ①路由发现过程

    当源节点有数据包发送需要时,首先会查看自己的路由表内有没有到目的节点的信息,若有就直接使用,否则发起一次路由发现过程。源节点以泛洪广播的方式发送路由请求(Route Request ,RREQ)包。路由请求包的格式如表1。其中Sid表示源节点的地址,Did表示目的节点的地址,Route record用来记录该包被转发的路径,Request id记录源节点发出的RREQ包的序列号。保证了RREQ包的唯一性,为了减少广播开销,网络中的节点在收到RREQ包后会根据判断是不是第一次收到该包,若是,则处理,否则,直接丢弃。目的节点或网络中其他缓存有到目的节点路由信息的节点,会回复一个包含源节点所需路由的路由应答(Route Reply)包。

    ②路由维护过程

    如果网络中的某节点知道自己发送或者转发的一个源路由数据包没有成功交付到下一跳时,则认为链路中断。该节点会向源节点反向发一个路由出错信息 RERR(Route Error)包。路径上的节点在收到RERR包后,会将相应的路由信息从路由表中删除。此外源节点可以按照已知路由向目的节点发送一个应答请求包。目的节点收到应答请求包后向源节点回复一个应答确认包,使得源节点认为相应的路由信息可用。如果在一定时间内,源节点没有收到相应的应答确认包,则认为相应的路由信息不可用。然后删除对应的路由信息,重新发起路由发现过程。

    

    2)DSR路由算法的改进

    结合前文概要设计和DSR的特点,为了进一步提高DSR路由算法的效率,从以下几个方面进行DSR的优化和改进。

    ①网络中任意两节点之间最大路由跳数设置为 3跳,即每条路径上最大包含5个节点。为了避免网络广播包在网络中被无限的转发,为每一个网络包设置一个生存时间值(Time To Live,TTL)。

    ②为减少路由发现过程的发起次数,在中间节点在获得路由应答包后,可以提取其中的路由信息,得知本节点到源节点和目的节点了路由。

    ③节点路由表中的记录条数最多为10条。当路由表已经存满而新的记录又需要记录时,则按照FIFO策略淘汰旧记录。

    ④为应对网络被分隔的情形,防止一些节点频繁的发送路由请求包。建立等待路由应答表,记录源节点向目的节点发送路由请求包后,等待路由回复包的状态。

    3.3节点中软件的程序实现

    网络中的节点既是终端节点,又是路由节点,同时还可以通过串口与其他设备交互。因此节点中运行的程序是多任务和事件驱动的。根据TC12C5A60S2的计算和存储能力,通用的操作系统并不适合加载到芯片上。为此,节点中的程序需要实现多任务的调度和事件的实时响应。这些的实现离不开各种任务表和数据缓冲区,以及状态表的支持。

    为在计算和存储能力有限的TC12C5A60S2概要设计中的网络全协议栈功能,自定义的网络包格式没有完全遵守标准的DSR协议规约。根据上文中在433MHz下MANET的设计要求,对DSR的网络包进行了个性化定义和轻量级的优化。

    网路包包括:路由请求包、路由应答包、源路由包和路由出错信息包等。

    各类状态表包括:路由表、SID_QId快查表、nRF收缓冲区、待发送任务表、等待路由应答表和串口收缓冲区等

    整体软件设计中,采用全协议栈的缓冲区和状态表共享,实现了基于事件的实时响应和短作业优先的任务调度策略。节点主程序流程,如图5所示。部分处理函数的伪代码实现,见附录。

    4验证分析

    节点的通信距离对网络的整体性能会有很大的影响。在组网测试之前,首先进行的是点对点的数据收发测试,用以获得节点的有效通信距离。考虑到对通信影响的诸多因素,实验设置了多种场景进行点对点的通信距离测试。测试结果如表2。

    PC和网络中的节点通过异步通信串口链接。在PC中使用串口调试助手,向节点发送数据,进行连续数据传输试验测试。测试网络吞吐率:在工业生产环境中。测试1个节点至10节点网络中点对点,1跳、2跳、3跳情况下的吞吐率。将网络包的大小设置为32字节。结果如表3。

    网络中点对点的数据传输吞吐率约为16 kb/s 。随着网络规模的增多网络的吞吐率会下降。最终趋于稳定。10节点,3跳路由的网络数据传输吞吐率数据传输吞吐率5 kb/s。从最终的测试结果可知,设计实现的MANET功能完善性能优秀,有广泛的应用前景。达到了预期目标。

    参考文献:

    [1] 张简丽, 许洪光. 基于DSR的路由协议综述[J]. 通信技术, 2009,42(1): 137-139.

    [2] Jubin J, Tornow J D. The DARPA packet radio network protocols[J]. Proceeding of the IEEE, 1987,75(1): 21-32.

    [3] Tamilarasi,Muthu,Palanuivelu,T.G. A strategy to reduce the control packet load of MANETs withi bidirectional links using DSR[J]. International Journal of Network Management, 2008,18(4):365-379.

    [4] 夏辉, 贾智平, 张志勇. 移动Ad Hoc网络中基于链路稳定性预测的组播路由协议[J]. 计算机学报, 2013, 36(5): 926-936.

    [5] 吴磊, 皮智. 一种改进型DSR-I路由协议的设计与仿真[J]. 计算机技术与发展, 2016, 26(2): 17-21.

    [6] 李波波,龙昭华. 基于蚁群优化的Ad Hoc网络Qos路由[J]. 计算机工程与设计, 2016, 37(1): 13-16.

    [7] 孟利民,宋文波. 移动自组网路由协议研究[M]. 北京: 人民邮电出版社, 2012.

    [8] 王辉. NS2网络模拟器的原理和应用[M]. 西安: 西北工业大学出版社, 2008.

    [9] Ahmad Shakeel,Awand Irfan. Performance analysis of DSR & extended DSR protocols[C].Proceedings-IEEE Military Communications Conference MILCOM,2007.

    [10] Steven W,Jason D,Michael B.A Protocol for Adaptive Multicast Transmission in Packet Radio Networks[C]. The 2010 Military Communications Conference, 2010.

相关文章!
  • 融合正向建模与反求计算的车用

    崔庆佳 周兵 吴晓建 李宁 曾凡沂<br />
    摘 要:针对减振器调试过程中工程师凭借经验调试耗时耗力等局限性,引入反求的思想,开展了

  • 浅谈高校多媒体教育技术的应用

    聂森摘要:在科学技术蓬勃发展的今天,我国教育领域改革之中也逐渐引用了先进技术,如多媒体技术、网络技术等,对于提高教育教学水平有很

  • 卫星天线过顶盲区时机分析

    晁宁+罗晓英+杨新龙<br />
    摘 要: 分析直角坐标框架结构平台和极坐标框架平台结构星载天线在各自盲区状态区域附近的发散问题。通过建