Zigbee 协议栈

article/2025/10/22 3:25:48

介绍完ZigBee的物理特性,现在该转入逻辑层面,分析下协议栈的软件部分了。先看个协议栈的架构图吧:


ZigBee协议栈由一组子层构成,每层为其上层提供一组特定的服务:一个数据实体提供数据传输服务;一个管理实体提供全部其他服务。每个服务实体通过一个服务接入点(SAP)为其上层提供服务接口,并且每个SAP提供了一系列的基本服务指令来完成相应的功能。

       ZigBee设备在工作时,各种不同的任务在不同的层次上执行,通过层的服务,完成所要执行的任务。每层的服务主要完成2种功能:一种功能是根据他的下层服务要求,为上层提供相应的服务;另一种功能是根据上层的服务要求,对他的下层提供相应的服务。各层服务通过服务原语来实现。

    如上图所示,ZigBee协议栈的体系结构包括ZigBee应用层,ZigBee网络层,IEEE802.15.4 MAC层和IEEE802.15.4 PHY层。它虽然是基于标准的7层开放式系统互联(OSI)模型,但仅对那些设计ZigBee层予以定义。IEEE802.15.4 2003标准定义了最下面的两层:物理层(PHY)和介质接入控制子层(MAC)。ZigBee联盟提供了网络层和应用层(APL)框架的设计。其中应用层的框架包括了应用支持子层(APS),ZigBee设备对象(ZDO)和由制造商制定的应用对象。

    接下来,再看看实际的软件协议栈都包含什么内容,有个直观的认识吧:

    软件协议栈采用了Z-Stack,TI提供的符合ZigBee规范(由ZigBee联盟制定)的免费协议栈,完全可以运行在GAINST CC2430节点上,利用Z-Stack,用户能够简单快速的开发出适合自己的ZigBee应用。

协议栈程序结构如图:


App:应用层目录,这是用户创建各种不同工程的区域,在这个目录中包含了应用层的内容和这个项目的主要内容,在协议中一般是以操作系统的任务实现的。

HAL硬件层目录,包含有与硬件相关的配置和驱动及操作函数。

MACMAC层目录,包含了MAC层的参数配置文件及其MACLIB库的函数接口文件。

MT:实现通过串口可控制各层,并与各层进行直接交互

NWK:网络层目录,包含网络层配置参数文件网络层库的函数接口文件及APS层库的函数接口。

OSAL:协议栈的操作系统。

ProfileAFApplication framework应用框架)层目录,包含AFApplication framework应用框架)层处理函数文件。应用框架层是应用程序和APS层的无线数据接口。他包含了一个应用程序进行无线传输(通过APSNWK)时所使用的函数。该层也是输入数据复用的终端(the endpoint multiplexer for incoming data messages)。这里写的很罗嗦,而且我也确实还有些不清楚,我的理解就是AF层是个专门用来处理数据的输入输出的,每个任务要想发送数据需要通过调用AF层的发送函数来实现,而设备收到的数据也是通过AF层被各个任务读取,这一层里也规定了无线传输的各种数据格式和描述符,也就是结构体)

Security:安全层目录,包含安全层处理函数,比如加密函数等

Services:地址处理函数目录,包括地址模式的定义及地址处理函数。

Tools   工程配置目录,包括空间划分及Z-Stack相关配置信息。

              文件夹中包含文件:

              f8w2430.xcl   存储器配置,用于程序烧录

f8wConfig.cfg       通用的编译选项文件,例如指定在设备启动时要用到的频道和PANId值。

f8wCoord.cfg        协调者设备的编译选项

f8wEndev.cfg        终端节点的编译选项

f8wRouter.cfg       路由节点的编译选项

ZDOZDO目录

ZMacMAC层目录,包括MAC层参数配置及MACLIB库函数回调处理函数。

ZMain:主函数目录,包括入口函数及硬件配置文件。

Output:输出文件目录,由IAR IDE自动生成。


http://chatgpt.dhexx.cn/article/dJgwHs4F.shtml

相关文章

ZigBee协议栈(一)--协议栈介绍

1、Zigbee协议栈简介 协议是一系列的通信标准,通信双方需要按照这一标准进行正常的数据发射和接收。协议栈是协议的具体实现形式,通俗讲协议栈就是协议和用户之间的一个接口,开发人员通过使用协议栈来使用这个协议,进而实现无线数…

zigbee之Zstack协议栈使用

zigbee之Zstack协议栈使用 前言基于zstack协议栈开发的步骤一、OSAL操作系统1、操作系统工作流程2、OSAL初始化函数3、系统启动函数(1)任务(2)事件 4.OSAL任务与事件的关系 二、组网通信1、初始化PANID和信道2、端点和簇3、无线数…

Zigbee协议栈应用(一)——Zigbee协议栈介绍及简单例子

1、Zigbee协议栈简介 协议是一系列的通信标准,通信双方需要按照这一标准进行正常的数据发射和接收。协议栈是协议的具体实现形式,通俗讲协议栈就是协议和用户之间的一个接口,开发人员通过使用协议栈来使用这个协议,进而实现无线数…

学习记录 | ZigBee协议栈工作流程

第一次来CSDN记录一下学习过程,其实就是笔记啦 之前用Typora 的 但前几天电脑出问题重装系统后打开笔记文件发现照片都打不开了,索性想换一种记笔记方式 好啦 以下是正文!!! 对了 笔记来源是深圳安联德公司提供的学…

ZigBee协议栈Zstack介绍

