微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 如何理解zgChildAgingEnable和zgRouterOffAssocCleanup

如何理解zgChildAgingEnable和zgRouterOffAssocCleanup

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

  zgChildAgingEnable和zgRouterOffAssocCleanup都置为TRUE时,有什么不同作用?

zgChildAgingEnable 和zgRouterOffAssocCleanup会清除关联的路由节点吗,或者只是清除关联的终端节点?

如何安全的清除关联的路由节点,或者这么做有什么副作用?

1

在Z-Stack Home 1.2.2里面,如果使能了zgChildAgingEnable功能。

那么End Device在入网成功以后,会通过Device Announce把Timeout相关的信息发给父设备。ZDApp_AnnounceNewAddress( void )里的NLME_SendEndDevTimeoutReq。

这个函数中会把下面两个变量的信息发送给父设备,也就是说不同的节点可以配置不同的timeout时间,主要也是根据节点的Data request来决定的。

uint8 zgEndDeviceTimeoutValue = END_DEV_TIMEOUT_VALUE;
uint8 zgEndDeviceConfiguration = END_DEV_CONFIGURATION;

在父设备上面,收到这个req以后,会调用到下面这个函数

NLME_ProcessEndDevTimeoutReq( NLDE_FrameFormat_t *ff )

这个函数处理的过程,主要是把收到的zgEndDeviceTimeoutValue,写到AssociateList里面去

详细信息可以参考 https://www.deyisupport.com/question_answer/wireless_connectivity/zigbee/f/104/t/85924.aspx

In case a ZigBee Router gets off network for a long period of time, its children will try to join an alternative parent. When the router is back online, the children will still appear in its child table, preventing proper routing of egress traffic to them.

In order to avoid this, it is recommended that routers prone to get off and on the network will have zgRouterOffAssocCleanup flag set to TRUE (mapped to NV item: ZCD_NV_ROUTER_OFF_ASSOC_CLEANUP):

uint8 cleanupChildTable = TRUE;
zgSetItem( ZCD_NV_ROUTER_OFF_ASSOC_CLEANUP, sizeof(cleanupChildTable),
&cleanupChildTable );

When enabled, deprecated end-device entries will be removed from the child table if traffic received from them was routed by another parent.

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

网站地图

Top