微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > join与rejoin问题

join与rejoin问题

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

经过调试发现,在终端节点开机重启时devStartMode = MODE_JOIN,而在加入网络后断开协调器,此时devStartMode = MODE_REJOIN。问题是终端节点扫描网络时电流在30ma左右,在devStartMode = MODE_JOIN时电流持续时间要短于devStartMode = MODE_REJOIN,所以我把devStartMode = MODE_REJOIN模式改变的位置给屏蔽掉,这样对整个网络有什么影响?屏蔽掉后节点还是可以正常加入网络,只是每次加入网络的时候都是devStartMode = MODE_JOIN,电流持续时间也比原来小了

join的目的是为了能够加入到一个新的网络,rejoin的目的是为了能够加入到一个之前加过的网络。

Rejoin的时候Rx always on一直打开着的。

你是为了剩这点功耗,违背了zigbee,这样的做法不太推荐,而且你随意的修改节点工作的状态机,后续会有其他的问题产生。

VV大神,终于看到你的回复了!谢谢!

由于我的板子提供不了那么大的电流,在join模式的时候系统能勉强维持,在rejoin就直接重启了(掉电重启)。硬件上我已经无能为力了,

所以我想要么在断网的时候我让板子重启进入join模式,要么我直接把进入rejoin的地方屏蔽掉。断网让它重启(软件重启)的方法可行么?

其实,Rejoin的时候不用Rx always on。在ZDO_NWK_DISC_CNF消息处理的时候,有个ZMacSetReq( ZMacRxOnIdle, &tmp ),把tmp设置成False就行。

当RFD设备向FFD设备发送NWK Rejoin Request时,FFD需要收到RFD的Data Request才会返回NWK Rejoin Response,RFD完全可以把Rx Aways on关闭。

@V V

 tmp = true; ZMacSetReq( ZMacRxOnIdle, &tmp );

为什么有的时候不起作用呢,开或者关闭rx

http://www.deyisupport.com/question_answer/wireless_connectivity/zigbee/f/104/t/102083.aspx

http://www.deyisupport.com/question_answer/wireless_connectivity/f/45/t/21769.aspx

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

网站地图

Top