微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 请问cc2530 zigbee量产,编译固件,怎么防止多套网络之间互相干扰啊?

请问cc2530 zigbee量产,编译固件,怎么防止多套网络之间互相干扰啊?

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

编译的固件里panid和channel都是相同的,请问有什么办法,能让烧写同样固件的几套设备在一起工作,而不互相干扰啊?

请问您现在所有芯片的panid和channel都是相同的特定值(非0XFFFF)?

固件是刚离职的程序员做的,他编译了20套固件,每个zigbee网络对应一套固件,烧写太麻烦。请问有其他的方法吗?我做硬件,对软件不太懂。

那您现在是想让这些设备在一个网络还是几个网络?很抱歉,我对您的描述有些不太理解

我是想,在一个环境里,比如车库或者办公室,同时存在几套zigbee网络,并且他们之间的设备不会互相干扰。

比如我已经有了一个zigbee网络,有一个协调器,三个路由,五个节点在办公室里。我想在办公室里再加入一个zigbee网络,也有一个协调器,三个路由,五个节点。

并且这两套网络之间不会互相干扰。

希望只编译出一套固件,就是协调器一个固件,路由一个固件,节点一个固件。

同样的这些固件,烧写到两个zigbee网络设备里,并且这两套设备在工作时,不会互相干扰。

有什么好办法吗

假设您现在需要2个网络

请问您是否希望某些路由及终端节点加入特定的网络?若是没有的话,您可以将ZDAPP_CONFIG_PAN_ID被定义为0xFFFF,那么协调器A和B将根据自身的IEEE地址建立一个随机的PANID(0~0x3FFF),其中A和B的PANID是不同的

当终端和路由节点寻求网络时,会根据信号质量来选择加入哪个协调器的网络之内

请问是不是要将所有设备(协调器,路由 节点)的ZDAPP_CONFIG_PAN_ID定义为0xFFFF?

另外怎样才能让特定的几个路由和节点加入特定的一个协调器建立的网络?

还有,channel怎么办?所有的设备(协调器,路由,节点)的channel是不是要设置成一致的?还是可以设置成其他的?

问题比较多,先谢谢了。

请问是不是要将所有设备(协调器,路由 节点)的ZDAPP_CONFIG_PAN_ID定义为0xFFFF?

是的

另外怎样才能让特定的几个路由和节点加入特定的一个协调器建立的网络?

您可以将ZDAPP_CONFIG_PAN_ID都设为相同的值,那么节点在寻找网络时就可以加入相同PANID的网络

请问一般情况下,channel怎么设置呀?一个网络设置成同样的channel?

Z-stack中可以在f8wConfig.cfg里设置信道,相关部分如下:

/* Default channel isChannel 11 - 0x0B */

// Channels are definedin the following:

//         0     : 868 MHz     0x00000001

//         1 - 10 : 915 MHz     0x000007FE

//        11 - 26 : 2.4 GHz     0x07FFF800

//-DMAX_CHANNELS_868MHZ     0x00000001

//-DMAX_CHANNELS_915MHZ     0x000007FE

//-DMAX_CHANNELS_24GHZ      0x07FFF800

//-DDEFAULT_CHANLIST=0x04000000// 26 - 0x1A

//-DDEFAULT_CHANLIST=0x02000000// 25 - 0x19

//-DDEFAULT_CHANLIST=0x01000000// 24 - 0x18

//-DDEFAULT_CHANLIST=0x00800000// 23 - 0x17

//-DDEFAULT_CHANLIST=0x00400000// 22 - 0x16

//-DDEFAULT_CHANLIST=0x00200000// 21 - 0x15

//-DDEFAULT_CHANLIST=0x00100000// 20 - 0x14

//-DDEFAULT_CHANLIST=0x00080000// 19 - 0x13

//-DDEFAULT_CHANLIST=0x00040000// 18 - 0x12

//-DDEFAULT_CHANLIST=0x00020000// 17 - 0x11

//-DDEFAULT_CHANLIST=0x00010000// 16 - 0x10

//-DDEFAULT_CHANLIST=0x00008000// 15 - 0x0F

//-DDEFAULT_CHANLIST=0x00004000// 14 - 0x0E

//-DDEFAULT_CHANLIST=0x00002000// 13 - 0x0D

//-DDEFAULT_CHANLIST=0x00001000// 12 - 0x0C

-DDEFAULT_CHANLIST=0x00000800 // 11 - 0x0B    这里默认使用的是编号为11的信道

当建网过程开始后,网络层将请求MAC层对规定的信道或由物理层默认的有效信道进行能量检测扫描,以检测可能的干扰。网络层管理实体对能量扫描的结果以递增的方式排序,丢弃那些能量值超出可允许能量水平的信道,然后再由网络层管理实体执行一次主动扫描,结合检查PAN描述符,对剩下的信道选择一个合适的建立网络。

好的,谢谢。

这么 负责的 技术工程师  已经很少了 ,为他点赞

请问可以使用多个信道,让设备在组网的时候根据网络质量,自动选择需要的信道吗?

组网时,协调器会先选择一个空闲的信道,如果组网完成进行数据收发的时候,发现存在信道占用,则可以跳频

如果宏定义 DDEFAULT_CHANLIST 的值为  0x06108800  是否就可以支持11、15、20、25、26通道

是的,您是可以设置多个信道的。您只需把每一个信道值做“或”操作

嗯嗯,好的谢谢

很高兴能帮到您!

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

网站地图

Top