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

使用MTO路由后,电池终端节点不能接收广播消息

芯片:CC2530
协议栈:zigbee1.2.2a

硬件环境:1个协调器,1个路由器节点,1个电池终端节点。
软件其它:
1,ZIGBEEPRO
2,使能多对一
3,根据swra427c参考设置路由节点
现象:
1,终端电池的父亲为路由器节点时,不能接收协调器发送的广播数据。
2,把路由器节点断电,电池节点的父亲切换为协调器后,协调器发送的广播,终端节点能收到。
为何有如上现象?
3,如果将路由节点按照swra427c参考设置的参数恢复成以前的,不管电池终端的父亲节点是协调器还是路由器节点,均可以收到协调器发送的广播数据
哪位前辈知道是什么设置导致的吗?盼指教!
Kevin Qiu1:

user3514461如果将路由节点按照swra427c参考设置的参数恢复成以前的

恢复成以前的具体指的是?可以将这部分代码传上来

user3514461:

回复 Kevin Qiu1:

原来的
nwk_globals.h中
#define NWK_MAX_DEVICE_LIST8#define NWK_LINK_STATUS_PERIOD 15
#define MAX_NEIGHBOR_ENTRIES16
#define NWK_ROUTE_AGE_LIMIT 3
#define LINK_DOWN_TRIGGER3#define DEFAULT_ROUTE_REQUEST_RADIUS DEF_NWK_RADIUS
#define DEF_NWK_RADIUS( 2 * BEACON_MAX_DEPTH )

ZGlobals.h中
#define BCAST_DELIVERY_TIME30
#define ROUTE_DISCOVERY_TIME5

-DZDNWKMGR_MIN_TRANSMISSIONS=0//20

现在的(有问题)
#define NWK_MAX_DEVICE_LIST15
#define NWK_LINK_STATUS_PERIOD 30
#define MAX_NEIGHBOR_ENTRIES32//(RAM有限,没设为48)
#define NWK_ROUTE_AGE_LIMIT 30#define LINK_DOWN_TRIGGER12
#define DEFAULT_ROUTE_REQUEST_RADIUS8#define DEF_NWK_RADIUS15

#define BCAST_DELIVERY_TIME50//(网络最大设备数为80个,所以缩小些)
#define ROUTE_DISCOVERY_TIME13

-DZDNWKMGR_MIN_TRANSMISSIONS=20

user3514461:

回复 user3514461:

-DZDNWKMGR_MIN_TRANSMISSIONS=0//20这个位置写反了

Kevin Qiu1:

回复 user3514461:

user3514461#define BCAST_DELIVERY_TIME 50 //(网络最大设备数为80个,所以缩小些)

将这个值改大一些试试

user3514461:

回复 Kevin Qiu1:

#define BCAST_DELIVERY_TIME 50 这个数字的单位是秒吗?

Kevin Qiu1:

回复 user3514461:

BCAST_DELIVERY_TIME
The length of time a broadcast message is kept in the broadcast table. Set to 500ms more than retry time. Retry time
is defined as PASSIVE_ACK_TIMEOUT * (MaxBroadCastRetries + 1). If a broadcast message is being sent toend
devices, then this should be set in accordance withthe polling rate of the end devices. For example 200 might be a
good number if the poll rate was set to 10 seconds for the end device.

user3514461:

回复 Kevin Qiu1:

谢谢热心回复。上面出现的问题,修改这个地方,还是不能解决。后来,我就一个一个参数测试,发现与邻居表大小相关,#define MAX_NEIGHBOR_ENTRIES32中 32改到24后就可以了,16也可以了,为何呢?

Kevin Qiu1:

回复 user3514461:

和RAM空间有关,MAX_NEIGHBOR_ENTRIES设置的太大,导致占用的ram太大
www.ti.com/…/swra635.pdf
e2e.ti.com/…/3300625

赞(0)
未经允许不得转载:TI中文支持网 » 使用MTO路由后,电池终端节点不能接收广播消息
分享到: 更多 (0)