文档介绍:研究生“无线传感器网络”课程实验
张丽竹
——Z-Stack协议栈实验
--Stack协议栈实验
主要内容
一、Z-Stack协议栈概述
二、信息广播、组播实验
1/25/2018
2/24
--Stack协议栈实验
一、Z-Stack协议栈概述
Z-Stack是ZigBee联盟厂商之一TI推出的开放式商业化协议栈,它符ZigBee 2006规范要求。
2431, 2420+MSP430在内的多种平台。
Z-Stack还被ZigBee测试机构德国莱茵集团评为 ZigBee联盟最高业内水平
图1-1 Z-Stack协议栈界面
1/25/2018
3/24
--Stack协议栈实验
一、Z-Stack协议栈概述
APP(Application Programming):应用层目录,这是用户创建各种不同工程的区域,在这个目录中包含了应用层的内容和这个项目的主要内容,在协议栈里面一般是以操作系统的任务实现的。
HAL(Hardware (H/W) Abstraction Layer):硬件层目录,包含有与硬件相关的配置和驱动及操作函数。
MAC:MAC 层目录,包含了MAC 层的参数配置文件及其MAC 的LIB 库的函数接口文件。
MT(Monitor Test):实现通过串口可控各层,与各层进行直接交互。
NWK(work Layer):网络层目录,含网络层配置参数文件及网络层库的函数接口文件,APS 层库的函数接口。
OSAL(Operating System (OS) Abstraction Layer):协议栈的操作系统。
1/25/2018
4/24
--Stack协议栈实验
一、Z-Stack协议栈概述
Profile:AF(Application work) 层目录,包含AF 层处理函数文件。
Security:安全层目录,安全层处理函数,比如加密函数等。
Services:地址处理函数目录,包括着地址模式的定义及地址处理函数。
Tools:工程配置目录,包括空间划分及ZStack 相关配置信息。
ZDO(ZigBee Device Objects):ZDO 目录。
ZMac: MAC 层目录,包括MAC 层参数配置及MAC 层LIB 库函数回调处理函数。
ZMain:主函数目录,包括入口函数及硬件配置文件。
Output:输出文件目录,这个EW8051 IDE 自动生成的。
1/25/2018
5/24
--Stack协议栈实验
一、Z-Stack协议栈概述
Z-Stack中的两种地址:
64位的长地址(IEEE地址)
16位网络短地址
网络地址分配由MAX_DEPTH, MAX_ROUTERS 和MAX_CHILDREN决定
常用的寻址函数如下表所示
表1-1 一些寻址函数
1/25/2018
6/24
函数名
功能
NLME_GetShortAddr()
获取该设备网络短地址
NLME_GetExtAddr()
获取64位扩展地址(IEEE地址)
NLME_GetCoordShortAddr()
获取父设备网络短地址
NLME_GetCoordExtAddr()
获取父设备64位扩展地址
--Stack协议栈实验
一、Z-Stack协议栈概述
其中寻址模式有几种不同的方式
addrMode设为Addr16Bit,寻址是单播,数据包发给网络上单个已知地址的设备。
addrMode设为AddrNotPresent,这是当应用不知道包的最终目的地址时采用的方式,目的地址在绑定表中查询,如果查到多个表项就可以发给多个目的地实现多播(关于绑定的相关内容,可参考ZStack帮助文档)。
addrMode设为AddrBroadcast表示向所有同网设备发包,此时,目的地址可以设为NWK_BROADCAST_SHORTADDR_DEVALL (0xFFFF)和NWK_BROADCAST_SHORTADDR_DEVRXON (0xFFFD),前者是发给所有设备包括睡眠设备,后者不包括睡