教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

基于ZigBee技术的无线数据采集系统 - 图文(13)

来源:网络收集 时间:2026-10-05
导读: 如果找到了合适的信道,将随机选择一个网络PAN ID(网络标识,每一个网络都分配有一个独立的网络标识,网络中的设备根据此标识来确认自己所属的网络),不与原来的冲突,并开始侦听该信道。 一旦网络标识被选定,网

如果找到了合适的信道,将随机选择一个网络PAN ID(网络标识,每一个网络都分配有一个独立的网络标识,网络中的设备根据此标识来确认自己所属的网络),不与原来的冲突,并开始侦听该信道。

一旦网络标识被选定,网络层管理实体将选择一个16位网络地址,同时通过发布MLME-SET.request 原语修改MAC 子层的PIB属性macShortaAddress(即MAC层的网络地址),与其保持一致。此时网络层管理实体将向MAC 层发布MLME-START.request 原语开始一个新的PAN操作。最后,网络层管理实体通过发送NLME-NETWORK-FROMATION .confirm原语建立网络的状态的执行结果通知应用层。

图4.2 的消息序列图给出了建立一个新网络的过程。

ZigBee协调器应用层NLME-NETWORK-FORMATION.requestMLME-SCAN.requestMLME-SCAN.confirmMLME-SCAN.requestMLME-SCAN.confirmMLME-SET.requestMLME-SET.confirmMLME-START.requestNLME-NETWORK-FORMATION.confirmMLME-START.confirmZigBee协调器网络层ZigBee协调器MAC层图4.2 ZigBee协调器建立新网络的流程图 Fig.4.2 ZigBee coordinator program flow chart

4.1.3 ZigBee设备加入网络过程

32

江 苏 大 学 硕 士 学 位 论 文

在一个ZigBee协调器设备建立网络后, 路由器或者ZigBee终端设备,可以作为子节点加入ZigBee协调器建立的网络,具体加入方式有两种:一种是通过MAC 层关联方式加入网络,另一种是通过之前指定的父节点直接方式加入网络。只有ZigBee协调器或ZigBee路由器能够允许设备加入网络,而ZigBee终端设备不允许设备加入网络。本文中采用的是直接方式加入网络。

以这种方式加入网络的过程中,首先由父节点发起。ZigBee协调器把设备直接加入到网络的过程通过NLME-DIRECT-JOIN.request原语来初始化,原语中DeviceAddress参数设为将加入到网络的设备地址。当这个过程初始化后,NLME首先判断指定的设备是否已经存在于网络中,这是通过搜索邻近表判断是否有匹配的64位扩展地址来实现的。如果找到匹配的地址,NLME将中止该过程,并通过发送

Status

参数为

ALREAD_PRESENT

的

NLME-DIRECT-JOIN.confirm原语告诉应用层,设备己经加入网络;如果找不到匹配的地址,NLME在可能的情况下将为新设备分配一个唯一的16位网络地址,将在其关联表中为这个子节点创建一个表项。如果地址空间容量不够,NLME将中止该过程,向上层发送Status参数为TABLE_FULL的NLME-DIRECT-JOIN.confirm原语。如果有足够的空间,发送Status参数为SUCCESS的NLME-DIRECT-JOIN.confirm原语告诉应用层创建成功。ZigBee协调器或ZigBee路由器把设备直接成功加入网络的过程如图4.3所示。

父设备APL层父设备NWK层父设备MAC层NLME-DIRECT-JOIN.request检查扩展地址并分配网络地址NLME-DIRECT-JOIN.confirm图4.3 父设备的信息流图

Fig.4.3 Information flow graph of parent device

子节点通过孤节点方式加入:首先子设备调用NLME-JOIN.request原语,

原语中 Rejoin Network项设置为真,然后NLME首先请求MAC子层执行在所有可用信道上的孤立扫描。NLME向MAC层发送MLME-SCAN.request原语启

33

