10677|32

3238

帖子

5

TA的资源

五彩晶圆(中级)

楼主
 

zigbee学习笔记---Channel、PANID、发射功率及其它参数 [复制链接]

 
现对z-stack里几个网络参数的设置以及如何获取总结一下。
信道配置:
Zigbee3个频段定义了27个物理信道:868MHz频段中定义了120Kb/s信道,915MHz频段中定义了1040Kb/s信道,信道间隔为2MHz2.4GHz频段上定义了16250Kb/s信道,信道间隔为5MHz.

信道编号
中心频率/MHz
信道间隔/MHz
频率上限/MHz
频率下限/MHz
k=0
868.3
--
868.6
868.0
k=1,2,,10
906+2(k-1)
2
928.0
9020
k=11,12,,26
2401+5(k-11)
5
2483.5
2400.0



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描述符,对剩下的信道选择一个合适的建立网络。
若要在应用中查看信道,可以这样获得,_NIB.nwkLogicalChannel,读取这个就OK了。
PANID:
在确定信道以后,下一步将是确定PANID,如果ZDAPP_CONFIG_PAN_ID被定义为0xFFFF,那么协调器将根据自身的IEEE地址建立一个随机的PANID00x3FFF),如ZDAPP_CONFIG_PAN_ID没有被定义为0xFFFF,那么网络的PANID将由ZDAPP_CONFIG_PAN_ID确定。
如果ZDAPP_CONFIG_PAN_ID被定义为0xFFFF,那么协调器将根据自身的IEEE地址建立一个随机的PANID00x3FFF这句话怎么理解呢,我经过试验发现,这个随机的PANID并非完全随机,它有规律,与IEEE地址有一定的关系:要么就是IEEE地址的低16位,要么就是一个与IEEE地址低16位非常相似的值。如IEEE地址为0x8877665544332211PANID很有可能就是2211,或相似的值;IEEE地址为0x8877665544337777PANID很有可能就是3777,或其它相似的值;
Z-stack中相关部分代码如下:
/* Define the default PANID.
*
* Setting this to a valueother than 0xFFFF causes
* ZDO_COORD to use thisvalue as its PAN ID and
* Routers and end devicesto join PAN with this ID
*/
-DZDAPP_CONFIG_PAN_ID=0xFFFF
若要在应用中查看PANID可以这样获得,_NIB.nwkPanId,读取这个就OK了。
发射功率:
传送范围的大小是和发射功率还有信道环境有关, 传送速率和传送范围之间没有直接联系。所以呢,适当的增大发射功率可增大传送范围。但也是有一定的限制的。具体详见datasheet
mac_radio_def.h里有可以设置:
#defineMAC_RADIO_CHANNEL_DEFAULT                       11
#defineMAC_RADIO_TX_POWER_DEFAULT                    0x1F
#defineMAC_RADIO_TX_POWER_MAX_MINUS_DBM       25
这些只是举例说明一下,这些参数的意义,以及在z-stack里的什么地方修改。还有很多其它的参数,可以查看相关的源文件。
mac_radio_def.h
#defineMAC_RADIO_SET_CHANNEL(x)            st(FSCTRLL = FREQ_2405MHZ + 5 * ((x) - 11); )
#defineMAC_RADIO_SET_TX_POWER(x)            st(TXCTRLL = x; )
#define MAC_RADIO_SET_PAN_ID(x)              st( PANIDL = (x) & 0xFF;PANIDH = (x) >> 8; )
mac_radio.c
void macRadioInit(void)
{
/* variableinitialization for this module */
reqChannel    = MAC_RADIO_CHANNEL_DEFAULT;
macPhyChannel =MAC_RADIO_CHANNEL_DEFAULT;
reqTxPower    = MAC_RADIO_TX_POWER_DEFAULT;
macPhyTxPower =MAC_RADIO_TX_POWER_DEFAULT;
}
mac_low_level.h
uint8macRadioRandomByte(void);
voidmacRadioSetPanCoordinator(uint8 panCoordinator);
voidmacRadioSetPanID(uint16 panID);
voidmacRadioSetShortAddr(uint16 shortAddr);
voidmacRadioSetIEEEAddr(uint8 * pIEEEAddr);
voidmacRadioSetTxPower(uint8 txPower);
voidmacRadioSetChannel(uint8 channel);
voidmacRadioStartScan(uint8 scanType);
voidmacRadioStopScan(void);
voidmacRadioEnergyDetectStart(void);
uint8 macRadioEnergyDetectStop(void);
此帖出自RF/无线论坛

