TI中文支持网
TI专业的中文技术问题咨询交流网站

协调器不发送link status的问题,一年多了一直存在

1、协议栈用的版本是ZHA1.2.2a

2、这个问题的发作完全没有规律,有时候十天半月都没事,有时隔一两天就发生;

3、出问题后,协调器其他功能都正常,包括串口的通讯和IO的响应,只有link status不发,所以与其他设备的无线通讯就都没了;

4、无线部分也不是全部死机,有路由设备上报信息时,它也能回ACK,发生路由查找,它也能发送route request。另外看门狗和系统定时器也使正常的,邻居表通过串口打印出来里边数据也正常。

zigbee网络只要出现这个协调器不发link status的问题,过会网络就瘫痪了,除非重启协调器。现在有个项目都提心吊胆的~~~~~~

Viki Shi:

请打一下补丁再测试:processors.wiki.ti.com/…/Zigbee_Known_Issues_and_Proposed_Fixes

user5020974:

回复 Viki Shi:

您好,上边的链接内容看完了,但是没有发现有对这个问题的修复呀?里边基本都是针对zigbee3.0协议栈的问题修复,大部分都是关于BDB功能的。

就看到一个相关的“CC2530/1 ZNP device sporadically returns ZMemError“,里边的建议是把堆的大小改大到2800,但是ZHA1.2.2a里边的默认堆的大小已经是3K了~

user5020974:

回复 user5020974:

不过问题的出现感觉确实跟内存有关系,经常能收到下边这些错误应答:
#define MAC_NO_RESOURCES0x1A/* The operation could not be completed because nomemory resources were available */
#define ZDP_TABLE_FULL0x8c// No table space to support operation
而且网里边的设备数量越多,越爱出问题

Viki Shi:

回复 user5020974:

你用的芯片是CC2530吗?

YiKai Chen:

回复 user5020974:

如果解決不了或許可以試試定時重啟协调器

user5020974:

回复 Viki Shi:

对  是2530芯片。因为现在已经生产的网关都已经定好是2530模组的接口了,不好替换了

user6069081:

回复 YiKai Chen:

请问z-stack3.0.2重启协调器而不是复位该用哪个函数?

YiKai Chen:

回复 user6069081:

使用OnBloard.h裡面的SystemReset

user6069081:

回复 YiKai Chen:

SystemReset跟SystemResetSoft有什么不同?

Susan Yang:

回复 user6069081:

SystemReset

这种重启的机制是关闭中断并死循环,然后WatchDog超时,从而导致的重启即“硬重启”。

SystemResetSoft

这种重启将PC指针重置为0,也就是上电时代码启动的位置,即“软重启”。

赞(0)
未经允许不得转载:TI中文支持网 » 协调器不发送link status的问题,一年多了一直存在
分享到: 更多 (0)