欢迎光临
免费的PDF电子书下载网站

ZigBee技术与实训教程――基于CC2530的无线传感网技术(第2版) PDF下载

编辑推荐

用ZigBee技术来实现无线传感器网络,主要需要考虑通信节点的硬件设计,包括传感数据的获得及发送,以及实现相应数据处理功能所必需的应用软件开发。TI(德州仪器公司)的CC2530芯片实现ZigBee技术的优秀解决方案,完全符合ZigBee技术对节点“体积小、能耗低”的要求,另外,TI还提供了Z-Stack协议栈,尽可能地减轻了开发者的开发通信程序的工作量,使开发者能专注于实现业务逻辑。 ;

内容简介

本书以ZigBee无线传感网络技术为主要对象,以基于CC2530芯片(TI公司)为核心的硬件平台,在介绍了常用传感器编程的基础上,深入剖析了TI的Z-Stack协议栈架构和编程接口,并详细讲述了如何在此基础上开发自己的ZigBee项目。   本书可作为工程技术人员进行单片机、无线传感器网络应用、ZigBee技术等项目开发的学习、参考用书,也可作为高等院校高年级本科生或研究生计算机、电子、自动化、无线通信等课程的教材。

作者简介

暂无

ZigBee技术与实训教程――基于CC2530的无线传感网技术(第2版) PDF下载

目录

目录

 ;

 ;

 ;

第1章 ; 无线传感器网络 ; ; ; ; 1

1.1 ; 无线传感器网络概述 ; ; 1

1.2 ; 无线传感器网络的发展历程 ; ; ; ; ; ; ; 2

1.3 ; 无线传感器网络的研究现状和前景 ; ; 3

1.4 ; 无线传感器网络的特点 ; ; ; ; ; ; ; 3

1.5 ; 无线传感器网络体系结构 ; ; 5

1.6 ; 无线传感器网络的关键技术 ; ; ; ; ; ; ; 8

1.7 ; 无线传感器网络的应用与发展 ; ; 9

1.8 ; 典型短距离无线通信网络技术 ; ; 10

1.9 ; 无线传感器网络的主要研究领域 ; ; ; ; ; ; ; 13

第2章 ; IEEE 802.15.4无线传感器网络通信标准 ; ; ; ; ; 15

2.1 ;IEEE 802.15.4标准概述 ; ; ; ; ; ; ; ; 15

2.2 ; 网络组成和拓扑结构 ; ; 18

2.3 ; 协议栈架构 ; ; 20

2.4 ; 物理层规范 ; ; 21

2.5 ;MAC层规范 ; 23

2.6 ;MAC/PHY信息交互流程 ; ; ; ; ; ; 29

2.7 ; 基于IEEE802.15.4标准的无线传感器网络 ; ; ; ; ; ; ; 29

第3章 ; ZigBee无线传感器网络通信标准 ; ;        32

3.1 ZigBee标准概述   32

3.2 ZigBee技术特点   33

3.3 ZigBee协议框架   35

3.4 ZigBee网络层规范        35

3.5 ZigBee应用层规范        38

3.6 ZigBee安全服务规范   40

第4章  ZigBee开发平台     41

4.1 ZigBee硬件开发平台   42

4.1.1 CC2530射频模块       42

4.1.2 调试器接口         44

4.1.3 ZigBee学习板    44

4.2 ZigBee软件开发平台   47

4.2.1 IAR简介      47

4.2.2 IAR基本操作      48

第5章  CC2530基础实验   54

5.1 CC2530无线片上系统概述  54

5.1.1 CC2530芯片主要特性       55

5.1.2 CC2530的应用领域   55

5.1.3 CC2530概述       56

5.1.4 CC2530芯片引脚的功能   58

5.1.5 CC2530增强型8051内核简介 59

5.2  通用I/O端口         60

5.2.1 通用I/O端口简介      60

5.2.2 通用I/O端口相关寄存器 60

5.2.3 实验1:点亮LED       61

5.2.4 实验2:按键控制LED交替闪烁      63

5.3  外部中断        64

5.3.1 中断概述    64

5.3.2 中断屏蔽    65

5.3.3 中断处理    68

5.3.4 实验:按键中断控制LED 71

5.4  定时器   73

5.4.1 片内外设I/O       73

5.4.2 定时器简介         74

5.4.3 定时器1寄存器         75

5.4.4 定时器1操作     76

5.4.5 16位计数器        77

5.4.6 实验1:定时器1控制LED闪烁      78

5.4.7 定时器3概述     79

5.4.8 实验2:定时器1和定时器3同时控制LED1和LED2以不同频率闪烁      80

5.5 1602型LCD   82

