微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 请问,树形拓扑结构支持路由转发吗?

请问,树形拓扑结构支持路由转发吗?

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

树形网络中的节点发送数据给协调器,只有协调器的子节点发送给协调器的数据能正常接收,网络深度大于等于2的节点通过点播方式发送给协调器的数据接收不到,是树形网络不支持路由转发功能吗?还是我什么地方没有配置正确呢?发送代码如下:

SampleApp_Com_DstAddr.addrMode = (afAddrMode_t)Addr16Bit; //点播
SampleApp_Com_DstAddr.endPoint = SAMPLEAPP_ENDPOINT;

SampleApp_Com_DstAddr.addr.shortAddr = 0x0000;

AF_DataRequest( &SampleApp_Com_DstAddr, &SampleApp_epDesc,
SAMPLEAPP_COM_CLUSTERID,
len,// 数据长度
str,//数据内容
&SampleApp_TransID,// 簇ID ??
AF_DISCV_ROUTE ,
AF_DEFAULT_RADIUS ) ;

用的是哪个版本的协议栈,确定是树形路由?

2.4.1版本,确定是树形。验证过程是这样的:协调器A,路由器B和C,配置为网状的时候,NLME_GetCoordShortAddr函数获取B的父节点是A,C的父节点是B,可以发送信息给A(C的邻居表中没有协调器地址,只有B的地址,其他全为0XFFFF),此时C发送数据给A,A可以收到。更改配置为树状网络(NWK_MODE_MESH改为NWK_MODE_TREE,其他保持不变),打印出邻居表,A,B,C之间的关系没有变,B的父节点为A,c的父节点为b,c的邻居表中没有协调器地址,除了父节点b外其他都为0xffff,但是这是C发给A的数据A收不到,c发送请求函数的返回值是成功的。请问是怎么回事呢?

版本是2.3.0-1.4.0,更正一下,不好意思

如果是树形的话,那么节点A ,B,C的短地址是可以通过公式算出来的,你确定是否符合公式。

另外你可以通过看sniifer的包,看下C发出去的数据,MAC和NWK的目的地址分别是多少,C发给B以后,B是否有转发出去

短地址是使用随机分配方式确定的,网状网络和树形网络的地址分配方式一样,NIB.nwkAddrAlloc的值都是0x02,应该为随机分配方式,这种地址分配方式在树形网络中会影响路由中继功能?

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

网站地图

Top