微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 基于ZigBee无线网络的可控组网方法研究

基于ZigBee无线网络的可控组网方法研究

时间:09-15 来源:3721RD 点击:

ZigBee无线网络申节点多采用自组网的方式入网,这种方式容易引起网络中部分节点的过度消耗。针对此种情况提出可控组网方式,通过对节点入网父节点的选择控制,可以有效的监控管理整个网络的拓扑结构和节点分布,并延长节点和网络的寿命。通过在基于CC2530的开发系统申对可控组网方式编译和实现,验证了其可行性。

随着社会的发展,无线网络在我们的各项活动中扮演着越来越重要的角色。无线通信技术有很多,其中ZigBee技术以其低速率、短距离、低功耗的特点,较好地适用于智能家庭、智能建筑、医疗应用和工业自动化等某些特定的需求。

文中主要是对ZigBee网络通讯组网方式的研究。ZigBee2007/PRO中规定的ZigBee网络中节点采取无线自组网的方式组建网络。自组网容易将多个子节点经同一父节点入网,导致部分路由节点负担过重耗电较快,进而引起过早死亡。本文主要是研究通过一种可控的组网方式,使得用户可以通过上位机自动或手动的选择父节点让节点入网,这样可以避免对个别关键节点的过量消耗,延长网络寿命。

1无线自组网方法分析

无线自组网(Ad Hoc)又称为多跳无线网,它是一种无中心节点、多跳的自组织技术。在ZigBee2007/PRO中倡导的组网方式中,一个新的节点在网络中可以随机放置,接通电源后先完成节点初始化,然后首先向协调点发送指令,协调点接收到请求分配级别指令后会记录节点信息并分配对应级别,并发送分配级别指令。节点在设定的时间内如果收到了分配指令,就会协调点发送包含白组织信息的数据包,确定自己在网络中的级别和父节点信息,接入网络。如果在设定的时间内没有收到分配级别的指令,该节点就会从待机状态唤醒,再次发送分配级别请求指令,循环执行,直到接入成功。当达到设置的上限次数但仍未获得指令信息时,则节点接入失败并报告错误。节点自组织流程图1所示。



图1 节点自组织流程图

2改进的组网方式

文中要实现的组网方式,是要让子节点加入网络时实现有效的全程可控。当新节点放入网络后,会先广播发送信标帧,有效范围内的可用父节点收到信标后会回复确认消息,其中包含父节点本身的信息,新节点收到反馈的消息后会搜集父节点信息,整理后把包含父节点信息和自身信息的消息广播发送给协调器。协调器接收到消息后会通过串口发送到上位机控制器,经判断后自动或人为的选择适合接入的父节点并将此消息发送给对应父节点,父节点接收到此消息后向新节点发送消息建立连接,节点入网完成。

一个新节点放入网络中,打开电源后会首先应用层会向网络层发送一条发现网络请求原语NLME-NETWORK-DISCOVERY.request对节点进行初始化。网络层收到网络发现请求原语后会向MAC层发送节点扫描请求原语MLME-SCAN.request,来指示MAC层进行网络的主动扫描。MAC层收到此条原语后就会指示物理层向网络中广播发送一条扫描父节点信标帧,然后进入待机模式等待反馈。在可用的父节点接收到信标帧后,会向子节点反馈发送确认消息,其确认消息中将包含父节点本身的信息。节点的MAC层会接收每条具有有效负载的反馈信标,然后对收到的信息进行整理,确认信标负载、信标的对应节点地址等信息,整理后MAC层将会向NLME发送一条指示原语MLME-BEACON-NOTIFY.indication.NLME在收到原语后会对接收到的数据中的地址字段进行标记,以确定是否与自己的近邻表中现有地址相同。如果比对结果显示二者相同,即重复节点,节点会把信标丢弃;如果二者不同,节点就保存信标信息,并把其中的地址信息添加到自己的近邻表中。MAC层在达到设定的计时周期后,就会向NLME发送扫描确认原语MLME-SCAN.confirm,以标志扫描过程结束。然后网络层向应用层法发送一条发现确认原语NLME-NETWORK-DISCOVERY.confirm,将其扫描到的节点信息反馈给应用层。应用层在接收到网络层发送的发现确认原语后,会向NLME发送加入请求原语NL ME-JOIN.request,发送的原语中对应的标识符参数与搜寻到的各节点的网络标识符一致。网络层在收到上层的加入请求指令后,会整理搜寻到的可用父节点信息,加入地址信息后发送加入请求原语MLME-JOIN.request给MAC层。MAC层收到原语后会指示物理层向网络中广播发送一条加入请求信标帧,然后节点会打开定时器并进入低功耗待机状态,等待上级响应。

子节点会在指定的时间间隔周期的唤醒接收上级的指令。协调器完成父节点选择后会给指定的父节点发送确认加入指令,父节点接收到消息后会给子节点发送一条加入请求原语NLME-DIRECT-JOIN.request来完成初始化,原语中的参数DeviceAddress记录将要加入网络的节点地址信息,然后向子节点发送一条请求加入的信标帧。子节点在收到父节点的信标帧后,MAC层会向网络层发送指示原语MLME-ASSOICATE.in dication,将接收到的父节点信息发送到上层。网络层收到原语后将记录父节点信息并比对与近邻表中记录的可用父节点信息是否一致,若一致,则向MAC层发送加入请求原语MLME-JOIN.request;若不一致则发送错误报告。MAC层在与父节点关联成功后会向网络层发送加入确认原语MLME-JOIN.confirm指示加入成功,网络层将向应用层发送加入确认原语NLME-JOIN.confirm,告知节点入网成功。新节点加入网络中子节点的信息流程图如2所示。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top