JIAJIEKEJI
Zigbee 简介
开发应用指导
Dan
2012
H T T P : / / J I E L O V E D A N . T A O B A O . C O M /
http://jielovedan.taobao.com/
TEL:15882009209
前言
无线传感网络的发展,对工程师来说,需要快速搭建一个无线传感器网络,然后让需要
的数据进行无线传输,以及远程控制等等。对应大量学习 Zigbee 的同学和同行们,很难静
下心来阅读大量的文档,摸索前进十分影响学习效率和开发产品周期。本文以 Zigbee2007
协议栈为基础,以 Q2530SB 开发板为硬件,带大家从一个空的 C 文件 H 文件开始,建立属
于自己的传感器网络,并做详细的讲解。
本文技术特点
■ 理论与实践相结合。本文以大量实例为基础,给出程序源代码,一步一步修改与讲解,
详细阐述 Zigbee 网络的建设与相关技术知识,丢弃一些初学者无用的知识点,重点突出关
键技术。
■ 本文附带讲解过程中所有程序代码,模块化的程序设计。让学者更好的理解。每个例程
都经过精心排版,尽量做到每行代码都添加注释。每行代码字体均修改成和编译器一样的风
格,务求能让大家看得更舒服、学得更顺利。每个实验都会附带实验图片,图文并茂。内容
涵盖了从编译环境配置到基础实验、组网演练、项目实战以及 TI 协议栈工具的应用介绍。
还包含一些有用的内容,适用于众多场合。ZigBee 学习、应用的宝典。也是全网唯一涵盖内
容最全的 ZigBee 学习电子书。
本文创作目的
为 Zigbee 技术的广泛应用,参考很多相关书籍,TI 提供的技术文档和软件,编写这一
系列的 Zigbee 技术文档,希望大家多多交流,让 Zigbee 技术在国内发扬光大。
本文试用对象
□ 从事 Zigbee 开发研究的技术人员
□ 从事通信方面学习的在校大学研究生同学
TEL:15882009209
技术群:193850136
硬件平台提供网站: http://jielovedan.taobao.com/
2
http://jielovedan.taobao.com/
TEL:15882009209
目录
前言 .................................................................................................................................................. 2
ZigBee 简介 ....................................................................................................................................... 4
1.1 无线网络数据传输协议对比 ............................................................................................. 4
1.2 短距离无线网络的分类 ..................................................................................................... 5
1.2.1 什么是 ZigBee ......................................................................................................... 6
1.2.2 ZigBee 和 IEEE 802.15.4 的关系 ........................................................................... 6
1.2.3 ZigBee 的特点 ....................................................................................................... 7
1.3 ZigBee 2007 协议简介 ........................................................................................................ 8
1.4 ZigBee 无线网络通信信道分析 ........................................................................................ 9
1.5 ZigBee 无线网络拓扑结构 .............................................................................................. 10
1.6 ZigBee 技术的应用领域 .................................................................................................. 10
1.7 CC2530 开发板硬件资源概述 ......................................................................................... 11
1.8 本章小结 .......................................................................................................................... 13
3
http://jielovedan.taobao.com/
TEL:15882009209
ZigBee 简介
近年来,无线网络得到了快速的发展,在此过程中也出现了各种无线网络数据传输标准,
诸如 WIFITM、Wireless USB、BluetoothTM、Wibree,不同的协议标准对应不同的应用领域,
例如,WIFITM 主要用于大量数据的传输,Wireless USB 主要用于视频数据的传输等,而 Zigbee
则为远距离,低速率,低成本,低功耗设计提供了很好的解决方案。
现今,物联网技术得到了快速的发展,以此相关的一些技术如 RFID、无线传感器网络
也得到了快速的发展。与此同时,各种无线传感器网络协议标准液日渐规范化,其中得到广
泛应用和推广的一种协议就是 ZigBee 2007 协议,TI 公司已经推出了完全兼容该协议的 SoC
芯片 CC2530,同时也开发出了相关的软件协议栈 Z-Stack,开发者可以使用上述硬件和软件
资源,搭建自己的无线传感器网络。
本章主要讨论了 ZigBee 的产生、发展过程,向读者展示了 ZigBee 的特点以及相关应用
领域,帮助初学者快速入门。
1.1 无线网络数据传输协议对比
现在比较流行的无线网络数据传输协议有 WIFITM、Wireless USB、BluetoothTM、Cellular
等,不同的协议都有各自的应用领域,因此,选择网络协议时,要根据不同的应用来选择某
一种特定的协议。
那么,ZigBee 协议与上述协议有什么关系?ZigBee 协议的优点在哪里?ZigBee 协议主
要用在哪些应用领域?
各种无线数据传输协议对比图如图 1-1 所示。
传
输
速
率
Wireless
USB
Bluetooth
Wifi
Cellular
Zigbee
传输距离
从图 1-1 中可以看到不同的无线数据传输协议在数据传输速率和传输距离有各自的使
图 1-1 各种无线数据传输协议对比图
4
http://jielovedan.taobao.com/
TEL:15882009209
用范围。
ZigBee、蓝牙以及 IEEE 802.11b 标准都是工作在 2.4GHz 频段的无线通信标准,下面将
ZigBee 于蓝牙、IEEE 802.11b 标准进行简要的比较,帮助读者快速地了解 ZigBee 与现有的
标准的优点。
蓝牙数据传输速率小于 3Mbps,典型数据传输距离为 2-10m,蓝牙技术的典型应用
是在两部手机之间进行小量数据的传输。
IEEE 802.11b 最高数据传输速率可达 11Mbps,典型数据传输距离在 30-100m,IEEE
802.11b 技术提供了一种 Internet 的无线接入技术,如很多笔记本电脑可以使用
自带的 WiFi 功能实现上网。
ZigBee 协议可以理解为一种短距离无线传感器网络与控制协议,主要用于传输控
制信息,数据量相对来说比较小,特别适用于电池供电系统。此外,相对于上述两
种标准,ZigBee 协议更容易实现(或者说实现成本较低)。
ZigBee、蓝牙以及 IEEE 802.11b 标准对此情况如表 1-1、图 1-2 所示。
表 1-1 ZigBee、蓝牙以及 IEEE 802.11b 标准对比
项目
ZigBee
蓝牙
IEEE 802.11b
数据速率
数据传输距离/m
典型应用领域
20~250kbps
1~3Mbps
1~11Mbps
10~100
2~10
30~100
无线传感器网络
无线手持设备、无线鼠标
无线 Internet 接入
功耗
设计复杂度
成本
Zigbee
蓝牙
802.11b
数据速率
图 1-2 ZigBee、蓝牙以及 IEEE 802.11b 标准对比
因此,ZigBee 主要用在短距离无线控制系统,传输少量的控制信息。例如,在智
能家居领域中,ZigBee 可以用来控制灯亮或灯灭的控制信息。
注意:
ZigBee 数据速率较低,因此不合适传输大量数据的应用领域。
1.2 短距离无线网络的分类
短距离无线网络主要分为两类:
无线局域网(WLANs,Wireless Local Area Networks);
无线个域网(WPANs,Wireless Personal Area Networks);
无线局域网是有线局域网(LANs,Wired Local Area Network)的扩展,一个无线局域
网设备可以很容易地接入有线局域网。
5
http://jielovedan.taobao.com/
TEL:15882009209
无线个域网是为了在 POS(Personal Operating Space)范围内提供一种高效、节能的
无线通信方法,其中 POS 是指以无线设备为中心半径 10m(33ft)内的球形区域。
按照数据传输速率的不同,无线个域网又分三种:
HR-WPANS——High-Rate WPLANS;
MR-WPANS——Medium-Rate WPLANS;
LR-WPLANS——Low-Rate WPLANS。
上述三类无线个域网所对应的协议如表 1-2 所示。
表 1-2 无线个域网所对应的通信协议
WPANS
通信协议
WPANS
通信协议
WPANS
通信协议
HR-WPANS
802.15.3
MR-WPANS
BlueTooth
LR-WPANS
802.15.4
1.2.1 什么是 ZigBee
ZigBee 是一种标准,该标准定义了短距离、低速率传输速率无线通信所需要的一系列
通信协议。基于 ZigBee 的无线网络所使用的工作频段为 868MHz、915MHz 和 2.4GHz,最大
数据传输速率为 250Kbps。
下面通过一个具体的例子向读者展示一下 ZigBee 的具体应用。在病人监控系统中,病
人的血压可以通过特定的传感器检测,因此,可以将血压传感器和 ZigBee 设备相连,ZigBee
设备定期检测病人的血压,将血压数据以无线的方式发送到服务器,服务器可以将数据传输
到医生的电脑上,医生就可以根据病人的血压数据进行恰当的诊断。
1.2.2 ZigBee 和 IEEE 802.15.4 的关系
在设计网络的软件构架时,一般采用的思想,不同的层负责不同的功能,数据只能在相
邻的层之间流动。例如,以太网中分层模型是 ISO 国际化标准组织提出的 OSI(Open System
Interconnection)七层参考模型,如图 1-3 所示。
无线网络各层示意图如图 1-4 所示。
ZigBee 协议也在 OSI 参考的基础上,结合无线网络的特点,才有分层的思想实现。ZigBee
处理网路应用程序
数据表示
主机间通信
端到端连接
网络寻址和路由
介质访问控制
比特数据传输
应用层
表示层
会话层
传输层
网络层
数据链路层
物理层
图 1-3 OSI 参考模型
6
http://jielovedan.taobao.com/
TEL:15882009209
ZDO
应用程
序对象
应用程序支持子层 APS
网络层 NWK
介质访问控制层 MAC
物理层 PHY
安
全
服
务
协议栈
定义的
IEEE80
2.15.4
规范定
义的
Zigbee
无线
网络
从图 1-4 可以看出,ZigBee 无线网络共分为 5 层:
图 1-4 ZigBee 曲线网络各层示意图
物理层(PHY);
介质访问控制层(MAC);
网络层(NWK);
应用程序支持子层(APS);
应用层(APL)。
采用分层思想有很多优点,例如,当网络协议的一部分发生改变时。可以很容易地对与
此相关的几个层进行修改,其他层不需要改变即可。读者是否可以从图 1-4 中看出 ZigBee
和 IEEE 802.15.4 的联系呢?
从图 1-4 中可以看出,IEEE 802.15.4 仅仅是定义了物理层(PHY)和介质访问控制层
(MAC)的数据传输规范,而 ZigBee 协议定义了网络层、应用程序支持子层以及应用层的
数据传输规范,这就是 ZigBee 无线网络。
1.2.3 ZigBee 的特点
总体而言,ZigBee 技术具体有如下特点:
(1) 高可靠性
对于无线通信而言,由于电磁波在传输过程中容易受很多因素的干扰,例如,障碍物的
阻挡、天气状况等,因此,无线通信系统在数据传输过程中,具体内在的不可靠性。无线控
制系统作为无线通信的一个小的分支,在数据传输过程中,也具有不可靠性。
ZigBee 联盟在制定 ZigBee 规范时已经考虑到这种数据传输过程中的内在的不确定性,
采取了一些措施来提高数据传输的可靠性,主要包括:物理层兼容高可靠的短距离无线通信
协议 IEEE 802.11.5 同时使用 OQPSK 和 DSSS 技术;使用 CSMA-CA(Carrier Sense Multiple
Access Collision Avoidance)技术来解决数据冲突问题;使用 16-bits CRC 来确保数据的正确
性;使用带答应的数据传输方式来确保数据正确的传输目的地址;采用星形网络尽量保证数
据可以沿着不同的传输路径从源地址到达目的地址。
(2) 低成本、低功耗
7
http://jielovedan.taobao.com/
TEL:15882009209
ZigBee 技术可以应用于 8-bit MCU,目前 TI 公司推出的兼容 ZigBee 2007 协议的 SoC
芯片 CC2530 每片价格在 20~35 元,外接几个阻容器件构成的滤波电路和 PCB 天线即可实
现网络节点的构建。
关于低功耗问题需要说明一下,ZigBee 网络中的设备主要分为三种:
协调器(Coordinator),主要负责无线网络的建立和维护;
路由器(Router),主要负责无线网络数据的路由;
终端节点(End Device),主要负责无线网络数据的采集。
低功耗仅仅是对终端节点而言,因为路由器和协调器需要一直处于供电状态,只有终端
节点可以定时休眠,下面通过一个例子向读者展示一下终端节点的低功耗是如何实现的。
例如,一般情况下,市面上每节 5 号电池的电量为 1500mA·h,对于两节 5 号电池供
电的终端节点而言,总电量为 3000mA·h,即电池以 1mA 电流放电,可以连续放电 3000h(理
论值),如果放电电流为 100mA,则可以连续放电 30h。
终端节点在数据发送期间需要的时间电流 29mA;
数据接收期间所需要的瞬时电流为 24mA。
再加上各种传感器所需的工作电流,为了讨论问题方便,假设各种传感器所需的工作电
流为 30mA(这个工作电流已经很大了),那么数据发送期间所需要的总电流为 59mA,数据
接收期间所需要的总电流为 54mA,为了讨论问题方便,总电流取 60mA,表面上 2 节 5 号
电池可以供终端节点连续工作 50h。
但是,对应实际系统,终端节点对数据的采集一般是定时采集,例如采集温度数据,由
于温度变化减慢,所以可以定时采集,在此假设终端节点每小时工作 50s,其他时间都在休
眠(其他时间都在休眠,休眠时工作电流在微安级,所以可以忽略不计)。
那么实际上情况是:系统采用 2 节 5 号电池供电,终端节点工作电流为 60mA,每小时
工作 50s(其他时间都在休眠,休眠时工作电流在微安级,所以可以忽略不计),可以计算
出 2 节 5 号电池可以供终端节点工作时间为:3600h=150 天,即大约半年时间,这也就是很
多介绍 ZigBee 技术的书籍中提到的“对于 ZigBee 终端节点,使用 2 节 5 号电池供电,可以
工作半年的时间”的理论依据。
请读者注意,上述分析是针对的终端节点,对于路由节点和协调器而言,要一直供电来
确保数据的正确路由,所以一般不谈低功耗问题。
注意:
在本书第 7 章中讲解太阳能供电的 ZigBee 无线传感器网络设计一
节中会对上述问题进行展开讲解,如果读者在此不理解也没有关系。
(3) 高安全性
为了保证数据传输的安全性,可以使用 AES-128 加密技术,但是对于初学阶段,安全
性问题可以不予考虑。
(4)低数据速率
无线控制系统对数据的可靠性和安全性、系统功耗和成本等方面有着特殊的要求,因此,
目前的无线去了协议没有很好地解决这些特殊的要求。
1.3 ZigBee 2007 协议简介
ZigBee 2007 规范定义了 ZigBee 和 ZigBee PRO 两个基本特性集,该规范比 ZigBee 2006
协议更具有应用前景,该协议主要应用领域有:
8