5.5.1 1602型LCD简介        82

5.5.2 1602型LCD引脚功能        82

5.5.3 1602型LCD的特性   83

5.5.4 1602型LCD字符集   83

5.5.5 1602型LCD基本操作程序        83

5.5.6 1602型LCD指令集   84

5.5.7 1602型LCD 4线连接方式         85

5.5.8 实验:LCD显示实验          85

5.6 USART     90

5.6.1 串行通信接口    90

5.6.2 串行通信接口寄存器         91

5.6.3 设置串行通信接口寄存器波特率    93

5.6.4 实验1:UART发送   93

5.6.5 UART接收  95

5.6.6 实验2:UART发送与接收        96

5.7 ADC         99

5.7.1 ADC简介    99

5.7.2 ADC输入    99

5.7.3 ADC寄存器         100

5.7.4 ADC转换结果    102

5.7.5 单个ADC转换   102

5.7.6 片内温度传感器实验         102

5.8  睡眠定时器   104

5.8.1 睡眠定时器简介         104

5.8.2 睡眠定时器寄存器    105

5.8.3 实验:睡眠定时器唤醒实验    105

5.9  时钟和电源管理   110

5.9.1 CC2530电源管理简介       110

5.9.2 CC2530电源管理控制       111

5.9.3 CC2530振荡器和时钟       111

5.9.4 实验:中断唤醒系统实验         111

5.10 看门狗 114

5.10.1 看门狗模式       115

5.10.2 定时器模式       115

5.10.3 看门狗定时器寄存器       116

5.10.4 实验:看门狗实验  116

5.11 DMA     118

5.11.1 DMA操作 119

5.11.2 DMA配置参数 119

5.11.3 DMA配置安装 122

5.11.4 实验:DMA传输     123

第6章  常用传感器     127

6.1  数字温湿度传感器DHT11   127

6.1.1 DHT11简介         127

6.1.2 DHT11典型应用电路         127

6.1.3 DHT11串行接口         128

6.1.4 DHT11串行接口通信过程         128

6.1.5 实验:DHT11实验    129

6.2  红外人体感应模块实验        133

6.2.1 红外人体感应模块功能特点    133

6.2.2 红外人体感应模块实物    133

6.2.3 实验:红外人体感应模块实验         134

6.3  结露传感器实验   134

6.3.1 HDS05结露传感器特性曲线     135

6.3.2 HDS05结露传感器电路设计     135

6.3.3 HDS05结露传感器实物     135

6.3.4 实验:结露传感器实验    136

6.4  烟雾传感器模块   138

6.4.1 烟雾传感器模块的功能特点    138

6.4.2 烟雾传感器模块实物         138

6.4.3 实验:烟雾传感器模块实验    139

6.5  光强度传感器模块        139

6.5.1 GY-30 数字光模块介绍     139

6.5.2 数字光模块实物         140

6.5.3 I2C总线介绍      140

6.5.4 实验:光强度传感器模块实验         141

第7章  CC2530实现红外通信   148

7.1  红外通信简介        148

7.1.1 红外线通信的特点    148

7.1.2 红外线发射和接收    148

7.1.3 红外线遥控发射和接收电路    149

7.1.4 红外发射电路    150

7.1.5 NEC协议     150

7.2  实验1:中断方式发射红外信号         150

7.3  实验2:PWM方式输出红外信号       157

7.4  实验3:红外接收实验         161

第8章  Z-Stack协议栈         165

8.1 Z-Stack协议栈基础       165

8.1.1 Z-Stack协议栈简介    165

8.1.2 Z-Stack协议栈基本概念    165

8.1.3 Z-Stack的下载与安装        168

8.2 Sample Application工程         169

8.2.1 Sample Application工程简介     169

8.2.2 Sample Application工程概况     170

8.2.3 Sample Application工程初始化与事件的处理          170

8.2.4 Sample Application工程事件的处理函数          172

8.2.5 Sample Application工程流程     173

8.3 OSAL循环       178

8.3.1 Z-Stack的任务调度    178

8.3.2 Z-Stack主函数    179

8.3.3 Z-Stack任务的初始化        180

8.3.4 Z-Stack的系统主循环        181

8.4  数据的发送和接收        184

8.4.1 网络参数的设置         184

8.4.2 数据的发送         186

8.4.3 数据的接收         189

8.5  修改LED驱动        191

8.6  修改按键驱动        195

8.6.1 Z-Stack的按键机制概述    195

8.6.2 Z-Stack按键的宏定义        195

8.6.3 Z-Stack按键初始化代码分析    196

8.6.4 Z-Stack按键的配置    199

8.6.5 Z-Stack轮询方式按键处理        201

