ZigBee是一种短距离(10~100米)、低速率(20~250Kbps)、底成本、低功耗的无线网络技术,主要用于近离无线通讯。能够做到在数千个微小的传感器之间相互协调实现通讯,这些传感器只需要很少的能力,以接力的方式通过无线电波将数据从一个传感器传送到另一个传感器,节点的发射功率和通讯范围都是有限的。

ZigBee协议栈版本:

ZigBee 2004

ZigBee 2006

ZigBee 2007

ZigBee 2007-pro

Technorati 标签: ZigBee

 

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协议基本介绍的更多相关文章

  1. zigbee学习之路(十二):zigbee协议原理介绍

    一.前言 从今天开始,我们要正式开始进行zigbee相关的通信实验了,我所使用的协议栈是ZStack 是TI ZStack-CC2530-2.3.0-1.4.0版本,大家也可以从TI的官网上直接下载T ...

  2. ZigBee协议

    转载地址http://www.feibit.com/bbs/viewthread.php?tid=140&extra=page%3D1   WSN/Zigbee开源协议栈 1.    msst ...

  3. iOS:核心动画具体的类和协议的介绍

    核心动画类:CAAnimation.CAPropertyAnimation.CABasicAnimation.CAKeyframeAnimation.CATransition.CAAnimationG ...

  4. 基于HTTP 协议认证介绍与实现

    导言 一直对http 的头认证有兴趣,就是路由器的那种弹出对话框输入账号密码怎么实现一直不明白,最近,翻了一下http 协议,发现这是一个RFC 2617的实现,所以写篇文章介绍一下吧. Http基本 ...

  5. Zigbee2007协议中文介绍

    Zigbee2007中文介绍ZigBee2007规范定义了ZigBee和ZigBee Pro两个特性集,全新的ZigBee 2007规范建立在ZigBee2006之上,不但提供了增强型的功能而且在某些 ...

  6. HTTP协议发展介绍

    HTTP协议工作于C/S架构上,是万维网服务器传输超文本到本地客户端的一种应用层协议,全称是:Hyper Text Transfer Protocol(超文本传输协议),HTTP是基于TCP/IP通信 ...

  7. HTTP协议简要介绍

    1. 网络基础 TCP/IP 通常使用的网络是在TCP/IP协议簇基础上运作的. HTTP属于它内部的一个子集. TCP/IP分为4个层次, 应用层, 传输层, 网络层, 链路层. (Applicat ...

  8. 【网络协议】TCP协议简单介绍

        本文仅仅是对TCP协议做个简要的介绍.     TCP协议,即传输控制协议.与UDP协议同处于传输层,相同使用相同的网络层,但TCP提供了一种可靠的.面向连接的传输数据服务,它会在两个使用TC ...

  9. arp协议简单介绍

    1. 什么是ARP? ARP (Address Resolution Protocol) 是个地址解析协议.最直白的说法是:在IP以太网中,当一个上层协议要发包时,有了该节点的IP地址,ARP就能提供 ...

随机推荐

  1. 40 JavaScript Chart and Graph Libraries for Developers--reference

    reference:http://www.egrappler.com/javascript-chart-and-graph-libraries-for-developers/ BY TEAMEGRAP ...

  2. __KERNEL__ macro

    转载:http://blog.csdn.net/kasalyn/article/details/17097639 The __KERNEL__ macro is defined because the ...

  3. Java项目经验——程序员成长的关键(转载)

    Java就是用来做项目的!Java的主要应用领域就是企业级的项目开发!要想从事企业级的项目开发,你必须掌握如下要点:1.掌握项目开发的基本步骤2.具备极强的面向对象的分析与设计技巧3.掌握用例驱动.以 ...

  4. BootStrap2学习日记14----导航

    <div class="navbar navbar-inverse navbar-fixed-top"> <div class="navbar-inne ...

  5. Windows 之 win10快捷键

    1.Windows10系统常用快捷键: 1)贴靠窗口(窗口可以变为1/4大小放置在屏幕4个角落):Win +左/右 或 Win +上/下 2)切换窗口:Alt + Tab 3)任务视图(松开键盘界面不 ...

  6. 使用 sp_executesql

    建议您在执行字符串时,使用 sp_executesql 存储过程而不要使用 EXECUTE 语句.由于此存储过程支持参数替换,因此 sp_executesql 比 EXECUTE 的功能更多:由于 S ...

  7. iOS retain、strong、weak、assign

    iOS retain.strong.weak.assign strong与weak是由ARC新引入的对象变量属性xcode 4.2(ios sdk4.3和以下版本)和之前的版本使用的是retain和a ...

  8. Java、Android中Math详解

    java.math.Math类常用的常量和方法: Math.PI 记录的圆周率 Math.E记录e的常量 Math.abs 求绝对值 Math.sin 正弦函数 Math.asin 反正弦函数 Mat ...

  9. 重构22-Break Method(重构方法)

    这个重构是一种元重构(meta-refactoring),它只是不停地使用提取方法重构,直到将一个大的方法分解成若干个小的方法.下面的例子有点做作,AcceptPayment方法没有丰富的功能.因此为 ...

  10. Java 多线程-上课总结

    Java 多线程 一.操作系统中线程和进程的概念 现在的操作系统是多任务操作系统.多线程是实现多任务的一种方式. 进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启 ...