基于Zigbee的无线温度采集系统设计.docx
- 文档编号:30774430
- 上传时间:2023-08-23
- 格式:DOCX
- 页数:19
- 大小:202.96KB
基于Zigbee的无线温度采集系统设计.docx
《基于Zigbee的无线温度采集系统设计.docx》由会员分享,可在线阅读,更多相关《基于Zigbee的无线温度采集系统设计.docx(19页珍藏版)》请在冰豆网上搜索。
基于Zigbee的无线温度采集系统设计
基于Zigbee的无线温度采集系统设计
单位代码:
005
分类号:
TP
延安大学西安创新学院
本科毕业论文(设计)
题目:
基于ZigBee的无线温度采集
系统设计
专业:
电子信息工程
姓名:
学号:
指导教师:
职称:
讲师
毕业时间:
二〇一三年六月
1概述
1.1选题背景
温度是工业、农业生产中常见的和最基本的参数之一,在生产过程中常需对温度进行检测和监控,采用微型机进行温度检测、数字显示、信息存储及实时控制,对于提高生产效率和产品质量、节约能源等都有重要的作用。
伴随工业科技、农业科技的发展,温度测量需求越来越多,也越来越重要。
但是在一些特定环境温度监测环境范围大,测点距离远,布线很不方便。
这时就要采用无线方式对温度数据进行采集。
1.2选题研究的目的和意义
无线网络技术按照传输范围来划分,可分为无线广域网、无线城域网、无线局域网和无线个人域网。
无线个人域网即短距离无线网络,典型的短距离无线传输技术有:
蓝牙(Bluetooth)、ZigBee、WiFi等。
在工业控制、家庭自动化和遥测遥感领域,蓝牙(Bluetooth)虽然成本较低,成熟度高,但是传输距离有限,仅为10米,可以参与组网的节点少。
WiFi虽然传输速度较快,传输距离达到100米,但是其价格偏高,功耗较大,组网能力较差。
相比之下ZigBee技术具有低成本、低功耗、近距离、短时延、高容量、高安全及免执照频段等优势,广泛应用于智能家庭、工业控制、自动抄表、医疗监护、传感器网络应用和电信应用等领域。
2方案选择
温度检测系统有则共同的特点:
测量点多、环境复杂、布线分散、现场离监控室远等。
若采用一般温度传感器采集温度信号,则需要设计信号调理电路、A/D转换及相应的接口电路,才能把传感器输出的模拟信号转换成数字信号送到计算机去处理。
这样,由于各种因素会造成检测系统较大的偏差;又因为检测环境复杂、测量点多、信号传输距离远及各种干扰的影响,会使检测系统的稳定性和可靠性下降。
所以温度检测系统的设计的关键在于两部分:
温度传感器的选择和主控单元的设计。
温度传感器应用范围广泛、使用数量庞大,也高居各类传感器之首。
2.1传感器的选择
方案一:
采用热敏电阻,可满足40摄氏度至90摄氏度测量范围,但热敏电阻精度、重复性、可靠性较差,对于检测1摄氏度的信号是不适用的。
方案二:
采用单片模拟量的温度传感器,比如AD590,LM35等。
但这些芯片输出的都是模拟信号,必须经过A/D转换后才能送给计算机,这样就使得测温装置的结构较复杂。
另外,这种测温装置的一根线上只能挂一个传感器,不能进行多点测量。
即使能实现,也要用到复杂的算法,一定程度上也增加了软件实现的难度。
方案三:
采用数字温度传感器DS18B20测量温度,输出信号全数字化。
便于单片机处理及控制,省去传统的测温方法的很多外围电路。
且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线性度较好。
在0~100摄氏度时,最大线形偏差小于1摄氏度。
DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS1820和微控制器STC89C52构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。
这样,测温系统的结构就比较简单,体积也不大。
采用温度芯片DS18B20测量温度,可以体现系统芯片化这个趋势。
部分功能电路的集成,使总体电路更简洁,搭建电路和焊接电路时更快。
而且,集成块的使用,有效地避免外界的干扰,提高测量电路的精确度。
所以集成芯片的使用将成为电路发展的一种趋势。
本方案应用这一温度芯片,也是顺应这一趋势。
2.2主控部分的选择
方案一:
采用STC89C52单片机实现。
单片机软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制。
而且体积小,硬件实现简单,安装方便。
可以单独对多DS18B20控制工作,进行温度数据采集,组成温度测量的巡回检测系统,实现远程控制。
另外STC89C52在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。
方案二:
使用MSP430作控制器,德州仪器(TI)的超低功率16位RISC混合信号处理器MSP430产品系列为电池供电测量应用提供了最终解决方案。
作为混合信号和数字技术的领导者,TI创新生产的MSP430,使系统设计人员能够在保持独一无二的低功率的同时同步连接至模拟信号、传感器和数字组件。
但在温度采集和实施控制这个重要的场合低功耗相对来说显得就不是那么重要了,而应该考虑它的稳定性、准确性,同时对比STC89C52能够在性能和资源都可以到达一个最佳的状态,可以避免用MSP430的不必要的资源浪费。
综上,我们传感器采用方案三,控制器采用方案一。
2.3系统整体介绍
本设计所实现的无线温度采集系统以STC89C52单片机为核心,通过温度传感器、单片机、Zigbee无线模块,完成对温度的采集与显示。
首先利用温度采集系统完成温度的采集,然后利用数据转换模块完成了I/O口数据与串口数据的转换,再通过无线发送与接收模块完成数据的无线发、收,最终通过温度显示模块完成了显示温度传感器所采集的温度值。
系统框图如下所示:
图2-1温度采集系统框图
3系统的硬件设计
3.1传感器DS18B20温度传感器
DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。
主要根据应用场合的不同而改变其外观。
封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。
耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。
DS18B20的主要特性:
1、适应电压范围更宽,电压范围:
3.0~5.5V,在寄生电源方式下可由数据线供电;
2、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯;
3、DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温;
4、DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内;
5、温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃;
6、可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温;
7、在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快;
8、测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力;
9、负压特性:
电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
DS18B20引脚封装如下图
图3-1DS18B20引脚图
3.2ZigBee协议
3.2.1ZigBee概述
ZigBee一词来源于蜜蜂赖以生存的通信方式Zigzag形状的舞蹈,是一种低成本、低功耗的近距离无线组网通信技术。
ZigBee协议是基于IEEE802.15.4标准的,由IEEE802.15.4和ZigBee联盟共同制定。
IEEE802.15.4工作组制定ZigBee协议的物理层(PHY)和媒体访问控制层(MAC层)协议。
ZigBee联盟成立用于2002年,定义了ZigBee协议的网络层(NWK)、应用层(APL)和安全服务规范。
协议栈结构如图3-2。
应用层(含应用接口层)
用户
安全层
ZigBee联盟
网络层
MAC层
IEEE802.15.4
物理层
图3-2ZigBee协议栈结构
ZigBee协议由物理层(PHY)、介质访问控制子层(MAC)、网络层(NWK),应用层(APL)及安全服务提供层(SSP)五块内容组成。
其中PHY层和MAC层标准由IEEE802.15.4标准定义,MAC层之上的NWK层,APL层及SSP层,由ZigBee联盟的ZigBee标准定义。
APL层由应用支持层(APS),应用框架(AF)以及ZigBee设备对象(ZDO)及ZDO管理平台组成。
PHY层定义了无线射频应该具备的特征,提供了868MHz-868.6MHz、902MHz-928MHz和2400MHz-24835MHz三种不同的频段,分别支持20kbps、40kbps和250kbps的传输速率,1个、10个以及16个不同的信道Ⅲ。
ZigBee的传输距离与输出功率和环境参数有关,一般为10~100米之间。
PHY层提供两种服务:
PHY层数据服务和PHY层管理服务,PHY层数据服务是通过无线信道发送和接收物理层协议数据单元(PPDU),PHY层的特性是激活和关闭无线收发器、能量检测、链路质量指示、空闲信道评估、通过物理媒介接收和发送分组数据。
MAC层使用CSMA-CA冲突避免机制对无线信道访问进行控制,负责物理相邻设备问的可靠链接,支持关联(Association)和退出关联(Disassociation)以及MAC层安全。
MAC层提供两种服务:
MAC层数据服务和MAC层管理服务,MAC层数据服务通过物理层数据服务发送和接收MAC层协议数据单元(MPDU)。
MAC层的主要功能是:
进行信标管理、信道接入、保证时隙(GTS)管理、帧确认应答帧传送、连接和断开连接。
NWK层提供网络节点地址分配,组网管理,消息路由,路径发现及维护等功能。
NWK层主要是为了确保正确地操作IEEE802.15.4.2003MAC子层和为应用层提供服务接口。
NWK层从概念上包括两个服务实体:
数据服务实体和管理服务实体。
NWK层的责任主要包括加入和离开一个网络用到的机制、应用帧安全机制和他们的目的地路由帧机制,ZigBee协调器的网络层还负责建立一个新的网络。
ZigBee应用层包括应用支持子层(APS子层)、应用框架(AF)和ZigBee设备对象(ZDO)。
APS子层负责建立和维护绑定表,绑定表主要根据设备之间的服务和他们的需求使设备相互配对。
ZigBee的应用框架(AF)为各个用户自定义的应用对象提供了模板式的活动空间,并提供了键值对(KVP)服务和报文(MSG)服务供应用对象的数据传输使用。
一个设备允许最多240个用户自定义应用对象,分别指定在端点l至端点240上。
ZDO可以看成是指配到端点O上的一个特殊的应用对象,被所有ZigBee设备包含,是所有用户自定义的应用对象调用的一个功能集,包括网络角色管理,绑定管理,安全管理等。
ZDO负责定义设备在网络中的角色(例如是ZigBee协调器或者ZigBee终端设备)、发现设备和决定他们提供哪种应用服务,发现或响应绑定请求,在网络设备之间建立可靠的关联。
安全服务提供者SSP(SecurityServiceProvider)向NWK层和APS层提供安全服务。
ZigBee协议层与层之间是通过原语进行信息的交换和应答的。
大多数层都向上层提供数据和管理两种服务接口,数据SAP(ServiceAccessPoint)和管理SAP(ServiceAccessPoint)。
数据服务接口的目标是向上层提供所需的常规数据服务,管理服务接口的目标是向上层提供访问内部层参数、配置和管理数据的机制。
3.2.2ZigBee网络基础
ZigBee网络基础主要包括设备类型,拓扑结构和路由方式三方面的内容,ZigBee标准规定的网络节点分为协调器(Coordinator)、路由器(Router)和终端节点(EndDevice)。
节点类型是网络层的概念,反映了网络的拓扑形式。
ZigBee网络具有三种拓扑形式:
星型拓扑、树型拓扑、网状拓扑。
3.2.3工作模式
ZigBee网络的工作模式可以分为信标(Beacon)模式和非信标(Non-beacon)模式两种。
信标模式可以实现网络中所有设备的同步工作和同步休眠,以达到最大限度地节省功耗,而非信标模式只允许ZE进行周期性休眠,协调器和所有路由器设备长期处于工作状态。
在信标模式下,协调器负责以一定的间隔时间(一般在15ms--4mins之间)向网络广播信标帧,两个信标帧发送间隔之间有16个相同的时槽,这些时槽分为网络休眠区和网络活动区两个部分,消息只能在网络活动区的各个时槽内发送。
非信标模式下,ZigBee标准采用父节点为子节点缓存数据,终端节点主动向其父节点提取数据的机制,实现终端节点的周期性(周期可设置)休眠。
网络中所有的父节点需要为自己的子节点缓存数据帧,所有子节点的大多数时间都处于休眠状态,周期性的醒来与父节点握手以确认自己仍处于网络中,并向父节点提取数据,其从休眠模式转入数据传输模式一般只需要15ms。
3.2.4ZigBee无线组网及数据通信
ZigBee通信协议采用分层结构,节点通过在不同层上的特定服务来完成所要执行的各种任务。
本系统采用TI提供的ZigBee2006协议栈Z-Stack,在IEEE802.15.4标准物理层(PHY)和媒体访问控制层(MAC)基础上增加了网络层、应用层和安全服务规范,是一种较好的无线传感网络组建方案。
ZigBee设备类型按网络功能分为三种:
协调器、路由器、终端。
由于本系统采用星型网络拓扑结构,所以只存在协调器和终端两种设备。
本系统中主节点被初始化为网络协调器。
协调器包含所有的网络消息,存储容量最大、计算能力最强。
它的功能是发送网络信标、建立网络、管理网络节点、存储网络节点信息、收发信息。
从节点被初始化为无信标网络中的终端设备。
上电复位后,即开始搜索指定信道上的网络协调器,并发出连接请求。
建立连接成功后,数据从括从节点编号,CC2530的I/O口编号以及此温度传感器的编号,后2个字节为温度采集数据。
主节点收到数据包后,对数据进行分析处理,把从节点上的温度传感器的数据采集值进行转换,得到实际的温度值,然后发送给上温度显示部分。
3.3CC2530芯片
3.3.1CC2530概述
CC2530是一颗真正的系统芯片(SoC)CMOS解决方案。
这种解决方案能够提高性能并满足以ZigBee为基础的2.4GHzISM波段应用,及对低成本,低功耗的要求。
它结合一个高性能2.4GHzDSSS(直接序列扩频)射频收发器核心和一颗工业级小巧高效的8051控制器。
图3-3CC2530引脚排列图
CC2530包括了1个高性能的2.4GHzDSSS(直接序列扩频)射频收发器核心和1个8051控制器,它具有32/64/128kB可选择的编程闪存和8kB的RAM,还包括ADC、定时器、睡眠模式定时器、上电复位电路、掉电检测电路和21个可编程I/O引脚,这样很容易实现通信模块的小型化。
CC2530是一款功耗相当低的单片机,功耗模式3下电流消耗仅0.2μA,在32k晶体时钟下运行,电流消耗小于1μA。
3.3.2CC2530芯片的主要特点
CC2530芯片延用了以往CC2420芯片的架构,在单个芯片上整合了ZigBee射频(RF)前端、内存和微控制器。
它使用1个8位MCU(8051),具有128KB可编程闪存和8KB的RAM,还包含模拟数字转换器(ADC)、几个定时器(Timer)、AES128协同处理器、看门狗定时器(Watchdogtimer)、32kHz晶振的休眠模式定时器、上电复位电路(PowerOnReset)、掉电检测电路(Brownoutdetection),以及21个可编程I/O引脚。
CC2530芯片采用0.18μmCMOS工艺生产;在接收和发射模式下,电流损耗分别低于27mA或25mA。
CC2530的休眠模式和转换到主动模式的超短时间的特性,特别适合那些要求电池寿命非常长的应用。
3.4STC89C52单片机的介绍
STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
具有以下标准功能:
8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。
另外STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
最高运作频率35MHz,6T/12T可选。
各引脚功能,P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个ttl逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个ttl逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/t2)和时器/计数器2的触发输入(P1.1/t2ex),具体如下表所示。
在flash编程和校验时,P1口接收低8位地址字节。
引脚号第二功能:
P1.0t2(定时器/计数器t2的外部计数输入),时钟输出。
P1.1t2ex(定时器/计数器t2的捕捉/重载触发信号和方向控制)。
P1.5MISO(在线系统编程用)。
P1.6MISO(在线系统编程用)。
P1.7SCK(在线系统编程用)。
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个ttl逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行movx@dptr)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如movx@ri)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个ttl逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)。
P3口亦作为STC89C52特殊功能(第二功能)使用,如下表所示。
在flash编程和校验时,P3口也接收一些控制信号。
端口引脚第二功能:
P3.0RXD(串行输入口)。
P3.1TXD(串行输出口)。
P3.2INT0(外中断0)。
P3.3INT1(外中断1)。
P3.4T0(定时/计数器0)。
P3.5T1(定时/计数器1)。
P3.6WR(外部数据存储器写选通)。
P3.7RD(外部数据存储器读选通)。
此外,P3口还接收一些用于flash闪存编程和程序校验的控制信号。
RST——复位输入。
当振荡器工作时RST引脚出现两个机器周期以上高电平将是单片机复位。
ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8eh单元的d0位置位,可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置A禁止位无效。
PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当STC89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接VCC端),CPU则执行内部程序存储器的指令。
flash存储器编程时,该引脚加上+12V的编程允许电源VCC,当然这必须是该器件是使用12V编程电压VCC。
图3-4STC89C52引脚图
3.512864液晶显示
12864是128*64点阵液晶模块的点阵数简称,它是带有中文字库的128X64的液晶显示,是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
可以显示8×4行16×16点阵的汉字.也可完成图形显示.低电压低功耗是其又一显著特点。
由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
因此,现在大多用户都采用此液晶显示。
4主程序的设计
1、设计分为两个部分,即发射部分和接收部分。
发射部分完成温度的数据采集和处理后发射数字信号;接收部分完成数字信号接收后进行数据处理和显示。
2、芯片工作前进行相应的初始化操作,并绘制总体流程图。
图4-1软件设计流程图
4.1.系统测试
4.1.1系统测试步骤
1、检查开发板电源、串口线以及外扩设备连接是否正常。
2、下载协调器代码到开发系统的表演板。
3、用串口调试助手观察协议栈运行是否正常。
4.1.2系统的硬件测试、协议栈的测试、液晶的测试
系统的硬件测试包括对开发平台的电源、内存、LED灯、串口,以及配套电路进行测试。
下载各模块的程序后,系统各硬件均能正常工作。
下载协调器模块到表演板、节点模块到电池板后,程序运行正确,从串口能正确接收到节点的地址以及所采集到的温度。
打开液晶显示模块软件,从串口读入当前温度值,能够实时显示温度。
4.1.3系统测试结果分析
经测试,系统软硬件均工作正常,实现了需求中的绝大部分功能。
网络功能方面,充分发挥了ZigBee的强大的优势,网络健壮。
测试中,温度传感器采集的是室温,所测得的温度值与室温基本一致。
上位机也顺利的显
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Zigbee 无线 温度 采集 系统 设计