Zigbee系列(概览)
Zigbee技术特点
- 低速率: 数据传输速率只有20~250kb/s, 2.4GHZ提供250kb/s, 915MHz对应40kb/s, 868Mhz对应20kb/s
- 低功耗:睡眠模式设备使用电池供电,可使用6个月~几年。如传感器、门锁等。
- 低成本:协议简单,对硬件要求低,如TI使用8051单片机实现zigbee软件协议栈。
- 容量大:理论上最大可接入65000个设备,实际接入过200~1000设备。
- 时延短:指的是从睡眠状态转入工作状态接入网络,一般只需几十毫秒。蓝牙和wifi设备一般需要3~10s
- 近距离:10~100m之间点对点通信,大范围覆盖需要router设备中转实现。
- 安全高:提供三级安全模式。
- 传输可靠:CSMA/CA 冲突避免,MAC层需要接收方确认,重发机制(ARQ)APS层和应用层均可选确认机制。
Zigbee协议栈结构
来源: 《docs-05-3474-21-0csg-zigbee-specification.pdf》

Zigbee PHY
Zigbee的PHY和MAC层使用802.15.4标准。
物理层PHY包含的功能包括:
- 射频收发器控制
- 当前信道的能量检测
- 信道空闲检测与冲突避免CSMA-CA
- 信道频率选择
- 数据收发
标准定义了几种类型的PHY

2450MHz PHY 处理顺序:


…

O-QPSK 正交 4相移键控: 使用4个相位代表不同数据。


Zigbee MAC
MAC层由802.15.4标准制定,zigbee只需要支持部分标准。
- 同步网络、非同步网络(zigbee PRO仅支持非同步网络)
支持的服务列表:

