ZigBee协议基本介绍
ZigBee是一种短距离(10~100米)、低速率(20~250Kbps)、底成本、低功耗的无线网络技术,主要用于近离无线通讯。能够做到在数千个微小的传感器之间相互协调实现通讯,这些传感器只需要很少的能力,以接力的方式通过无线电波将数据从一个传感器传送到另一个传感器,节点的发射功率和通讯范围都是有限的。
ZigBee协议栈版本:
ZigBee 2004
ZigBee 2006
ZigBee 2007
ZigBee 2007-pro
ZigBee协议栈底层基于IEEE 802.15.4协议,上层由ZigBee联盟定义网络层、应用层和安全服务层。整体结构如下:

详细结构描述如下图:

不同设备之间同层进行沟通,如下图所示:

在ZigBee协议框架下,设备有三种角色类型和两种设备功能,这三种角色在ZigBee协议和IEEE 802.15.4中称呼不同,具体差别如下图:

在组网能力上,ZigBee网络支持星型网络或者点对点网络,每个设备都具有16位的网络短地址和64位IEEE长地址。
在无线通讯上面,采用免冲突多载波接入(CSMA-CA),有效避免无线电载波之间的冲突,传输可靠性由ZigBee的应答机制来保证。
为了保证ZigBee设备之间通信数据的安全保密性,在MAC层可以采用AES-128位的加密算法,对所传输的信息进行加密处理。
ZigBee传输中总体帧结构如下图:

上层数据作为下层的有效载荷进入下层处理流程,MAC层对数据进行CRC计算,并附加一个MFR校验字段,最后的到PHY层的处理字节。
作为最底层同射频硬件的结构,传输每个域的低位字节先传输,每个字节内部的低位先传输。首先传输的是SHR的最低位四位,其次为SHR的高四位,先通过伪随机码映射成为32位的伪码,然后进行O_QPSK的调制。

码片的映射分组。

进行O_QPSK的调制前的准备。

O_QPSK的调制框图。

ZigBee协议基本介绍的更多相关文章
- zigbee学习之路(十二):zigbee协议原理介绍
一.前言 从今天开始,我们要正式开始进行zigbee相关的通信实验了,我所使用的协议栈是ZStack 是TI ZStack-CC2530-2.3.0-1.4.0版本,大家也可以从TI的官网上直接下载T ...
- ZigBee协议
转载地址http://www.feibit.com/bbs/viewthread.php?tid=140&extra=page%3D1 WSN/Zigbee开源协议栈 1. msst ...
- iOS:核心动画具体的类和协议的介绍
核心动画类:CAAnimation.CAPropertyAnimation.CABasicAnimation.CAKeyframeAnimation.CATransition.CAAnimationG ...
- 基于HTTP 协议认证介绍与实现
导言 一直对http 的头认证有兴趣,就是路由器的那种弹出对话框输入账号密码怎么实现一直不明白,最近,翻了一下http 协议,发现这是一个RFC 2617的实现,所以写篇文章介绍一下吧. Http基本 ...
- Zigbee2007协议中文介绍
Zigbee2007中文介绍ZigBee2007规范定义了ZigBee和ZigBee Pro两个特性集,全新的ZigBee 2007规范建立在ZigBee2006之上,不但提供了增强型的功能而且在某些 ...
- HTTP协议发展介绍
HTTP协议工作于C/S架构上,是万维网服务器传输超文本到本地客户端的一种应用层协议,全称是:Hyper Text Transfer Protocol(超文本传输协议),HTTP是基于TCP/IP通信 ...
- HTTP协议简要介绍
1. 网络基础 TCP/IP 通常使用的网络是在TCP/IP协议簇基础上运作的. HTTP属于它内部的一个子集. TCP/IP分为4个层次, 应用层, 传输层, 网络层, 链路层. (Applicat ...
- 【网络协议】TCP协议简单介绍
本文仅仅是对TCP协议做个简要的介绍. TCP协议,即传输控制协议.与UDP协议同处于传输层,相同使用相同的网络层,但TCP提供了一种可靠的.面向连接的传输数据服务,它会在两个使用TC ...
- arp协议简单介绍
1. 什么是ARP? ARP (Address Resolution Protocol) 是个地址解析协议.最直白的说法是:在IP以太网中,当一个上层协议要发包时,有了该节点的IP地址,ARP就能提供 ...
随机推荐
- Gtest源码剖析:1.实现一个超级简单的测试框架xtest
下面的代码模仿gtest实现,主要说明了以下两点: ASSERT_* 和 EXPECT_*系列断言的原理和作用. gtest是怎样通过宏自动注册测试代码让其自动运行的. #include <io ...
- 激活office 2010
在激活office 2010版本时有的同学可能会用到“mini-KMS_Activator”这个工具,其实这个工具激活成功率并不算高,我就没激活成功.然后就是了另一款自动激活工具“Office 201 ...
- careercup-高等难度 18.6
18.6 设计一个算法,给定10亿个数字,找出最小的100万个数字.假定计算机内存足以容纳全部10亿个数字. 解法: 方法1:排序 按升序排序所有的元素,然后取出前100万个数,时间复杂度为O(nlo ...
- A*算法解决八数码问题 Java语言实现
0X00 定义 首先要明确一下什么是A*算法和八数码问题? A*(A-Star)算法是一种静态路网中求解最短路径最有效的直接搜索方法也是一种启发性的算法,也是解决许多搜索问题的有效算法.算法中的距离估 ...
- oc中的block
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { ...
- 【阿里云产品公测】云引擎ACE初体验
作者:阿里云用户蓝色之鹰 :RYYjmG5; 来投票支持我把=i2]qj\ 序号2. [阿里云产品公测]云引擎ACE初体验:作者:蓝色之鹰 e(OKE7 序号10.[阿里云产品公测]结构化数据服 ...
- JavaScript 编写线程代码引用Concurrent.Thread.js
马上来下载和使用源码吧!假定你已经将下载的源码保存到一个名为Concurrent.Thread.js的文件夹里,在进行任何操作之前,先运行如下程序,这是一个很简单的功能实现: <script t ...
- IIS 7.5站点配置
控制面板——程序——打开或关闭windows功能——Internet信息服务——万维网服务——应用程序开发功能——把ASP.NET打钩(如果已经打钩忽略).—— 运行->%windir%\Mic ...
- PHP trim()函数的一些用法
string trim ( string $str [, string $charlist ] ) - 去除字符串首尾处的空白字符(或者其他字符) trim()函数当第二个参数为空时,默认去掉空格.制 ...
- You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '
mysql中如果字段使用了关键字,在插入和更新时会提示 You have an error in your SQL syntax; check the manual that corresponds ...