zstack协议栈之---组网距离-发射功率,接收灵敏度设置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zstack协议栈之---组网距离-发射功率,接收灵敏度设置相关的知识,希望对你有一定的参考价值。
zstack协议栈之---组网距离-发射功率,接收灵敏度设置
组网距离的问题
在z-stack 2.4中,修改发射功率的方法和老版本已经不一样了。
修改发射功率的方法如下:
打开mac_radio_defs.h,找到文件最后面的这段代码:
//#define HAL_MAC_USE_REGISTER_POWER_VALUES
将
//#define HAL_MAC_USE_REGISTER_POWER_VALUES的注释去掉。
变为:
#define HAL_MAC_USE_REGISTER_POWER_VALUES
然后打开ZMain.c
在ZMacInit();后面添加如下代码:
{ uint8 value = 0xF5; MAC_MlmeSetReq(MAC_PHY_TRANSMIT_POWER, &value); }
value与功率的对应关系可以在CC2530的datasheet中找到:
问:我在测试Z-stack时发现,如果不加NV_RESTORE这个编译选项的话,那么节点必须靠得比较近才能组网成功。 如果离得较远,就无法组网。请问这是为什么呢?
答:有两项原因限制了zigbee节点的加入网络的距离,一个是默认发射功率为0dbm,另一个是节点加入是要求信号强度-84dbm以上,修改这两个条件可以使用zigbee节点可以在较远的地方加入网络。如果打开NV_Restore并且成功加入过网络,节点可以在小于-84dbm信号强度下通讯,这就是为什么打开nv_restore,可以有较远的距离的原因。
问:如何修改-84dbm这个值?
答:修改mac_spec.h中的MAC_SPEC_ED_MIN_DBM_ABOVE_RECEIVER_SENSITIVITY,将其改为1
#define MAC_SPEC_ED_MIN_DBM_ABOVE_RECEIVER_SENSITIVITY 10
另外还要把MAC_SPEC_MIN_RECEIVER_SENSITIVITY,改成-94
#define MAC_SPEC_MIN_RECEIVER_SENSITIVITY -85
以上是关于zstack协议栈之---组网距离-发射功率,接收灵敏度设置的主要内容,如果未能解决你的问题,请参考以下文章
无线通信篇 | Zstack协议栈CC2530 Zigbee Zstack协议栈组网项目及详细讲解篇