标。Zigbee设备都有一个64位的IEEE地址,IEEE地址是唯一的绝对地址,设备可以用这个地址在PAN中进行通信,但在设备加入网络后,协调器后会为它分配一个16位的网络地址,网络地址只在该网络内是唯一的,是相对地址,设备也可以用这个网络地址在PAN内进行通信。
从物理功能上分,设备的类型可以分为2种。一种是具有全功能设备(FullFu
ctio
Device,FFD),另一种是精简功能设备(ReducedFu
ctio
Device,RFD)。在PAN(Perso
alAreaNetwork)中,全功能设备可以作为PAN的协调器,路由器或作为一个终端设备。一个全功能设备可以同时和多个精简功能设备或全功能设备通信;对于一个精简功能设备来说,它只能和一个全功能进行通信5。
图32星型和簇树型网络拓扑结构
33ZStack协议栈介绍TI公司的协议栈ZStack符合ZigBee2006规范,功能强大,协议栈底层已
实现,对于简单的应用,开发者只需要在应用层开发即可。ZStack还可通过ZigBee网络无线下载节点更新程序,具备定位感知功能等等。下面对ZStack的功能进行介绍。331网络寻址
ZStack使用一种分布式的地址分配方式来分配网络地址,这种方式确保所
11
f有的网络地址在网络中是唯一的。网络地址是由设备的父节点分配的。通过在ZStack中网络层中相关位置的三个参数,包括最大深度(MAX_DEPTH)、最大子节点数(MAX_CHILDREN)和最大路由器数量(MAX_ROUTERS)按照以下地址分配算法可得到相应的网络地址6。
AA第
个终端设备的网络地址为:
pare
tCskipdRm
其中:Apare
t表示第
个终端设备的父设备网络地址;
的取值范围:1
CmRm;
RmMAX_ROUTERS;
CmMAX_CHILDREN;
LmMAX_DEPTH;
如果Rm1Cskipd1CmLmd1;
如果
Rm
1Cskipd
1Cm
RmCm1Rm
RLmd1m
;
MAX_DEPTH指网络的层数。协调器在第0层的深度,它的子节点在第一层,以下
就是第二层,以此类推。这个参数限定了网络结构的最大深度。MAX_CHILDREN
决定了协调器或者路由器可以有几个孩子节点。孩子节点可以是路由器或者是终
端设备。MAX_ROUTERS数决定了协调器或者路由器下面可以有几个路由器子节
点。终端设备的个数MAX_CHILDRENMAX_ROUTERS。在ZStack中网络结构和网
络深度可在
wk_globalsc文件中设置,默认设置为HOME_CONTROLS。
ifSTACK_PROFILE_IDHOME_CONTROLS
byteCskipRtrsMAX_NODE_DEPTH1666660
byteCskipChldr
MAX_NODE_DEPTH120202020200
elifSTACK_PROFILE_IDGENERIC_STAR
byteCskipRtrsMAX_NODE_DEPTH1555550
byteCskipChldr
MAX_NODE_DEPTH1555550
elifSTACK_PROFILE_IDNETWORK_SPECIFIC
12
fbyteCskipRr