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

article/2025/10/22 3:39:19

第一次来CSDN记录一下学习过程,其实就是笔记啦

之前用Typora 的 但前几天电脑出问题重装系统后打开笔记文件发现照片都打不开了,索性想换一种记笔记方式

好啦 以下是正文!!!

对了 笔记来源是深圳安联德公司提供的学习文档资料

目录

前言

一、ZigBee协议栈简介

​编辑

二、ZigBee协议的体系结构

1.物理层(PHY)

2.介质接入控制子层(MAC)

3.网络层(NWK)

4.应用层(APL)

 5.应用程序框架(AF)

 三、ZigBee基本概念

拓扑结构

一、星状拓扑

二、树状拓扑

三、Mesh拓扑(网状拓扑)

 工作模式

一、信标模式

二、非信标模式

 地址定义

一、IEEE 地址

二、网络地址

寻址

发送信息方式

一、单点传送(Unicast)

 二、间接传输(Indirect)

三、广播传送(broadcast)

四、组寻址(Group Addressing)

总结


前言

在校加入了一个使用CC2530的Zigbee物联网的项目  前段时间已经学习了CC2530基本的一些外设配置和使用 比如定时器 中断 串口通信 

CC2530集成了51单片机的内核

接下来进入协议栈内容的学习

一、ZigBee协议栈简介

ZigBee 是 IEEE 803.15.4 协议的代名词。

这个协议规定的技术是一种短距离、低功耗的无线通信技术

特点是:近距离、低复杂度、自组织、低功耗、低数据速率、低成本。主要适合用于自动控制和远程控制领域,可以嵌入各种设备

简而言之,ZigBee是一种便宜的、低功耗的近距离无线组网通讯技术

协议栈:指网络中各层协议的总和,形象的反映了一个网络中文件传输的过程

二、ZigBee协议的体系结构

 

1.物理层(PHY)

定义了物理无线信道和MAC子层之间的接口,提供物理层数据服务和物理层管理服务。

内容:

2.介质接入控制子层(MAC)

MAC层负责处理所有的物理信道访问,并产生网络信号、同步信号;支持PAN连接和分离,土风两个对等MAC实体之间可靠的链路

内容:

3.网络层(NWK)

 协议栈的核心部分,主要实现节点加入或者离开网络、接收或抛弃其他节点、路由查找及传送数据等功能。

内容:

4.应用层(APL)

包括应用支持层(APS)、ZigBee设备对象(ZDO)和制造商所定义的应用对象。

内容:

 5.应用程序框架(AF)

 三、ZigBee基本概念

存在三种逻辑设备类型:Coordinator(协调器)  Router(路由器)  End-Device(终端设备)

ZigBee网络由一个协调器和多个路由器和多个终端设备组成

 上图为一个简单的ZigBee网络示意图

拓扑结构

一、星状拓扑

只包含一个Coordinator节点和一系列的End-Device节点  ,每个终端节点只能和协调器节点进行通信 ,如果需要在两个终端节点之间进行通讯必须通过协调器节点进行信息的转发

缺点 :节点之间的数据路由只有唯一的一个路径

实现星状网络拓扑不需要使用ZigBee的网络协议,IEEE的协议层就能实现,但需要开发者在应用层做更多的工作,包括自己处理信息的转发

二、树状拓扑

包含一个Coordinator和一系列的Router和End-Device节点

协调器连接一系列的Router和End-Device,其子节点的Router也可以链接一系列的Router和EndDevice,这样可以重复多个层级

注意 :协调器和路由器可以有自己的子节点,但终端不能有子节点

三、Mesh拓扑(网状拓扑)

包含一个Coordinator和一系列的Router和End Device

网状拓扑与树状类似,但具有更加灵活的信息路由规则,在可能的情况下,路由节点之间可以直接通讯,这种路由机制使得信息的通讯变得更有效率,而且意味着一旦一个路由路径出现了问题,信息可以自动的沿着其他的路由路径进行传输

 工作模式

一、信标模式

实现了网络中所有的设备同步工作和同步休眠,以达到最大限度的功耗节省

二、非信标模式

指运训终端设备进行周期性的休眠,协调器和所有的路由器设备必须长期工作状态

 

 地址定义

一、IEEE 地址

64位,即MAC地址,全球唯一的地址,设备在他的生命周期中一直拥有他,通常由制造商或者被安装时设置,由 IEEE 来维护和分配

二、网络地址

16位,当设备加入网络后分配,在网络中是唯一的,用来在网络中鉴别设备和发送数据

寻址

 

 

发送信息方式

一、单点传送(Unicast)

将一个数据包发送给一个已经知道网络地址的网络设备

将 afAddrMode 设置为 Addr16Bit 并且在数据包中携带目标设备地址

 二、间接传输(Indirect)

不知道数据包的目标设备在哪里时使用

将 afAddrMode 设置为 AddrNotPresent 并且目标地址没有指定,从发送设备的栈的绑定表中查找目标设备——源绑定

当数据向下发送到栈中,在绑定表中查找并使用该目标地址,这样数据包被处理成一个标准的单点传送数据包,如果在绑定表中找到了多个设备,就向每一个都发送数据包的拷贝

三、广播传送(broadcast)

将数据包发送给网络的每一个设备 将 afAddrMode 设置为 AddrBroadcast

目标地址可以设置为下面广播地址的一种:

四、组寻址(Group Addressing)

需要将数据包发送给网络上的一组设备

将 afAddrMode 设置为 afAddrGroup 并且 addr.shortAddr 设置为 组 ID

  

 

总结

以上是关于ZigBee协议栈的底层理论知识,有点枯燥 感觉也没有完全理解 ,有些概念虽不陌生但仍然是模糊的,或许实践了会比较好吧

 下一章学习如何使用协议栈 

 


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

相关文章

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使用棋盘格板进行标定,如下图所示。为了标定相机,我们需要输入一系列三维点和它们对应的…

相机标定,内参数与外参数

相机标定 简介 所谓的相机标定就是将外界世界的坐标信息转化为计算机(自带相机/摄像头)可以理解的“距离”,将世界坐标系转换到相机坐标系。我们可以理解为从一个坐标系转换到另一个坐标系所需要的转换关系就是相机标定。 简单滴说&#x…

相机标定——张氏标定法

目录 前言动机为什么要进行相机标定什么是张氏标定法 张氏标定法的原理透镜成像原理世界坐标系到相机坐标系的转换相机坐标系到图像坐标系的转换图像坐标系到像素坐标系单应性矩阵内参求解外参求解Matlab实操 前言 动机 前段时间在整机械臂的手眼标定,也就是标定3D…

相机标定系列(三)利用matlab进行相机标定

相机标定系列(三)利用matlab进行相机标定 文章目录 相机标定系列(三)利用matlab进行相机标定前言一、棋盘格图像的采集二、单目相机标定三、双目相机标定 前言 matlab的应用程序中含有对双目相机和单目相机的标定工具箱&#xff…

机器视觉——相机标定

1 机器视觉为什么要做相机标定 机器视觉是采用相机成像来实现对三维场景的测量、定位、重建等过程。是一个利用二维图像进行三维反推的过程,我们所处的世界是三维的,而图像或者照片是二维的,可以把相机认为是一个函数,输入量是一…