Zigbee网络层
标准由 zigbee协议规范 指定
提供的服务包括:
- 设备配置: 包括形成网络、加入网络等
- 建立网络
- Join、rejoin、leave网络
- 地址分配
- 邻居发现
- 路由发现
- 报文路由
- 报文接收控制
Zigbee APS
标准由 zigbee协议规范 指定
提供的服务包括:
- 协议格式封装 (application layer PDU)
- Binding
- Group address filter
- 可靠传输:重传机制
- 重复报文识别:序号
- 报文分片、重组
- 安全管理
Zigbee 应用层框架
Device profile定义设备之间交互的方式。如Home Automation就是其中的一个profile
功能包括:
- 设备和服务发现
- End device bind
- Bind、unbind
- Binding table维护
- Network management
各种具体功能定义参考 zigbee-cluster-library-specification
如:灯、开关、窗帘。
Zigbee系列(概览)的更多相关文章
- Zigbee系列(end device)
End device设备分为睡眠和非睡眠两种(RxOnWhenIdle标记不同). 入网时的association请求,会使用这个标记. 共同特性 子节点多次发送数据失败(无回应),发送孤点扫描(re ...
- Zigbee系列(网络)
Zigbee设备类型 Coordinator:形成网络,选择信道.PANID.允许其他设备加入等. Router: 作为路由节点,转发报文. End Device: 终端节点,不转发报文. Zigbe ...
- Zigbee系列(路由机制)
参考文档: ug103-02-fundamentals-zigbee.pdf section4 zigbe routing concepts docs-05-3474-21-0csg-zigbee-s ...
- [ZigBee] 16、Zigbee协议栈应用(二)——基于OSAL的无线控制LED闪烁分析(下)
说在前面:上一篇介绍了无线LED闪烁实现的OSAL部分,本篇介绍如何实现无线数据收发及数据处理: 上一篇是用SI跟着流程查看源码,我个人认为以架构的思维去了解代码能让人更清晰 ::ZMain.c程序入 ...
- [ZigBee] 15、Zigbee协议栈应用(一)——Zigbee协议栈介绍及简单例子(长文,OSAL及Zigbee入门知识)
1.Zigbee协议栈简介 协议是一系列的通信标准,通信双方需要按照这一标准进行正常的数据发射和接收.协议栈是协议的具体实现形式,通俗讲协议栈就是协议和用户之间的一个接口,开发人员通过使用协议栈来使用 ...
- [ZigBee] 14、Zigbee无线通信前奏——BasicRF 简单无线点对点传输协议
本工程不带zigbee协议栈,作为过渡 实验现象: 一个EB2530(终端A)定义为发射模块,另一个EB2530(终端B)定义为接收模块. 按EB2530(终端A)上的按键,无线控制另一个EB2530 ...
- [ZigBee] 13、ZigBee基础阶段性回顾与加深理解——用定时器1产生PWM来控制LED亮度(七色灯)
引言:PWM对于很多软件工程师可能又熟悉又陌生,以PWM调节LED亮度为例,其本质是在每个周期都偷工减料一些,整体表现出LED欠压亮度不同的效果.像大家看到的七色彩灯其原理也类似,只是用3路PWM分别 ...
- [ZigBee] 12、ZigBee之看门狗定时器——饿了就咬人的GOOD DOG
引言:硬件中的看门狗,不是门卫的意思,而是一只很凶的狗!如果你不按时喂它,它就会让系统重启!这反而是我们想要的功能~ 1.看门狗概述 看门狗定时器(WDT,Watch Dog Timer)是单片机的一 ...
- [ZigBee] 11、ZigBee之睡眠定时器二
1.前言 上一节讲了Zigbee的睡眠定时器利用外部按键使系统从休眠态唤醒到工作态,其核心在于: 61 void SysPowerMode(uchar mode) 62 { 63 if(mode &g ...
随机推荐
- VIM之模式
1.模式介绍: 在真正开始使用VIM之前,你必须先了解VIM的模式,否则在 VIM 面前你可能会手足无措.VIM是有模式 编辑器,这意味着 VIM 有多种不同的工作模式,在不同的工作模式下用户相同的操 ...
- [转]MBTiles 1.2 规范翻译
MBTiles 1.2 可以参考超图的文档MBTiles扩展具体实现可以参考浅谈利用SQLite存储离散瓦片的思路和实现方法 mapbox提供了一个简单实现测试代码,github地址在这里https: ...
- Eclipse配置多个Tomcat服务器
我们在开发大型web项目时,经常需要在eclipse中同时启动多个tomcat服务器来开启多个服务.这里讲解一下如何在eclipse中配置多个tomcat服务器. 配置步骤 1. 在tomcat官网( ...
- HDU 1058(打表)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1058 Humble Numbers Time Limit: 2000/1000 MS (Java/O ...
- nRF5 SDK for Mesh(八) Exploring Mesh APIs using light switch example,使用 灯开关 案例探索BLE mesh 的APIS
Exploring Mesh APIs using light switch example The light switch example is meant to showcase the API ...
- eclipse删除的文件如何恢复。
1.如果不小心删除了单个文件或者文件夹. 鼠标点击上级目录 Ctrl+z就可以恢复了. 如果没有恢复,就右击项目,选择Resore from Local History 然后选择你所删除的文件,选择恢 ...
- 处理HTML表单(11)
PHP和Web表单 <?php if(isset($_POST["name"])){//isset()函数设置变量是否设置,并且不能为空 $name = $_POST[&qu ...
- vue项目获取当前地址栏参数(非路由传参)
项目中遇到一个需求,就是另一个管理系统带参直接单纯的跳转跳转到vue pc项目中的某个页面,后再初始化查询数据,参数以地址栏的形式传入 管理系统:打开新地址地址 let obj = { id: 21, ...
- Java 常见BUG 整理
1.BigDecimal初始化double 2.Integer java对于-128到127之间的数,会进行缓存,这个范围的Integer对象是同一个! == 是ok,但是超出这个范围就不可以用 ...
- es6 入坑笔记(一)---let,const,解构,字符串模板
let 全面取代var 大概相似于C++的定义,一个变量必须得先定义后使用,没有预编译 注意let的作用域,一个{}就是一个作用域,上述规则须在一个作用于内 坑:for(let i =0;i < ...