欢迎来到天天文库
浏览记录
ID:38782188
大小:1.83 MB
页数:22页
时间:2019-06-19
《实验10 节点的建网与入网分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、ZigBee实验十节点的建网与入网分析10.1实验简介在前面实验中,我们都是直接的去使用了一个网络,如果不是想对内核进行深入研究,完全可以不用去考虑TI协议栈的工作细节,只要懂得关键使用部分也一样可以对ZIGBEE进行开发。为了对协议栈有更深入的了解认识,本实验对“协调器”的建网以及“路由器”“终端”的入网,做个简单的逻辑性介绍。21实验目的10.2训练目的10.2.1通过本实验了解Z-STACK启动的过程中建网与入网的一个流程。2110.3实验设备10.3.1硬件:(1)ZIGBEE调试底板2个
2、:可调电阻ZigBee_DEBUG指示灯红外发射ZigBee复位ZigBee按键拨码开关节点按键复位传感器接口1J-LINK接口传感器接口3传感器接口2电源开关电源图10-1ZIGBEE调试底板(2)UART转接板与转接线各1个:UART转接线转接串口输入,连接到ZIGBEE调试底板转接串口输出,连接到电脑串口图10-2UART转接板与转接线21(1)ZIGBEE仿真器1个;10PIN下载接口电源(上)和状态指示灯USB接口图10-3ZIGBEE仿真器(2)ZIGBEE模块2个;图10-4ZIGB
3、EE模块21(1)电源2个图10-5电源(2)串口延长线1根图10-6串口延长线21(1)硬件连接图连接电脑串口ZigBee调试底板与串口转接板连接电源连接电脑USBZIGBEEDeBug连接口图10-7硬件连接10.3.1软件(1)IAREmbeddedWorkbenchforMCS-517.51A集成开发环境;(2)TIZ-STACK;(3)仿真器驱动;(4)串口调试助手。21实验知识10.410.4.1网络形成每个设备都有一组能被配置的参数(如被PC工具或者外部处理器配置),整个配置参数在代
4、码中已经定义了默认值(在f8wconfig.cfg中)。在同一个网络中,所有设备的“网络细节”配置参数(如PANID,Channel等)应该被配置成一样的值。每个设备的“设备细节”配置参数(Coordinator,Router,Enddevice等)可以配置为不同的值。但是,ZCD_NV_LOGICAL_TYPE必须被设置,确保:1、有正确的一个设备作为协调器被配置;2、所有电池供电的设备作为终端设备被配置。一旦这些工作都完成,这个设备就可以以任意方式启动。协调器设备将建立网络,其他设备将发现和加
5、入到这个网络中。10.4.2协调器格式化网络协调器将扫描DEFAULT_CHANLIST(在f8wConfig.cfg里定义)指定的通道,最后在其中之一上形成网络。设备的PANID值与ZDAPP_CONFIG_PAN_ID值设置有关(ZDAPP_CONFIG_PAN_ID这个参数在配置文件f8wConfig.cfg)。如果协调器的ZDAPP_CONFIG_PAN_ID设置为OxFFFF,则协调器将产生一个随机的PANID,如果协调器的ZDAPP_CONFIG_PAN_ID设置为非0xFFFF值,则
6、协调器根据自身的网络长地址(IEEE地址)或ZDAPP_CONFIG_PAN_ID值随机产生一个PANID,如果协调器的PANID的设置值为小于等于0x3FFF的有效值,协调器就会以这个特定的PANID值建立网络,但是,如果在默认的信道上已经有了该PANID值的网络存在,则协调器会继续搜寻其他的PANID,直到找到网络不冲突为止。当所有参数配置好后,可以调用下面函数来格式化网络(以下函数不开源):ZStatus_tNLME_NetworkFormationRequest(uint16PanId,u
7、int8*ExtendedPANID,uint32ScanChannels,byteScanDuration,byteBeaconOrder,byteSuperframeOrder,byteBatteryLifeExtension);但一般不直接使用上面的函数建立网络,而是使用ZDO_StartDevice()函数来启动一个设备10.4.3路由器和终端设备加入网络路由器和终端设备启动后,将扫描DEFAULT_CHANLIST指定的频道,如果ZDAPP_CONFIG_PAN_ID没有被定义为0xFF
8、FF,则路由器将强制加入ZDAPP_CONFIG_PAN_ID定义的网络。发现一个网络将调用下面函数(以下函数不开源):ZStatus_tNLME_NetworkDiscoveryRequest(uint32ScanChannels,bytescanDuration);该函数要求网络层去发现邻居路由器节点,并且应该在进行网络扫描之前调用,扫描的结果由ZStatus_tZDO_NetworkDiscoveryConfirmCB()函数返回,其中:ScanChannels----准备扫
此文档下载收益归作者所有