您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 6.Z-Stack实验培训
物联网实验平台技术培训物联网实验平台技术培训成都道惟尔科技有限公司易杰洋——Z-Stack实验培训主要内容一、Z-Stack协议栈概述二、多点自组织网络实验三、网络拓扑选择实验四、信息广播、组播实验2011-4-82/24物联网实验平台技术培训一、Z-Stack协议栈概述Z-Stack是ZigBee联盟厂商之一TI推出的开放式商业化协议栈,它符ZigBee2006规范要求。支持包括CC2431,CC2430与CC2420+MSP430在内的多种平台。Z-Stack还被ZigBee测试机构德国莱茵集团评为ZigBee联盟最高业内水平图1-1Z-Stack协议栈界面2011-4-83/24物联网实验平台技术培训一、Z-Stack协议栈概述APP(ApplicationProgramming):应用层目录,这是用户创建各种不同工程的区域,在这个目录中包含了应用层的内容和这个项目的主要内容,在协议栈里面一般是以操作系统的任务实现的。HAL(Hardware(H/W)AbstractionLayer):硬件层目录,包含有与硬件相关的配置和驱动及操作函数。MAC:MAC层目录,包含了MAC层的参数配置文件及其MAC的LIB库的函数接口文件。MT(MonitorTest):实现通过串口可控各层,与各层进行直接交互。NWK(ZigBeeNetworkLayer):网络层目录,含网络层配置参数文件及网络层库的函数接口文件,APS层库的函数接口。OSAL(OperatingSystem(OS)AbstractionLayer):协议栈的操作系统。2011-4-8物联网实验平台技术培训4/24一、Z-Stack协议栈概述Profile:AF(Applicationwork)层目录,包含AF层处理函数文件。Security:安全层目录,安全层处理函数,比如加密函数等。Services:地址处理函数目录,包括着地址模式的定义及地址处理函数。Tools:工程配置目录,包括空间划分及ZStack相关配置信息。ZDO(ZigBeeDeviceObjects):ZDO目录。ZMac:MAC层目录,包括MAC层参数配置及MAC层LIB库函数回调处理函数。ZMain:主函数目录,包括入口函数及硬件配置文件。Output:输出文件目录,这个EW8051IDE自动生成的。2011-4-8物联网实验平台技术培训5/24一、Z-Stack协议栈概述Z-Stack中的两种地址:64位的长地址(IEEE地址)16位网络短地址网络地址分配由MAX_DEPTH,MAX_ROUTERS和MAX_CHILDREN决定常用的寻址函数如下表所示表1-1一些寻址函数2011-4-86/24物联网实验平台技术培训函数名功能NLME_GetShortAddr()获取该设备网络短地址NLME_GetExtAddr()获取64位扩展地址(IEEE地址)NLME_GetCoordShortAddr()获取父设备网络短地址NLME_GetCoordExtAddr()获取父设备64位扩展地址一、Z-Stack协议栈概述其中寻址模式有几种不同的方式addrMode设为Addr16Bit,寻址是单播,数据包发给网络上单个已知地址的设备。addrMode设为AddrNotPresent,这是当应用不知道包的最终目的地址时采用的方式,目的地址在绑定表中查询,如果查到多个表项就可以发给多个目的地实现多播(关于绑定的相关内容,可参考ZStack帮助文档)。addrMode设为AddrBroadcast表示向所有同网设备发包,此时,目的地址可以设为NWK_BROADCAST_SHORTADDR_DEVALL(0xFFFF)和NWK_BROADCAST_SHORTADDR_DEVRXON(0xFFFD),前者是发给所有设备包括睡眠设备,后者不包括睡眠设备。2011-4-8物联网实验平台技术培训7/20一、Z-Stack协议栈概述2011-4-8物联网实验平台技术培训8/20开始供电电压满足?关闭中断否是初始化存储器初始化I/O初始化HAL层驱动初始化NV系统操作系统初始化中断允许板子初始化OSAL开始轮询事件发生?比较优先级优先级高?事件处理事件处理结束?否是否是是否初始化MAC此处开始进入OSAL图1-2OSAL调度管理一、Z-Stack协议栈概述事件标志位轮询多级任务调度机制图1-2OSAL事件轮询机制2011-4-89/24物联网实验平台技术培训操作系统轮询任务2任务1任务5任务3任务4事件1事件2事件3事件4事件1事件2事件3事件4事件1事件2事件3事件4事件1事件2事件3事件4事件1事件2事件3事件4主要内容2011-4-810/24一、ZStack协议栈概述二、多点自组织网络实验三、网络拓扑选择实验四、信息广播、组播实验物联网实验平台技术培训二、多点自组织网络实验实验目的:使用DS210A型CC2430节点板实现自组织的网络设备类型:Sink节点,路由节点,终端节点其中协调器是ZigBee三种设备中最重要的一种。它负责网络的建立,包括信道选择,确定唯一的PAN地址并把信息向网络中广播,为加入网络的路由器和终端设备分配地址,维护路由表等2011-4-811/24物联网实验平台技术培训二、多点自组织网络实验IEEE802.15.4LR-WPAN规定,WSN网络拓扑结构可分为两种:星形和点对点拓扑(树形、Mesh)。如下图所示:图2-1星形网络拓扑结构图2-2点对点网络拓扑结构2011-4-812/24物联网实验平台技术培训二、多点自组织网络实验网络的组建过程如图2-3所示,其中发送的数据格式为:2011-4-813/24物联网实验平台技术培训图2-3网络组建过程FF源节点(16bit)父节点(16bit)节点编号ID(8bit)启动Sink节点(组网)启动路由节点和终端节点(入网)周期发送自己的短地址和父节点短地址串口显示,观察数据,分析网络拓扑二、多点自组织网络实验图2-3用户事件处理流程2011-4-814/24物联网实验平台技术培训有SYS_EVENT_MSG系统事件?有ZDO_CB_MSG事件?有用户自定义事件?有KEY_CHANGE事件?有AF_DATA_COMFIRM_CMD事件有AF_INCOMING_MSG_CMD事件?有ZDO_STATE_CHANGE事件?ZDO事件处理按键处理数据发送确认接收数据确认ZDO状态改变处理还有系统事件?发送自定义数据帧为下一次发送打开定时器结束是否否否是是是是是是否否是否否否开始二、多点自组织网络实验实验步骤将“5.2.1多点自组织组网实验”文件夹下的文件拷贝到TexasInstruments\ZStack-1.4.3-1.2.1\Projects\zstack\Samples目录下,设置正确的编译连接路径(在project菜单下的options对话框的linker选项下的config标签下的linkercommandfile下设置f8w2430.xcl(协调器、路由)或f8w2430pm.xcl(终端)的路径,去掉文件中HEXFILEGENERATION编译命令前的//)各个小组选择不同的信道。信道的设置:在Tools\CC2430DB文件夹下的f8wConfig.cfg文件中设置信道值DEFAULT_CHANLIST,默认是信道11,选择某个信道时只需将前面的双斜杠去掉,编译生成相应Sink、路由和终端节点的hex文件。将hex文件烧写到相应节点中(确保每个节点的IEEE地址非0xFFFFFFFF)。用串口线将Sink节点连接到PC上,打开串口助手,配置相应的波特率为38400,十六进制显示。开启各节点,在串口助手上观察入网节点发送的数据。2011-4-8物联网实验平台技术培训15/20二、多点自组织网络实验2011-4-8物联网实验平台技术培训16/24图2-5多点自组织网络实验结果实验结果分析如右图所示,收到的数据表明255(0xFF)号节点和225(0xE1)号节点已经入网,他们的短地址分别为0x7972和0x0001,他们的父节点均为Sink节点(0x0000)。2011-4-817/24一、ZStack协议栈概述二、多点自组织网络实验三、网络拓扑选择实验四、信息广播、组播实验物联网实验平台技术培训主要内容三、网络拓扑选择实验实验目的:了解ZigBee网络中的基本拓扑结构在Z-Stack协议栈下选择不同的网络拓扑实验内容:首先在协议栈配置好网络拓扑,启动Sink节点,组建网络之后,再启动路由节点和终端节点,入网之后,路由节点和终端节点就会周期性的向Sink节点发送包含节点短地址和父地址的数据发送的数据包格式为:2011-4-818/24物联网实验平台技术培训FF源节点(16bit)父节点(16bit)节点编号ID(8bit)三、网络拓扑选择实验实验原理ZigBee有三种网络拓扑结构:星形,树形,Mesh,后两者是点对点网络的拓扑。星形网络:所有节点只能与协调器进行通信树形网络:终端节点只能与父节点通信,路由节点可与子节点和父节点通信Mesh网络:所有节点都是对等实体,任意两节点之间都可通信2011-4-819/24物联网实验平台技术培训三、网络拓扑选择实验实验原理在Z-Stack中,通过设置宏定义STACK_PROFILE_ID的值(在nwk_globals.h中定义)可以选择不同控制模式。总共有三种控制模式,分别为HOME_CONTROLS、GENERIC_STAR和NETWORK_SPECIFIC,默认模式为HOME_CONTROLS。可以先选择不同的控制模式,再选择不同的网络拓扑,也可以在默认模式HOME_CONTROLS下,再修改不同的网络拓扑。由于网络的组建是由协调器来控制的,因此只需修改协调器的程序即可。2011-4-8物联网实验平台技术培训20/20三、网络拓扑选择实验实验原理可以在文件nwk_globals.c文件中设定数组CskipRtrs和CskipChldrn的值进一步控制网络的形式。CskipChldrn数组的值代表每一级可以加入的子节点的最大数目,CskipRtrs数组的值代表每一级可以加入的路由节点的最大数目。如在星型网络中,定义CskipChldrn[MAX_NODE_DEPTH+1]={10,0,0,0,0,0},CskipRtrs[MAX_NODE_DEPTH+1]={5,0,0,0,0,0},代表只有协调器允许节点加入,且协调器最多允许10个子节点加入,其中最多5个路由节点,剩余的为终端节点。由于网络的组建是由协调器来控制的,因此只需修改协调器的程序即可。2011-4-8物联网实验平台技术培训21/20三、网络拓扑选择实验实验步骤:将“5.2.3网络拓扑选择实验”文件夹下的文件拷贝到TexasInstruments\ZStack-1.4.3-1.2.1\Projects\zstack\Samples目录下,设置正确的编译连接路径(在project菜单下的options对话框的linker选项下的config标签下的linkercommandfile下设置f8w2430.xcl(协调器、路由)或f8w2430pm.xcl(终端)的路径,去掉文件中HEXFILEGENERATION编译命令前的//)各个小组选择不同的信道。信道的设置:在Tools\CC2430DB文件夹下的f8wConfig.cfg文件中设置信道值DEFAULT_CHANLIST,默认是信道11,选择某个信道时只需将前面的双斜杠去掉.打开工程,将nwk_globals.h中的STACK_PROFILE_ID的值设置为GENERIC_STAR。修改nwk_globals.c文件中的CskipRtrs数组为{10,0,0,0,0,0},CskipChldrn数组保持为{20,0,0,0,0,0}。编译工程,将
本文标题:6.Z-Stack实验培训
链接地址:https://www.777doc.com/doc-6738509 .html