zigbee节点 孤儿节点需要重新入网吗

zigbee组网 - CSDN博客
zigbee组网
组网方案设计:组建一个完整的zigbee网状网络包括两个步骤:网络初始化、节点加入网络,其中节点加入网络又包括两个步骤:通过与协调器连接入网和通过已有父节点入网。
网络初始化:
Zigbee网络的建立是由网络协调器发起的,任何一个zigbee节点要组建一个网络必须要满足以下两点要求:
1.节点是FFD节点,具备zigbee协调器的能力;
2.节点还没有与其他网络连接,当节点已经与其他网络连接时,此节点只能作为该网络的子节点,因为一个zigbee网络中有且只有一个网络协调器。
网络初始化的流程如下:
1.确定网络协调器,首先判断节点是否是FFD节点,接着判断此FFD节点是否在其他网络里或者网络里是否已经存在协调器。通过主动扫描,发送一个信标请求命令(Beacon request command),然后设置一个扫描期限(T_scan_duration),如果在扫描期限内都没有检测到信标,那么就认为FFD在其pos内没有协调器,那么此时就可以建立自己的zigbee网络,并且作为这个网络的协调器不断地产生信标并广播出去。
2.进行信道扫描过程。包括能量扫描和主动扫描两个过程:首先对指定的信道或者默认的信道进行能量检测,以避免可能的干扰。以递增的方式对所测量的能量值进行信道排序,抛弃那么些能量值超出了可允许能量水平的信道,选择可允许能量水平的信道并标注这些信道是可用信道。接着进行主动扫描,搜索节点通信半径内的网络信息。这些信息以信标帧的形式在网络中广播,节点通过主动信道扫描方式获得这些信标帧,然后根据这些信息,找到一个最好的、相对安静的信道,通过记录的结果,选择一个信道,该信道应存在最少的zigbee网络,最好是没有zigbee设备。在主动扫描期间,mac层将丢弃phy层数据服务接收到的除信标以外的所有帧。
3.设置网络ID。找到合适的信道后,协调器将为网络选定一个网络标识符(PAN ID,取值&=0x3FFF),这个ID在所使用的信道中必须是唯一的,也不能和其他zigbee网络冲突,而且不能为广播地址oxFFFF(此地址为保留地址,不能使用)。PAN ID可以通过侦听其他网络的ID然后选择一个不会冲突的ID的方式来获取,也可以人为的指定扫描的信道后来确定不和其他网络冲突的PAN ID。在zigbee网络中有两种地址模式:扩展地址(64位)和短地址(16位),其中扩展地址由IEEE组织分配,用于唯一的设备标识;短地址用于本地网络中设备标识,在一个网络中,每个设备的短地址必须唯一,当节点加入网络时由其父节点分配并通过使用短地址来通信。对于协调器来说,短地址通常设定为0x0000;
上面步骤完成后,就成功初始化了zigbee网状网络,之后就等待其他节点的加入。节点入网时将选择范围内信号最强的父节点(包括协调器)加入网络,成功后将得到一个网络短地址并通过这个地址进行数据的发送和接收,网络拓扑关系和地址就会保存在各自的flash中。
节点通过协调器加入网络:
当节点协调器确定之后,节点首先需要和协调器建立连接加入网络。考虑到网络的容量和FFD/RFD的特点,本文只讨论FFD节点情况,FFD节点与协调器连接加入网络的流程图:
为了建立连接,FFD节点需要向协调器提出请求,协调器接收到节点的连接请求后根据情况决定是否允许其连接,然后对请求连接的节点做出响应,节点与协调器建立连接后,才能实现数据的收发。具体的流程可以分为下面的步骤:
1.查找网络协调器。首先会主动扫描查找周围网络的协调器,如果在扫描期限内检测到信标,那么将获得了协调器的有关信息,这时就向协调器发出连接请求。在选择合适的网络之后,上层将请求mac层对物理层和mac层的phyCurrentChannel、macPANID等PIB属性进行相应的设置。如果没有检测到,间隔一段时间后,节点重新发起扫描。
2.发送关联请求命令(Associate request command)。节点将关联请求命令发送给协调器,协调器收到后立即回复一个确认帧(ACK),同时向它的上层发送连接指示原语,表示已经收到节点的连接请求。但是这并不意味着已经建立连接,只表示协调器已经收到节点的连接请求。当协调器的mac层的上层接收到连接指示原语后,将根据自己的资源情况(存储空间和能量)决定是否同意此节点的加入请求,然后给节点的mac层发送响应。
3.等待协调器处理。当节点收到协调器加入请求命令的ACK后,节点mac将等待一段时间,接受协调器的连接响应。在预定的时间内,如果接收到连接响应,它将这个响应向它的上层通告。而协调器给节点的mac层发送响应时会设置一个等待响应时间(T_ResponseWaitTime)来等待协调器对其加入请求命令的处理,若协调器的资源足够,协调器会给节点分配一个16位的短地址,并产生包含新地址和连接成功状态的连接响应命令,则此节点将成功的和协调器建立连接并可以开始通信。若协调器资源不够,待加入的节点将重新发送请求信息,直接入网成功。
4.发送数据请求命令。如果协调器在响应时间内同意节点加入,那么将产生关联响应命令(Associate response command)并存储这个命令。当响应时间过后,节点发送数据请求命令(Data request command)给协调器,协调器收到后立即回复ACK,然后将存储的关联响应命令发给节点。如果在响应时间到后,协调器还没有决定是否同意节点加入,那么节点将试图从协调器的信标帧中提取关联响应命令,成功的话就可以入网成功,否则重新发送请求信息直到入网成功。
5.回复。节点受到关联响应命令后,立即向协调器回复一个确认帧(ack),以确认接收到连接响应命令,此时节点将保存协调器的短地址和扩展地址,并且节点的MLME向上层发送连接确认原语,通告关联加入成功的信息。
节点通过已有节点加入网络
当靠近协调器的FFD节点和协调器关联成功后,处于这个网络范围内的其他节点就以这些FFD节点作为父节点加入网络了,具体加入网络有两种方式,一种是通过关联(associate)方式,就是待加入的节点发起加入网络;另一种是直接(direct)方式,就是待加入的节点具体加入到那个节点下,作为该节点的子节点。其中关联方式是zigbee网络中新节点加入网络的主要途径,
对于一个节点来说只有没有加入过网络的才能进行加入网络。在这些节点中,有些是曾经加入过网络中,但是却与它的父节点失去联系(这样的被称为孤儿节点),而有些则是新节点。当是孤儿节点时,在它的相邻表中存有原父节点的信息,于是它可以直接给原父节点发送加入网络的请求信息。如果父节点有能力同意它加入,于是直接告诉它的以前被分配的网络地址,它便入网成功;如果此时它原来的父节点的网络中,子节点数已达到最大值,也就是说网络地址已经分配满,父节点便无法批准它加入,它只能以新节点身份重新寻找并加入网络。
而对于新节点来说,他首先会在预先设定的一个或多个信道上通过主动或被动扫描周围它可以找到的网络,寻找有能批准自己加入网络的父节点,并把可以找到的父节点的资料存入自己的相邻表。存入相邻表的父节点的资料包括zigbee协议的版本、堆栈的规范、PAN ID和可以加入的信息。在相邻表中所有的父节点中选择一个深度最小的,并对其发出请求信息,如果出现相同最小深度的两个以上的父节点,那么随机选取一个发送请求。如果相邻表中没有合适的父节点的信息,那么表示入网失败,终止过程。如果发出的请求被批准,那么父节点同时会分配一个16位的网络地址,此时入网成功,子节点可以开始通信。如果请求失败,那么重新查找相邻表,继续发送请求信息,直到加入网络或者相邻表中没有合适的父节点。
本文已收录于以下专栏:
相关文章推荐
这一讲我要详细说一下协调器的组网过程。在Zstack中,网络组网是从ZDApp_Init函数开始的。具体的执行流程为:Main()->osal_init_system()->osalInitTasks...
/forum.php?mod=viewthread&tid=2911
在这一章中,我们将一起来看一下zigbee的几个基本概念。当然,由于zigbee...
ZigBee 协议栈网络管理内容主要是对新加入的设备节点的设备管理。
我们都知道每个 CC2530 芯片出厂时候都有一个全球唯一的 32 位 MAC 地址。
实验现象:
路由器(编号 1)、终...
第一个功能:协调器的组网,终端设备和路由设备发现网络以及加入网络
//第一步:Z-Stack
由 main()函数开始执行,main()函数共做了 2 件事:一是系统初始化,另外一件是开始执行轮转...
第一个功能:协调器的组网,终端设备和路由设备发现网络以及加入网络
//第一步:Z-Stack
由 main()函数开始执行,main()函数共做了 2 件事:一是系统初始化,另外一件是开始执行轮转...
总体上来说:在一个zigbee网络中,只有协调器(coordinator)设备可以建立网络,在建立网络过程中,所有的实现过程都是通过原语实现的(具体在程序中,如用c语言,就是调用一个一个函数,或者是一...
今天小宇同学从小米智能网关开看智能家居组网方法。这里只从小米智能网关来看ZigBee组网相关技术。
年初,小米总裁林斌发布了小米智能家庭套装。其中包括多功能网关、人体红外传感器、门窗传感器和无线开关。...
组网方案设计:组建一个完整的zigbee网状网络包括两个步骤:网络初始化、节点加入网络,其中节点加入网络又包括两个步骤:通过与协调器连接入网和通过已有父节点入网。
网络初始化:
转载:.cn/s/blog_9d48d26f01015tph.html
第一个功能:协调器的组网,终端设备和路由设备发现网络以及加入网络
//第一步:Z-Sta...
组网方案设计:组建一个完整的zigbee网状网络包括两个步骤:网络初始化、节点加入网络,其中节点加入网络又包括两个步骤:通过与协调器连接入网和通过已有父节点入网。
网络初始化:
Zigbee网络的...
他的最新文章
讲师:何宇健
讲师:董岩
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)zigbee组网 - CSDN博客
zigbee组网
组网方案设计:组建一个完整的zigbee网状网络包括两个步骤:网络初始化、节点加入网络,其中节点加入网络又包括两个步骤:通过与协调器连接入网和通过已有父节点入网。
网络初始化:
Zigbee网络的建立是由网络协调器发起的,任何一个zigbee节点要组建一个网络必须要满足以下两点要求:
1.节点是FFD节点,具备zigbee协调器的能力;
2.节点还没有与其他网络连接,当节点已经与其他网络连接时,此节点只能作为该网络的子节点,因为一个zigbee网络中有且只有一个网络协调器。
网络初始化的流程如下:
1.确定网络协调器,首先判断节点是否是FFD节点,接着判断此FFD节点是否在其他网络里或者网络里是否已经存在协调器。通过主动扫描,发送一个信标请求命令(Beacon request command),然后设置一个扫描期限(T_scan_duration),如果在扫描期限内都没有检测到信标,那么就认为FFD在其pos内没有协调器,那么此时就可以建立自己的zigbee网络,并且作为这个网络的协调器不断地产生信标并广播出去。
2.进行信道扫描过程。包括能量扫描和主动扫描两个过程:首先对指定的信道或者默认的信道进行能量检测,以避免可能的干扰。以递增的方式对所测量的能量值进行信道排序,抛弃那么些能量值超出了可允许能量水平的信道,选择可允许能量水平的信道并标注这些信道是可用信道。接着进行主动扫描,搜索节点通信半径内的网络信息。这些信息以信标帧的形式在网络中广播,节点通过主动信道扫描方式获得这些信标帧,然后根据这些信息,找到一个最好的、相对安静的信道,通过记录的结果,选择一个信道,该信道应存在最少的zigbee网络,最好是没有zigbee设备。在主动扫描期间,mac层将丢弃phy层数据服务接收到的除信标以外的所有帧。
3.设置网络ID。找到合适的信道后,协调器将为网络选定一个网络标识符(PAN ID,取值&=0x3FFF),这个ID在所使用的信道中必须是唯一的,也不能和其他zigbee网络冲突,而且不能为广播地址oxFFFF(此地址为保留地址,不能使用)。PAN ID可以通过侦听其他网络的ID然后选择一个不会冲突的ID的方式来获取,也可以人为的指定扫描的信道后来确定不和其他网络冲突的PAN ID。在zigbee网络中有两种地址模式:扩展地址(64位)和短地址(16位),其中扩展地址由IEEE组织分配,用于唯一的设备标识;短地址用于本地网络中设备标识,在一个网络中,每个设备的短地址必须唯一,当节点加入网络时由其父节点分配并通过使用短地址来通信。对于协调器来说,短地址通常设定为0x0000;
上面步骤完成后,就成功初始化了zigbee网状网络,之后就等待其他节点的加入。节点入网时将选择范围内信号最强的父节点(包括协调器)加入网络,成功后将得到一个网络短地址并通过这个地址进行数据的发送和接收,网络拓扑关系和地址就会保存在各自的flash中。
节点通过协调器加入网络:
当节点协调器确定之后,节点首先需要和协调器建立连接加入网络。考虑到网络的容量和FFD/RFD的特点,本文只讨论FFD节点情况,FFD节点与协调器连接加入网络的流程图:
为了建立连接,FFD节点需要向协调器提出请求,协调器接收到节点的连接请求后根据情况决定是否允许其连接,然后对请求连接的节点做出响应,节点与协调器建立连接后,才能实现数据的收发。具体的流程可以分为下面的步骤:
1.查找网络协调器。首先会主动扫描查找周围网络的协调器,如果在扫描期限内检测到信标,那么将获得了协调器的有关信息,这时就向协调器发出连接请求。在选择合适的网络之后,上层将请求mac层对物理层和mac层的phyCurrentChannel、macPANID等PIB属性进行相应的设置。如果没有检测到,间隔一段时间后,节点重新发起扫描。
2.发送关联请求命令(Associate request command)。节点将关联请求命令发送给协调器,协调器收到后立即回复一个确认帧(ACK),同时向它的上层发送连接指示原语,表示已经收到节点的连接请求。但是这并不意味着已经建立连接,只表示协调器已经收到节点的连接请求。当协调器的mac层的上层接收到连接指示原语后,将根据自己的资源情况(存储空间和能量)决定是否同意此节点的加入请求,然后给节点的mac层发送响应。
3.等待协调器处理。当节点收到协调器加入请求命令的ACK后,节点mac将等待一段时间,接受协调器的连接响应。在预定的时间内,如果接收到连接响应,它将这个响应向它的上层通告。而协调器给节点的mac层发送响应时会设置一个等待响应时间(T_ResponseWaitTime)来等待协调器对其加入请求命令的处理,若协调器的资源足够,协调器会给节点分配一个16位的短地址,并产生包含新地址和连接成功状态的连接响应命令,则此节点将成功的和协调器建立连接并可以开始通信。若协调器资源不够,待加入的节点将重新发送请求信息,直接入网成功。
4.发送数据请求命令。如果协调器在响应时间内同意节点加入,那么将产生关联响应命令(Associate response command)并存储这个命令。当响应时间过后,节点发送数据请求命令(Data request command)给协调器,协调器收到后立即回复ACK,然后将存储的关联响应命令发给节点。如果在响应时间到后,协调器还没有决定是否同意节点加入,那么节点将试图从协调器的信标帧中提取关联响应命令,成功的话就可以入网成功,否则重新发送请求信息直到入网成功。
5.回复。节点受到关联响应命令后,立即向协调器回复一个确认帧(ack),以确认接收到连接响应命令,此时节点将保存协调器的短地址和扩展地址,并且节点的MLME向上层发送连接确认原语,通告关联加入成功的信息。
节点通过已有节点加入网络
当靠近协调器的FFD节点和协调器关联成功后,处于这个网络范围内的其他节点就以这些FFD节点作为父节点加入网络了,具体加入网络有两种方式,一种是通过关联(associate)方式,就是待加入的节点发起加入网络;另一种是直接(direct)方式,就是待加入的节点具体加入到那个节点下,作为该节点的子节点。其中关联方式是zigbee网络中新节点加入网络的主要途径,
对于一个节点来说只有没有加入过网络的才能进行加入网络。在这些节点中,有些是曾经加入过网络中,但是却与它的父节点失去联系(这样的被称为孤儿节点),而有些则是新节点。当是孤儿节点时,在它的相邻表中存有原父节点的信息,于是它可以直接给原父节点发送加入网络的请求信息。如果父节点有能力同意它加入,于是直接告诉它的以前被分配的网络地址,它便入网成功;如果此时它原来的父节点的网络中,子节点数已达到最大值,也就是说网络地址已经分配满,父节点便无法批准它加入,它只能以新节点身份重新寻找并加入网络。
而对于新节点来说,他首先会在预先设定的一个或多个信道上通过主动或被动扫描周围它可以找到的网络,寻找有能批准自己加入网络的父节点,并把可以找到的父节点的资料存入自己的相邻表。存入相邻表的父节点的资料包括zigbee协议的版本、堆栈的规范、PAN ID和可以加入的信息。在相邻表中所有的父节点中选择一个深度最小的,并对其发出请求信息,如果出现相同最小深度的两个以上的父节点,那么随机选取一个发送请求。如果相邻表中没有合适的父节点的信息,那么表示入网失败,终止过程。如果发出的请求被批准,那么父节点同时会分配一个16位的网络地址,此时入网成功,子节点可以开始通信。如果请求失败,那么重新查找相邻表,继续发送请求信息,直到加入网络或者相邻表中没有合适的父节点。
本文已收录于以下专栏:
相关文章推荐
这一讲我要详细说一下协调器的组网过程。在Zstack中,网络组网是从ZDApp_Init函数开始的。具体的执行流程为:Main()->osal_init_system()->osalInitTasks...
/forum.php?mod=viewthread&tid=2911
在这一章中,我们将一起来看一下zigbee的几个基本概念。当然,由于zigbee...
ZigBee 协议栈网络管理内容主要是对新加入的设备节点的设备管理。
我们都知道每个 CC2530 芯片出厂时候都有一个全球唯一的 32 位 MAC 地址。
实验现象:
路由器(编号 1)、终...
第一个功能:协调器的组网,终端设备和路由设备发现网络以及加入网络
//第一步:Z-Stack
由 main()函数开始执行,main()函数共做了 2 件事:一是系统初始化,另外一件是开始执行轮转...
第一个功能:协调器的组网,终端设备和路由设备发现网络以及加入网络
//第一步:Z-Stack
由 main()函数开始执行,main()函数共做了 2 件事:一是系统初始化,另外一件是开始执行轮转...
总体上来说:在一个zigbee网络中,只有协调器(coordinator)设备可以建立网络,在建立网络过程中,所有的实现过程都是通过原语实现的(具体在程序中,如用c语言,就是调用一个一个函数,或者是一...
今天小宇同学从小米智能网关开看智能家居组网方法。这里只从小米智能网关来看ZigBee组网相关技术。
年初,小米总裁林斌发布了小米智能家庭套装。其中包括多功能网关、人体红外传感器、门窗传感器和无线开关。...
组网方案设计:组建一个完整的zigbee网状网络包括两个步骤:网络初始化、节点加入网络,其中节点加入网络又包括两个步骤:通过与协调器连接入网和通过已有父节点入网。
网络初始化:
转载:.cn/s/blog_9d48d26f01015tph.html
第一个功能:协调器的组网,终端设备和路由设备发现网络以及加入网络
//第一步:Z-Sta...
组网方案设计:组建一个完整的zigbee网状网络包括两个步骤:网络初始化、节点加入网络,其中节点加入网络又包括两个步骤:通过与协调器连接入网和通过已有父节点入网。
网络初始化:
Zigbee网络的...
他的最新文章
讲师:何宇健
讲师:董岩
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)Zigbee无线组网技术的研究_甜梦文库
Zigbee无线组网技术的研究
中南大学 硕士学位论文 Zigbee无线组网技术的研究 姓名:周武斌 申请学位级别:硕士 专业:控制科学与工程 指导教师:罗大庸
摘要ZigBee是一种新兴的专为低速率无线个域N(LR.WPAN)-而设计 的低成本、低功耗的短距离无线通信协议,能够广泛的应用于军事, 工业,智能家居等领域。但由于ZigBee技术出现较晚,其规范及应 用仍在不断的完善和发展之中。 通过对Zigbee协议的网状网络组网方案的研究及仿真分析,提 出了改进的组网方案,简化了原方案中入网的流程,减小协调器对节 点加入的处理时间。仿真发现改进的组网方案能有效的减少了入网延 迟,避免了冲突。 针对AODV算法高控制开销的不足,提出了基于最快路径的 AODVjr算法,通过简化路由发现和路由表、删除Hello消息以达到 降低控制开销的目的。为了更进一步达到低控制开销的目的,本文提 出AODVjr算法和Cluster-Tree算法相结合的ZBR路由算法,该算法 既具有AODVjr的路由寻优的能力,又具有Cluster.Tree算法的无初 始延迟的优点。通过仿真表明,改进的算法能够较好的达到设计要求, 具备了实现的可行性。 本文最后利用改进的组网方案和ZBR路由算法,首先利用NS2 软件对一个完整的Zigbee网络的组网过程进行仿真,然后在 Jennie5139开发板上实现了一个简单的网状网络,并对该网络做了相 关的测试。 关键词组网方案,AODVjr,ZBR,NS2仿真,JN5 139 AB STRACTZigBee isanew wireless communication technology,focusesonthefileds of lOW―cost,low―power consumption,short distance,and especially for the Low―RateuseWirelessPersonal AreaNetwork(LR.WPAN).itwidelyin military、industry and intelligence home etc.However,due to lateemergence of ZigBee technology,the specification and application is still continuous improving and developing. TheP印erresearches and simulates theMeshnetwork establishmentanprogram under the Zigbee Protocol,and then proposes program.By simplifying the processonimprovementandreducing the coordinator tojointhe nodes processingcantime.Thesimulation found that the improvedprogrameffectively reduce the delayandavoid conflict.Against the AODV algorithm for the inadequacy of thehi曲controloverhead,SO here proposesallimprovement routing algorithm,named basesonAODVjr.The AODVjr algorithmsimplifying the routing discoverythe fastest path routing byandrouting table,delete the Hellomessage in orderto achieve the purpose of reducing control overhcad.Tousesfurther achieve the lOW control overhcad,the paperthe ZBR routingalgorithm which combinates the algorithm.The ZBR isaAODVjr algorithmand Cluster-Tkecompromise of thetwoalgorithms,not only hasalso thethe ability of routing optimization of theof the Cluster-Tree such as simple and showsAODVjr,butnoadvantagedesigninitial delay.The simulationthethattheimprovedalgorithmCan better meetrequirements,with the feasibility of achieving. 11 lonthe P aper simulates nehkrowtennetwork ,the P印er simulate: a comolete Zigbee lplete Zigbee,orocess onbasedthe NS2and buildsasimple Zigbee Mesh networkJN5 1 3 9development board using the improved programs and ZBR algorithm.And then do the relevant testes done by the previous chapters.onthis Mesh networkto verifythe workKEYWORDSnetwork establishmentprogram,AODVjr,ZBR,NS2simulation,JN5 1 39II 原创性声明本人声明,所呈交的学位论文是本人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了论文中特别加以标注和致谢 的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不 包含为获得中南大学或其他单位的学位或证书而使用过的材料。与我 共同工作的同志对本研究所作的贡献均已在论文中作了明确的说明。…研触嗍手心血学位论文版权使用授权书本人了解中南大学有关保留、使用学位论文的规定,即:学校 有权保留学位论文并根据国家或湖南省有关部门规定送交学位论文, 允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内 容,可以采用复印、缩印或其它手段保存学位论文。同时授权中国科 学技术信息研究所将本学位论文收录到《中国学位论文全文数据库》, 并通过网络向社会公众提供信息服务。…叫姆翩签湃隰珥年上月丛日 硕+学位论文第一章绪论第一章绪论1.1课题背景过去若干年以来,通信技术快速发展,短距离无线通信技术已经成为通信技 术中的一大热点。各种网络终端的出现、工业控制的自动化和家庭的智能化等迫 切需要一种具备低成本、低距离、低功耗和组网能力强等优点的无线互连标准【l】o 随着各种便携式个人通信设备与家用电器设备的增加,人们享受蜂窝移动通 信系统带来的便利的同时,对短距离的无线与移动通信又提出了新的需求,使得 短距离无线通信异军突起,包括无线局域网(WLAN)、蓝牙(Blue.Tooth)技术、无 线保真(WiFi)、超宽带(UwB)以及ZigBee技术等各种热点技术相继出现,均展现 出各自巨大的应用潜力。其中,低速率、低功耗、低成本的ZigBee技术作为无 线传感器网络的主要支撑技术获得广泛的关注[21。ZigBee作为一种新兴的短距离 无线通信技术,正有力地推动着低速率无线个人区域网络LR.WPAN(Low―RateWirelessPersonal AreaNetwork)的发展,可以广泛应用于工业控制、家庭自动化、医疗护理、智能农业、消费类电子和远程控制等领域,将拥有广阔的应用前景。 预计随着Zigbee技术以及相关技术的发展,低速率应用将日益广泛,在我们的生活中扮演越来越重要的角色【31。ZigBee的提出弥补了短距离无线通信技术应用研究的空白,现在该技术已 经成为研究的新热点,在不久的未来,基于ZigBee技术的产品将会形成一个新 的浪潮,势不可挡地席卷全球,而它的发展前景将同计算机、互联网一样融入人 们生活的每一个角落,给人们的生活带来方便和快捷141。研究Zigbee组网技术, 可为下一步应用打下良好理论基础,方便进行系统设计。本文将结合当今的发展 趋势和ZigBee的技术特点,对ZigBee做详细的研究和实验开发。1.2Zigbee技术国内外研究概况国外对ZigBee技术的研究起步较早,研究也较成熟。ZigBee联盟成立于2002年8月,为了推动ZigBee技术的发展,Chad&con、Ember、FreeScale、Honeywll、 Motorala、Philaddrs和Sansung等公司共同成立了ZigBee联盟,如今已经吸引了 上百家芯片公司、无线节点公司和开发商的加入,包括有许多IC设计、家电、 通讯节点、ADDR服务提供、玩具等厂商,目前该联盟已经包含了150多家会员。 并且还有许多厂商已将ZigBee纳入产品中15l。 国内ZigBee的研究起步较晚,国内ZigBee模块生产厂家一般都受芯片厂家 数量等限制价格,国内市场主要由国外仪器所占领,国内未见成熟的自主研制的 硕十学位论文第一章绪论ZigBee产品,只有一些研究性和简单应用的文章出现于期刊杂志。到目前为止,国内目前除了成都西谷曙光数字技术有限公司,真正将Zigbee技术开发成产品,并成功地用于解决几个领域的实际生产问题而外,尚未见到其它报道。不过随着无线技术大趋势的发展,很多高校和研究机构都已经着手无线组网、无线技术应 用方面的研究。特别是与我们同常生活息息相关的近距离无线组网技术的研究和 应用,如中科院计算所的宁波分所就在专门从事无线技术的研究,主要侧重于无 线网络化智能传感器,计算所自行开发可低功耗的CPU、多点网络动态组网拓 补协议、网络节点管理软件、无线网络化智能传感器操作系统。国内的一些大学, 如浙江大学、山东大学、清华大学等【6】也在搞ZigBee组网和应用的研究,利用 国外厂商的开发平台和芯片建立ZigBee网络,并应用于智能家居,无线抄表和 物流管理方面。相信随着无线技术研究的深入,会有更多的国产ZigBee和其他 无线产品投入市场。从ZigBee协议规范的研究及完善方面来看,Zigbee协议规范从推出至今,已有大量研究者对Zigbee网络的时间同步【71、广播问题【羽、安全机制【9】等进行了 研究,并且Zigbee协议正在继续改进并将提供更多的功能,但目前仍然存在一 些问题,主要包括以下几个方面【l oJ: 1.网络地址 在ZigBee网络中分配给节点的网络地址可以改变,甚至在某些条件下会重 名。这就使得网络必须解决不可靠的寻址机制,以确保将数据发送到正确的节点 中。ZigBee联盟正在考虑改变寻址机制,以提供更具鲁棒性的寻址机制。同时, 包括MaxStream在内的一些模块提供商研发出了基于唯一性64位地址的解决方 案,能确保可靠的数据传输。 2.固定工作信道 由于ZigBee采用802.15.4 MAC/PHY规范中所规定的直序扩频(DSSS)调制, 因此可以工作在固定信道,在通过能量扫描筛选出具有较高能量的信道后选出工 作信道。但是,一旦初始能量扫描完成后,在所选的信道质量变坏时ZigBee网 络无法重置新的信道。因为有许多节点(包括蜂窝电话、微波和802.11网络)占用 2.4GHz频段,因此这可能是一个大问题。目前,终端节点开发商必须在其设计 中解决干扰问题。ZigBee联盟也在研究此问题的解决方案。ZigBee规范的新版本可能会解决此问题。3.容量限制ZigBee刚开始打算用64K flash。但是,对于需要可靠的数据传输、网状组 网、更高安全等级、低功率的终端节点等高级应用而言,这一空间将很难满足802.15.4MAC/PHY、ZigBee网络层以及其它所期望的应用功能要求。随着ZigBee2 硕十学位论文第一章绪论的持续发展,先进的应用似乎需要迁移至带有更多闪存的微控制器。 从安全方面来看,由于无线自组织网络使用的共享无线信道存在着安全隐 患,使得无线自组织网络很容易受到攻击并且很难对攻击进行跟踪1111。 从接入控制来看,对接入公平性、多种网络共存、隐藏终端、暴露终端等问 题虽然已提出了很多技术和方法但是依然没有得到完善的解决【12】【13】。 从能量控制来看,由于无线自组织网络的节点没有固定基础设施支持,因此 如何降低网络能量消耗,提高能量效率,以及如何避免网络分割和节点过早死亡 也是研究的重要问题。目前,降低网络能量消耗的主要方法包括选择性的调整节点接收器到休眠状态、使用可调输出功率的发送器、采用节能型路由掣14】【15】【16】。就ZigBee技术的研究现状来看,ZigBee规范及其应用仍在不断的发展和完 善之中,众多厂商、高校和研究机构都对ZigBee技术展现了极大的研究兴趣, 进行了大量的研究工作。当前研究的重点主要集中在ZigBee技术应用研究和产 品设计、ZigBee协议规范的研究及其完善两个方面,主要集中在以下几个方面: 1.Zigbee芯片和产品的设计:不少厂商推出了Zigbee的产品和全套解决方 案。如Freescale公司的第三代PADDR晶片MCl322x;Helicomm公司推出的ADDR Link 1200 Zigbee开发套件;Jennic公司的JN5121/513X等【17J。2.Zigbee技术的具体应用研究:目前,不管国内国外,已有大量的研究者 和厂商提出了Zigbee可能的应用。如智能家居【18】【l 91、智能公交车【20l、嵌入式方 面【211、传感器网络【22】的应用。另外,Jennie公司的JenNET应用在路灯控制、环境监控、生产线数据收集,以及ZigBee结合RFID等。3.Zigbee技术扩展研究:Zigbee技术和其它技术的结合也是目前研究的一个热点。如Zigbee技术和Web/GPRS构成的无线网关系纠23l【241、和Linux/DSP 构成的无线通信系引25J等。4.和其它技术共存研究:对Zigbee网络与其它无线网络共存的问题也有大量的研究,如Zigbee网络和蓝牙网络共存【26l、WiFi的共存与干扰问题f271。5.网络性能评估:对Zigbee网络性能的研究也是一大热点,如研究Zigbee底层的802.15.4标准在竞争时期(CAP)的网络吞吐量和能量消耗【28】、Zigbee网络 在不同的通信参数下,网络的通信量及稳定性1291、在Zigbee网络的低负载的情 况下,调整其活动时期节点的能量消耗,使得网络的生命延长【30】等。 6.路由算法:Zigaee的路由是基于Ad Hoe按需距离矢量(AODV算法)路 由算法,这样ZigBee的网状网络建立与数据传播方式和Ad Hoe网络很类似。 而传统的AODV算法的路由开销和路由发现可能会干扰网络性能,特别是节点 密集的网络,会直接影响端到端时延和数据包的传递的时延,因此很有必要提高 路由算法的高效性和可扩展性,目前一些国内外期刊和论文针对AODV路由算 硕十学位论文第一章绪论法提出了一些改进路由算法,如:ZiCL(ZigBeeClusterLabel)算法【3l】【321、MAC.AODV算法【”1、EAODVl34】【35】算法、QAODVl361算法等。1.3Zigbee技术简介Zigbee技术是一种近距离、低成本、低功耗、低数据速率的无线通信技术,Zigbee的目标是建立一个无所不在的传感器网络(Ubiquitous功能。1.3.1SensorNetwork),主要适用于自动控制和远程控制领域,可以嵌入到各种设备中,同时支持地理定位Zigbee技术优势 IEEE802.15.4和ZigBee从一开始就被设计用来构建包括恒温装置,安全装置和煤气读数表等节点的无线网络。这是由其主要技术优势决定的【37】: 1.数据传输可靠:ZigBee的MAC层采用CSMA/CA的碰撞避免机制,同 时为需要固定带宽的通信业务预留了专用时隙,避免了发送数据时的竞争和冲突;同时,MAC层采用了完全确认的数据传输机制,每个发送的数据包都必须等到接收方的确认信息。同时ZigBee采用较短的帧格式(<128字节)和CRC校验 机制来减少无线通信的误码率。 2.功耗低:Zigbee技术采用了多种节电的工作模式,可以确保两节电池支 持长达6个月到两年的试用时间。而蓝牙能工作数周、WiFi可工作数小时。3.成本低:ZigBee数据传输速率低,协议简单,所以大大降低了成本。且 免收专利费,目前低速低功耗的UWB芯片组价格至少为20美元,而Zigbee的价格仅为几美分。 4.网络容量大:每个ZigBee网络最多可支持255个节点,加上网络的协调 器可以互相连接,整个Zigbee网络节点的数目将十分可观。一个区域内可以同 时存在最多100个Zigbee网络,理论上可容纳65535个节点。5.安全:ZigBee提供了数据完整性检查和鉴权功能,采用AES.128加密算法。6.有效范围小:有效覆盖范围10--75米之间,具体依据实际发射功率的大 小和各种不同的应用模式而定,基本上能够覆盖普通的家庭或办公室环境。 7.兼容性:ZigBee技术与现有的控制网络标准无缝集成。通过网络协调器 自动建立网络,采用载波侦听/冲突检测(CSMA.CA)方式进行信道接入。为了可靠传递,还提供全握手协议。4 硕十学位论文第一章绪论1.3.2Zigbee的应用Zigbee技术主要应用在短距离无线网络通信方面。通常,符合如下条件之一的应用,就可以考虑采用Zigbee技术做无线传输【38】: 1.需要数据采集或监控的网点多; 2.要求传输的数据量不大,而要求节点成本低: 3.要求数据传输可性高,安全性高; 4.节点体积很小,不便放置较大的充电电池或者电源模块; 5.电池供电; 6.地形复杂,监测点多,需要较大的网络覆盖; 7.现有移动网络的覆盖盲区; 8.使用现存移动网络进行低数据量传输的遥测遥控系统。 9.使用GPS效果差,或成本太高的局部区域移动目标的定位应用。 不远的将来,在很多领域里都可以看到Zigbee的身影【39】: 1.智能家庭和楼宇自动化 通过Zigbee网络,可以远程控制家里的电器、门窗等;可以方便的采集水、电、气三表的远程自动抄表;通过一个Zigbee遥控器,控制所有的家电节点。未来的家庭将会有50~100个支持Zigbee的芯片安装在电灯开关、烟火检测器、 抄表系统、无线报警、安保系统、HVAC、厨房机械中,为实现远程控制服务。 2.在消费和家用自动化市场 可以联网的家用设备有电视、录像机、无线耳机、PC外设、运动与休闲器械、儿童玩具、游戏机、窗户和窗帘及其他家用电器等。近年来,由于无线技术的灵活性和易用性、无线消费电子产品已经越来越普遍,越来越重要。 3.工业自动化领域 在工业自动化领域,利用传感器和Zigbee网络,使得数据的自动采集、分 析和处理变得更加容易,可以作为决策辅助系统的重要组成部分。例如危险化学 成分的检测、火警的早期检测和预报、高速旋转机器的检测和维护等。 4.医疗监控 借助于各种传感器和Zigbee网络,准确且实时地监测病人的血压、体温和心跳速度等信息,从而减少医生查房的工作负担,有助于医生作出快速的反应, 特别是对重病和病危患者的监护治疗。5.农业领域传统农业主要使用孤立的、没有通信能力的机械设备,主要依靠人力监测作物的生长状况。采用了传感器和Zigbee网络后,农业将可以逐渐地向以信息和软件为中心的生产模式,使用更多的自动化、网络化、智能化和远程控制的设备 硕十学位论文第一章绪论来耕种。传感器可以收集包括土壤湿度、氮浓度、PH值、降水量、温湿度和气压等信息。这些信息和采集信息的地理位置经由Zigbee网络传递到中央控制设备供农民决策和参考,这样就能够及早而准确的发现问题,从而有助于保持并提高农作物的产量。1.4本文研究内容与工作组织本文主要对Zigbee无线组网技术进行了详细的研究与分析,包括Zigbee组 网方案和路由算法的研究与设计,在原有的方案和算法的基础上提出了改进的组 网方案和路由算法;然后通过NS2仿真软件进行仿真比较,最后在JN5139开发板上利用改进的组网方案和路由算法实现了一个简单的网状网络,并对该网络进行一系列的测试。 本文主要内容和结构安排如下: 第一章:绪论,主要研究论文的研究背景、国内外研究现状及Zigbee的相 关技术等。 第二章:研究ZigBee协议栈体系结构及各层的功能、各层之间的数据通信 和网络拓扑结构。在此基础之上深入分析了ZigBee网状网络的组网方案,针对 原方案下出现很大的冲突和延迟的问题,提出改进的方案并利用NS2软件进行 仿真验证。 第三章:研究和设计ZigBee路由算法:包括Cluster-Tree路由算法、AODV路由算法和改进的AODV的AODVjr路由算法。结合几种算法性能上的优劣, 本文采用改进的AODVjr算法和Cluster-Tree算法相结合的ZBR算法。第四章:利用NS2软件分别对上述路由算法的性能进行仿真,并在前面两 章的基础上对Zigbee网络的组网过程进行仿真演示。 第五章:在现有的Jennie5139开发平台上,实现一个简单的小型Zigbee网 状网络,并进行了相关的测试。第六章:总结与展望。对全文工作进行了总结,并对以后的研究工作作出了展望。6 硕十学位论文第二章Zigbee组网方案的设计第二章Zigbee组网方案的设计Zigbee网络的组网过程是实际应用中非常重要的步骤,本章本文首先对 Zigbee协议标准下对网状网络的组网方案(原组网方案)进行探讨,之后提出了改 进了组网方案,利用NS2仿真软件对两组网方案进行仿真比较。2.1Zigbee协议栈架构Zigbee协议栈标准采用的是OSI的分层结构,其中物理层(PHY)、媒体接入层(MAC)和链路层(LLC)由IEEE802.15.4工作小组制定,而网络层和应用层则由 Zigbee联盟制定【删。Zigbee协议栈的体系结构各层的分布如图2.1【4¨。用户应用程序(UserAPP)应用层(APL)心用层框架(APF)ZDO设备对象应用子层(APS)网络层(NWK)链路层(LLC)802.15.4 LLC 802.2 LLC SSCS媒体接入层(MAC) 物理层(PHYX2.4GHz、868/9 1 5MHz) 图2-1 Zigbee协议栈体系结构在Zigbee协议栈中,其结构包含一系列的层,每一层通过使用下层提供的 服务完成自己的功能,同时向上层提供服务。层与层之间通过服务访问点 SAP(ServiceAccessPoint)连接,每一层都可以通过本层与其下层相连的SAP调用下层为本层提供服务,同时通过本层与上层相连的SAP为上层提供服务。这些服务是设备中的实体通过发送服务原语来实现的,其中实体包括数据实体 (Data-Entity,DE)和管理实体(Menagement Entity,ME)两种:数据实体向上层提供常 规的数据服务而管理实体提供向上层提供访问数据内部层的参数、配置和管理数据等机制。所谓服务原语是代表响应服务的符号和参数的一种格式化、规范化的表示, 它与服务的具体实现方式无关。原语的书写形式包含了服务的实体、原语的功能 及原语的类型等,如:扫描原语MLME.SCAN.request;关联确认原语: MLME.ASSOCIATE.corffh'm等。另外,原语都是发送给服务实体相邻层的,层 与层之间的通信原语可以分为以下四种,它们之间的关系如图2.21421。7 硕十学位论文第二章Zigbee组网方案的设计上层本层indication上层上层4x/-云-Request。ResponseConfirm(a)数据服务原语 图2.2层与层的通信原语示意图(b)管理服务原语其中: Request:请求原语,用于上层向本层请求指定的服务; Indication:指示原语,本层发给上层用来指示本层的某一内部事件; Response:响应原语,上层用于响应本层发出的指示原语; Confirm:确认原语,本层用于响应上层发出的请求原语。 下面对Zigbee协议栈各层协议的功能作一个简单的介绍【431[441。 2.1.1物理层 物理层提供的服务是由硬件和软件共同实现的,定义了物理无线信道(对于 2.4GHz频段,有16个信道,编号为11-26)和MAC子层之间的接IZl,提供物理 层数据服务(PLDE)和物理层管理服务(PLME)。通过该接1:3可以唤醒层管理服务 功能,同时也负责维护与物理层相关的一些管理对象的数据库(PIB)。 物理层通过物理层数据服务接入点(PD.SAP)和物理层管理实服务接入点fPLME.SAP)与MAC层通信,PD.SAP支持在对等的MAC层实体间进行MAC 协议数据单元传送,PLME.SAP则在MAC层管理实体之间提供管理命令的传送。物理层主要完成如下任务: 1.无线收发机的激活与关闭: 2.当前信道的能量检澳1](Energy Detect,ED); 3.接受数据包的链路质量标识(LQI);4.为载波侦听多路访问/冲突防_flz(CSMS.CA)提供空闲信道评估(CCA): 5.工作信道选择;6.数据发送和接收。信道能量检测为网络层提供信道选择依据,其值取值范围是0x00.0xFF。它 主要测量目标信道中接受信号的功率强度,链路质量标识为网络层或应用层提供 接受数据帧无线信号的强度和质量信息。8 硕十学位论文第二章Zigbee组网方案的设计2.1.2MAC层与物理层类似,MAC层也包括管理实体(MLME)和数据实体(MLDE)。MAC层管理实体提供可以唤醒MAC层管理服务的服务接口,同时也维护一个与MAC 层相关的管理对象数据库(MIB)。 MAC层与物理层之间通过PLME.SAP和PD.SAP进行通信,通过MAC数 据实体服务点(MLDE.SAP)和MAC层管理实体服务接入点(MLME.SAP)向qlt务 相关子层提供MAC层数据和管理服务。另外,MAC层能支持多种LLC标准, 通过业务相关会聚子层(SSCS)协议承载802.2类型的LLC标准。 MAC层功能如下: 1.当节点为网络协调器时,产生信标(beacon)帧; 2.在信标帧之间进行同步; 3.支持个人区域网(PAN)的关联与解关联; 4.支持节点安全机制; 5.对信道接入使用CSMA.CA机制; 6.处理和维护有保证的时隙(GTS)机制; 7.在两个对等的MAC实体问提供可靠的链接。 Zigbee中的MAC和物理层协议是网状网络的应用基础,高容错和低功耗的特点能保证网状网络所必须考虑基于拓扑控制和功率控制的网络白组特性。而且对于经典的隐藏终端和暴露终端问题、协议的接入公平性问题、服务质量问题等都 有良好的解决。在网状网络中,MAC层的传输调度策略会影响数据包延迟、带 宽等性能,影响网络层路由性能,所以网络层必须感知MAC层性能的变化,才 可以自适应的方式改变路由,改善网络性能。 2.1.3网络层网络层对于Zigbee协议栈非常重要,每一个Zigbee节点都包含网络层, Zigbee网络层主要实现组建网络,为新加入网络访分配地址、路由发现、路由维 护等。另外网络层还提供一些必要的函数,确保ZigBee的MAC层正常工作, 并且为应用层提供合适的服务接口,这种结构使得网状网络的应用基本能够实现。为了向应用层提供其接口,网络层提供了两个必须的功能服务实体,它们分 别为网络数据服务实体(NLDE)和管理服务实体(NLME)。NLDE通过网络层数据服务实体服务接入点(NLME.SAP)提供数据传输服务,网络层管理实体(NLME) 通过网络层管理实体服务接入点(NLME.SAP)提供网络管理服务。网络层管理实 体利用网络层数据实体完成一些网络的管理工作,并且,网络层管理实体完成对9 堡主堂堡堕塞网络信息庠(NIBl的维护和管理。2l苎二至!!业竺塑堕互兰盟壁!4应用层ZigBee』衄用层由三个部分组成:应用子层(APS)、ZDO(包含ZDO管理寸骨)和制造商定义的应用对象(App Obj)。APS通过蚓络层和安全服务提供层与端点相接,并为数据传送、安全午口绑定提供服务,可以适配不同但兼容的霄点,并且 提供了这样的接口:在NWK层和APL层之间,从ZDO到供应商的应用对象的 通用服务集。ZigBee中的应_|{}j框架(APL Framework)是为驻扎在zigBee节点巾的 应用对象提供活动的环境。最多可以定义240个相对独立的应用程序对象(ZDO), 任何个对象的端点编号从l到240,端点号0固定用于ZDO数据接口,应用 程序可以通过这个端点与ZigBee怫议栈的其它层通信:另外一个端点255固定 用于所有应用对象广播数据的数据接口功能。端点241.254保留(给为了扩展使 片j】,用户不能使用14512.2ozigbee网络拓扑结构Zigbee网络只支持2种物理设备;全功能设备(FFD.FullFunction Device)和精简功能设备(RFD,Reduced FunctionDevice),其中FFD设备可提供全部的MAC服务,可充当任何Zigbee廿点,不仅可阻发送和接收数据,还具各路由功能, 因此可以接收子节点;而RFD设备只提供部分的MAC服务,只能充当终端节 点,不能充当协调器和路由节点,它只负责将采集的数据信息发送给协调器和路 由节点,并不具备路由功能,因此不能接收子节点,并且RFD之间的通信必须 通过FFD爿能完成。另外,RFD仅需要使用较小的存储空间,这样就可以非常 容易的组建一个低成本和低功耗的无线通信网络。Zigbee标准在此基础上定义了 三种节点:Zigbee协调点(Coordinator)、路由节点(Router)和终端节点(End Device)。Zigbee协议标准中定义了三种网络拓扑形式14“,分别为星形拓扑、树 形拓扑和网状拓扑,如图2―3。d人,一≯uh^1uu uH*#c¨●m目8●FFDURFD坩』目拍扑围2-3 ZigBe.e网络的三种拓扑形式 硕十学位论文第二章Zigbee组网方案的设计星形网络是三种拓扑结构中最简单的,因为星形网络没用到Zigbee协议栈,只要用802.15.4的层就可以实现。网络由~个协调器和一系列的FFD/RFD构成, 节点之间的数据传输都要通过协调器转发。节点之间的数据路由只有唯一的一个 路径,没有可选择的路径,假如发生链路中断时,那么发生链路中断的节点之间 的数据通信也将中断,此外协调器很可能成为整个网络的瓶颈。 在树形网络中,FFD节点都可以包含自己的子节点,而RFD则不行,只能 作为FFD的子节点,在树形拓扑结构中,每一个节点都只能和他的父节点和子 节点之间通信,也就是说,当从一个节点向另一个节点发送数据时,信息将沿着 树的路径向上传递到最近的协调器节点然后再向下传递到目标节点。这种拓扑方 式的缺点就是信息只有唯一的路由通道,信息的路由过程完成是由网络层处理, 对于应用层是完全透明的。 网状网络除了允许父节点和子节点之间的通信,也允许通信范围之内具有路 由能力的非父子关系的邻居节点之问进行通信,它是树形网络基础上实现的,与 树形网络不同的是,网状网络是一种特殊的、按接力方式传输的点对点的网络结 构,其路由可自动建立和维护,并且具有强大的自组织、自愈功能,网络可以通 过“多级跳”的方式来通信,可以组成极为复杂的网络,具有很大的路由深度和网 络节点规模。该拓扑结构的优点是减少了消息延时,增强了可靠性,缺点是需要 更多的存储空间的开销。2.3组网方案的设计上面讨论了基本网络拓扑结构,不论是从网络拓扑结构还是从路由方式来看,都可以认为星形网络和树形网络是网状网络的一个特殊子集,对网状网络的 研究就包括对星形网络和树形网络的内容,所以本文对Zigbee网状网络进行探讨。组建一个完整的Zigbee网状网络包括两个步骤:网络初始化、节点加入网络,其中节点加入网络又包括两个步骤:通过与协调器连接入网和通过已有父节 点入网。 2.3.1网络初始化Zigbee网络的建立是由网络协调器发起的,任何一个Zigbee节点要组建一个网络必须要满足以下两点要求:1.节点是FFD节点,具备Zigbee协调器的能力; 2.节点还没有与其它网络连接,当节点已经与其它网络连接时,此节点只 能作为该网络的子节点,因为一个Zigbee网络中有且只有一个网络协调器。在Jennie Zigbee协议栈中,网络的初始化是由Jennic提供的BOS(Basic 硕十学位论文第二章Zigbee组网方案的设计OperatingSystem)控制的,BOS是一个无优先级的简单任务调度器,控制着Zigbee 协议栈以及用户任务的执行,网络的初始化就是在BOS的控制下进行的。Zigbee 网络的初始化是有序的,每一个节点都有唯一的MAC地址,这是通过预编程设定的【451。其网络初始化过程如图2.4。图2-4网络初始化流程网络初始化的流程如下:1.确定网络协调器。首先判断节点是否是FFD节点,接着判断此FFD节 点是否在其它网络里或者网络里是否已经存在协调器。通过主动扫描,发送一个 信标请求命令(Beacon request command),然后设置一个扫描期限12 硕十学位论文第二章Zigbee组网方案的设计(Tscan―duration),如果在扫描期限内都没有检测到信标,那么就认为此FFD在 其POS内没有协调器,那么此时就可以建立自己的Zigbee网络,并且作为这个 网络的协调器不断地产生信标并广播出去。 2.进行信道扫描过程。包括能量扫描和主动扫描两个过程:首先对指定的 信道或者默认的信道进行能量检测,以避免可能的干扰。以递增的方式对所测量 的能量值进行信道排序,抛弃那些能量值超出了可允许能量水平的信道,选择可 允许能量水平的信道并标注这些信道是可用信道。接着进行主动扫描,搜索节点 通信半径内的网络信息。这些信息以信标帧的形式在网络中广播,节点通过主动 信道扫描方式获得这些信标帧,然后根据这些信息,找到一个最好的、相对安静 的信道,通过记录的结果,选择一个信道,该信道应存在最少的ZigBee网络, 最好是没有ZigBee设备。在主动扫描期问,MAC层将丢弃PHY层数据服务接 收到的除信标以外的所有帧。 3.设置网络ID。找到合适的信道后,协调器将为网络选定一个网络标识符 (PAN ID,取值_<0x3FFF),这个ID在所使用的信道中必须唯一,也不能和其它 Zigbee网络冲突,而且不能为广播地址0xFFFF(此地址为保留的地址,不能使用)。PAN ID可以通过侦听其它网络的ID然后选择一个不会冲突的ID的方式来获取,也可以人为的指定扫描的信道后来确定不和其它网络冲突的PAN ID。在Zigbee 网络中有两种地址模式:扩展地址(64位)和短地址(16位),其中扩展地址由IEEE 组织分配,用于唯一的设备标识;短地址用于本地网络中的设备标识,在一个网络中,每个设备的短地址必须唯一,当节点加入网络时由其父节点分配并通过使用短地址进行通信。对于协调器节点来说,短地址通常设定为0x0000; 上面步骤完成后,就成功初始化了Zigbee网状网络,之后就等待其它节点的加入。节点入网时将选择范围内信号最强的父节点(包括协调器)加入网络,成 功后将得到一个网络短地址并通过这个地址进行数据的发送和接收,网络拓扑关 系和地址就会保存在各自的Flash中。 网络初始化包括两方面的内容:确定初始化参数和将选定的参数配置到节点 中。节点需要初始化的参数如下:操作信道LogicChannel、PAN ID、节点自身短 地址macShortAddress、信标周期BeaconOrder、超帧激活周期Superfi'ameOrder等。在确定网络的初始化参数之后,将通过调用MAC层的MLNE.SAP接口的设置原语(MLME.SET)和开始原语(MLME.START)将选定的参数配置到节点的MAC中M。2.3.2节点通过协调器加入网络 当Zigbee协调器确定之后,节点首先需要和协调器建立连接加入网络。考 硕十学位论文第二章Zigbee组网方案的设计虑到网络的容量和FFD/RFD的特点,本文只讨论FFD节点情况,FFD节点与协 调器连接加入网络的流程图如图2.5。图2-5 FFD节点与协调器连接加入网络沅程图为了建立连接,FFD节点需要向协调器提出连接请求,协调器接收到节点的连接请求后根据情况决定是否允许其连接,然后对请求连接的节点做出响应,节点与协调器建立连接后,才能实现数据的收发。具体的流程可以分为以下几个步犁42l【48】【49】【50l:1.查找网络协调器。首先会主动扫描查找周围网络的协调器,如果在扫描期限内检测到信标,那么将获得了协调器的有关信息,这时就向协调器发出连接 请求。在选择合适的网络后,上层将请求MAC层对物理层和MAC层的 phyCurrentChaanel、macPANID等PIB属性进行相应的设置。如果没有检测到, 间隔一段时间后,节点重新发起扫描。14 硕十学位论文第二章Zigbee组网方案的设计2.发送关联请求命令(Associate request command)。节点将关联请求命令发 给协调器,协调器收到后立即回复一个确认帧(ACK),同时向它的上层发送连接 指示原语,表示已经收到节点的连接请求。但这并不意味着已经建立连接,只表 示协调器已经收到节点的连接请求。当协调器的MAC层的上层接收到连接指示 原语后,将根据自己的资源情况(存储空间和能量)决定是否同意此节点的加入请 求,然后给节点的MAC层发送响应。 3.等待协调器处理。当节点收到协调器加入请求命令的ACK后,节点的 MAC将等待一段时间,接收协调器的连接响应。在预定的时间内,如果接收到 连接响应,它将这个响应向它的上层通告。而协调器给节点的MAC层发送响应 时会设置一个等待响应时间(Z ResponseWa#Time)来等待协调器对其加入请求命令的处理,若协调器的资源足够,协调器会给节点分配一个16位的短地址,并产生包含新地址和连接成功状态的连接响应命令,则此节点将成功的和协调器建立连接并可以开始通信。若协调器资源不够,待加入的节点将重新发送请求信 息,直到入网成功。 4.发送数据请求命令。如果协调器在响应时间内同意节点加入,那么将产生关联响应命令(Associateresponsecommand)并先存储这个命令。当响应时间过后,节点发送数据请求命令(Data request command)给协调器,协调器收到后立即回复ACK,然后将存储的关联响应命令发给节点。如果在响应时间到后,协 调器还没有决定是否同意节点加入,那么节点将试图从协调器的信标帧中提取关 联响应命令,成功的话就可以入网成功,否则重新发送请求信息直到入网成功。5.回复。节点收到关联响应命令后,立即向协调器回复一个确认帧(ACK),以确认接收到连接响应命令,此时节点将保存协调器的短地址和扩展地址,并且节点的MLME向上层发送连接确认原语,通告关联加入成功的信息。 上述步骤完成之后,待加入网络的节点应该已经收到协调器的加入请求回复。如果该请求通过,该节点将成功和协调器建立连接并获得网络地址和其他节 点进行通信。在上述连接的过程中,请求建立连接的节点的上层生成连接请求原语发送给节点的MAC层。MAC层的MLME接收到这个原语后,先向物理层发送和原语更新phyCurrentchannel和maePANID的值,然后生成一个含有建立连 接请求的命令帧发送给指定的协调器。节点在发送命令帧时使用CSMA.CA算 法,首先MLME向物理层发送状态为TX ON的收发电路状态转换原语,激活发射电路,使其工作在发射状态。收到确认原语后再向物理层发送数据请求原语 来生成命令帧,等待接收的协调器发送的确认帧。如果没有收到,那么将重新发送连接请求命令。如果重新发送aMaxFrameRetries次后仍然没有接收到确认帧,则节点的物理层向上层发送状态为NO ACK的连接请求确认原语表示连接请求15 硕十学位论文第二章Zigbee组网方案的设计命令发送失败。连接过程原语图时序图如图2-6[511152l。图2.6原组网方案的节点与协调器的连接原语时序图2.3.3节点通过已有节点加入网络 当靠近协调器的FFD节点和协调器关联成功后,处于这个网络范围内的其它节点就以这些FFD节点作为父节点加入网络了,具体加入网络有两种方式【4纠, 一种是通过关联(association)方式,就是待加入的节点发起加入网络;另一种是直 接(direct)方式,就是待加入的节点具体加入到那个节点下,作为该节点的子节点。 其中关联方式是Zigbee网络中新节点加入网络的主要途径,其流程图如图2.7。 对于一个节点来说只有没有加入过网络的才能进行加入网络。在这些节点 中,有些是曾经加入过网络,但是却与它的父节点失去联系(这样的被称为孤儿 节点.),而有些则是新节点。当是孤儿节点时,在它的相邻表中存有原父节点的 信息,于是它可以直接给原父节点发送加入网络的请求信息。如果父节点有能力 同意它加入,于是直接告知它的以前被分配的网络地址,它便入网成功;如果此16 硕十学位论文第二章Zigbee组网方案的设计时它原来的父节点的网络中,子节点数已达最大值,也就是说网络地址已经分配 满,父节点便无法批准它加入,它只能以新节点身份重新寻找并加入网络。2-7节点已有父节点加入网络的流程图而对于新节点来说,它首先会在预先设定的一个或多个信道上通过主动或被 动扫描周围它可找到的网络,寻找有能批准自己加入网络的父节点,并把可以找 到的所有父节点的资料存入自己的相邻表。存入相邻表的父节点的资料包括ZigBee协议的版本、堆栈的规范、PAN ID和可以加入的信息。在相邻表中所有的父节点中选择一个深度最小的,并对其发出请求信息,如果出现相同最小深度的两个以上的父节点信息,那么随机选取一个发送请求。如果相邻表中没有合适的父节点信息,那么表示入网失败,终止过程。如果发出的请求被批准,那么父 硕十学位论文第二章Zigbee组网方案的设计节点同时会分配给它一个16位的网络地址,此时入网成功,子节点可以开始通 信。如果请求失败,那么重新查找相邻表,继续发送请求信息,直到加入网络或 者相邻表中没有了合适的父节点。2.4节点与协调器连接过程仿真2.4.1NS2仿真软件简介 NS2(NetworkSimulatorVersion2)是一款免费的、开放的网络仿真软件【5引。所谓通信网络仿真就是用计算机程序对通信网络进行模型化,通过程序的运行, 模仿通信网络的运行过程。网络仿真对网络研究人员研究新的网络协议、算法和 拓扑结构是一种很有效的方法。通常来说,对网络技术的研究大概有3种方法, 分析方法、实验方法和模拟方法。然而前两种方法存在很大的局限,分析方法的 有效性和精确性受假设条件限制很大,实验方法的在局限在于成本很高,重新配 置或共享资源很难,运用灵活性不大。模拟方法J下好弥补了前两种方法的不足, 可以根据要求设计所需的网络模型,用相对很少的时间和费用了解网络在不同条 件下的各种特性,获取网络研究的丰富有效的数据,网络模拟无疑提供了一个方 便、高效的验证和分析方法。2.4.2NS2仿真步骤 NS2是一款基于unix/linux平台的开源仿真网络软件,另外,NS2也可以安装并运行在Windows平台上,但是需要配合CygwinyJ。能使用。利用NS2仿真时有两种方法记录结果,一种是记录在trace文件中,即生成?.tr文件,记录了仿真过程中得到的仿真数据:一种是由nam(动画演示程序)体现出来,仿真步骤如下:1.用文本编辑器编辑一个.tcl文件,包含仿真环境、各层使用的协议、定义各种业务流和模拟环境的各类参数等,其中仿真拓扑结构可以编写一个.sen的场 景文件,然后通过source./..sen语句导入到tcl文件;通过set tracef【open.严.tr W】和set tracef【open./..nam w】命令来打开.tr文件和.naln文件。2.在命令行下使用ns命令运行模拟,得到.tr文件和.ham文件。可以在命令行下用nam*.nam命令来运行.nam文件,也可以直接由ns命令来调用naln。 3.对.仃文件进行分析,通过编写不同的awk文件,对所需要的数据和参数进行提取。通过执行gawk-f?.awk?.仃>?.txt命令,得到的数据保存在?.txt中。4.把?.txt中的数据,用excel或者gnuplot等工具进行绘图。上述步骤完成后,就可以得到所需要仿真结果的图形,通过这些数据得出对实验的结论。15 硕十学位论文第二章Zigbee组网方案的设计2.4.3NS2平台下Zigbee节点模型 Zigbee网络仿真本质上是位于核心的节点组成,并附加了一些辅助特性,以满足节点类的实现原理。节点是NS2仿真的核心,图2.8是NS2.28平台中802.15.4/Zigbee的节点模型1541。聋…一图2-8基于NS2的Zigbee节点模型上图中,各层功能如下: 1.Zigbee网络层/应用和路由算法是根据具体的无线场景定义。 2.802LLC-Link.1ayer。主要负责传输可靠性保障和控制数据包的分段和重 组。通常,所有发出的分组由路由(代理)Agent传递给LLC,然后LLC将分组传递给MAC层(通过业务相关会聚子层(SSCS)接口)处理。处理完之后MAC将所 有接收的分组回传给LLC,然后LLC再将分组传递给节点实体。 3.SSCS.为IEEE802.15.4的MAC层接入IEEE802.2LLC提供聚合服务,允许LLC使用SSCS的服务访问接1:3访问IEEE802.15.4的MAC层。4.802.15.4MAC层:包含CSMA.CA、关联/解关联等功能,实现MAC层的功能的原语有35项。5.802.15.4PHY层:包含能量检测、空间信道评估、链路质量指示等功能,实现PHY层功能的原语有14项。19 硕十学位论文第二章Zigbee组网方案的设计2.4.4原方案下节点入网过程仿真 本节仿真的目标是在Zigbee协议标准下的组网方案中,分别对不同个数的的节点通过一个协调器加入网络的情况进行仿真。节点数分别取2,4,6,10, 14,边界为50m*50m,通信范围为15m,节点与协调器距离最远为10m。本章 所用仿真的拓扑结构如图2-9。O∞o。ooO④e O OO o o oOO O④O一畎j旷O00%n C泛o◇r:、∞9O图2.9仿真拓扑图在Os时激活编号为0的节点(此节点作为协调器--ZB CooO,0.5s激活第一 个节点,然后分别隔一段时间Z。激活一个节点(已=O.Ols、O.05s、0.06s、0.1s、 0.15s、0.3s、0.5s、Is)。通过修改Sns 实现不同time激活第rill个节点。 仿真中MAC层的相关基本属性值(按Zigbee协议中默认值设置)如下:const attime”¥node(衄)SSC¥startDevice10”来UINT 8 aNumSuperframeSlots=1 6:8 aBaseSlotDuration=60;//超帧中包含的时隙数const UINT const UINT//超帧系列为0时组成超帧的时隙符号数21 6 aBaseSuperframeDurationaBaseSlotDuration?aNumSuperframeSlots;const UINT const UINT//超帧系列为0时,组成超帧的符号数16 16aMaxFrameResponseTime=1220;//等待响应帧的最大符号数 aResponseWaitTime=32}aBaseSuperframeDuration;肺点发出请求命令后,在得到响应命令之前,需要等待的最大符号数const UINT8 aMaxFrameRetries=3;//发送失败后,最大的重试次数仿真中MAC层相关PIB属性值(按Zigbee协议中默认值设置)如下:#definemaeAckWaitDuration54 3 3//得到应答帧之前等待的最大符号数 //协调器发送信标的频率#define macBeaconOrder #definemacMinBE//CSMA.CA算法中退避指数的最小值15//超帧活动部分的长度4#define macSuperframeOrder#define defmacMaxCSMABackoffs//访问信道的最大退避次数 硕十学位论文第二章Zigbee组网方案的设计信道主动扫描时间TT ASASScan可由下列公式计算得出:(2.1)Scan=aBaseSuperframeDuration}(2㈣删…+1)/SymbolRateScan=960}(2鼢伽删砌+1)/62.5幸103=15.36*(2勋伽删棚+1)ms其中:ScanDuration取值为【0,14】,SymbolRate为物理层的符号率,对于2.4G 频段来说,其值为62.5ksymbol/s。因此具体的扫描时问为:T AS(2.2)在本次仿真仿真中,采用主动扫描方式,节点全都是FFD节点。其中主动方式的Scanduration设置为2 f范围为0.14)。 这样就可以计算出网络初始化各个阶段的时间:ll一46一Sca胛2I I7饥芍聊JT―beacon一.period=245.76ms臆T Re撕spon拈se W―aitTim尼e竺a砌Res删po棚nse/62Wai∥tTiml03e/262呈‘5竺41 0了49=.堆3=1丁’=3.2脚lT一1.52ms.CSMA=2肥/62.5木103=0.128ms21 硕l学竹论文第一章Zigbee组阿方窠的设计本文只对最复杂情况Ⅲ=14)讨论,其他情况照此类似分析。本仿真是在Windows平台下,利用Cygwin的xwjn窗口显示其加入过程,如圈2-10wiⅡ-?_-?__…一_u_…一nⅡ…㈣'i…㈣‘ 嘲黼髓麟嬲嘲嘞黪凝戳戳鳓嬲嘲躞雠[玎二l!‘’d】1i rici●―I一 -…●1Tr…{1s∞irCr%22cl/r,j一2 28/。,Jpa r=¨p、n,1i[rluI ate/Ⅲjoi.run。’。m j。,:inn202.。na.,搿3iN“(J4”*p”=;n揣0 Ln%Og,r。l’.r r篇ol rd“O“.s”cnjoin.tel join” j c,l r,02.tcl joi r,02.tr j,x r04.tc}/c,/帕b tcl J。in04.t r 』ni.06 brJolrrlJtclJolnlO”l nc;oir.fcI- 图2-10xWin界面网络拓扑如图2-9,图2-11为当己取ls时节点和协调器连接过程图。[6.500coo](node [6.762040](node [6.784∞4](node [6.786144](node8)scanni旧chamel儿 8)scanni旧chamel 12 6)sendm9 6)ack[s.78锯08](r_0de[6.781*08](node 0][C00rdAddr:01 [6.788608](node 6)be9ln to [6.790304](node [6.791584】(no出7i ack f”data chreel 13 <o)[7.283104】(∞de 】[PAN_ID:0】[CoordAddr:ol [7.289760](node[7.02672们(no出8)s…ln9[7.290528](node [7.2S20“](node 0)ack6)一cl{t…一n…o帅ard 6)…lau…ccess“l(be酏on s蝴……ith 7)sendln日data㈣st…dnd… request…and rec…dtheda协删st com㈨nd一 For由ta…st……ndelredrecei垤d enabled)[channel:it】【PAN-ID: coordlmt叶7)ass…tl∞failed一)N0一]]nTa(be…nabled)[chamel:11nddr:O】…8)sendin9一clatl…equest to[ch―l:11][P…_ID:0][Coord8)3e州l㈣…atlonfor一…atirequestco.and…nPequen co.and received圈2-11毛2ls时 从仿真过程可以看出:前几个节点都是按规律加入,时间上和理论值很接近, 而在6.5s时,节点8被激活,在节点8进行扫描连接的过程中,节点6和节点7 也在这个时间内进行关联请求过程,这样就加重了这段时间内协调器处理的请求 过多,从而延迟了节点8的加入时间。而在75s时节点9被撒括,由于节点6 和7占用了节点8的加入时问,所以节点8的加入将延迟到7.5s之后,这样又 会占用节点9的加入时间。当这个过程中出现节点加入失败的情况时,此节点义 要重新进行关联加入过程,会更进一步的占用后面节点的时间。图2.12是利用 夔主兰堡堡塞NAM工具动画显示加入过程。翻茹―一一一一■,”一 ~一 _&oj!―――一――――!――一..――{..~―――L‘―――也一, 一鼻鬯r一删 到蔓=垦!堡!竺塑旦查壅盟丝生嵋曼牺鞴圈隧目嬲翻暇舅暖―啊_姊碍l儡聊¥警壁靼嘿两舅爨粤―目啊嘲∞殛*熊野黼’螺Ⅻ/7一、、、Ⅻ遁/IO]/…◇、!弓…、/、纠IoIM⑦ 、、 ⑤。 j、国n』。。.函’爹㈣ ①\、~@。。。/哂@@@:i-…l_‰““.‘__.-._.‘__l。.。““。h..--。_。“…..“,。二.(对节点7加八失救(b)节点7重嘶加入围2-12矗=ls时Nam动画显示图23 堡主堂生堡塞塑=童!堡堕!塑堕塑壅塑堡生如罔中显示节点7关联加入失败,将在节点9加入之后再重新加入而仿真继 续进行下去又会出现节点II和13加入失败,导致所有节点加入网络的时问增加。 当L取O,06s时,即每隔O.06s激活一个节点,连接过程如图2-13[5.173248](node 14)a¥sociation success“1(Deacon eneoledj【channel [8.173248](node :0】[Co吖dAddr:0】 ith the coordinator 【8.173248](node 34)b09in to enabled】 <>【8.217824】(node ][Plan_IⅡ:0】[Co计dgddr:0] ‘>[e.221584】(node 7)association Falled>帅一DRTfl【beacon enabled) J[Pa也I口:0】[Coord自d廿:0】 【8.257312](node 5)scannl嘴channel i2 Failed NO―DflTfl(beacon enabledl <>[8.361504】(node ][PRN―IB:O】[Coordl;ddr:0】 Failed>NO―DflTfl(bea∞n enabled) <>[8.∞3744】(node 】[P日H_ID:0】[Coordt{d打:0】a14)a…】ation6)a…lnlon failed一>m∞¨(b…n 8)a…iatlon 9)a…iations¨h…izere8pon州…州recel坩d㈣ {| 一 懈 {;鳖篓邀;!蛰篓兰塑鲨!生:业!!坚!坚型世业!!:!目2-13己-0.86s时当r。:0 06s时,网络冲突比在Is时的情况明显增加,入网失败的节点增多。从整个仿真过程来看,节点的加入顺序变的没有规律,这是由于网络冲突造成的。 当这些失败的节点又重新发起关联命令直到入网成功的话,这样所花的时间就会 大大的增加。当L取值越小,网络冲突就越明显,并且加入的总时间变化很不规则。图2一14是当£取0 06s时NAM动画演示图。1,1,,---!一…..!j.!!蔓==!!兰==兰=二.竺竺兰:f』~fa)节点加八失败 硕十学位论文第一二章Zigbee组网方案的设计二===三兰=三兰:苎=兰=!兰兰=【o】浏|L:;。蓄兰一。。…,。。(”节点重新加八成功昌尝冷尝8叫|图2-14瓦?o 06s时NAM动画演示目 从图(a)看出,节点不是按照顺序加入网络,节点14比前几个节点都更早加 入网络,这是由于网络中出现很大的冲突,而协调器处理每个节点加入的时间又 比较长,这样就直接导致了节点的无序加入。图(b)是所有节点都全部加入网络。 通过类似的方法分别对写在其它取值情况下进行仿真。当N和已取不同值 时,统计每种情况的所有节点全部连接成功的总时间r,如图2.15。:S110 0l。15 叶■<1一:0l 0】03 04h 烈 ‘氐1、≮弋≯0j 0 6 07 0.g 09 l间隔时间T/∞,/s图2?15原方章下不同矗时设备全部成功加八总时间的仿真结采 硕士学位论文第二章Zigbee纽网方案的设计从图2―15看出,当乙<=O.3s时,丁的增减变的极不规则,而且N越大,这 种动荡就越明显,而当乙>O.3s时,少的变化基本上趋于稳定。这是因为当乙越小,协调器在某些时问内处理的信息量过大,使得很多节点的关联加入请求得不 到满足,节点越多越明显,而那些前面加入失败的节点会继续发送加入请求,它 们和后面即将激活的设备之间又会产生新的网络冲突。2.5改进的组网方案通过以上分析知当节点通过协调器加入网络时,所需的原语数较多,这样需 要的时间较长。假如有多个节点在较短的时间内先后加入网络,就会产生较大的 网络冲突,使得协调器负载过重,导致一部分节点加入失败,而这些加入失败的 节点会继续发送加入请求,这样所有节点全部成功加入的总时间会进一步增加。 本文通过减小每个节点加入网络的时间及原语数来达到减小这种冲突的目的,从 加入网络的时间分析,加入网络的绝大部分时间花费在主动扫描、信标周期和等 待协调器处理时间上,而前两者时间是固定不变的,但是等待协调器处理的时间 却是可变的,和协调器要处理的原语数量有关,可以通过减少原语的数量,减小 协调器处理这些原语通信握手过程所需要的时间,这样协调器就能更快的响应节 点的关联加入。图2.16为改进后的节点与协调器的连接原语时序图。图2.16改进方案下节点与协调器的连接原语时序图当协调器在收到加入请求命令后,检查本身资源足够的话,就直接产生关联 堕!堂壁堡墨堡三皇!堕堡!望塑互塞堕堡生响应命令并直接发送给待加入的节点,这样协调器就不需要存储关联响应命令, 节点也不需要发送数据请求命令,只用等待协调器的响应命令即可,这样入网过 程所需要的原语数就减少了,从而能够有效的减小冲突。通过这样的改进方法节 点加入网络的时问和所需要的原语数都会有所减少。在本文中,T―ResponseWoitTime取122 88rias,也就是说当协调器收到节点的加入请求命令 后只用122 88ms时间进行处理,接着就产生响应命令,直接发给待加入的节点。通过比较图2-6和图2.16,改进后的方案比改进前所需要的原语数少了很多。表 2.1为原方案和改进后方案下每一步所需要的原语数对照表:表2-1改进前后所需要的原语数量对照表步骤1 2 3 4改进前(个)823 3 39 11改进后(个)8 23 0 16 11 585原语总数84图2-17和图2-18是在改进方案下N=14的情况,已分别等于l s和0.06s时 的NAM动画演示图。M④m◇M④。/m④{互⑦④移苜Ⅲ①M④@逦岁毋囤2-17L。Is时Nam动画显示图 堡±堂堡堡兰兰三至!!g堕!望型查窒竺壁生㈣⑤④㈣ ㈣⑥ ④Ⅲ 盟⑦z弩,Q婴彰昌。尸⑩to』 m@⑩弋啾⑥ / 、\~//图2-18L1006s时Nam动画显示困从上图中可以看出在改进的方案下,当t=Is时,在入网过程中没有出现网 络冲突,节点是按顺序加入网络;而当‘=0.06s时,虽然仍存在一些网络冲突, 但相比改进前减少了许多,节点仍然按顺序加入网络。另外两种情况下都没有出 现节点加入失败又重新加入的情况,这说明改进后的效果明显。 在改进的方案下,分别对原方案的拓扑仿真,然后统计每种情况当N和L取不同值时,所有节点全部连接成功的总时间,,如图2.19。lu嘉10一 星12 ~一+N-14一- il- N-10N-4 一\64。14l/ N-2一“卜7荟82、:\// K\~-/―/ h●――f●――70 0l 0j 03 04 05 Oj 0 7 0j 09/,//I闻隔时闻T“?囤2-19改进方案下不同L时设备全部成功加八总时间的仿真蛄果 硕十学位论文第二章Zigbee组网方案的设计改进后,其他参数不变,每个节点关联的最大时间约为603.02ms,比改进前 省了约370.83ms。图2-20是当N和乙耿不同值时,所有N个节点全部成功加入的总时间r在

我要回帖

更多关于 zigbee节点类型 的文章

 

随机推荐