8.6.6 Z-Stack中断方式按键处理        206

8.7 Z-Stack 2007串口机制  213

8.7.1 串口配置    213

8.7.2 串口初始化         215

8.7.3 串口接收数据    220

8.7.4 Z-Stack串口发送数据        225

8.8 Z-Stack启动分析   227

8.8.1 启动配置    227

8.8.2 Z-Stack启动相关概念        228

8.8.3 SampleApp工程协调器启动过程分析      232

8.9 ZigBee绑定机制   236

8.10 SimpleApp工程    237

8.10.1 SimpleApp的打开     237

8.10.2 SimpleApp启动分析         238

8.11 灯开关实验 240

8.11.1 SimpleController.c     240

8.11.2 SimpleSwitch.c  244

8.11.3 灯开关实验其他函数分析       248

8.12 传感器采集实验 249

8.12.1 采集节点SimpleCollector.c      249

8.12.2 传感器节点SimpleSensor.c      251

第9章  智能家居系统          254

9.1  智能家居系统设计        254

9.1.1 智能家居系统的需求分析         254

9.1.2 智能家居系统分析    255

9.1.3 智能家居系统软件设计    255

9.2  智能家居系统开发环境的搭建   256

9.2.1 Mini6410 ARM11开发板   256

9.2.2 建立Android应用开发环境      256

9.2.3 在Andorid程序中访问串口      260

9.2.4 Android上的Servlet服务器i-jetty    261

9.3  智能家居系统下位机程序设计   262

9.3.1 下位机程序设计思路         262

9.3.2 一键报警功能下位机实现         262

9.3.3 水浸报警功能下位机实现         263

9.3.4 中断方式报警的红外入侵传感器的实现         264

9.4  智能家居系统设置模块的实现   265

9.4.1 SQLite简介 265

9.4.2 Android系统中SQLite?数据库的操作      266

9.4.3 智能家居系统设置模块的实现         267

9.5  智能家居系统监听服务的实现   270

9.5.1 Android Service   270

9.5.2 Android多线程   271

9.5.3 短信的发送与接收    273

9.5.4 智能家居系统监听服务的实现         274

9.6 Web方式访问智能家居系统        279

9.6.1 ContentProvider简介          280

9.6.2 ContentProvider操作          280

9.6.3 创建ContentProvider          282

9.6.4 Web方式访问智能家居系统    283

第10章  智能温室系统       290

10.1 智能温室系统设计      290

10.1.1 智能温室定义  290

10.1.2 智能温室系统的需求分析       290

10.1.3 智能温室系统分析  291

10.2 智能温室系统控制功能的实现 291

10.2.1 继电器       291

10.2.2 控制板中控制电路的实现       292

10.2.3 智能温室系统控制功能的实现       293

10.3 智能温室系统休眠功能的实现 294

  10.4  协调器直接访问Web服务器     295

     10.4.1  设置wificp210x模块   295

     10.4.2  使用wificp210x模块访问Web服务器       296

     10.4.3  编程实现ZigBee协调器数据上传至Web服务器     297

第11章  学生考勤管理系统       299

11.1 学生考勤管理系统设计      299

11.1.1 校园一卡通学生考勤管理系统的组成  299

11.1.2 校园一卡通学生考勤管理系统的可行性分析       300

11.1.3 校园一卡通学生考勤管理系统的需求分析  300

11.2 学生考勤管理系统的时钟功能的实现      300

11.2.1 DS1302实时时钟电路     300

11.2.2 DS1302实时时钟模块     300

11.2.3 DS1302实时时钟模块的操作说明 301

11.2.4 DS1302时钟模块例程     303

11.2.5 Z-Stack中使用DS1302时钟模块实现显示时间的功能        306

11.3 学生考勤管理系统读卡功能的实现 307

11.3.1 RFID介绍 307

11.3.2 M104BPC读写模块 309

11.3.3 例程  313

11.3.4 Z-Stack实现读卡功能      319

参考文献         322

 

 

前沿

