微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > Z-Stack Home 1.2.2版本 协调器快速发数据过后,终端接收不到协调器数据,但是协调器能收到终端传来的数据问题

Z-Stack Home 1.2.2版本 协调器快速发数据过后,终端接收不到协调器数据,但是协调器能收到终端传来的数据问题

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

我使用最新的Z-Stack Home 1.2.2版本,网络中有一个协调器 (通过串口与上位机连接), 多路由器设备,多个终端设备(开启POWER_SAVING,RFD_RCVC_ALWAYS_ON=FALSE),在测试的网络中有1个协调器,1路由器,1个终端省电设备,组上网以后

协调器通过点对点控制,路由和终端行为, 路由和终端反馈信息给协调器。 现在的问题是 当我快速的通过上位机的串口发送数据 协调器点对点短地址方式透传数据给终端,过不了多久就会出现终端节点接受不到协调器发过来的透传命令,但是路由器能接收到并且能反馈信息给协调器,经测试此时终端还能发数据给协调器,因为我在应用层实现了网络中所有设备定时45s给协调器发心跳数据包,此时协调器还能收到终端的心态包,而且终端控制设备状态变化也能反馈给协调器,证明终端发送数据到协调器是正确的, 但是这时候终端收不到协调器发送的任何数据包(短地址点对点发送的数据包和协调器的广播数据包不能发到终端),终端都接收不到。但是在同一网络中的路由设备还是能正常接收数据和反馈数信息的,用同样的操作方式给路由器设备发数据一直没有任何问题,想问问大家这到底是什么原因造成的,是否是我哪些细节没有注意到,还是协议栈的bug?

我使用的硬件是cc2530

协调器在给节点发数据的时候,是不是每次都会先发送Router Request?

兄弟,想问你协调器是怎么通过串口找到终端的短地址的?是绑定过的Cluster吗?

协调器是用  AF_DataRequest( &APP_DstAddr, &APP_epDesc,clusterID,len,(unsigned char *)pdata,&APP_TransID, AF_DISCV_ROUTE, AF_DEFAULT_RADIUS)

api发送数据的,不管是发终端还是,发路由器都用次接口,只是地址不同而已 终端配置 NWK_AUTO_POLL 和 POWER_SAVING  ,RFD_RCVC_ALWAYS_ON=FALSE,POLL_RATE=200

组上网以后终端上来的时候 会把短地址和长地址发给协调器,(后面维持一个心跳一直发长短地址信息给协调器) 协调器记录一个长短地址映射表,串口发数据过来是带长地址的,要发数据之前先查地址映射表找到短地址,然后用短地址发送数据出去。

你好,我主要是想问这个映射表的问题,这个映射表是你自己建立的吧?还是类似于绑定表是协议栈自带的?建立的映射表是否放入NV储存呢?

可以放到nv里 也可以只存在内存里面,自己建的

你好!我最近也做网关这部分的,加个好友交流一下!qq329473871

@yongjun zou1,

把poll rate设长一点,1000

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

网站地图

Top