文中所讲述的协议栈是基于ZigBee2006\Zstack-1.4.3-1.2.1 1.ZSTACK协议栈的架构 ZigBee协议栈就是将各个层定义的协议都集合在一起,以函数的形式实现,并给用户提供一些API,工用户调用。协议栈体系分层结构与协议栈代码文件夹对应表如下&…

ZigBee Zstack协议栈

一、Zstack协议栈概述 什么是Zstack协议栈 为了使Zigbee的开发更加简单高效,TI公司推出了基于cc2530芯片的协议栈Z-STACK.协议栈的实质就是能实现各个功能的实例框架代码,我们想要实现自己的功能程序,只需要在协议栈的基础上修改或添加即可…

快速了解ZigBee的协议栈

带大家来一起快速的看懂ZigBee的协议栈的运行流程。 1.读任何程序都需要从main函数入手,那我们先来看Zmain.c中的main函数。 问题:在main中我们会看到很多的函数,我们究竟要看哪个函数呢? 回答:这么多的函数中其实我们只需要关注…

Zigbee协议栈————广播组网

目录 1.基础概念 2.Zigbee协议栈工作流程 3。代码讲解 1.基础概念 在Zigbee网络中存在3中逻辑设备:协调器、路由器、终端。 (这个实验当中我们只用到协调器以及终端)。 协调器:协调器负责启动网络,当启动和配置好网络后,协调…

zibgee协议

1.概述 1.1解析ZigBee堆栈架构 ZigBee堆栈是在IEEE 802.15.4标准基础上建立的,定义了协议的MAC和PHY层。ZigBee设备应该包括IEEE802.15.4(该标准定义了RF射频以及与相邻设备之间的通信)的PHY和MAC层,以及ZigBee堆栈层:网络层(NWK)、应用层和安…

[ZigBee] 15、Zigbee协议栈应用(一)——Zigbee协议栈介绍及简单例子(长文,OSAL及Zigbee入门知识)...

1、Zigbee协议栈简介 协议是一系列的通信标准,通信双方需要按照这一标准进行正常的数据发射和接收。协议栈是协议的具体实现形式,通俗讲协议栈就是协议和用户之间的一个接口,开发人员通过使用协议栈来使用这个协议,进而实现无线数据收发。 如图1所示:Zigbee协议分为两部分…

ZigBee协议栈简介

文章目录 Zigbee协议栈简介如何理解Zigbee协议栈如何使用Zigbee协议栈 Zigbee协议栈简介 Zigbee协议分为2部分: IEEE 802.15.4定义了PHY(物理层)和MAC(介质访问层)技术规范。Zigbee联盟定义了NWK(网络层)、APS(应用程序支持层)、APL(应用层)技术规范。 Zigbee协议栈…

[zigbee][z-Stack]协议栈简介及工作流程

文章目录 什么是zigbee协议栈?如何使用zigbee协议栈?z-Stack工作流程 什么是zigbee协议栈? 协议栈是协议的具体实现形式,通俗点来理解就是协议栈是协议和用户之间的一个缺口,开发人员通过使用协议栈来使用这个协议的&…

相机标定和双目相机标定标定原理推导及效果展示

文章目录 前言一、相机标定1.相机的四个坐标系2.相机的畸变 二、张正友标定法1.求解内参矩阵与外参矩阵的积2.求解内参矩阵3.求解外参矩阵4.标定相机的畸变参数5.双目标定6.极线矫正(立体校正) 三、视差图与深度图 前言 参考了一些大佬的文章&#xff0c…

视觉基础之相机标定

点击上方“小白学视觉”,选择加"星标"或“置顶” 重磅干货,第一时间送达 基于视觉的图像处理,通常要在实验前进行相机的标定,以获取相应的参数。为方便查阅,遂将常用到的三种相机标定总结如下。 相机内参标定…

照相机标定

一.相机标定的原理 1.1 相机如何成像: 相机成像系统中,共包含四个坐标系:世界坐标系、相机坐标系、图像坐标系、像素坐标系。 1.1.1 世界坐标系: 世界坐标系(world coordinate),也称为测量坐…

Opencv——相机标定

相机标定的目的:获取摄像机的内参和外参矩阵(同时也会得到每一幅标定图像的选择和平移矩阵),内参和外参系数可以对之后相机拍摄的图像就进行矫正,得到畸变相对很小的图像。 相机标定的输入:标定图像上所有…

为什么需要对相机标定?

以下内容来自系统教程如何搞定单目/鱼眼/双目/阵列 相机标定? 点击领取相机标定资料和代码 为什么需要对相机标定? 我们所处的世界是三维的,而相机拍摄的照片却是二维的,丢失了其中距离/深度的信息。从数学上可以简单理解为&…

1. 相机标定原理(学习笔记)

相机标定(Camera Calibration)-学习笔记 文章目录 相机标定(Camera Calibration)-学习笔记一、简介二、原理1. 坐标系 *coordinates*2. 相机参数 *camera matrix*2.1 外参数矩阵2.2 内参数矩阵2.3 畸变矩阵2.3.1 径向畸变2.3.2 切向畸变 2.4 小结 三、相机标定方法1. 张正友相机…

相机标定目的及原理

相机标定的目的: 相机标定的目的有两个,一个就是矫正由于镜头畸变造成的图片的变形,例如,现实中的直线,拍摄成图像后会外凸或内凹,进行相机标定后可以对这种情况进行校正;另一个是根据获得得图像…

Python之OpenCV相机标定方法

本文结合OpenCV官方样例,对官方样例中的代码进行修改,使其能够正常运行,并对自己采集的数据进行实验和讲解。 一、准备 OpenCV使用棋盘格板进行标定,如下图所示。为了标定相机,我们需要输入一系列三维点和它们对应的…