前言      无线传感器网络综合了传感器、嵌入式计算、现代网络及无线通信和分布式信息处理等技术,能够通过各类集成化的微型传感器协同完成对各种环境或监测对象的信息的实时监测、感知和采集,这些信息通过无线方式被发送,并以自组多跳的网络方式传送到用户终端,从而实现物理世界、计算世界以及人类社会这三元世界的连通。传统的无线网络关心的是如何在保证通信质量的情况下实现最大的数据吞吐率,而无线传感器网络主要用于实现不同环境下各种缓慢变化参数的检测,通信速率并不是其主要考虑的因素,它最关心的问题是在体积小、布局方便以及能量有限的情况下尽可能地延续目前网络的生命周期。  ZigBee技术是一种近距离、低复杂度、低功耗、低速率、低成本的双向无线通信技术。主要用于距离短、功耗低且传输速率不高的各种电子设备之间进行数据传输以及典型的有周期性数据、间歇性数据和低反应时间数据传输的应用。因此非常适用于家电和小型电子设备的无线控制指令传输。其典型的传输数据类型有周期性数据(如传感器)、间歇性数据(如照明控制)和重复低反应时间数据(如鼠标)。由于其节点体积小,且能自动组网,所以布局十分方便;又因其强调由大量的节点进行群体协作,网络具有很强的自愈能力,任何一个节点的失效都不会对整体任务的完成造成致命性影响,所以特别适合用来组建无线传感器网络。  用ZigBee技术来实现无线传感器网络,主要需要考虑通信节点的硬件设计,包括传感数据的获得及发送,以及实现相应数据处理功能所必需的应用软件开发。TI(得州仪器公司)的CC2530芯片实现ZigBee技术的优秀解决方案,完全符合ZigBee技术对节点“体积小、能耗低”的要求,另外,TI还提供了Z-Stack协议栈,尽可能地减轻了开发者的开发通信程序的工作量,使开发者能专注于实现业务逻辑。  编写本书的主要目的是从实训的角度使用CC2530芯片和Z-Stack协议栈来实现无线传感器网络,为读者解析用ZigBee技术开发无线传感器网络的各个要点,由浅入深地讲述如何开发具体的无线传感器网络系统。  * 内容概述  本书分为6个部分:  第1部分包括第1~3章,概述了无线传感器网络的基本理论。第1章概述了无线传感器网络的主要概念;第2章主要介绍了IEEE 802.15.4无线传感器网络通信标准;第3章主要介绍了ZigBee协议规范基础理论知识,使读者对无线传感器网络有整体上的认识。  第2部分包括第4章,讲述了开发具体项目所依赖的软硬件平台。  第3部分包括第5章,基于核心芯片CC2530内部硬件模块设计了若干个实验,使读者熟悉核心芯片CC2530的主要功能。  第4部分包括第6章和第7章,介绍如何使用CC2530控制各种常见的传感器。第6章讲述常用传感器数字温湿度传感器DHT11、光强度传感器模块等常见的传感器操作方法;第7章介绍使用CC2530实现红外信号的收发操作。  第5部分包括第8章,深入介绍Z-Stack协议栈,使读者初步掌握Z-Stack的工作机制,讲述了使用Z-Stack的一些基本概念,讲述了Z-Stack轮转查询式操作系统的工作原理,以及Z-Stack串口机制和绑定机制。  第6部分包括第9~11章,介绍了TI-Stack协议栈开发的三个项目,第9章为智能家居系统;第10章为智能温室系统;第11章为学生考勤管理系统。
编  者  2018年1月

免费在线读

