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 数据包
2.MAC链路层
MAC链路层关注信标和超帧。
2.1 信标网络
信标网络具有确定时隙GTS来同步时间,两个信标帧之间的结构叫做超帧。
一个超帧有三种周期类型:竞争访问周期CAP、无竞争周期CFP、非活动周期。
活动期包含CAP和CFP,分为16个相等的时隙。
- 竞争访问周期CAP(MAC层命令帧所有传输必须在这期间传送),时隙0-10。
- 无竞争周期CFP(可以确保每一个特定设备都有一个时隙,不允许使用CSMA-CA),时隙11-15。
- 非活动周期(省电模式-协调器关闭收发电路)。
有两个重要配置需要关注:
- Beacon Order(BO)
可选0~14,表示信标传输间隔,15为无信标网络-不使用超帧。 - Superframe Order(SO)
表示超帧活动部分的长度。
0 <= SO <= BO <= 14
superframe order / beacon order越小,说明每一个设备的非活动期越长。
2.2 MAC包结构
3.Nwk网络层
Nwk网络层关注通信机制
网络层限制了一个帧在网络中传输的距离,跳数最大为3,即消息最多只能被转发3次。
网络层在重传之前必须等待一个随机时间。
通信机制分为:广播、多播、单播。
- 广播:目标地址0xffff,广播PAN标识符0xffff。协调器和路由器都会维护广播事务表(BTT)写一个广播事务记录(BTR),包含广播帧序列号和源地址,BTR在一段时间内有效,失效后可以被覆盖。
- 多播:每组通过16位多播组ID来识别。有两种模式:成员模式和非成员模式。
- 单播:给某个设备发消息,可经多跳路由转发。
4.API应用层
API应用层包括:APS应用支持子层、ZDO设备对象、AF应用程序框架。
作用是调用profile实现具体应用(使用标准或自定义的profile)。
三、zigbee入网流程
- 子设备(以下假设为router)的应用层调用NLME-NETWORK-DISCOVERY.request原语,设定待扫描的信道和时间,网络层收到原语,要求MAC层执行扫描,在每个信道广播发Beacon Request。
- 潜在父设备(coordinator协调器)收到后,发beacon帧,包含自己的IEEE地址,以及允许/不允许入网的信息。
- 子设备router在网络层检查beacon帧协议ID是否是自己的ID,如果是,复制所有收到的beacon帧相关信息存入表,MAC层发送MLME-SCAN.confirm告知网络层,网络层发送NLME-NETWORK-DISCOVERY.confirm告知应用层。网络层调用NLME-JOIN.request原语在表中找到合适的父节点,找到后调用MLME-ASSOCIATE.request要求MAC层发送关联请求。
- 潜在父设备收到associate request后确认可连接或连接失败,通过MLME-ASSOCIATE.confirm回复给子设备。如果是可连接,再次也分配给子设备可用的16位地址。
- router收到包后设置自己的16位短地址,利用短地址和网络内设备通信。
总结
zigbee的架构和入网就说到这,若有错误欢迎留言指正。
Zigbee学习(一)架构及入网相关推荐
- Zigbee学习笔记
作为一个硬件从业人员,虽然不是从事物理网行业的,但是多少得了解一些,以下是笔者最近学习Zigbee的笔记,包含了Zigbee基本知识,正确的学习方法. Zigbee无线传感网络 先搞清楚IEEE802 ...
- 何恺明团队新作!深度学习网络架构新视角:通过相关图表达理解神经网络
标题&作者团队 导语:恺明大神出品,必属精品.Facebook的研究员从一个新奇的角度对神经网络的表示与设计进行探索,提出了一种新颖的相关图表示方式.它有助于对现有网络架构进行更深层次的分析与 ...
- 微博深度学习平台架构和实践
深度学习平台介绍: 什么是深度学习框架? 深度学习框架是进行深度学习的工具.简单来说,一套深度学习框架就是一套积木,各个组件就是某个模型或算法:开发者通过简单设计和组装就能获得自己的一套方案.深度学习 ...
- java 学习写架构必会几大技术点
java 学习写架构必会几大技术点 关于学习架构,必须会的几点技术 1. java反射技术 2. xml文件处理 3. properties属性文件处理 4. 线程安全机制 5. annoc ...
- 感悟:微博深度学习平台架构和实践
TensorFlow.Caffe和MXNet是三大主流的深度学习开源框架:TensorFlow的优势是社区最活跃,开源算法和模型最丰富:Caffe则是经典的图形领域框架,使用简单,在科研领域占有重要地 ...
- 【论文解读】深度学习网络架构新视角:通过相关图表达理解神经网络(何恺明团队新作)...
文章来源于极市平台,作者Happy 标题&作者团队 导语:恺明大神出品,必属精品.Facebook的研究员从一个新奇的角度对神经网络的表示与设计进行探索,提出了一种新颖的相关图表示方式.它有助 ...
- Sharepoint学习笔记—架构系列
为便于查阅,这里整理并列出了我的Sharepoint学习笔记中涉及架构方面的有关文章,有些内容可能会在以后更新. Sharepoin学习笔记-架构系列-- Sharepoint的网页(Page), ...
- Sharepoin学习笔记—架构系列—Sharepoint服务(Services)与服务应用程序框架(Service Application Framework) 1
Sharepoin学习笔记-架构系列-Sharepoint服务(Services)与服务应用程序框架(Service Application Framework) 1 Sharepoint服务是Sha ...
- ZigBee学习之10——MAC层API解读
ZigBee学习之10--MAC层API解读 其实也算不上什么解读拉,基本上是把官方的文档翻译了一下.在Zigbee中,是分层结构 的,这样做有很多的好处,每一层只负责自己的东西,数据传输更加透明和有 ...
最新文章
- Unity3D 镜面反射
- 第一篇随笔,通常都是内容空洞的。
- Linux--DHCP
- ASP excel导出/导入Access数据库(代码+实例下载)
- [小程序]小程序框架的简单页面布局
- 002---tcp/ip五层详解
- Docker容器系列教程(三):jenkins环境搭建与插件安装
- 5Y叔的clusterProfiler-book阅读 Chapter 5 Gene Ontology Analysis
- 机器学习基础算法27-聚类实战
- 【图像处理基础】基于matlab GUI图像处理(反色+亮度+二值化+空间肤色检测)【含Matlab源码 1008期】
- Java Web——基于Servlet、JSP(无框架版)电影网站项目总结(一)
- 金山PDF转WOED 1.3.0.1007版本
- 蓝芯保护卡_蓝芯防毒卡无忧版
- OpenCV实现监控移动侦测
- d3.js学习笔记-10(布局:树状图、集群图捆、捆图)
- linux进入rescue,进入Linux rescue模式后有几种方法引导系统
- 黑客入侵自我保护手册
- 范数(机器学习中的使用)
- Grapher中如何保存图形模板,批量处理相同格式的文件
- 微博自定义来源怎么去掉android,手把手教大家如何修改微博来源