zigbee z-stack 地址类型
2015-12-21 10:17
267 查看
一、ZigBee 有两种类型的地址:
一种是 64 位 IEEE 地址,即 MAC 地址, 另一种是 16 位的网络地址。
(1) 64 位的IEEE地址是一个全球唯一的地址,一经分配就将跟随设备一生。它通常由制造商或者被安装时设置。这些地址由 IEEE 组织来维护和分配。
(2) 16 位网络地址是当设备加入网络后分配的, 它在网络中是唯一的,用来在网络中鉴别设备和发送数据。
二、网络地址的分配
(1) ZigBee使用分布式寻址方案来分配网络地址。 这个方案保证整个网络中所有分配出去的地址都是唯一的,同时,这个寻址算法本身的分布特性保证设备只能与它的父辈设备通讯来接收一个唯一的网络地址。
(2) 在每个路由加入之前,寻址方案需要知道和配置一些参数,这些参数是: MAX_DEPTH, MAX_ROUTERS, MAX_CHILDREN。 这些参数是协议栈的一部分,在ZigBee2006中MAX_DEPTH = 5,MAX_ROUTERS = 6, MAX_CHILDREN = 20。
(a) MAX_DEPTH 决定了网络的最大深度, 协调器位于深度0 , 其子设备位于深度1, 其子子设备位于深度2 ……
(b) MAX_CHILDREN 决定了一个路由或者一个协调器节点可以处理的子节点的最大个数
(c) MAX_ROUTERS 决定了一个路由或者协调器节点可以处理的具有路由功能的子节点的最大个数,这个参数是 MAX_CHILDREN 的一个子集。
(3) 如果开发时想改变这些值, 需完成以下几个步骤:
(a) 首先要保证这些参数的新植要合法,整个地址空间不能超过 2^16, 这就限制的参数能设置的最大值。可以使用 project\ZStack\tools文件夹下的CSkip.xls文件来确认这些值是否合法。当表格中设置的数据不合法时,就会出现错误提示。
(b) 其次,还要保证不再使用标准的栈配置, 取而代之的是使用网络自定义的栈配置(例如:在 nwk_globals.h中将STACK_PROFILE_ID改为 NETWORK_SPECIFIC),然后设置nwk_globals.h文件中的MAX_DEPTH参数为一个适当的值。
(c) 最后,还要设置 nwk_golbals.c文件中的Cskipchldrn数组和CskipRtrs数组,这些数组的值由MAX_ROUTERS, MAX_CHILDREN构成。
一种是 64 位 IEEE 地址,即 MAC 地址, 另一种是 16 位的网络地址。
(1) 64 位的IEEE地址是一个全球唯一的地址,一经分配就将跟随设备一生。它通常由制造商或者被安装时设置。这些地址由 IEEE 组织来维护和分配。
(2) 16 位网络地址是当设备加入网络后分配的, 它在网络中是唯一的,用来在网络中鉴别设备和发送数据。
二、网络地址的分配
(1) ZigBee使用分布式寻址方案来分配网络地址。 这个方案保证整个网络中所有分配出去的地址都是唯一的,同时,这个寻址算法本身的分布特性保证设备只能与它的父辈设备通讯来接收一个唯一的网络地址。
(2) 在每个路由加入之前,寻址方案需要知道和配置一些参数,这些参数是: MAX_DEPTH, MAX_ROUTERS, MAX_CHILDREN。 这些参数是协议栈的一部分,在ZigBee2006中MAX_DEPTH = 5,MAX_ROUTERS = 6, MAX_CHILDREN = 20。
(a) MAX_DEPTH 决定了网络的最大深度, 协调器位于深度0 , 其子设备位于深度1, 其子子设备位于深度2 ……
(b) MAX_CHILDREN 决定了一个路由或者一个协调器节点可以处理的子节点的最大个数
(c) MAX_ROUTERS 决定了一个路由或者协调器节点可以处理的具有路由功能的子节点的最大个数,这个参数是 MAX_CHILDREN 的一个子集。
(3) 如果开发时想改变这些值, 需完成以下几个步骤:
(a) 首先要保证这些参数的新植要合法,整个地址空间不能超过 2^16, 这就限制的参数能设置的最大值。可以使用 project\ZStack\tools文件夹下的CSkip.xls文件来确认这些值是否合法。当表格中设置的数据不合法时,就会出现错误提示。
(b) 其次,还要保证不再使用标准的栈配置, 取而代之的是使用网络自定义的栈配置(例如:在 nwk_globals.h中将STACK_PROFILE_ID改为 NETWORK_SPECIFIC),然后设置nwk_globals.h文件中的MAX_DEPTH参数为一个适当的值。
(c) 最后,还要设置 nwk_golbals.c文件中的Cskipchldrn数组和CskipRtrs数组,这些数组的值由MAX_ROUTERS, MAX_CHILDREN构成。
相关文章推荐
- zigbee网蜂cc2530组播实验,基于SampleApp例程
- 关于CC2530存储器映射的讨论
- zigbee网络单播、广播和组播--简单笔记
- zigbee 设备网络启动(非自动)
- [转载]Z-stack 应用程序编程接口(API)-网络层
- Z-Stack 样例程序分析1
- Zigbee协议栈中文说明
- 无线龙 zigbee 加密传输
- Wireless LCD Monitor
- Unable to open file 'lnk51ew_cc2530b.xcl'的解决方案
- CC2530串口通讯2
- CC2530主要的控制寄存器
- HA规范的理解1 - ZStack中节点消息处理的过程
- HA规范的理解2 -关键术词的理解和在协议栈初始化里的实现
- HA规范的理解3 - 初始化函数里的注册回调函数的分析
- zigbee 出现 Energy level Scan Failed解决方法
- ZIGBEE:发送函数AF_DataRequest详解
- ZIGBEE: Error[Pa045]: function "" has no prototype问题解决方法
- ZIGBEE:协议栈工作流程简要分析与学习方法记录
- ZigBee协议栈的安装调试