0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Zigbee协议栈

jf_84757297 来源: jf_84757297 作者: jf_84757297 2023-12-22 11:20 次阅读

Zigbee设备类型

Zigbee协调器(Coordinator) :是zigbee设备类型中最复杂的,存储容量大、计算能力强,负责网络的构建、维护和管理。协调器通常称为Zigbee网关,负责与Wi-Fi等其他协议的转换,是整个网络的中心中枢。

Zigbee路由器(Router) :在zigbee网络中既可以做为父节点也可以做为子节点,主要进行信息转发,为远端节点与协调器提供通信通道。

Zigbee终端设备(End-device) :向路由节点传递数据,没有路由功能、低功耗(一般使用电池供电)、可选择休眠与唤醒。

Zigbee协议栈概念

协议栈就是将Zigbee应用中每层定义的协议都集合在一起,给用户提供API接口进行不同协议的调用,Zigbee协议栈架构分为四层,每层都有各自的主要功能。Zigbee协议栈分为四个主要层次,分别是物理层(PHY)、介质访问控制层(MAC)、网络层(NWK)和应用层(APP)。以下是每个层次的主要功能:

物理层(PHY):

功能: PHY层定义了无线通信的物理特性,包括频率、调制方式、传输功率等。它负责将逻辑比特转换为物理信号以进行传输。

介质访问控制层(MAC):

功能: MAC层处理介质访问控制,负责协调和管理设备之间的数据传输,以及处理与网络同步相关的任务。

网络层(NWK):

功能: NWK层处理设备之间的路由和网络拓扑结构。它负责设备之间的寻址、路由和数据包转发。

应用层(APP):

功能:应用层定义了设备间的应用数据交换格式和协议,确定了Zigbee设备的功能和行为。
这些层次协同工作,构成了Zigbee协议栈,提供了一个完整的通信框架,使Zigbee设备能够以高效、低功耗的方式进行通信。协议栈的这种分层结构使得Zigbee技术非常适合在物联网传感器网络中应用。
图片1.png

Zigbee协议栈拓扑结构

星状拓扑结构(Star):星型拓扑结构是最简单的一种,其中所有设备都直接连接到一个集中的协调器(Coordinator)。所有通信都经过协调器,设备之间不直接通信。星状拓扑的特点在于,易于实现,适用于小范围、低复杂度的应用。然而,单点故障可能影响整个网络。

树状拓扑结构(Tree):树状拓扑可以看成是多个星状构成,但是依旧只有一个协调器。每个子设备只能与其父节点通信,最高级的父节点为协调器。节点与节点之间通过中间的路由器形成“多跳通信”。适用于大型网络,能够有效减少通信的冲突和能耗。但是,可能会存在较长的通信路径。

网状拓扑结构(Mesh):网状拓扑结构允许设备直接与其他设备通信,形成一个多对多的网络。设备可以通过多个路径进行通信,也就意味着当通信时一个路由设备出现问题,信息可以自动选择其他路由路径进行传输,从而提高了网络的可靠性和稳定性。适用于大范围、复杂度较高的网络。具有自组织和自修复的特性,因为设备可以动态地加入或离开网络,网络能够适应拓扑结构的变化。
图片2.png
(图片来自于CSDN-音无八重-Zigbee定位形同与网络拓扑)

判断协议栈的优劣

根据网络拓扑结构可以知道,网络的稳定性才是关键,但是无线环境肉眼是看不到,稳定性很容易被各种内外因素干扰,所以协议栈的稳定性不能仅靠几台设备测出来的结果就可以判定协议栈优劣
设备连接

一个优秀的协议栈需要有几十台甚至上百台设备,经过长时间如1个月的复杂操作及测试得到的结果进行判定,单单几台设备的连接就判定协议栈的好坏是站不住脚的。
图片3.png
图片4.png
(PS:虽然协议栈的稳定性与硬件信号没有直接关联,但是如果硬件信号受阻较大,再好的协议栈也会表现出不稳定的现象)

