全书共4篇,基础篇主要对物联网的概念、组成、发展进行概述,同时简单介绍物联网中的关键技术和一些常用的物联网传感器及其特点,*后列举物联网技术的典型应用;理论篇主要对CC2530内部模块的GPIO、外部中断、定时器、DMA、UART等内部资源的设置及相关寄存器进行讲解,同时在每节*后提供相关参考程序供读者参考和使用;入门篇主要对CC2530相关的基本硬件结构进行介绍,同时对编辑软件的安装、应用,以及程序的烧写进行介绍;实践篇设置一系列实验,从*基础的无线控制LED实验开始到较复杂的ZigBee管理系统实验,从易到难,适合不同层次的读者进行递阶学习。同时,为了帮助读者能够清晰地理解程序的设计思路,在主要实验中都给出了相关的程序流程图,并在程序中标注了大量的注解。
本教材从物联网基础知识入手,坚持由浅入深、由里及外、循序渐进的学习导向,使物联网教学不再乏味,适合零基础的读者学习物联网系统。本书适合作为电气信息类(物联网、电气工程及其自动化、自动化、电子信息工程、通信工程、计算机科学与技术、电子科学与技术等)等专业的大学高年级学生和研究生的必修或选修教材,以及嵌入式计算机方面的指导用书,也可以作为相关科技人员的自学用书。
教材从物联网基础知识入手,坚持由浅入深、由里及外、循序渐进的学习导向,让物联网教学不再乏味。? 教材层次分明,从基础知识、入门初探、理论指引层层探究,*后过渡至实验应用,让读者渐入佳境。? 弱化理论灌输,强化软件编程与硬件设计能力培养,将大量实验引入教材,引导读者从概念定义、理论学习逐渐过渡至实验应用。? 打破教条界限,根据相关专业课对物联网专业知识的关联,形成独具多板块、多层次、多接口特色的教材,适合相关多专业选用。
前言
在现实物理世界与虚拟计算机世界之间实现信息交互这一革命性的理念,突破了以往信息网络技术发展的固有模式和思路,使得物联网一跃成为全国乃至世界关注的焦点,国内外都把物联网的发展提到了国家级的战略高度,称之为继计算机、互联网之后世界信息产业的第三次浪潮。何谓物联网?不同的阶段在不同的场合有不同的描述。目前对物联网比较准确的表述是: 通过各种信息传感设备及系统(传感网、射频识别系统、红外感应器、激光扫描器等)、条码与二维码、全球定位系统,按约定的通信协议,将物与物、人与物连接起来,通过各种接入网、互联网进行信息交换,以实现智能化识别、定位、跟踪、监控和管理的一种信息网络。物联网的主要特征是每一个物件都可以寻址,每一个物件都可以控制,每一个物件都可以通信。显然,作为感知、传输、应用三项技术相结合的一种产物,它是一种全新的信息获取和处理技术。随着物联网技术进步的同时,新兴的短距离无线通信技术和无线网络技术也在飞速发展,ZigBee技术应运而生,正以空前的速度走进人们的生活,使人们的生活和工作更加方便,更加安全。2002年8月,由英国Invensys公司、日本三菱电气公司、美国Motorola公司和荷兰Philips公司共同发起了ZigBee联盟,致力于以IEEE 802.15.4 MAC和物理层协议为基础,进行ZigBee技术的网络层和高层应用规范的指定、设备测试和市场推广工作,实现各家产品的相互兼容,以期望与其他类似无线通信产品相抗衡并迅速拓展在这一领域的市场。ZigBee是一种网络容量大、节点体积小、架构简单、低速率、低功耗的无线通信技术。由于其节点体积小,且能自动组网,所以布局十分方便;又因其强调由大量的节点进行群体协作,网络具有很强的自愈能力,任何一个节点的失效都不会对整体任务的完成造成致命性影响,所以特别适合用来组建无线传感器网络。用ZigBee技术来实现无线传感器网络,主要需要考虑通信节点的硬件设计,以及实现相应功能所必需的软件开发。基于TI(德州仪器公司)的CC2530芯片在中国推广已经有好几年了,具备了实现ZigBee技术的各种底层硬件需求,是真正的一体化解决方案,完全符合ZigBee技术对节点体积小的要求,另外,TI还提供了ZStack协议栈,尽可能地减轻了软件开发的工作量。本书从实际出发,从简至难地解析用ZigBee技术开发无线传感器网络的各个要点,由浅入深地讲述如何开发具体的无线传感器网络系统。本教材通俗易懂,真正适合物联网零基础读者的学习。本书从实际应用入手,由浅到深、循序渐进地诠释了物联网的相关概念、关键技术及应用,其中着重分析讲述了CC2530芯片的内部资源配置及使用方法,以实验过程和实验现象为主导,详细叙述了使用C语言对CC2530进行编程的方法,为读者详细分析ZigBee 无线网络的实现及开发技巧,引导读者自己动手进行ZigBee无线网络项目实验。本书不同于传统的物联网技术与应用书籍,本书中的所有例程均以实际硬件为依托,以最新版的ZigBee协议栈为中心,用C语言进行软件设计,目的是让读者在各种ZigBee无线网络基础实验和CC2530无线数据收发应用模式实验中理解ZigBee协议栈,对ZigBee技术知其然,又能知其所以然,从而让读者在实际应用中彻底理解和掌握ZigBee技术。
物联网技术及应用前言本书内容共分为4部分,分别为基础篇、理论篇、入门篇和实践篇。基础篇主要对物联网的概念、组成、发展做了概述,同时简单介绍了物联网中的关键技术和一些常用的物联网传感器及其特点,最后列举了物联网技术的典型应用。理论篇主要对CC2530内部模块的GPIO、外部中断、定时器、DMA、UART等内部资源的设置及相关寄存器进行了讲解,同时在每节最后都提供了相关参考程序供读者参考和使用。入门篇主要对CC2530的基本硬件结构进行介绍,同时对编辑软件的安装、应用,以及程序的烧写进行介绍。实践篇设置了一系列实验,从最基础的无线控制LED实验开始到较复杂的ZigBee管理系统实验,从易到难,适合不同层次的读者进行递阶学习。同时,为了帮助读者能够清晰地理解程序的设计思路,在主要实验中都给出了相关的程序流程图,并在程序中标注了大量的注解。本书由陕西科技大学的张开生编著,负责拟定编写教材大纲、设计内容框架、定稿。在编写过程中得到陕西科技大学电信学院研究生宫瑶、彭朋、张盟蒙、许萌、权思敏等在录入、排版、绘图、软件调试等方面的大力协助,在此一并表示感谢。为了使教材更具全面性、实用性,在编写过程中查阅并引用了大量的参考资料及文献,并选用了其中的一些实例,因篇幅有限,难以一一列举,在此,谨致衷心的感谢。在编写过程中虽然做了很多力所能及的努力,但限于作者的水平,书中疏漏及不足之处在所难免,敬请广大读者批评指正,以便修订再版时得以改正提高。本书适合作为电气信息类(如物联网、电气工程及其自动化、自动化、电子信息工程、通信工程、计算机科学与技术、电子科学与技术等)等专业的大学高年级学生和研究生的必修或选修教材,以及嵌入式计算机方面的指导用书,也可以作为相关科技人员的指导用书。书中所涉及相关文档电子版、PPT、实验板请联系skdzks@163.com。
编者2016年6月于陕西科技大学
目录基础篇
第1章物联网技术简介3
1.1物联网概述 3
1.1.1物联网基本概念3
1.1.2物联网概念的比较4
1.2物联网的发展过程5
1.2.1物联网的起源5
1.2.2物联网的现状6
1.3物联网的基本层次6
1.3.1感知层6
1.3.2传输层8
1.3.3应用层8
1.4物联网关键技术8
1.4.1感知与识别技术8
1.4.2节点软硬件设计技术9
1.4.3组网与泛在接入技术9
1.4.4大规模的感知信息处理技术10
1.5物联网架构10
习题与思考11
第2章物联网关键技术12
2.1感知层技术12
2.1.1EPC技术12
2.1.2RFID技术12
2.1.3传感器技术16
2.1.4无线传感器网络技术18
2.2传输层汇聚网技术20
2.2.1ZigBee技术20
2.2.2蓝牙技术24
2.2.3WiFi技术26
2.2.4UWB技术28
物联网技术及应用
目录2.3传输层网络接入技术29
2.3.1M2M接入技术29
2.3.26LoWPAN技术33
2.4传输层承载网技术36
2.4.13G WLAN36
2.4.2TDSCDMA37
2.4.3光纤通信技术37
习题与思考38
第3章物联网用传感器39
3.1传感器工作原理39
3.1.1机械结构型传感器39
3.1.2物性型传感器40
3.2物联网中常用传感器42
3.2.1热学量传感器42
3.2.2密度和浓度传感器47
3.2.3光学量传感器48
3.2.4气体传感器53
3.2.5湿度传感器56
3.2.6生物量传感器58
3.2.7身份识别传感器和雷达65
习题与思考71
第4章物联网技术典型应用72
4.1物联网在物流行业的应用72
4.2物联网在医疗保健中的应用76
4.3物联网在智能交通中的应用80
4.4物联网在智能家居中的应用84
4.5物联网在智能电网中的应用87
4.6物联网在环保行业的应用90
4.7物联网应用新视野91
4.7.1车联网91
4.7.2人体感知网92
习题与思考92
理论篇
第5章物联网系统解决方案95
5.1CC2530内部结构95
5.1.1CPU与内存95
5.1.2外部设备97
5.1.3无线电98
5.2MCS51单片机98
5.3CPU存储器98
5.3.1存储器映射98
5.3.2CPU存储空间99
5.3.3物理存储器100
5.3.4XDATA存储空间106
5.3.5存储器仲裁106
5.4CPU寄存器107
5.4.1数据指针107
5.4.2寄存器R0~R7108
5.4.3程序状态字108
5.4.4累加器109
5.4.5寄存器B109
5.4.6堆栈指针109
5.5指令集综述110
5.6中断原理及相关设置114
5.6.1中断屏蔽115
5.6.2中断处理117
5.6.3中断优先级120
5.6.4应用示例121
习题与思考123
第6章调试接口、电源管理与闪存控制器124
6.1调试接口124
6.1.1调试模式124
6.1.2调试传输124
6.1.3锁位125
6.1.4调试配置126
6.1.5调试状态128
6.1.6硬件断点与闪存编程129
6.1.7调试接口与供电模式129
6.1.8调试寄存器130
6.2电源管理与时钟130
6.2.1电源管理130
6.2.2电源管理控制132
6.2.3电源管理寄存器132
6.2.4振荡器与时钟133
6.3复位137
6.4闪存控制器138
6.4.1闪存存储器组织138
6.4.2闪存写138
6.4.3闪存页面擦除140
6.4.4闪存DMA触发140
6.4.5闪存控制器的寄存器141
习题与思考142
第7章I/O端口143
7.1未使用的I/O引脚143
7.2低I/O电压143
7.3通用I/O143
7.4通用I/O中断144
7.5通用I/O DMA144
7.6外设I/O145
7.7调试接口148
7.8XOSC输入149
7.9无线测试输出信号149
7.10掉电信号MUX(PMUX)149
7.11I/O引脚149
7.12应用示例157
习题与思考161
第8章DMA控制器及操作162
8.1DMA操作162
8.2DMA配置参数162
8.3DMA配置、传输与中断165
8.4DMA配置数据结构与存储访问166
8.5DMA寄存器167
习题与思考169
第9章定时器170
9.1定时器1170
9.1.1计数器170
9.1.2通道模式控制171
9.1.3IR信号的产生和线性化174
9.1.4定时器1中断与DMA触发177
9.1.5定时器1寄存器177
9.1.6应用示例183
9.2定时器2184
9.2.1定时器操作184
9.2.2定时器2中断186
9.2.3事件输出(DMA触发和CSP事件)186
9.2.4定时器启动/停止同步186
9.2.5定时器2寄存器187
9.3定时器3和定时器4191
9.3.1位定时器计数器191
9.3.2定时器3/定时器4模式控制192
9.3.3通道模式控制192
9.3.4定时器3/4中断与DMA触发193
9.3.5定时器3 与定时器4 寄存器193
9.3.6应用示例198
9.4睡眠定时器199
9.4.1定时器比较199
9.4.2定时器捕获200
9.4.3睡眠定时器寄存器200
9.4.4应用示例203
9.5看门狗定时器205
9.5.1看门狗模式206
9.5.2定时器模式206
9.5.3看门狗定时器寄存器206
9.5.4应用示例207
习题与思考209
第10章模数转换器、随机数发生器与AES协处理器210
10.1ADC模数转换210
10.1.1ADC操作211
10.1.2ADC寄存器213
10.2随机数发生器215
10.2.1随机数发生器的运行216
10.2.2随机数发生器的寄存器217
10.3AES协处理器217
10.3.1AES操作217
10.3.2密钥和IV218
10.3.3协处理器与CPU通信218
10.3.4运行模式218
10.3.5AES DMA触发221
10.3.6AES寄存器221
习题与思考222
第11章UART与USB接口223
11.1UART模式223
11.1.1UART发送223
11.1.2UART接收223
11.1.3UART硬件流控制224
11.1.4UART特征格式224
11.1.5SPI模式224
11.1.6SSN从模式选择引脚225
11.1.7波特率的产生225
11.1.8清除USART226
11.1.9USART中断226
11.1.10USART DMA触发226
11.1.11USART寄存器227
11.1.12应用示例231
11.2USB235
11.2.1USB的使能与中断236
11.2.2端口0237
11.2.3端口1~5239
11.2.4DMA242
11.2.5USB复位242
11.2.6挂起与恢复243
11.2.7远程唤醒243
11.2.8USB寄存器243
习题与思考250
第12章CC2530相关无线通信技术251
12.1RF内核251
12.1.1RF收发器中断相关251
12.1.2中断寄存器251
12.2FIFO访问255
12.3RF内核的DMA触发255
12.4存储器映射255
12.4.1RXFIFO256
12.4.2TXFIFO256
12.4.3帧过滤和源匹配存储器映射256
12.5频率和通道编程257
12.6IEEE 802.15.42006调制格式258
12.7IEEE 802.15.42006帧格式259
12.8发送模式260
12.9接收模式264
12.9.1RX控制264
12.9.2RX状态时序265
12.9.3帧处理265
12.9.4同步头和帧长度域265
12.9.5帧过滤266
12.9.6源地址匹配269
12.9.7帧校验序列271
12.9.8确认传输271
12.10RXFIFO访问273
12.10.1使用FIFO和FIFOP274
12.10.2错误情况275
12.10.3RSSI275
12.10.4链路质量指示275
12.11无线电控制状态机制275
12.12随机数的产生277
12.13数据包分析器和无线电测试输出信号278
12.14命令选通/CSMACA处理器278
12.14.1指令存储器279
12.14.2数据寄存器279
12.14.3中断请求280
12.14.4随机数指令280
12.14.5运行CSP程序280
12.14.6寄存器280
12.14.7指令集综述281
12.14.8指令集定义283
12.15寄存器一览表295
12.15.1寄存器设置更新296
12.15.2寄存器访问模式296
12.15.3寄存器描述297
习题与思考316
入门篇
第13章SUSTEB2530硬件原理与结构319
13.1功能特点319
13.2管脚信息320
13.3硬件原理320
13.3.1SUSTEB2530 PACK板原理图320
13.3.2SUSTEB2530底板原理图320
13.4硬件结构322
13.4.1元件布局图322
13.4.2开发板使用说明322
第14章ZigBee开发平台的构建326
14.1实验介绍与准备工作326
14.2IAR集成开发环境介绍327
14.3IAR Embedded Workbench的安装327
14.4新建工程与工程设置331
14.4.1建立一个新的工程331
14.4.2建立一个源文件332
14.4.3添加源文件到工程332
14.4.4编写代码334
14.4.5工程的设置335
14.4.6编译工程341
14.5安装SmartRF Flash
Programmer和仿真器341
14.6程序仿真与调试345
14.7安装USB转串口驱动345
14.8安装ZStackCC25302.3.01.4.0/2.5.1.a协议栈346
习题与思考347
实践篇
实验1BasicRF无线点控LED实验351
习题与思考354
实验2无线传输质量检测实验355
习题与思考357
实验3无线收发控制LED实验358
习题与思考370
实验4协议栈中串口基础实验371
习题与思考375
实验5广播组网无线数据传输实验376
习题与思考383
实验6组播多终端控制协调器LED实验384
习题与思考389
实验7点播通信无线通信实验390
习题与思考397
实验8DS18B20温度传感器数据采集实验398
习题与思考406
实验9DHT11温湿度传感器数据采集实验407
习题与思考413
实验10气体浓度数据采集实验414
习题与思考418
实验11光敏和热敏传感器数据采集实验419
习题与思考422
实验12红外热释电传感器数据采集实验423
习题与思考427
实验13按键无线点控台灯实验428
习题与思考433
实验14串口透传无线QQ实验434
习题与思考441
实验15基于GenericApp无线收发实验442
习题与思考449
实验16新建一个自己的ZStack工程实验450
习题与思考453
实验17协议捕捉与分析实验454
习题与思考457
实验18SUSTEB2530路由器编译实验458
习题与思考462
实验19协议栈读MQ2浓度模拟量实验463
习题与思考466
实验20协议栈读光敏光强模拟量实验467
习题与思考468
实验21协议栈RFID射频卡实验469
习题与思考470
实验22ZigBee管理系统实验471
附录A开发板图474
附录B硬件原理图475
附录C网络层所定义的特性常量484
附录D常用术语英汉对照表488
参考文献493