3.1  ZigBee标准概述  ZigBee技术在IEEE 802.15.4的推动下,不仅在工业、农业、军事、环境、医疗等传统领域取得了成功的应用,在未来其应用可能涉及人类日常生活和社会生产活动的所有领域,真正实现无处不在的网络。ZigBee技术是一组基于IEEE 802.15.4无线标准研制开发的,有关组网、安全和应用软件方面的技术标准,无线个人局域网工作组IEEE 802.15.4技术标准是ZigBee技术的基础,ZigBee技术建立在IEEE 802.15.4标准之上,IEEE 802.15.4只处理低级MAC层和物理层协议,ZigBee联盟对其网络层协议和API进行了标准化。  ZigBee技术是一种近距离、低复杂度、低功耗、低速率、低成本的双向无线通信技术,主要用于距离短、功耗低且传输速率不高的各种电子设备之间进行数据传输以及典型的有周期性数据、间歇性数据和低反应时间数据传输的应用,因此非常适用于家电和小型电子设备的无线控制指令传输。其典型的传输数据类型有周期性数据(如传感器)、间歇性数据(如照明控制)和重复低反应时间数据(如鼠标)。其目标功能是自动化控制。它采用跳频技术,使用的频段分别为2.4GHz(ISM),868MHz(欧洲)及915MHz(美国),而且均为免执照频段,有效覆盖范围为10~275m。当网络速率降低到28kb/s时,传输范围可以扩大到334m,具有更高的可靠性。  ZigBee标准是一种新兴的短距离无线网络通信技术,它是基于IEEE 802.15.4协议栈,主要是针对低速率的通信网络设计的。它功耗低,是最具有可能应用在工控场合的无线方式。它和2.4GHz频带提供的数据传输速率为250kb/s,915MHz频带提供的数据传输速率为40kb/s,而868MHz频带提供的数据传输速率为20kb/s。另外,它可与254个包括仪器和家庭自动化应用设备的节点联网。它本身的特点使得其在工业监控、传感器网络、家庭监控、安全系统等领域有很大的发展空间。ZigBee体系结构如图3.1所示。                      图3.1  ZigBee体系结构图3.2  ZigBee技术特点  ZigBee是一种无线连接,可工作在2.4GHz(全球流行)、868MHz(欧洲流行)和915MHz(美国流行)三个频段上,分别具有最高250kb/s、20kb/s和40kb/s的传输速率,它的传输距离在10~75m的范围内,但可以继续增加。作为一种无线通信技术,ZigBee自身的技术优势主要表现在以下几个方面。  1.功耗低  ZigBee网络节点设备工作周期较短、收发数据信息功耗低,且使用了休眠模式(当不需接收数据时处于休眠状态,当需要接收数据时由“协调器”唤醒它们),因此,ZigBee技术特别省电,据估算,ZigBee设备仅靠两节5号电池就可以维持长达6个月到两年左右的使用时间,这是其他无线设备望尘莫及的,避免了频繁更换电池或充电,从而减轻了网络维护的负担。  2.成本低  由于ZigBee协议栈设计非常简单,所以其研发和生产成本较低。普通网络节点硬件只需8位微处理器,4~32KB的ROM,且软件实现也很简单。随着产品产业化,ZigBee通信模块价格预计能降到10元人民币,并且ZigBee协议是免专利费的。低成本对于ZigBee也是一个关键的因素。  3.可靠性高  由于采用了碰撞避免机制并且为需要固定带宽的通信业务预留了专用时隙,避免了收发数据时的竞争和冲突,且MAC层采用完全确认的数据传输机制,每个发送的数据包都必须等待接收方的确认信息,所以从根本上保证了数据传输的可靠性。如果传输过程中出现问题可以进行重发。  4.容量大  一个ZigBee网络最多可以容纳254个从设备和1个主设备,一个区域内最多可以同时存在100个ZigBee网络,而且网络组成灵活。  5.时延小  ZigBee技术与蓝牙技术的时延相比,其各项指标值都非常小。通信时延和从休眠状态激活的时延都非常短,典型的搜索设备时延30ms,而蓝牙为3~10s。休眠激活的时延是15ms,活动设备信道接入的时延为15ms。因此ZigBee技术适用于对时延要求苛刻的无线控制(如工业控制场合等)应用。  6.安全性好  ZigBee技术提高了数据完整性检查和鉴权功能,加密算法使用AES-128,且各应用可以灵活地确定安全属性,从而使网络安全能够得到有效的保障。  7.有效范围小  有效覆盖范围在10~75m之间,具体依据实际发射功率的大小和各种不同的应用模式而定,基本上能够覆盖普通的家庭或办公室环境。  8.兼容性  ZigBee技术与现有的控制网络标准无缝集成。通过网络协调器自动建立网络,采用载波侦听/冲突检测(CSMACA)方式进行信道接入。为了可靠传递,还提供全握手协议。  ZigBee具有广阔的应用前景。ZigBee联盟预言在未来的4到5年,每个家庭将拥有50个ZigBee器件,最后将达到每个家庭150个。据估计,ZigBee市场价值将超过数亿美元/年。其应用领域如图3.2所示。
图3.2  ZigBee的应用场合   (1)家庭和楼宇网络。通过ZigBee网络,可以远程控制家里的电器、门窗等;可以方便地实现水、电、气三表的远程自动抄表;通过一个ZigBee遥控器,控制所有的家电节点。未来的家庭将会有50~100个支持ZigBee的芯片安装在电灯开关、烟火检测器、抄表系统、无线报警、安保系统、HVAC、厨房机械中,为实现远程控制服务。   (2)工业控制。在工业自动化领域,利用传感器和ZigBee网络,使得数据的自动采集、分析和处理变得更加容易,可以作为决策辅助系统的重要组成部分。例如,危险化学成分的检测、火警的早期检测和预报、高速旋转机器的检测和维护等。   (3)公共场所。例如,烟雾探测器等。   (4)农业控制。传统农业主要使用孤立的、没有通信能力的机械设备,主要依靠人力监测作物的生长状况。采用了传感器和ZigBee网络后,农业将可以逐渐地向以信息和软件为中心的生产模式转化,使用更多的自动化、网络化、智能化和远程控制的设备来耕种。传感器可以收集包括土壤湿度、氮浓度、pH值、降水量、温湿度和气压等信息。这些信息和采集信息的地理位置经由ZigBee网络传递到中央控制设备供农民决策和参考,这样就能够及早而准确地发现问题,从而有助于保持并提高农作物的产量。   (5)医疗。借助于各种传感器和ZigBee网络,准确且实时地监测病人的血压、体温和心跳速度等信息,从而减少医生查房的工作负担,有助于医生作出快速的反应,特别是对重病和病危患者的监护治疗。老人与行动不便者的紧急呼叫器和医疗传感器等。   (6)商业。例如智慧型标签等。   3.3  ZigBee协议框架  ZigBee堆栈是在IEEE 802.15.4标准基础上建立的,定义了协议的MAC和PHY层。ZigBee设备应该包括IEEE 802.15.4(该标准定义了RF射频以及与相邻设备之间的通信)的PHY和MAC层,以及ZigBee堆栈层:网络层(NWK)、应用层和安全服务提供层。  完整的ZigBee协议栈由物理层、介质访问控制层、网络层、安全层和高层应用规范组成,如图3.3所示。
图3.3  ZigBee协议栈  ZigBee协议栈的网络层、安全层和应用程序接口等由ZigBee联盟制定。物理层和MAC层由IEEE 802.15.4标准定义。在MAC子层上面提供与上层的接口,可以直接与网络层连接,或者通过中间子层SSCS和LLC实现连接。ZigBee联盟在802.15.4基础上定义了网络层和应用层。其中,安全层主要实现密钥管理、存取等功能。应用程序接口负责向用户提供简单的应用软件接口(API),包括应用子层支持(Application Sub-layer Support,APS)、ZigBee设备对象(ZigBee Device Object,ZDO)等,实现应用层对设备的管理。3.4  ZigBee网络层规范  1.网络层参考模型及实现  网络层主要实现节点加入、离开、路由查找和传送数据等功能。目前ZigBee网络层主要支持两种路由算法,即树路由(Cluster-Tree)和网状网路由。支持星状(Star)、树状(Cluster-Tree)、网格(Mesh)等多种拓扑结构,如图3.4所示。
图3.4  ZigBee组网拓扑结构  在这些拓扑结构中一般包括三种设备:协调器、路由器和末端节点。  协调器也称为全功能设备(Full-Function Device,FFD),相当于蜂群结构中的蜂后,是唯一的,是ZigBee网络启动或建立网络的设备。一旦网络建立,该协调器就如同一个路由器,在网络中提供数据交换,建立安全机制,建立网络中绑定等路由功能。网络中的其他操作并不依赖该协调器,因为ZigBee 网络是分布式网络。路由器相当于雄蜂,数目不多,需要一直处于工作状态,需要主干线供电。但在树状拓扑网络模式中,允许路由器周期地运行操作,所以可以采用电池供电。路由器的功能主要包括作为普通设备加入网络,实现多跳路由,辅助其他的子节点完成通信。末端节点则相当于数量最多的工蜂,也称为精简功能设备(Reduced-Function Device,RFD),只能传送数据给FFD或从FFD接收数据,该设备需要的内存较少(特别是内部RAM)。为了维持网络最基本的运行,末端节点没有指定的责任,没有必不可缺少性,可以根据自己的功能需要休眠或唤醒,一般可由电池供电。树路由把整个网络看作是以协调器为根的一棵树,树状路由不需要路由表,节省存储资源,缺点是不灵活,浪费了大量的地址空间,路由效率低。网状网的路由算法是无线自组网按需平面距离矢量路由算法(Ad Hoc On-Demand Distance Vector Routing,AODV)的一个简化版本。在AODV中,一个网络节点要建立连接时才广播一个连接建立的请求,其他的AODV节点转发这个请求消息,并记录源节点和回到源节点的临时路由。当接收连接请求的节点知道到达目的节点的路由时,就把这个路由信息按照先前记录的回到源节点的临时路由发回源节点。源节点和目的节点之间使用这个经由其他节点并且有最短跳数的路由进行数据传输。当链路断掉,路由错误回送源节点,源节点就重新发起路由查找的过程。它可以用于较大规模的网络,需要节点维护一个路由表,耗费一定的存储资源,但往往能达到最优的路由效率,而且使用灵活。  除了这几种路由方法,ZigBee还可以进行邻居表路由,其实邻居表可以看作是特殊的路由表,只不过只需要一跳就可以发送到目的节点。  2.网络层规范概述  ZigBee协议栈的核心部分在网络层。网络层负责拓扑结构的建立和维护、命名和绑定服务,它们协同完成寻址、路由、传送数据及安全这些不可或缺的任务,支持星状(Star)、树状(Cluster-Tree)、网格(Mesh)等多种拓扑结构。为了满足应用层的要求,ZigBee协议的网络层划分为网络层数据实体(NLDE)和网络层管理实体(NLME),NLDE提供相关的SAP的数据传输服务,而NLME则提供经由相关的SAP的管理服务。   网络层必须从功能上为MAC子层提供支持,并为应用层提供合适的服务接口。为了实现与应用层的接口,网络层从逻辑上分为两个具有不同功能的服务实体,即数据实体(NLDE)和管理实体(NLME)。数据实体通过和它相连的NLDE-SAP服务存取点提供数据管理服务;而网络层管理实体(NLME)则通过和它相连的NLME-SAP服务存取点提供管理服务。NLME使用NLDE完成一些管理任务,并维护一个被称作网络信息中心(NIB)的数据库对象。  NLDE提供如下服务:   (1)产生网络层协议数据单元(NPDU)。   (2)提供基于拓扑结构的路由策略。  NLME提供如下服务:   (1)配置新设备。   (2)建立网络。   (3)加入和离开网络。   (4)寻址。   (5)邻居发现。   (6)路由发现。   (7)接收控制。  3.网络层服务规范  网络层提供了两种服务,可以通过两个服务存取点(SAP)分别进行访问。这两个服务是网络层数据服务和网络层管理服务。前者可以通过网络层数据实体服务存取点(NLDE-SAP)进行访问,后者则可以通过网络层管理服务实体服务存取点(NLME-SAP)进行访问。这两个服务与MCPS-SAP和MLME-SAP一起组成了应用层和MAC子层间的接口。除了这些外部接口,在网络层内部,NLME和NLDE之间也存在一个接口,NLME可以通过它访问网络层的数据服务。  4.网络层帧结构   网络层的帧是由网络层帧头和网络负载组成的。帧头部分域的顺序是固定的,但是根据具体情况,其他所有域不一定必须包含,如图3.5所示。8B2211变长帧控制域目标地址源地址半径序列号帧负载
路由域
帧头网络负载  图3.5  ZigBee网络层帧结构  网络层定义了数据帧和命令帧,它的帧结构由网络层头信息和数据负载构成。网络层通用帧结构如图3.5所示。网络层帧头信息格式是固定的,帧控制2B,目的地址2B,源地址2B,网络传输的半径1B,但是地址域和序列号域并非在所有的帧结构中都出现。网络层数据域nB。其中目的地址、源地址、半径和序列统称为路由域。网络层数据帧和命令帧的区别在于命令的数据域有1B的NWK命令标识符。  5.网络层功能  网络层负责拓扑结构的建立和维护网络连接,主要功能包括设备连接和断开网络时所采用的机制,以及在帧信息传输过程中所采用的安全性机制。此外,还包括设备的路由发现和路由维护及转交。并且,网络层完成对一跳(one-hop)邻居设备的发现和相关节点信息的存储。一个ZigBee协议器创建一个新网络,为新加入的设备分配短地址等。并且,网络层还提供一些必要的函数,确保ZigBee的MAC层正常工作,并且为应用层提供合适的服务接口。  网络层的主要功能包括以下8个方面:   (1)通过添加恰当的协议头能够从应用层生成网络层的PDU,即NPDU。   (2)确定网络的拓扑结构。   (3)配置一个新的设备,可以是网络协调器,也可以向存在的网络中加入设备。    (4)建立并启动无线网络。   (5)加入或离开网络。   (6)ZigBee的协调器和路由能为加入网络的设备分配地址。   (7)发现并记录邻居表、路由表。   (8)信息的接收控制,同步MAC子层或直接接收信息。3.5  ZigBee应用层规范  ZigBee协议栈的层结构包括IEEE 802.15.4媒体接入控制层(MAC)和物理层(PHY),以及ZigBee网络层。每一层通过提供特定的服务完成相应的功能。其中,ZigBee应用层包括APS子层、ZDO(包括ZDO管理层)以及用户自定义的应用对象。APS子层的任务包括维护绑定表和绑定设备间的消息传输。所谓的绑定指的是根据两个设备所提供的服务和它们的需求而将两个设备关联起来。ZDO的任务包括界定设备在网络中的作用,发现网络中的设备并检查它们能够提供哪些应用服务,产生或者回应绑定请求,并在网络设备间建立安全的通信。  ZigBee应用层有三个组成部分,包括应用支持子层(Application Support Sub-Layer,APS)、应用框架(Application Framework,AF)、ZigBee设备对象(ZigBee Device Object,ZDO)。它们共同为各应用开发者提供统一的接口,规定了与应用相关的功能,如端点(Endpoint)的规定,绑定(Binding)、服务发现和设备发现等。  1.应用支持子层  APS主要作用包括:协议数据单元APDU的处理,APSDE提供在同一个网络中的应用实体之间的数据传输机制,APSME提供多种服务给应用对象,并维护管理对象的数据库。  APS是网络层(NWK)和应用层(APL)之间的接口。该接口包括一系列可以被ZDO和用户自定义应用对象调用的服务。这些服务由两个实体提供:APS数据实体(APSDE)通过APSDE服务接入点(APSDE-SAP),APS管理实体(APSME)通过APSME服务接入点(APSME-SAP)。APSDE在同一个网络中的两个和多个设备提供传输应用PDU的数据传输服务。APSME提供设备发现和设备绑定服务,并维护一个管理对象的数据库,也就是APS信息库(AIB)。  2.应用框架  在ZigBee应用中,应用框架提供了两种标准服务类型。一种是键值对(Key Value Pair,KVP)服务类型,另一种是报文(message,MSG)服务类型。KVP服务用于传输规范所定义的特殊数据。它定义了属性(attribute)、属性值(value)以及用于KVP操作的命令:Set、Get、Event。其中,Set用于设置一个属性值;Get用于获取一个属性值;Event用于通知一个属性已经发生改变。KVP消息主要用于传输一些较为简单的变量格式。由于ZigBee的很多应用领域中的消息较为复杂,并不适用于KVP格式,因此ZigBee协议规范定义了MSG服务类型。MSG服务对数据格式不作要求,适合任何格式的数据传输。因此可以用于传送数据量大的消息。  应用框架AF为每个应用对象提供了键值对(KVP)服务和报文(MSG)服务。KVP命令帧的格式如图3.6所示。MSG命令帧格式如图3.7所示。位:44160/8可变命令类型标识符属性数据类型属性标识符错误代码属性数据图3.6  KVP命令帧的格式位:8可变事务长度事务数据  图 3.7  MSG命令帧格式  3.ZigBee设备对象  ZDO实际上是介于应用层端点和应用支持子层中间的端点,其主要功能集中在网络管理和维护上。应用层的端点可以通过ZDO提供的功能来获取网络或者是其他节点的信息,包括网络的拓扑结构、其他节点的网络地址和状态以及其他节点的类型和提供的服务等信息。  端点是应用对象存在的地方,ZigBee允许多个应用同时位于一个节点上,ZigBee定义了几种描述符,对设备以及提供的服务进行描述,可以通过这些描述符来寻找合适的服务或者设备。  此外,ZigBee协议栈还提供了安全组件,如采用了AES128的算法对网络层和应用层的数据进行加密保护;设立信任中心的角色,用于管理密钥和管理设备,可以执行设置的安全策略。  从以上分析可知,ZigBee协议套件简单紧凑,因而与之兼容的硬件要求也比较简单,8位微处理器80C51就可以满足要求,全功能协议软件需要32KB的ROM,最小功能协议软件需求大约4KB的ROM。目前,飞思卡尔、得州仪器TI等国际巨头已推出了比较成熟的ZigBee开发平台,如TI推出基于CC2420收发器和TI MSP430超低功耗单片机的平台,CC2430的SOC平台C51RF-3-PK等。  ZigBee设备配置层提供标准的ZigBee配置服务,它定义和处理描述符请求。在ZigBee设备配置层中定义了称为ZigBee设备对象的特殊软件对象,在其他服务中提供绑定服务。远程设备可以通过ZDO接口请求任何标准的描述符信息。当接收到这些请求时,ZDO会调用配置对象以获取相应的描述符值。在目前的ZigBee协议版本中,还没有完全实现设备配置层。ZDO是特殊的应用对象,它在端点(end-point)0上实现。3.6  ZigBee安全服务规范  ZigBee 设备之间的通信使用IEEE 802.15.4无线标准,该标准指定物理层(PHY)和媒介存取控制层(MAC)两层规范。而ZigBee规范了网络层(NWK)和应用层(APL)标准,各层规范功能分别如下。  PHY:提供基本的物理无线通信能力。  MAC:提供设备间的可靠性授权和一跳通信连接服务。  NWK:提供用于构建不同网络拓扑结构的路由和多跳功能。  APL:包括一个应用支持子层、ZigBee设备对象和应用。  在安全服务规范方面,协议栈分别在MAC、NWK和APS三层具有安全机制,保证各层数据帧的安全传输。同时,APS提供建立和保持安全关系的服务。ZDO管理安全性策略和设备的安全性结构。

ZigBee技术与实训教程――基于CC2530的无线传感网技术(第2版) pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:ZigBee技术与实训教程――基于CC2530的无线传感网技术(第2版)