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

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

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



图2 新节点加入网络中子节点的信息流程图

作为父节点的协调点或路由节点收到子节点发出的节点扫描信标帧后,NLME会先查看自己的近邻表中是否存在与之相匹配的地址信息,以对新节点是否加入过网络进行判断。如果发现有相匹配的地址信息,则路由节点NLME会记录此条地址信息,然后按照下文的网络原有节点重新加入网络进行操作;如果发现没有相匹配的地址信息,则路由节点NLME会向MAC层发送一条响应原语MIME-ASSOCIATE.resPonse。MAC层收到响应原语后会指示节点物理层向新节点发送一条状态信息,信息中记录路由节点的地址和标识符等信息。

等收到子节点发送来的整理完成的信息帧时,路由节点的MAC层会读取信息帧中的头地址信息,然后向NLME发送数据发送请求原语MLME-SEND.request,网络层收到请求原语后判断发送地址是否正确并寻找发送数据需要的路径。路径建立后网络层向MAC层发送发送确认原语MLME-SEND.response,指示节点发送数据。

当信息发送到协调点并经上位机选择后会生成一条指示入网命令帧,然后发送。网络会根据上位机选择的父节点地址将命令帧转发给对应的节点。选择的父节点收到命令帧后会读取命令信息,然后节点MAC层发送加入请求原语MLME-JOIN.request给网络层,NLME收到原语后会给新节点分配网络地址。父节点接收入网请求成功,NLME会在节点近邻表中加入新节点的地址等信息,然后发送加入确认原语MLME-JOI N.confirm给MAC层以报告关联成功。新节点加入网络中时路由节点的信息流程图如图3所示。



图3 新节点加入网络中路由节点的信息流程图

3组网过程的实现

在进行ZigBee无线网络的开发应用时,首先应选取合适的硬件设备。TI公司的CC2530微控制器是新一代的片上系统解决方案。本文选取了成都无线龙公司生产的较为成熟的基于ZigBee的无线网络开发系统C51RF-CC2530-PK.软件开发环境本文选取了IAR Embedded Workbench的C/C++交叉编译器和调试器。

需要入网的子节点在完成初始化后,就会启动入网过程。节点会向网络中广播信标帧,然后等待可用路由节点的反馈。广播发送数据的函数如下所示:

当收到反馈的可用父节点信息时,节点会将反馈的信息搜集整理后发送出去,然后进入待机状态,等待入网反馈。节点广播入网请求信息函数段如下所示:

当上位机选取合适的父节点后,父节点会与子节点启动经指定节点直接入网过程。此部分程序在ZigBee协议栈中有例子程序,在此不再详述。

在子节点有效距离内的路由节点和协调器会在于节点广播消息时接收到扫描帧,当路由节点收到子节点的扫描帧时会首先判断自身是否具有加入新节点的能力,包括是否有足够地址空间等。路由节点反馈的函数段如下所示:

子节点搜集收到信息后会给路由节点发送入网请求,其入网请求信息中包含可用父节点信息。向协调器转发请求入网信息的函数段如下所示:

父节点收到指令后会启动节点入网过程。

文中用包括一个协调器、两个路由节点和一个终端节点的网络进行实验验证。程序编写完成后将协调器代码下载至节点1,并将此节点标记为协调器;将父节点程序分别下载至节点2和节点3,并将这两个节点作为原网络的路由节点,也即子节点入网时的可用父节点;将入网节点程序下载至节点4.

下载完成后分别先打开协调器节点1和路由节点节点2节点3的电源,用USB线将协调器与上位机连接起来,等待路由节点自动加入网络,组建所需主干网。待组建完成后打开节点4电源,并打开串口调试助手,此时会看到节点4扫描可用父节点信息后发送的入网请求信息,并在上微机软件窗口显示节点信息,此时选择节点3作为接入父节点,此时可通过串口调试助手看到确认接入命令。节点3接收到指令后会启动接收节点4为其子节点,节点4加入网络。加入网络成功后会在上位机软件显示网络拓扑结构。

4结论

通过对组建网络和网络节点入网过程的运行实现,验证了所做的可控组网改进方法达到了预期设定的目的,实现了上位机通过选取可用的父节点对入网过程的控制。这样的情况下当在一些特殊情况下或者已知路由节点状态的情况下可以很好地避开功能较弱或者剩余电量较低的节点,可有效地提高关键节点的寿命,进而提高了网络的寿命。

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

网站地图

Top