内容发布更新时间 : 2024/12/25 16:50:58星期一 下面是文章的全部内容请认真阅读。
6.2 Zigbee建网和入网过程实验
本实验通过Sample App这个例子实现数据在ZigBee网络中的简单传输。要求掌握网络组建及协议分析仪的使用方法。
6.2.1 实验目的与器材
1)实验目的
? 熟悉zigbee协议的三种设备建网时所担任的角色; ? 学习Z-Stack2007/PRO协议栈中协调器如何建立网络; ? 学习Z-Stack2007/PRO协议栈中路由和终端如何加入网络; ? 学习TI官方提供的抓包工具(Sniffer)的应用及协议分析。 2)实验器材
? 3个CC2530开发套件(1个协调器模块,2个路由器模块);
6.2.2 实验原理与步骤
1)硬件介绍
CC2530开发套件如实验一中的硬件介绍,这里就不再陈述。 2)实验原理 1 设备的分类
ZigBee网络只支持两种设备:
1)全功能设备(FFD Full Function Device)
2)精简功能设备(也叫半功能设备 Reduced Function Device) 两者的比较:
其中FFD设备能够提供MAC层的所有服务,可充当任何ZigBee节点,不仅可以接收发送数据,还具有路由功能,因此可以接收子节点;而RFD只能提供部分的MAC层服务,只能充当子节点,只负责将采集到的数据发送给协调器和路由器节点,本身并不具有路由功能,因此不能接收子节点信息,RFD之间的通信只能通过FFD来完成。
ZigBee标准在此基础上定义了三种节点: ZigBee协调器(Coordinator)、ZigBee路由器(Routers)、ZigBee终端(End Device) 2 所使用的设备
所用的ZigBee设备都具有连接网络和断块网路的功能。 ZigBee协调器和路由器都具有以下附加功能: 1)允许设备以如下方式连接网路:
① MAC(Medium Access Control)层的连接命令。 ② 应用层的连接请求
2)允许设备以如下方式断开网络; ① MAC层的断开命令 ② 应用层的断开命令 ③ 对逻辑网络地址的分配
④ 维护邻居设备 3 组建网络
组建一个网状的ZigBee网络包括两个步骤:网络的初始化和节点加入网络;而节点加入网络又有两个步骤:通过协调器加入网络和通过已有节点入网。
1) 网络的初始化
ZigBee网络的建立是由协调器(Coordinator)发起的,任何一个节点想建立一个网络必须满足两个条件:
① 节点是FFD节点,具有协调器功能;
② 节点还没有和其他网络连接(一个网络中只许有一个协调器) 网络初始化过程如图图6-2-1所示。
节点上电激活是否FFD节点?否是是否建立网络?是否确定网络协调器失败启动并初始化ZigBee协议栈信道扫描无是否有合适信道?有选择合适信道设置PAN ID和协调器短地址网络初始化成功等待其他节点加入网络
图6-2-1 网络初始化流程
网络初始化流程如下:
1) 确定网络协调器。
首先判断节点是否是FFD节点,接着判断次节点是否是其他网络里的网络协调器(通过编程设定其节点属性)。通过主动扫描,发送一个信标请求命令(Beacon request command),然后还要设置一个扫描期限时间(T_scan_duration),如果在扫描期内没有检测到信标,那么此FFD即可建立自己ZigBee网络,并且作为这个网络的协调器不断产生信标并广播出去。
2) 进行信道扫描。包括能量扫描和主动扫描。 首先对指定的信道或默认的信道进行能量扫描,以避免可能的干扰。为实现能量检测扫描,设备网络层通过发送扫描类型(ScanType)参数设置为能量检测扫描的MLME-SCAN.request原语到MAC层进行信道能量检测扫描扫描结果通过MLME-SCAN.confirm原语返回。当网络层关联实体收到成功的能量检测扫描结果后,将以递增的方式对所测的能量值进行信道排序,并且抛弃那些能量值超出了可允许能量水平的信道,选择可允许能量水平的信道作下一步处理
然后,网络管理实体将通过发送MLME-SCAN.Request原语进行主动扫描,其中该原语的ScanType参数设置为主动扫描。搜索节点通信半径内的网络信息。这些信息以网络信标帧的形式在网络中广播,节点通过主动扫描形势接收这些信标帧,然后根据这些信息,找到一个较好的,相对安静的信道,该信道存在最少的ZigBee网络(最好也没有ZigBee设备)。
3)设置网络ID。找到合适的网络后,协调器将为这个新网络选择一个PAN标识符(PAN ID,取值≦0x3FFF),这个ID在所使用的信道中必须是唯一的。PAN ID可以通过监听通道内其他网络的ID来选择一个不会冲突的ID的方式来获取,也可以人为的指定。
在ZigBee网络中有两种地址模式:扩展地址或叫做MAC地址(64位)和短地址(16位),其中扩展地址由IEEE组织分配,用于唯一的设备标识;短地址用于本地网络中的设备标识,在一个网络中,每个设备的短地址必须唯一,当节点加入网络时由其父节点分配并通过使用短地址进行通信。对于协调器来说,短地址通常设定为0X0000;
网络初始化包括两方面的内容:确定初始化参数和选定参数配置到节点中。节点需要初始化的参数如下:操作信道LogicChannel、PAN ID、节点自身短地址macShorAddress、信标周期BeaconOrder、超帧激活周期SuperframeOrder等。在确定网络的初始化参数之后,将通过调用MAC层的MLNE-SAP接口的设置原语(MLME-SET)和开始原语(MLME-START)将选定的参数配置到节点的MAC中。如图6-2-2所对应的建立网络流程。