微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 关于Zstack HA1.2.2a 终端节点切换父节点 出现问题

关于Zstack HA1.2.2a 终端节点切换父节点 出现问题

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

        Z-Stack Home 1.2.2a 也发现上面的情况。

        开了 Child Aging  使用 Date request  的模式。

        复现方法:

        一个协调器, 下面有两个路由设备, 另外路由设备下有 4个终端设备(休眠的)。

        间隔一段时间  ,将其中一个路由设备 断电, 使其终端设备 切换 路由设备 为父节点、

        反复操作一段时间后, 出现以下3个问题:

        1.   当两个路由设备都 上电的时候,  协调器发消息给 其中的一个终端设备, 消息经过路由1缓存起来,

              但是 此时终端设备 data request是发给路由2.

              于是导致了, 终端设备发消息给 协调器,协调器可以收到。  

              但是协调器发消息给终端设备, 发错父节点。终端设备获取不到消息。

        2.   协调器发消息给终端设备, 终端设备收得到,

              但 终端设备发消息经过路由设备 给协调器, 协调器MAC 回复ACK ,但应用层无法解析出来

        3.   经过一段时间切换后,  终端设备只能在 将路由设备 作为 父节点 切换。

              当两个路由设备 都断电时, 终端设备发出orphan notification 后 就一直入不了网(无法将 协调器作为 父节点 进行切换)

              期间 发出的beacon  request, 协调器也有 反馈beacon。

              但就是无法 入网。

谢谢!

我这两天调试也发现终端设备无法将协调器作为父节点,甚至也不能通过协调器入网,后来我将协调器的f8wconfig 中的 pollrate改为和终端节点相同的,并且加入AUTO POLL 预定义,现在就可以入网并将协调器作为父节点了。

有抓包信息吗?

我也遇到了这样的问题,请问大伙们解决了吗,

Mars,

使用Z-Stack Home 1.2.2a协议栈在使能child aging的情况下,

Coordinator在每次上电的时候,都会发送parent Announce出来,来和其他的设备进行确认子设备的关系。

 ZDApp_SendParentAnnce();

你也可以把这个功能加到路由器上去,应该可以解决这个问题。

你好,使用Z-Stack Home 1.2.2a.44539,设置了zgRouterOffAssocCleanup = TRUE,zgChildAgingEnable=TRUE。

让路由器加入协调器中,然后把路由器电源关掉,但是协调器中的节点关联表中一直都有改路由器的地址,并没有删除掉!

zgRouterOffAssocCleanup只会删除End Device,路由不会删除的。

另外路由和路由之间的通信,可以不依赖于关联表,也会使用邻居表和路由表的。

您好,VV,

协调器、路由器和终端在Z-Stack Home 1.2.2a协议栈。这里的方法可以解决问题。

但是用zll协议的终端和路由器加入ha的协调器的时候。感觉达不到预想效果,ZLL工程中也搜索不到ZDApp_SendParentAnnce()函数。请问如何解决这个问题!

谢谢

你好,现在你的这个问题解决了没有,我也是遇到了类似的问题

你可以parent announce相关代码移植过去,这部分代码是开源的。

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

网站地图

Top