微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 终端掉线后发出Orphan Notification,协调器为什么没回Coord Realignment?

终端掉线后发出Orphan Notification,协调器为什么没回Coord Realignment?

时间:10-02 整理:3721RD 点击:

最近组了一个网,一个协调器连接20个终端设备,运行一段时间终端设备有些会掉线,必须协调器端开启permitjoin 才能重新连接上,在本论坛也找了很多相关掉线重连的问题,也仔细研究了“TI ZigBee协议栈中终端设备的状态切换详解” 这篇文章,都没找到解决的办法。 终端设备重启后会先发出Orphan Notification,协调器有回复的Coord Realignment的都能重连上,没有回复Coord Realignment的都连不上了,就该问题想请教下VV等IT 工程师们。

如果终端设备重启以后发送orphan Notification的话,说明节点状态还是resume,并且之前网络的信息还保存着。

你可以调试下,当节点beacon request搜网的时候,收到beacon会调用到void ZDO_beaconNotifyIndCB( NLME_beaconInd_t *pBeacon )

有没有进入下面的代码,

// check if this device is a better choice to join...
// ...dont bother checking assocPermit flag is doing a rejoin
if ( ( pBeacon->LQI > gMIN_TREE_LQI ) &&
( ( pBeacon->permitJoining == TRUE ) || ( _tmpRejoinState ) ) )

主要关注下_tmpRejoinState 这个变量。

你在使用哪个版本的协议栈?

VV您好!我用的是Z-Stack Mesh 1.0.0, 目前到现象是,终端设备重启以后,节点状态是resume, 然后一小会儿就会返回AssocCnfDenied,重连失败,节点状态进入MODE_REJOIN搜索网络, 协议栈代码中 _tmpRejoinState 也同时被赋值true了,也搜索到要重新加入的那个网络了并发送NLME_ReJoinRequest返回值为0(SUCCESS)了,但看到又发回AssocCnfDenied状态了,还是入网不成功又重新搜索网络,挺多个节点都进入这样的循环状态,有些节点长时间后也是能重新入网的,有些节点就是入不了网,奇怪的现象。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top