微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 求助: 终端节点收不到任何包

求助: 终端节点收不到任何包

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

项目已经做了大半了,突然发现终端节点收不到包,之前没这个需求,所以没涉及。

POWER_SAVING选项已关闭,polling time都是default设置,加上了-DRFD_RCVC_ALWAYS_ON=TRUE,且每5s就调一次MAC_PwrOnReq()打开MAC电源,结果还是收不到任何数据,从sniffer可以看到,coordinator向终端节点每秒发一次数据,short address正确。

请问是啥情况,这个问题快把我憋死了,实在没招了,请大家帮忙看一下。

抓包能看到终端节点在网内吗?您试一下让终端节点发送数据,看能否成功?您现在的终端节点大约有多少?都不能收到数据包?

其他通信都正常的:coordinator to router,router to coordinator, end device to coordinator, end device to router,都正常。

router to end device,coordinator to end device都不行。

终端节点在网内。

现在就1个end device。

项目是定位,其他功能基本都做完了,因为突然增加了需求,要给 被定位的节点 发数据,才发现这个问题。

我现在的环境就coordinator + 1个end device,两个距离10厘米,所以也不存在距离问题。

这个问题很奇怪

能发出去发不回来?

楼主做的定位是通过rssi的值吗?

还是什么其他的思路

有没有Debug过,怎么判断没有收到数据呢?

问的也太细了,好吧,我来说一下我是怎么判断没有收到数据的:

1. 单步调试,可以看到case AF_INCOMING_MSG_CMD从来没进过。

2. coordinator发包的时候,调用AF_DataRequest使用了AF_ACK_REQUEST选项,也就是如果end device收到了包,那么我从sniffer上应该能抓到一个ACK frame,现在是抓不到这个ACK。

3. 我代码里,如果end device收到了包,会发送另外一个包出来,这个包也没有发出来。

补充一下,我用的协议栈是2.5.1a版本。

刚又试了一下,coordinator采用广播方式,end device能收到。 但似乎不是每次都收到,似乎是广播三次收到一次,我再仔细分析一下吧。

问题似乎没了,折腾半天广播方式,最后改回原先的,竟然行了!? 

断电重启了几次,第一次断电还是不行,后面又试了几次,复现不了了,先这样吧。

谢谢各位的积极帮忙。

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

网站地图

Top