关于ZNP广播的问题,路由断电,ZNP依旧能读到数据
时间:10-02
整理:3721RD
点击:
请教TI的工程师,
我一个znp主机,主机采用linux通过uart每隔1ms读取一次cc2530的数据。
底下连接30-60个路由器(无终端)不等(有多个测试环境)。
主机5-8秒发送一个广播,然后路由自动上报采集的数据(每个路由在32byte用户数据)。
数据都能正常上报,但是出现一个问题:当运行一段时间(大概10分钟)之后,将所有路由器断电。
此时linux通过UART依旧能够读取到变化的数据(我在每个路由中做了心跳包),一直持续大概5分钟,才真正发现路由断线。
问题:是不是CC2530的zigbee接收缓存太大?怎么能够在所有路由断电5分钟情况下,还没有读完数据。不知道怎么解决?
备注:我linux主机的读取速度已经用1ms了,应该很快了。每个路由上报每5-8秒一次数据。
补充:znp通过FFFC广播,因为底下全部是路由。
测试过底下部分是终端,通过FFFF广播,问题一样。
检查一下收到数据的router,是不是你断电的router。
为了测试这个现象,我是将环境内的所有终端和路由全部断电,只留下ZNP供电。
此时znp的linux通过uart去读协调器2530的数据,读取到的心跳包竟然还会变化,这样持续大概3分钟,多的时候会有5分钟。然后心跳包就不再更新了。
感觉上,像是协调器的CC2530缓存了很大的一批收到的zigbee数据,今天在怀疑是不是MAC_CFG_TX_MAX=18这个MAC_CFG_RX_MAX=15这两个定义太大了。
但是我改小城8和5之后,发现组网有点困难。