TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2652RB:CC2652RB作为协调器无法收到CC2530终端发送的数据

终端使用CC2530 协议栈是2.5.1a

协调器使用CC2652RBSDK版本:simplelink_cc13x2_26x2_sdk_4_30_00_54

用SDK自带的zc_light的例程,关闭了宏定义里面的 ZSTACK_SECURITY 和 TC_LINKKEY_JOIN ;同时关闭了INSTALLCODE的功能。

通过抓包工具看,终端可以正常入网,但是在协调器的 AF_INCOMING_MSG_CMD 事件中的收不到终端发来的数据,但是在从抓包工具上看,协调器收到了终端发送的数据并且在mac层里给了应答回复的,具体麻烦查看一些抓包数据的贴图。

请问:

1.在CC2652RB的zclight例程的哪里放置断点可以查看mac层收到的一包完整数据?

2.是不是因为终端发送的数据没有遵循zigbee3.0的相关定义,所以协调器的网络层把收到的数据丢弃?请问如何修改CC2652RB的zclight例程能实现收到终端数据的功能?

Viki Shi:

如果基于Zigbee Home Profile的话,那跟zigbee3.0是兼容的,通信应无问题。不过个人建议还是升级一下,至少升级到ZHA1.2.2吧。
看你的截图,像是没有进行TCLK exchange被leave掉了,先按照这边设置一下:e2echina.ti.com/…/157395

另外,推荐看一下zigbee3.0的新特性,旧版本不支持的都要避免:www.ti.com/…/swra615a.pdf

user3870826:

回复 Viki Shi:

您好,帖子的开始我就描述了TCLK的功能已经关闭,这样老协议的终端设备才能入网,且入网后一直没有离网,终端也周期性发送数据给协调器,截图显示孤儿节点接入是因为之前终端设备已经入网过,我在贴个正常入网的过程

YiKai Chen:

1. CC2652RB的例程無法查看mac层收到的完整数据
2. 先在case zstackmsg_CmdIDs_AF_INCOMING_MSG_IND:放置断点查看有沒有收到封包

user3870826:

回复 YiKai Chen:

感谢您的回复,在case zstackmsg_CmdIDs_AF_INCOMING_MSG_IND 也没有收到数据包。

YiKai Chen:

回复 user3870826:

你要發出來的封包在抓包檔是有看到真的有發射出來嗎?

user3870826:

回复 YiKai Chen:

是发出来的。抓包工具中APS Payload的内容确实是我终端发送的数据,另外每次终端发送数据时,协调都能进ZMacEventLoop函数中的MAC_RX_QUEUE_TASK_EVT事件,现在就是不知道为什么mac层收到数据后没有通知上层的zstackmsg_CmdIDs_AF_INCOMING_MSG_IND事件。

YiKai Chen:

回复 user3870826:

其他的command都收不到還是只有這個

user3870826:

回复 YiKai Chen:

只有这个,没有其他数据发送。
终端节点做了低功耗,不会定时向父节点请求数据。

YiKai Chen:

回复 user3870826:

你這個好像是私有的命令但是用了Identify cluster ID,你要不要換一個cluster ID然後確認你的endpoint有弄對再試看看

user3870826:

回复 YiKai Chen:

感谢您的回复!
我换了cluster ID,并且确保endpoint是一致的,但是仍然是相同的现象;
另外我还将profileid id有私有的修改为正常ZHA的,也不能解决问题。

赞(0)
未经允许不得转载:TI中文支持网 » CC2652RB:CC2652RB作为协调器无法收到CC2530终端发送的数据
分享到: 更多 (0)