江 苏 大 学 硕 士 学 位 论 文

动孤立扫描,扫描结果通过MLME-SCAN.confirm原语反馈给NLME。如果扫描成功,网络层将发送Status参数为SUCCESS的NLME-JOIN.confirm原语告之应用层,加入成功。如果扫描没有成功,网络层将终止操作,通过发送Status参数为NO_NETWORKS的NLME-JOIN.confirm原语告之应用层,没有找到网络。图4.4是一个子设备通过孤立扫描加入或重新加入网络的信息流程。

子设备APL层子设备NWK层子设备MAC层NLME-JOIN.requestMLME-SCAN.requestMLME-SCAN.confirmNLME-JOIN.confirm

图4.4 子设备加入网络信息流图

Fig.4.4 Information flow graph of child device adding network

当这一过程完成后,父设备的MAC层向上层发送

MLME-ORPHAN.indication原语告知一个孤立设备的存在。只有ZigBee协调器或ZigBee路由器才可以接收MLME-ORHPAN.indication原语,其他设备收到MLME-ORHPAN.indication原语时NLME将中止该过程。ZigBee协调器或ZigBee路由器收到MLME-ORHPAN.indication原语后,首先判断孤立设备是否是它的子设备。这个判断过程是通过比较孤立设备与邻近表中子设备的扩展地址来实现的。如果ZigBee协调器或ZigBee路由器发现孤立设备是它的子设备,NLME将获取该子设备的16位网络地址并通过孤立响应发送给MAC子层。孤立响应时通过向MAC层发送MLME-ORPHAN.response原语来实现的,孤立响应命令向子设备传送的结果状态通过MLME-COMMSTATUS.indication原语反馈给NLME。如果ZigBee协调器或ZigBee路由器发现孤立设备不是它的子设备,NLME就通过孤立响应原语把这一情况反映给MAC层。图4.5是父设备把孤立节点加入或重新加入到网络过程的信息流程。

34

江 苏 大 学 硕 士 学 位 论 文

父设备APL层父设备NWK层父设备MAC层MLME-ORHPAN.indication设备表中搜索地址MLME-ORPHAN.responseMLME-COMMSTATUS.indication图4.5 父设备信息流图

Fig.4.5 Information flow graph of parent device

4.1.4 本设计星型网络通信的实现 1、创建一个ZigBee网络

首先定义一个节点为ZigBee协调器节点,这是通过软件下载时确定。 ZigBee协调器节点创建一个ZigBee网络:由aplFormNetwork()函数完成,这函数中主要完成扫描信道的设置、扫描每个信道的时间、网络标示符的设置以及格式化一个新网络,具体设定如下:

//格式化一个网络

a_nwk_service.cmd = LRWPAN_SVC_NWK_FORM_NETWORK; //扫描信道的选择,为32位数据。每位为1:扫描信道,0:不扫描

a_nwk_service.args.form_network.ScanChannels=LRWPAN_DEFAULT_CHANNEL_MASK;

//设置扫描每个信道的时间

a_nwk_service.args.form_network.ScanDuration=LRWPAN_DEFAULT_CHANNEL_SCAN_DURATION;

//设置网络标识符

a_nwk_service.args.form_network.PANid = LRWPAN_DEFAULT_PANID;

格式化一个网络时需要完成的主要工作包括如下所示:

phyInit(); //初始化物理层 macInit(); //初始化MAC层 ntInitTable(); //初始化邻近表

a_nwk_service.status = macInitRadio(); //开启无线通信 nwkState = NWK_STATE_FORM_NETWORK_START; //形成一个网络

2、加入一个ZigBee网络

首先定义节点为子节点,这是通过软件下载时确定。

在协调器节点创建完一个网络之后,其他设备作为其子设备加入该网络。

35

…… 此处隐藏:1871字,全部文档内容请下载后查看。喜欢就下载吧 ……
基于ZigBee技术的无线数据采集系统 - 图文(13).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/612130.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)