最新回复

非常好的帖子   详情 回复 发表于 2015-4-16 11:36
点赞 关注(14)
个人签名淘宝:https://viiot.taobao.com/Q群243090717
多年专业物联网行业经验,个人承接各类物联网外包项目
 

回复
举报

3

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
有质量的帖子看了必须留个记号 方便以后再找
此帖出自RF/无线论坛
 
 

回复

41

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
这个说的真好。
此帖出自RF/无线论坛
 
 
 

回复

10

帖子

0

TA的资源

一粒金砂(初级)

4
 

学习下

有质量的帖子必须收藏~
此帖出自RF/无线论坛
 
 
 

回复

9

帖子

0

TA的资源

一粒金砂(初级)

5
 
学习下~~
此帖出自RF/无线论坛
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

6
 
好贴顶起,学习了
此帖出自RF/无线论坛
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

7
 
恩,很好,谢谢楼主
此帖出自RF/无线论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

8
 
书上的呀 哥哥
此帖出自RF/无线论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

9
 
不错,楼主辛苦了!
此帖出自RF/无线论坛
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(中级)

10
 
有质量的帖子看了必须留个记号 方便以后再找
此帖出自RF/无线论坛
个人签名51嵌入式,嵌入式开发的家园!51嵌入式官方QQ群52497844,欢迎爱好者加入。
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(初级)

11
 
收藏了,好好看看
此帖出自RF/无线论坛
 
 
 

回复

30

帖子

0

TA的资源

一粒金砂(中级)

12
 
今天看了楼主的帖子受益匪浅,我也在研究ZIGBEE我用的是STM32W108,就只会用库做东西,原理不是很懂啊!
此帖出自RF/无线论坛

点评

其实多看看原理的zigbee协议,各家都是围绕这个实现的,都不同小异  详情 回复 发表于 2014-4-13 11:58
 
 
 

回复

3238

帖子

5

TA的资源

五彩晶圆(中级)

13
 
low_key_amen 发表于 2014-4-12 16:36
今天看了楼主的帖子受益匪浅,我也在研究ZIGBEE我用的是STM32W108,就只会用库做东西,原理不是很懂啊!

其实多看看原理的zigbee协议,各家都是围绕这个实现的,都不同小异
此帖出自RF/无线论坛
个人签名淘宝:https://viiot.taobao.com/Q群243090717
多年专业物联网行业经验,个人承接各类物联网外包项目
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(初级)

14
 
做个标记,有用得到的时候,
此帖出自RF/无线论坛
 
 
 

回复

6105

帖子

4

TA的资源

版主

15
 
OK OK  OK
此帖出自RF/无线论坛
 
 
 

回复

23

帖子

0

TA的资源

一粒金砂(中级)

16
 
最近在书上看到这样一段:“由于Wi-Fi也工作在2.4G频段,而Wi-Fi目前又几乎无处不在,所以做好选择Zigbee 15、20、25、26信道。”请问书上这么说有道理吗?
我不太明白的是为什么这么多信道要选择书上说的15、20、25、26呢?
此帖出自RF/无线论坛
 
 
 

回复

23

帖子

0

TA的资源

一粒金砂(中级)

17
 
学习了,对于ZigBee的研究也来越透彻了————————————————————————————
无线智能化方案商顺舟科技认为,智能家居这十个方向创新最靠谱:住宅社区网络小区安防报警平台小家电个性化使用家庭能源管理-智能家电红外网关家电遥控老人与小孩关怀照看智能门锁与电子猫眼家庭娱乐设备身体健康检测设备空气环境质量检测器

此帖出自RF/无线论坛
 
 
 

回复

3

帖子

1

TA的资源

一粒金砂(初级)

18
 
学习
此帖出自RF/无线论坛
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(初级)

19
 
ding
此帖出自RF/无线论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

20
 
学习了,很好!
此帖出自RF/无线论坛
个人签名51嵌入式,嵌入式开发的家园!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
快速回复 返回顶部 返回列表