在子节点较多的情况下(节点大于50个),有两三个节点入网困难,请教各位大侠是什么原因?
在子节点较多的情况下(节点大于50个),有两三个节点入网困难,请教各位大侠是什么原因?
用的是Z-STACK PRO本协议栈不是不能入网,是入网困难,十次只有一两次入网成功。用抓包器观察,经常是发出信标请求,收到信标帧后,不再继续发出入网请求;或者发出入网请求后,得到协调器应答后,不再继续发出数据请求帧,感觉是信道繁忙造成的。
后来,把CC2530的寄存器CCACTRL1配置为0x02(默认值为0x1A),就很容易入网了。
想请教的是:为什么就两三个节点会出现这种现象,其它节点都不会出现这种现象,是硬件的问题,还是软件的问题?
这两三个不能入网的节点是固定的几个吗?
是的,这两三个不能入网的节点是固定的。其中有一个原本可以很容易入网的,但经过一次焊接之后,变得入网很困难了(复位10次能入一到二次),但把CCACTRL1设置为0x02后,就很容易入网了,不知是何原因。这个节点大部分时间是处于PM2休眠时间,这样配置后能正常使用。便我把协调器也这样配置后,会出现很频繁的重启,大约几秒就会重启一次,但协调器在不重启时间段,还是能正常工作的。不理解,望指教。
参考CC2530用户指南可知
The CCA is based on the RSSI value and a programmable threshold. The exact behavior is configurable in the CCACTRL0 and CCACTRL1 registers.
CCACTRL0 and CCACTRL1 主要是用于精确控制CCA的,而CCA是由RSSI及一个可编程的阈值决定的。
个人觉得应该是硬件上的问题,建议您最好用SMARTRF studio单独测试出现问题的节点,看其射频性能(信号强度)是否正常。