Zigbee学习(一)架构及入网

Zigbee学习(一)架构及入网


文章目录

  • Zigbee学习(一)架构及入网
  • 前言
  • 一、zigbee是什么?
    • 1.zigbee的特点
    • 2.zigbee的重要概念
  • 二、zigbee架构
    • 1.PHY物理层
      • 1.1 主要功能
      • 1.2 数据包
    • 2.MAC链路层
      • 2.1 信标网络
      • 2.2 MAC包结构
    • 3.Nwk网络层
    • 4.API应用层
  • 三、zigbee入网流程
  • 总结


前言

终于要开始学智能家居的zigbee了,边学习边总结,期待感兴趣的朋友们阅读指正 。
`注:本系列博客参考书是《ZigBee无线网络与收发器 [(美)法拉哈尼 著] 2013年版》


一、zigbee是什么?

1.zigbee的特点

    IEEE805.15.4标准规定了PHY和MAC层的内容,属于无线个人局域网标准(PAN),zigbee标准规定了网络层和应用层的内容,根据芯片的不同协议会有差别。
    zigbee主要的优势是:低功耗、低成本、低速率、近距离、短时延、网络容量大。
    既然是智能家居应用,肯定有要和Wi-Fi、蓝牙做对比啦~在这边就简单对比两个指标
        1.低速率
        相比于蓝牙的1-3Mbps,Wi-Fi的1-11Mbps,zigbee只有最高250bps的速率,支持250kbit/s(2.4GHz)、40kbit/s(915MHz)和20kbit/s(868MHz)。低速率让它可以传更远。
        2.范围
        zigbee:10-100m,蓝牙:2-10m,Wi-Fi:30-100m
    zigbee设备在自组网内有3个不同的角色:普通设备、路由、协调器。
    普通设备只能收发消息;
    路由可以转发消息、允许子设备加入网络;
    协调器选择工作频段、建立网络、允许子设备加入网络。
    根据角色的不同,zigbee设备有两种类型:FFD全功能设备(可以成为任何角色),RFD精简功能设备(只能和FFD设备通信)

2.zigbee的重要概念

(1). attribute
    属性,表示一个物体可以执行的某个动作,比如开关有两种属性:开 和 关。
(2). cluster
    群集,表示属性的集合,一个群集有一个唯一ID,最多有65535个属性。比如某种情况下的开关状态和灯的状态是一个cluster,另一种情况下的开关状态和灯的状态是一个cluster。由应用层来调用ZCL(Zigbee Cluster Library)。
(3). endpoint
    端点,对应一个任务,是射频单元真正的数据目标。端点地址范围是0-255,其中0属于ZDO端点特有,255用于广播,可设置的是1-240,其余保留。
(4). node
    节点,是一个包含一组zigbee应用对象的容器,它们共享一个无线信道。举个例子,一个多路开关是一个node,路1,路2,路3分别是3个endpoint。
(5).profile
    规约,是面向应用的,用于解决一系列事务的公约,比如:加热公约。一个profile包含cluster和设备描述(device descriptions)。
    以上是大致需要知道的简介,接下来就看具体的zigbee协议架构来深入一些了解。

二、zigbee架构

    这里将zigbee在架构上分为四层:应用层、网络层、链路层、物理层。每一个层都可以和相邻层通信,并且包含有数据服务和管理服务。以下就每一层的关注点作具体说明:

1.PHY物理层

PHY物理层的功能是激活射频、收发包,是离硬件最近的一层。

1.1 主要功能

    1)zigbee的激活;
    2)信道评估:主要是避免冲突,有两种方式: 能量检测(ED),请求由MLME产生,由PLME执行。不解调信号,无法知道是IEEE802.15.4的包。载波检测CS:MLME请求PLME执行CCA,会解调信号。
    3)接收链路服务质量信息LQI:每收到一个包,PHY都会检测包并向MAC传一个连接质量LQI(至少应有8个等级)。
    4)zigbee信道接入方式;
    5)信道频率选择;通过信道页和信道号确定,每个信道由一个信道号确定。
    6)数据传输和接收。

1.2 数据包

Zigbee学习(一)架构及入网_第1张图片

2.MAC链路层

MAC链路层关注信标和超帧。

2.1 信标网络

    信标网络具有确定时隙GTS来同步时间,两个信标帧之间的结构叫做超帧。
    一个超帧有三种周期类型:竞争访问周期CAP、无竞争周期CFP、非活动周期。
活动期包含CAP和CFP,分为16个相等的时隙。

  • 竞争访问周期CAP(MAC层命令帧所有传输必须在这期间传送),时隙0-10。
  • 无竞争周期CFP(可以确保每一个特定设备都有一个时隙,不允许使用CSMA-CA),时隙11-15。
  • 非活动周期(省电模式-协调器关闭收发电路)。

有两个重要配置需要关注:

  1. Beacon Order(BO)
    可选0~14,表示信标传输间隔,15为无信标网络-不使用超帧。
  2. Superframe Order(SO)
    表示超帧活动部分的长度。
    0 <= SO <= BO <= 14
    superframe order / beacon order越小,说明每一个设备的非活动期越长。

2.2 MAC包结构

Zigbee学习(一)架构及入网_第2张图片
Zigbee学习(一)架构及入网_第3张图片
Zigbee学习(一)架构及入网_第4张图片
Zigbee学习(一)架构及入网_第5张图片

3.Nwk网络层

Nwk网络层关注通信机制
    网络层限制了一个帧在网络中传输的距离,跳数最大为3,即消息最多只能被转发3次。
网络层在重传之前必须等待一个随机时间。
    通信机制分为:广播、多播、单播。

  • 广播:目标地址0xffff,广播PAN标识符0xffff。协调器和路由器都会维护广播事务表(BTT)写一个广播事务记录(BTR),包含广播帧序列号和源地址,BTR在一段时间内有效,失效后可以被覆盖。
  • 多播:每组通过16位多播组ID来识别。有两种模式:成员模式和非成员模式。
  • 单播:给某个设备发消息,可经多跳路由转发。

4.API应用层

API应用层包括:APS应用支持子层、ZDO设备对象、AF应用程序框架。
作用是调用profile实现具体应用(使用标准或自定义的profile)。

三、zigbee入网流程

  1. 子设备(以下假设为router)的应用层调用NLME-NETWORK-DISCOVERY.request原语,设定待扫描的信道和时间,网络层收到原语,要求MAC层执行扫描,在每个信道广播发Beacon Request。
  2. 潜在父设备(coordinator协调器)收到后,发beacon帧,包含自己的IEEE地址,以及允许/不允许入网的信息。
  3. 子设备router在网络层检查beacon帧协议ID是否是自己的ID,如果是,复制所有收到的beacon帧相关信息存入表,MAC层发送MLME-SCAN.confirm告知网络层,网络层发送NLME-NETWORK-DISCOVERY.confirm告知应用层。网络层调用NLME-JOIN.request原语在表中找到合适的父节点,找到后调用MLME-ASSOCIATE.request要求MAC层发送关联请求。
  4. 潜在父设备收到associate request后确认可连接或连接失败,通过MLME-ASSOCIATE.confirm回复给子设备。如果是可连接,再次也分配给子设备可用的16位地址。
  5. router收到包后设置自己的16位短地址,利用短地址和网络内设备通信。

总结

zigbee的架构和入网就说到这,若有错误欢迎留言指正。

你可能感兴趣的:(物联网,物联网)