微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 无线发送返回ZMacChannelAccessFailure的相关疑问

无线发送返回ZMacChannelAccessFailure的相关疑问

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

本人在做测试,router节点发送数据给COO,每隔1秒发一次。在AF_DATA_CONFIRM_CMD观察发送数据的状态,发送存在ZMacChannelAccessFailure的情况,抓包发现这个数据没有发送出去。在这种情况下,是不是意味着信道干扰导致不能正常发送?MAC层是否会启动重新发送机制?还是需要我运用再次发送一次数据?能否介绍下相关的机制。谢谢

AF_DATA_CONFIRM_CMD是AF层的返回,当返回ZMacChannelAccessFailure,NWK操作了两次MAC层发送,AF_DATA_CONFIRM_CMD返回值是第二次MAC_MCPS_DATA_CNF的返回值。遇到信道干扰时,千万不可立即重发,否则干扰越厉害。应该等待一段时间避开冲突点。

恩,返回这个错误,实际上是CSMA退避后,还是不能发送导致的吧。我现在的想法是把这个CSMA退避运行次数和时间延长。如果还是失败,那么就返回错误的结果给运用,让运用判断是否需要再次发送。点对点测试发现信道干扰是主要的不能发送的原因。

发得快就容易遇到这个错误,一般100ms发一次比较合适。改相关参数在MAC PIB里面改,默认是320us一个回退周期,一共是1 到 (3+7+15+15)个周期,加上2次重发最大能达到60ms

回退周期应该是单片机时钟觉得的吧?一共是1到(7+15+31)个周期吧,默认minBe=3,maxBe=5。移3位-1=7,移4位-1=15,移5位-1=31。这样计算是不是正确?

谢谢你的回答

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

网站地图

Top