路由算法完善

某个路由节点断掉后,其他的子节点会立刻寻找下一个信号更强的路由节点重新连接上,避免某条链路完全断掉导致该链路上所有设备掉线
4.png
当路由路径中有个路由节点离线/断电后,子节点会立刻寻找除了这个离线/断电的路由节点以外更优的、传输最短的路由节点重新通信上,尽量减少多跳时延增加,避免用户实际感官上的体验。
5.png

避免信道阻塞

协调器(网关)给某子节点(另一台设备)发消息,中间的父节点(路由设备)离线了,导致子节点未收到消息,从而协调器并未得到回应,需要及时判定路由路径中的父节点离线,避免出现反复重发导致信道阻塞的情况。
图片6.png

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ZigBee
    +关注

    关注

    158

    文章

    2245

    浏览量

    241209
  • 网关
    +关注

    关注

    9

    文章

    3208

    浏览量

    50019
  • 协议栈
    +关注

    关注

    2

    文章

    129

    浏览量

    33456
收藏 人收藏

    评论

    相关推荐

    microchip_zigbee协议

    microchip_zigbee协议ZigBee? 是专为低速率传感器和控制网络设计的无线网络协议。有许多应用可从
    发表于 11-25 14:29

    Zigbee协议中文说明

    Zigbee协议中文说明!
    发表于 08-03 00:56

    ZigBee协议网络层的研究与实现_典型应用

    ZigBee协议网络层的研究与实现_典型应用
    发表于 08-12 23:05

    TI_06版Zigbee协议学习_02 - Zigbee技术 -

    TI_06版Zigbee协议学习_02 - Zigbee技术 -
    发表于 08-12 23:53

    TI_06版Zigbee协议学习_03 - Zigbee技术

    TI_06版Zigbee协议学习_03 - Zigbee技术
    发表于 08-12 23:54

    TI_06版Zigbee协议学习_04 - Zigbee技术

    TI_06版Zigbee协议学习_04 - Zigbee技术
    发表于 08-12 23:57

    zigbee协议及其应用

    zigbee协议及其应用学习zigbee的有用资料参考锋硕电子www.fuccesso.com.cn
    发表于 11-03 16:50

    请教如何在zigbee协议里配置定时器及其中断?

    请教如何在zigbee协议里配置定时器及其中断
    发表于 11-04 01:53

    zigbee协议报错?

    zigbee协议中在应用层调用zb_开头的函数怎样编译的时候才能不报错?我在应用层调用zb_YsytemReset()函数,zb_WriteConfiguration
    发表于 02-26 16:14

    zigbee协议zb_YsytemReset()函数编译报错?

    zigbee协议zb_YsytemReset()函数编译报错?zigbee协议在应用层调用z
    发表于 03-14 10:57

    ZigBee协议中文说明(共148页pdf,欢迎下载)

    `ZigBee协议中文说明(共148页pdf,欢迎下载)`
    发表于 03-21 15:52

    zigbee协议

    您好   是所有的模块的zigbee协议都不包括音频的部分 还是只有cc2530这个模块的zigbee协议
    发表于 06-24 03:47

    ZigBee协议中AD转换的函数如何配置成自己想要的?

    我想使ZigBee协议中AD转换的函数,但不知道怎么配置成自己需要的,例如参考电压,有效数字!尤其是,我看到HalAdcRead函数中,好像是几个通道的使用!我只要选择一个通道,具体该怎么用?????
    发表于 04-29 08:20

    zigbee协议工作流程 From zigbee菜鸟笔记(十 一)精选资料分享

    一.ZigBee 协议简介什么是ZigBee 协议呢?它和
    发表于 07-27 06:36

    如何使用ZigBee协议

    什么是ZigBee协议?如何使用ZigBee协议zig
    发表于 10-09 06:20