全球旧事资料 分类
淮海工学院计算机工程学院实验报告书
课程名:题《计算机硬件技术基础》
目:实验八无线ZigBee组网与传输
班学姓
级:
软嵌151
号:2015123349名:陈正宁
评语:
成绩:
指导教师:批阅时间:年月日
f实验八
一、实验目的
无线ZigBee组网与传输
1、通过实验,了解ZigBee协议的基础知识,掌握在ZXBeeCC2530节点板上实现自组织组网。2、掌握在zstack协议栈下实现星型网络拓扑的控制方法。二、实验原理1、ZigBee自组织组网。在进行一系列的初始化操作后程序就进入事件轮询状态。对于终端节点,若没有事件发生且定义了编译选项POWER_SAVING,则节点进入休眠状态。协调器是Zigbee三种设备中最重要的一种。它负责网络的建立,包括信道选择,确定唯一的PAN地址并把信息向网络中广播,为加入网络的路由器和终端设备分配地址,维护路由表等。ZStack中打开编译选项ZDO_COORDINATOR,也就是在IAR开发环境中选择协调器,然后编译出的文件就能够启动协调器。具体工作流程是:操作系统初始化函数osal_start_system调用ZDAppI
it初始化函数,ZDAppI
it调用ZDOI
itDevice函数,ZDOI
itDevice调用ZDApp_NetworkI
it函数,在此函数中设置ZDO_NETWORK_INIT事件,在ZDApp_eve
t_loop任务中对其进行处理。由第一步先调用ZDO_StartDevice启动网络中的设备,再调用NLME_NetworkFormatio
Request函数进行组网,这一部分涉及网络层细节,无法看到源代码,在库中处理。ZDO_NetworkFormatio
Co
firmCB和
wk_Status函数有申请结果的处理。如果成功则ZDO_NetworkFormatio
Co
firmCB先执行,不成功则
wk_Status先执行。接着,在ZDO_NetworkFormatio
Co
firmCB函数中会设置ZDO_NETWORK_START事件。由于第三步,ZDApp_eve
t_loop任务中会处理ZDO_NETWORK_START事件,调用
ZDApp_NetworkStartEvt函数,此函数会返回申请的结果。如果不成功能量阈值会按ENERGY_SCAN_INCREMENT增加,并将App_eve
t_loop任务中的事件ID置为ZDO_NETWORK_INIT然后跳回第二步执行;如果成功则设置
ZDO_STATE_CHANGE_EVT事件让ZDApp_eve
t_loop任务处理。对于终端或路由节点,调用ZDO_StartDevice后将调用函数NLME_NetworkDiscoveryRequest进行信道扫描启动发现网络的过程,这一部分涉及网络层细节,无法看到源代码,在库中处理,NLME_NetworkDiscoveryRequest函数执行的结果将会返回到函数ZDO_NetworkDiscoveryCo
firmCB中,该函数将会返回选择的网络,并设置事件ZDO_NWK_DISC_CNF,在ZDApp_ProcessOSALMsg中对该事件进行处理,调用NLME_Joi
Request加入指定的网络,若加入失败,则重新r
好听全球资料 返回顶部