zigbee 终端节点同步问题
配置让终端节点进入低功耗模式,经过实际测试,工作电流是几十uA级的。修改的地方包含:POLL_RATE=0;
并且终端节点10S上传一次数据,某一段时间如果把父亲节点断电掉,终端节点就会因为与父亲节点失去同步,触发ZDO_SyncIndicationCB(),是终端节点重新搜索网络。
问题:能不能取消掉这个功能?或者修改哪个配置,不让终端与父亲节点进行同步?因为如果信号差的情况,也会导致内部因为与父亲节点失去同步而又重新加入网络,这些都会产生功耗的问题的
不太确定你的设备用什么办法,我用CC1110,入网尝试执行的是阻塞的SMPL_Init,如果要做到你的情况:
int join_tries = 0;
int flag_join_success = 1;
while (SMPL_SUCCESS != SMPL_Init(0)) {
//toggleLED(1);
//toggleLED(2);
join_tries++;
SPIN_ABOUT_A_SECOND; /* calls nwk_pllBackgrounder for us */
if( join_tries>5 ){
flag_join_success = 0;
break;
}
}
if( flag_join_success==0 ){
//go to sleep mode
//go back and join agait after woke up.
}
数据手册上给的PM2模式的电流,是指最小系统,没有任何外设情况的电流是1uA,不知道你的电路还有没有其他外设开着,或者测量上是否有误差。
你是不是只有一个协调器和一个终端情况下做的这个实验?
这种是zigbee协议栈的实现机制,如果终端节点多次尝试发送没有响应,就需要去neighbor表里面查找link是否正常。
我的是有接外设的,这种功耗是正常的。我做实验的是:一个中心节点、一个终端节点。
那如果是路由节点与终端节点的情况下,是不是就不会发生该种重新加入网络的情况了?
为什么就中心节点会发生这种情况?
如果有路由节点存在的情况下,协调器断电,节点就会重新去发现新的父设备,加入到路由器中。
VV,您好。我想请问一下对于每次Zigbee协调器和Zigbee终端之间的数据包的传递是否会进行一次时间同步?如果进行了时间同步,能否提供一下关于时间同步如何实现的文档?谢谢