美文网首页
ZigBee协议简介

ZigBee协议简介

作者: 今日你学左米啊 | 来源:发表于2019-07-23 17:09 被阅读0次

    ZigBee协议简介

    注意:在没有确切把握的情况下,不要试图去改变这些网络参数

    [TOC]

    今天来讲讲久违的ZigBee

    image

    ZigBee的名字源自蜜蜂八字舞,蜜蜂(Bee)依靠嗡嗡(Zip)和同伴传递方位信息,依靠同伴接力形成通信网络。ZigBee的网络层可以说就是通过这个来定义的。

    image

    从上图我们可以看见,其实IEEE只确定了ZigBee的物理层和MAC层,就是只定义了物理通信上要用到的通信协议和通信频段。剩下的都是由ZigBee联盟来确定的。我们由下图来详解一下


    image

    物理层(PHY)

    规定了什么

    1. 频段:868MHz(欧洲),915MHz(美国),2495MHz(Global)使用直接序列扩频(DSSS)
    2. 信道:27个,分别分为:868MHz(k=0),915MHz(k=1-10),2495MHz(k=11-26)
    3. 速度:868MHz(20kb),915MHz(40kb),2495MHz(250kb+)
    4. 物理层协议数据单元(PHY Protocol Data Unit ,PPDU ) 分为同步头,物理帧头和物理帧负载(PSDU)

    能用来干嘛

    1. 激活和休眠射频收发器
    2. 信道能量检测
    3. 检测接收数据包的链路质量指示(Link Quality Indication ,LQI)
    4. 空闲信道评估(Clear Channel Assessment ,CCA)
    5. 收发数据

    在概念上,物理层的收发数据还包括了数据服务和管理(维护)服务,和MAC层分别的接口叫做物理层数据服务接入点(PHY Data - Service Access Point , PD-SAP)和物理层管理实体服务接入点(PHY Data - Service Access Point , PD-SAP)和物理层管理实体服务接入点(Physical Layer Management Entity Service Access Point , PLME-SAP)

    MAC层(媒体接入控制层)

    规定了什么

    1. 规定了4种帧结构:信标帧


      image

      数据帧


      image
      确认帧
      image

      和MAC命令帧


      image

    详见MAC协议层详解

    1. 使用CSMA-CA机制访问物理信道
    2. 如果设备是协调器,需要产生网络信标
    3. 支持时槽保障(Guaranteed Time Slot ,GTS)机制

    能用来干嘛

    1. 协调器产生并发送信标,普通设备根据协调器的信标帧与协调器同步
    2. 保证信道的通信安全
    3. 支持PAN(个域网络)的关联和取消关联

    概念上,MAC层也像物理层一样具有MAC层管理实体(MLME),他和网络层之间的数据交换便是(MLME-SAP),当然在MLME中,交换的是管理MAC层信息。在MAC层还有一个MAC公共部分子层(MCPS)来与网络层进行数据交换(MCPS-SAP)

    网络层

    网络层负责拓扑结构的建立和维护,命名和绑定服务,从而协同地完成寻址,路由,传送数据以及安全等不可或缺的任务,所以网络层是ZigBee的核心部分。

    组网拓扑结构

    在ZigBee中有三种角色-协调器,路由器和末端节点,分别对应着蜂群的蜂后,雄峰和工蜂。协调器在MAC层就已经提及过了,用来提供整个网络的同步问题(不进行数据交换,和蜂群一般)。而路由器则负责联系自己周围的末端节点,并协调他们进行通信。

    ZigBee中支持星状,树状和网状的拓扑结构,这个可以在硬件中直接设置。
    ZigBee网络架构详解

    网络层规范

    正如物理层和MAC层,我们可以看到整个ZigBee的协议中在每一层都存在数据实体和管理实体,在网络层也不例外。ZigBee协议的网络层划分为网络层数据实体(Network Layer Data Entity , NLDE)和网络层管理实体(Network Layer Manage Entity ,NLME)都还有相关的数据交换(管理)的SAP服务。

    正如其名,他们相关的功能如下:
    NLDE:

    1. 产生网络层协议数据单元(NPDU)
    2. 提供基于拓扑结构的路由策略

    NLME:

    1. 配置新设备
    2. 建立网络
    3. 加入和离开网络
    4. 寻址
    5. 邻居发现
    6. 路由发现
    7. 接受控制

    对应地,他们也对应着网络层的两种帧结构:数据帧和命令帧。因为这是课堂上做的,找图不太方便,还请大家自己找图了解。

    能用来干嘛

    1. 通过添加不同的协议头能够从应用层生产网络层的PDU,即NPDU
    2. 确定网络的拓扑结构
    3. 配置一个新的设备,可以是拓扑结构中的各个角色
    4. 建立并启动网络
    5. 加入或离开网络
    6. ZigBee的协调器和路由器能为加入网络的设备分配空间
    7. 发现并记录邻居表,路由表
    8. 信息的接受控制,同步MAC子层或直接接收信息

    应用层

    ZigBee应用层有三个组成部分:应用支持子层(Application Support Sub-Layer,APS),应用框架(Application Framework ,AF)和ZigBee设备对象(ZigBee Device Object ,ZDO)

    应用支持子层APS

    跟之前提的一样,APS子层包含,APS数据实体(APSDE)和相应的服务接入点(APSDE-SAP)还有APS管理实体(APSME)和相应的服务接入点(APSME-SAP)。APS主要是用来应用层和网络层的接口用的,APSDE提供在同一网络应用实体之间的数据传输机制,APSME提供多种服务给应用对象。

    应用框架AF

    在ZigBee应用中,AF提供了两种标准服务类型。一种是键值对(Key Valve Pair ,KVP)和报文(mesage,MSG)。相应地里面还涉及到较多的属性,我们在Z-stack中再继续介绍

    ZigBee设备对象ZDO

    其实就是高度抽象的网络端点,主要功能集中在网络管理和维护上,里面包含了整个端点,网络的全部信息可供查询。

    硬件平台TI-CC2530

    1. 劳烦自查百度及datasheet,不背书
    2. 硬件资源可见下图
    image

    Z-Stack

    显然,Z-stack是TI公司开放的ZigBee协议栈,那么现在问题来了,这么好的协议栈,要怎么来使用呢?
    这里先放一张好图,详情且听下回分解

    image

    总结

    写得不是很深入,后面会写代码的时候我们再来,在刀锋上认识ZigBee

    如果你觉得有丶收获的话

    相关文章

      网友评论

          本文标题:ZigBee协议简介

          本文链接:https://www.haomeiwen.com/subject/anyalctx.html