ZigBee协议栈 -- Zstack协议栈(Zstack2.5.1a)

本文围绕TI的ZStack协议栈展开,介绍其符合ZigBee协议,支持多平台及丰富特性。详细阐述了安装过程,剖析了协议栈结构,包括各层功能。还讲解了设备选择、编译选项、寻址、路由、OSAL调度管理、串口通信设置、信道配置等开发要点,以及非易失性存储器的使用。

Zstack 协议栈介绍

CC2530 芯片由 TI 出品,在硬件上和支持 ZigBee 协议;同时 TI 提供的 ZStack 协议栈则是一套符合 ZigBee 协议的协议栈,本章所讲的CC2530 协议栈即为 TI ZStack 协议栈。

2007 年1月,TI 公司宣布推出 ZigBee 协议栈(Z-Stack),并于 2007年4月提供免费下载版本 V1.4.1。Z-Stack 达到 ZigBee 测试机构德国莱茵集团(TUV Rheinland)评定的 ZigBee 联盟参考平台(Golden Unit)水平,目前已为全球众多 ZigBee 开发商所广泛采用。Z-Stack 符合 ZigBee 2006 规范,支持多种平台,其中包括面向 IEEE 802.15.4/ZigBee 的 CC2430 片上系统解决方案、基于 CC2420 收发器的新平台以及 TI 公司的 MSP430 超低功耗微控制器(MCU)。
除了全面符合 ZigBee 2006 规范以外,Z-Stack 还支持丰富的新特性,如无线下载,可通过ZigBee 网状网络(Mesh Network)无线下载节点更新。Z-Stack 还支持具备定位感知(Location Awareness)特性的 CC2431。上述特性使用户能够设计出可根据节点当前位置改变行为的新型ZigBee 应用。
Z-Stack 与低功耗 RF 开发商网络,是 TI 公司为工程师提供的广泛性基础支持的一部分,其他支持还包括培训和研讨会、设计工具与实用程序、技术文档、评估板、在线知识库、产品信息热线以及全面周到的样片供应服务。
2007年7月,Z-Stack 升级为 V1.4.2,之后对其进行了多次更新,并于 2008 年 1 月升级为V1.4.3。2008 年 4 月,针对 MSP430F4618+CC2420 组合把 Z-Stack 升级为 V2.0.0;2008 年 7月,Z-Stack 升级为 V2.1.0,全面支持 ZigBee 与 ZigBee PRO 特性集(即 ZigBee2007/Pro)并符合最新智能能源规范,非常适用于高级电表架构(AMI)。因其出色的 ZigBee 与 ZigBee Pro 特性集,Z-Stack 被ZigBee 测试机构国家技术服务公司(NTS)评为 ZigBee 联盟最高业内水平。2009 年 4 月,Z-Stack 支持符合 2.4GHz IEEE 802.15.4 标准的第二代片上系统 CC2530;2009 年 9 月,Z-Stack 升级为 V2.2.2,之后,于 2009 年 12 月升级为 V2.3.0 ;2010 年 5 月,Z-Stack 升级为 V2.3.1。

ZStack 的安装

Z-Stack 协议栈由 TI 公司出品,符合最新的 ZigBee2007 规范。它支持多平台,其中就包括CC2530 芯片。ZStack 的安装包为 ZStack-CC2530-2.5.1a.exe,双击之后直接安装(傻瓜式安装) ,安装完后生成 C:\Texas Instruments\ZStack-CC2530-2.5.1a 文件夹,文件夹内包括协议栈中各层部分源程序(有一些源程序被以库的形式封装起来了),Documents 文件夹内包含一些与协议栈相关的帮助和学习文档, Projects 包含与工程相关的库文件、配置文件等, 其中基于 ZStack 的工程应放在 C:\Texas Instruments\ZStack-CC2530-2.5.1a\Projects\zstack\Samples 文件夹下。

ZStack 的结构

打开 ZStack 协议栈提供的示例工程,可以看到如图所示的层次结构图
在这里插入图片描述
从层次的名字就能知道代表的含义,比如 NWK 层就是网络层。一般应用中较多关注的是HAL 层(硬件抽象层)和 App 层(用户应用),前者要针对具体的硬件进行修改,后者要添加具体的应用程序。而 OSAL 层是 ZStack 特有的系统层,相当于一个简单的操作系统,便于对各层次任务的管理,理解它的工作原理对开发是很重要的,下面对各层进行简要介绍:

  • APP(Application Programming ):应用层目录,这是用户创建各种不同工程的区域,在这个目录中包含了应用层的内容和这个项目的主要内容,在协议栈里面一般是以操作系统的任务实现的。
  • HAL(Hardware (H/W) Abstraction Layer ):硬件层目录,包含有与硬件相关的配置和驱动及操作函数。
  • MAC:MAC 层目录,包含了 MAC 层的参数配置文件及其 MAC 的 LIB 库的函数接口文件。
  • MT(Monitor Test):实现通过串口可控各层,与各层进行直接交互,同时可以将各层的数据通过串口连接到上位机,以方便开发人员调试。
  • NWK(ZigBee Network Layer ):网络层目录,含网络层配置参数文件及网络层库的函数接口文件。
  • OSAL(Operating System (OS) Abstraction Layer):协议栈的操作系统。
  • Profile:AF(Application work )层(应用构架)目录,包含 AF 层处理函数文件。Z-Stack 的 AF 层提供了开发人员建立一个设备描述所需的数据结构和辅助功能,是传入信息的终端多路复用器。
  • Security:安全层目录,安全层处理函数,比如加密函数等。
  • Services:地址处理函数目录,包括着地址模式的定义及地址处理函数。
  • Tools:工程配置目录,包括空间划分及 ZStack 相关配置信息。
  • ZDO(ZigBee Device Objects ):ZigBee 设备对象层(ZDO)提供了管理一个 ZigBee 设备的功能。ZDO 层的 API 为应用程序的终端提供了管理 ZigBee 协调器、路由器或终端设备的接口。这包括创建、查找和加入一个 ZigBee 网络,绑定应用程序终端以及安全管理。
  • ZMac:MAC 层目录,包括MAC 层参数配置及 MAC 层 LIB 库函数回调处理函数。
  • ZMain:主函数目录,包括入口函数及硬件配置文件。
  • Output:输出文件目录,这个 EW8051 IDE 自动生成的。

在 ZStack 协议栈中各层次具有一定的关系,如图所示是 ZStack 协议栈的体系结构图
在这里插入图片描述
TI Z-Stack 协议栈是一个基于轮转查询式的操作系统,它的 main 函数在 ZMain 目录下的ZMain.c 中,该协议栈总体上来说,一共做了两件工作,一个是系统初始化,即由启动代码来初始化硬件系统和软件构架需要的各个模块,另外一个就是开始启动操作系统实体,如图所示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GenCoder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值