资源描述
湖南大学毕业设计(论文) 第 33 页
HUNAN UNIVERSITY
毕业设计(论文)
设计论文题目:
基于ZigBee的多点温度
采集系统设计与实现
学生姓名:
宋强军
学生学号:
20070820317
专业班级:
通信工程三班
学院名称:
信息科学与工程学院
指导老师:
肖玲
学院院长:
章兢
2011 年6 月 1 日
基于ZigBee的多点温度采集系统设计与实现
摘要
随着生产技术的发展,温度数据检测技术广泛应用于工业远程控制系统,并逐步显示出远程和网络的特性。传统的温度采集系统,主要方式是有线连接节点,此方法的特点是布局复杂和可扩展性差。事实上,在某些领域有线连接方式甚至不能应用。因此,最理想的方法是采用无线连接收集和传送数据。作为新兴的短距离,低功耗低成本的无线通信技术,zigbee已广泛应用于工业控制,消费性电子,家电自动化,医疗监控等领域。
本文在对无线传感器及其网络协议技术分析的基础上,设计出一种基于zigbee为基础的无线温度采集系统。用基于zigbee网络的无线方式通过温度测量节点收集温度数据。通过串口通信线路连接主要节点和前端电脑。然后,电脑存储温度数据至数据库,以便实现数据的统一管理。论文首先介绍了Zigbee技术研究内容以及无线传感器网络的研究现状。随后总结了Zigbee技术的优点,接下来对Z-Stack协议栈结构进行了分析。接着介绍了系统的硬件和软件设计。首先从硬件方面论述了温度传感器模块、数据汇聚模块的系统构成。接着论述了系统的软件设计,主要对上位机用户监控界面的设计和温度传感器模块、数据汇聚模块的设计这三部分进行了介绍。数据汇聚模块实现组建网络、分配网络地址的功能,温度传感器模块实现加入网络、数据采集、数据存储、数据上传、通信、等功能。
关键词:Zigbee,无线传感器网络,多点温度采集,Z-Stack
Design and Realization of Multi-Node Temperature
Acquisition System Based on ZigBee
Abstract
With the development of producing technology, monitoring techniques of temperature data are being applied to all kinds of industrial process control systems and gradually showing the feature of far-distant and networking. In the traditional temperature acquisition system, the method to connect nodes is wired, this way possesses the characteristic of complex layout and poor extensibility. In fact, the wired way even cannot be utilized in some application. Therefore, the ideal way to collect and transmit data is employing wireless connection. As a kind of emerging short-distant, low-power consumption and low-cost wireless communication technology, ZigBee has be widely introduced to industry controlling, consumer electronics, appliance automation, medical monitoring and so on.
In this Paper,on the basis of the wireless sensor network Protocol analysis technology,, a kind of temperature acquisition system which based on ZigBee wireless transmission technology is designed in this article, the temperature data collected through the temperature measuring nodes is transmitted to the major-node by ZigBee network in a wireless method, the major-node communicates with the upper computer through the serial port line, thereafter, the PC stores the temperature data into the database in order to realizing the uniformly control of the data. Firstly, the general research situation in the field of Zigbee and the development trend are reviewed. It also reviews the research content of the WSN. Then the paper discusses the network Structure .Following the paper takes an in-depth study of the Z-Stack designed by TI. In the field of hardware design ,the structure of modules is described in details including the temperature sensor module and the data acquisition module .In the software design ,GUI and module’s software are discussed, which includes the formation of networks ,address assignment ,join the network ,data acquisition, data storage ,data upload, communication.
Key words: Zigbee, wireless sensor network, Multi-Node Temperature Acquisition ,Z-Stack
目录
1 绪论 1
1.1无线传感器网络 1
1.1.1无线传感器网络概况 1
1.1.2无线传感器网络应用现状 2
1.1.3无线传感器网络未来展望 2
1.2基于Zigbee技术的无线传感器网络 2
1.3本文主要结构 3
2 TI Z-Stack协议栈 4
2.1 Zigbee协议介绍 4
2.1.1 Zigbee协议栈结构 4
2.2 Zigbee网络拓扑结构 6
2.3 Z-Stack协议栈介绍 7
2.3.1网络寻址 7
2.3.2绑定 9
2.3.3路由协议 9
2.3.4消息发送函数 9
2.3.5网络的组建过程 10
2.3.6消息接收函数 10
2.4本章小结 11
3 系统介绍 13
3.1系统的整体介绍 13
3.2系统硬件介绍 13
3.2.1主要硬件简介 13
3.2.2温度传感器模块电路原理图 15
3.2.3数据汇聚模块(协调器) 18
4 软件设计实现 19
4.1上位机(PC机)监控界面 19
4.2模块的软件设计 20
4.2.1数据汇聚模块(协调器)的软件设计 22
4.2.2温度传感器模块(终端节点)的软件设计 26
4.3 本章小结 29
5 总结与展望 30
5.1总结 30
5.2展望 30
致谢 32
参考文献 33
1 绪论
1.1无线传感器网络
1.1.1无线传感器网络概况
无线传感器网络与传统的网络不同,它是以数据为中心的自组织无线网络,网络的节点部署密集,网络拓扑结构动态变化。
无线传感器网络与现有的传感器系统相比,具有以下几个特点:
第一,无线传感器网络节点需要工作在低功耗的状态。在无线传感器网络中,由于节点体积较小,限制了每个节点的能源是十分有限的,而且受工作环境等因素的影响,更换电源的成本很高,只要电源耗尽,节点的功能就会失效。当大部分节点能源耗尽退出工作状态时,整个网络也就处于瘫痪状态了。所以只有减小节点功耗,才能延长网络的寿命。
第二,无线传感器网络具有自组织的特点。相对与有线网络,无线传感器网络基本不需要人工干预。通常情况下,各个节点可以相互协作建立它们之间的连接,完成网络的初始化、启动监测任务、网络的故障自我修复等一系列工作。要实现上述功能,网络必须具备自组织的能力,即各个传感节点能够感知相邻节点工作状态的变化,通过相互通信得知网络拓扑结构的变化,维护网络结构的正常运行,适应网络的动态性。
第三,无线传感器网络节点部署具有分布性。通过部署大量的传感节点,各个节点对其附近的区域进行监测,全部的节点可以对整个完整区域进行监控。区域的空间越大,它各个部分的环境信息的差异也会越明显,在这种情况下,局部节点监测到的信息是不能够代表整个区域的情况。由于传感器节点具有成本较低的优势,我们可以大量部署此类节点在整个监测区域内,使得监测区域的每个角落都可以被覆盖住,这样就可以获得比较准确的整体信息,通过一些相应的数据融合算法,可以宏观把握整个区域的完整信息。
第四,无线传感器网络的数据处理具有分布性。它是以数据为中心的网络,而不是以通信为中心的。在无线传感器网络的数据处理过程中,不是把每一个传感节点的数据汇总到中心节点来进行处理的,每个节点都具备数据处理能力,它们将先对数据进行处理,然后再传输到数据中心节点。这样既减少了网络流量,也降低了功耗,减少了数据的冗余度[1]。
1.1.2无线传感器网络应用现状
最近几年,由于成本的降低,无线传感器网络已经大规模应用在如下几个领域中:
1)环境监测
由于环境污染问题日益突出,人们对与环境的保护越来越关注,对于环境的监测需求相应增加。无线传感器网络为环境监测时采集数据提供了便利,并且还可以减少对环境的破坏。无线传感器网络可以跟踪候鸟和昆虫的迁移,研究环境变化对农作物的影响,监测海洋、大气和土壤的成分等。
2)医疗护理
无线传感器网络也可以应用在医疗研究和护理领域。英特尔公司推出了无线传感器网络的家庭护理技术。该系统通过在鞋、家具以家用电器等家用设备中嵌入半导体传感器,帮助老龄人士、阿尔茨海默氏病患者以及残障人士的家庭生活。
3)军事领域
由于无线传感器网络节点造价低廉,可以密集随机的分布在各种恶劣的战场环境中,包括侦察敌情、监控兵力、装备和物资,判断生物化学攻击等多方面用途。
目前无线传感器网络还存在着如下问题:
1)网络内节点的通信问题。传感器节点在正常通信过程中,信号可能被一些障碍物阻挡而受到影响,怎样提高传感器节点的穿透性是亟待解决的问题。
2)延长传感器网络的使用寿命。现在一般使用高能电池、降低传感节点的功耗两种方式来解决这个问题。此外还有传感器网络的自我能量收集技术和电池无线充电技术,但这两项技术尚在研究中,还不成熟。
1.1.3无线传感器网络未来展望
无线传感器网络有着十分广泛的应用前景,除了在工业、农业、军事、环境、医疗等领域有具有巨大的运用价值,在未来还将在许多新兴领域体现其优越性,如家用、保健、交通等领域。将来微型传感器可以将家用电器等其他日常用品同互联网相连,对这些设备进行远距离控制,这样有利于家庭的安全调控、节电。
1.2基于Zigbee技术的无线传感器网络
长期以来,低成本、低传输率、低功耗、短距离的无线通讯市场一直存在。蓝牙(Bluetooth)、WIFI由于售价一直居高不下,严重影响了它们应用的广泛性。然而,无线传感器网络的研究与发展,催生了许多新的网络协议与标准。2001年8月,ZigBee联盟成立。ZigBee技术具有以下的特点[2]:
1)低功耗:ZigBee的传输速率很低,只有250kbps,发射功率仅为0dbm,而且可以进入低功耗的休眠模式。ZigBee设备仅靠两节5号电池就可以维持长达一年甚至更长时间,这是它相比与其他设备的优势所在。
2)成本低:ZigBee模块的初始成本在6美元左右,估计很快就能降到1.5~2.5美元。
3)时延短:通信时延和从休眠状态激活的时延都非常短,典型的搜索设备时延为30ms,休眠激活的时延是15ms,活动设备信道接入的时延为15ms。
4)网络容量大:根据ZigBee协议的16位短地址定义,一个ZigBee网络最多可以容纳65535个节点,而且还可以通过64位的IEEE地址进行扩展。
5)可靠、安全:采用了CSMA-CA机制,同时为固定节点预留了GTS,避开了发送数据时的冲突。ZigBee提供了基于循环冗余校验的数据包完整性检查功能,采用高级加密标准(Advanced Encryption Standard,AES)进行加密,每个具体的应用还可以人为的控制节点的组网方式和入网方式。
1.3本文主要结构
第一章首先对无线传感器网络做了简要的介绍,接着论述了无线传感器网络的应用现状和基于Zigbee技术的无线传感器网络的特点,最后对本课题的提出和本文所做的工作做了说明和总结。
第二章首先介绍了Zigbee技术体系结构。然后对Z-Stack的功能及其实现进行了论述,这些功能包括地址分配、寻址,节点绑定,路由选择机制以及路由维护,配置PANID,选择网络加入等几个方面。
第三章对系统整体方案进行了论述,包括硬件介绍和软件设计。硬件主要介绍数据汇聚模块,温度传感器模块;软件设计包括上位机界面设计、数据汇聚模块、温度传感器模块的软件设计。
2 TI Z-Stack协议栈
2.1 Zigbee协议介绍
2.1.1 Zigbee协议栈结构
Zigbee协议栈定义了四层。物理层和媒体访问控制层由IEEE802.15.4-2003定义,上层的网络层和应用层由Zigbee联盟定义。应用层分别包括ZDO(Zigbee设备对象),APS(应用支持子层)和AF(应用框架)组成。Zigbee协议栈每一层负责完成所规定的任务,并且向上层提供服务,各层之间的接口通过所定义的逻辑链路来提供服务[3]。
图2.1 Zigbee协议栈结构图
1) 物理层
物理层由半双工的无线收发器及其接口组成,主要作用是激活和关闭射频收发器;检测信道的能量;显示收到数据包的链路质量;空闲信道评估;选择信道频率;数据的接受和发送。
2) 媒体访问控制层
媒体访问控制(MAC)层建立了一条节点和与其相邻的节点之间可靠的数据传输链路,共享传输媒体,提高通信效率。在协调器的MAC层,可以产生网络信标,同步网络信标;支持Zigbee设备的关联和取消关联;支持设备加密;在信道访问方面,采用CSMA/CA信道退避算法,减少了碰撞概率;确保时隙分配(GTS);支持信标使能和非信标使能两种数据传输模式,为两个对等的MAC实体提供可靠连接。
2) 网络层
基于底层的可靠通信,提供路由、路由发现、多跳、转发的功能。Zigbee网络可以组成星型、簇树型或MESH型网络。对于终端节点而言,网络层的功能只是加入和离开网络;对于路由器而言,网络层的功能是信息的转发,路由发现,建立和维护路由表和邻居表,以及构造到某节点的路由任务;而协调器网络层的任务主要包括启动和维护网络正常工作,为新加入的节点分配网络地址。
3) 应用层
应用层包括三部分:应用支持子层(APS)、Zigbee设备对象(ZDO)和应用框架(AF)。应用支持子层的任务是提取网络层的信息并将信息发送到运行在节点上的不同应用端点。应用支持子层维护了一个绑定表,可以定义、增加或移除组信息;完成64位长地址(IEEE地址)与16位短地址(网络地址)一对一映射;实现传输数据的分割与重组;应用支持子层连接网络层和应用层,是它们之间的接口。这个接口由两个服务实体提供:APS数据实体(APSDE)和APS管理实体(APSME)。APS数据实体为网络中的节点提供数据传输服务,它会拆分和重组大于最大荷载量的数据包。APS管理实体提供安全服务,节点绑定,建立和移除组地址,负责64位IEEE地址与16位网络地址的地址映射[4]。
Zigbee设备对象负责设备的所有管理工作,包括设定该设备在网络中的角色(协调器、路由器或终端设备),发现网络中的设备,确定这些设备能提供的功能,发起或响应绑定请求,完成设备之间建立安全的关联等。用户在开发Zigbee产品时,需要在Zigbee协议栈的AF上附加应用端点,调用ZDO功能以发现网络上的其他设备和服务,管理绑定、安全和其他网络设置。ZDO是一个特殊的应用对象,它驻留在每一个Zigbee节点上,其端点编号固定为0。
AF应用框架是应用层与APS层的接口。它负责发送和接收数据,并为接收到的数据寻找相应的目的端点。
2.2 Zigbee网络拓扑结构
Zigbee的拓扑结构可以为以下三种:星型、簇树型和MESH型。星型拓扑网络结构网络由协调器组建和维护,其他的设备都是终端设备,都直接与协调器一对一通信。在簇树型和MESH型拓扑网路结构中,协调器负责组建网络并决定一些关键的网络参数,如网络ID,网络使用的信道等。网络中主要通过路由器来拓展网络覆盖范围。树型网络中,路由器发送数据是通过层次的路由方法。树型网络可以使用网络信标通信,路由器和终端节点以跟踪信标的方式与协调器通信;也可以使用非信标方式通信,终端节点定时轮询路由器或协调器来提取自己的信息。MESH型网络可以进行点对点对等交流,但是不能使用信标。Zigbee设备都有一个64位的IEEE地址,IEEE地址是唯一的绝对地址,设备可以用这个地址在PAN中进行通信,但在设备加入网络后,协调器后会为它分配一个16位的网络地址,网络地址只在该网络内是唯一的,是相对地址,设备也可以用这个网络地址在PAN内进行通信。
从物理功能上分,设备的类型可以分为2种。一种是具有全功能设备(Full Function
Device,FFD),另一种是精简功能设备(Reduced Function Device,RFD)。在PAN(PersonalArea Network)中,全功能设备可以作为PAN的协调器,路由器或作为一个终端设备。一个全功能设备可以同时和多个精简功能设备或全功能设备通信;对于一个精简功能设备来说,它只能和一个全功能进行通信[5]。
图2.2星型和簇树型网络拓扑结构
2.3 Z-Stack协议栈介绍
TI公司的协议栈Z-Stack符合ZigBee2006规范,功能强大,协议栈底层已实现,对于简单的应用,开发者只需要在应用层开发即可。Z-Stack还可通过ZigBee网络无线下载节点更新程序,具备定位感知功能等等。下面对Z-Stack的功能进行介绍。
2.3.1网络寻址
Z-Stack使用一种分布式的地址分配方式来分配网络地址,这种方式确保所有的网络地址在网络中是唯一的。网络地址是由设备的父节点分配的。通过在Z-Stack中网络层中相关位置的三个参数,包括最大深度(MAX_DEPTH)、最大子节点数(MAX_CHILDREN)和最大路由器数量(MAX_ROUTERS)按照以下地址分配算法可得到相应的网络地址[6]。
第n个终端设备的网络地址为:
其中:表示第n个终端设备的父设备网络地址;
n的取值范围:;
;
;
;
如果;
如果;
MAX_DEPTH指网络的层数。协调器在第0层的深度,它的子节点在第一层,以下就是第二层,以此类推。这个参数限定了网络结构的最大深度。MAX_CHILDREN决定了协调器或者路由器可以有几个孩子节点。孩子节点可以是路由器或者是终端设备。MAX_ROUTERS数决定了协调器或者路由器下面可以有几个路由器子节点。终端设备的个数=MAX_CHILDREN-MAX_ROUTERS。在Z-Stack中网络结构和网络深度可在nwk_globals.c文件中设置,默认设置为HOME_CONTROLS。
#if(STACK_PROFILE_ID==HOME_CONTROLS)
byte CskipRtrs[MAX_NODE_DEPTH+1]={6,6,6,6,6,0};
byte CskipChldrn[MAX_NODE_DEPTH+1]={20,20,20,20,20,0};
#elif(STACK_PROFILE_ID==GENERIC_STAR)
byte CskipRtrs[MAX_NODE_DEPTH+1]={5,5,5,5,5,0};
byte CskipChldrn[MAX_NODE_DEPTH+1]={5,5,5,5,5,0};
#elif(STACK_PROFILE_ID==NETWORK_SPECIFIC)
byte CskipRtrs[MAX_NODE_DEPTH+1]={5,5,5,5,5,0};
byte CskipChldrn[MAX_NODE_DEPTH+1]={5,5,5,5,5,0};
#endif//STACK_PROFILE_ID
目的地址模式有如下几种值:AddrNotPresent(地址未知模式),Addr16Bit(短地址模式),AddrBroadcast(广播模式)。这些地址模式都是必要的,因为在ZigBee中,数据包可以是点对点发送(unicast),多点发送(multicast),也可以是广播式发送(broadcast)。接下来对各种传输模式进行简要的介绍[7]。
1、一对一模式
一对一模式是在已知目的地址的情况下使用这种方式。在发送数据的时候会包含目的地址信息。在Z-Stack中的寻址方式可以这样来设置:
GenericApp_DstAddr.addrMode=Addr16Bit;//以网络地址为目的地址进行寻址
GenericApp_DstAddr.endPoint=10;//目的节点的端口号为10
GenericApp_DstAddr.addr.shortAddr=0x796f;//目的节点的网络地址
2、广播模式
广播模式是将数据发送给网络中所有的节点。在程序中地址模式设定AddrBroadcast。在Z-Stack中的寻址方式可以这样来设置:
GenericApp_DstAddr.addrMode=AddrBroadcast;//以广播的方式进行寻址
GenericApp_DstAddr.endPoint=10;//目的节点的端口号为10
GenericApp_DstAddr.addr.shortAddr=0xffff;//目的节点的网络中所有的节点
GenericApp_DstAddr.addr.shortAddr=0xfffd;//目的节点为网络中非睡眠节点
3、间接接模式
当地址模式设置为AddrNotPresent,说明发送的信息都是发给协调器的,在协调器的绑定表中查找相应目的地址进行一对一的数据发送。
GenericApp_DstAddr.addrMode=(afAddrMode_t)AddrNotPresent;
GenericApp_DstAddr.endPoint=10;
GenericApp_DstAddr.addr.shortAddr=0;//协调器的网络地址固定为0x0000;
2.3.2绑定
绑定是指一个节点与另外一个或几个节点间建立地址映射的一种寻址方式。在节点建立绑定之后,发送数据的时候并不需要知道目的地址是什么,应用支持子层会根据绑定ID查询它的绑定表来决定目的地址,然后把信息发送给目的节点。
在Z-Stack中,绑定是通过如下函数实现的:
dstAddr.addrMode=Addr16Bit;//首先设置寻址模式为网络地址寻址
dstAddr.addr.shortAddr=0x0000;//目的地址为协调器的网络地址
ZDP_EndDeviceBindReq();//发起绑定请求
2.3.3路由协议
ZigBee的路由协议是基于Ad Hoc按需距离矢量路由协议AODV(Ad hoc On demandDistance Vector),支持在环境中移动、连接失败和包丢失的环境应用,它极大的增强了无线传感器网络的可靠性。
当一个路由器收到从一个节点发往另一个节点的数据包,网络层根据以下步骤来转发这个包:如果目的地是这个路由的邻居(包括是其子节点),这个包将被直接发送的目的地;否则,这个路由器将检查自己的路由表来找到相应的目的地的路由表记录。如果有一个动态路由表记录,这个包将转发到路由表记录的下一跳地址;如果没有,将执行一个路由发现过程,过程结束后这个包才会被发送。ZigBee网络路由具有自我修复的功能,如果某一路连接断掉了,将启用路由发现过程,发现一条新链路到目的节点。
ZigBee的终端设备不执行任何的路由功能。如果它想发送一个包给任何的其他设备,它必须通过它的父节点来转发。同样的,当任何一个包要发送给一个终端设备时,也由其父节点来做响应[8]。
2.3.4消息发送函数
在Z-Stack中,如果给一个节点发送消息,可以用如下函数:
if ( AF_DataRequest( &GenericApp_DstAddr, &GenericApp_epDesc,
GENERICAPP_CLUSTERID,
(byte)osal_strlen( theMessageData ) + 1,
(byte *)&theMessageData,
&GenericApp_TransID,
AF_DISCV_ROUTE, AF_DEFAULT_RADIUS ) == afStatus_SUCCESS )
{
// Successfully requested to be sent.
}
else
{
// Error occurred in request to send.
}
发送的是指针theMessageData中的字节,字节数为
(byte)osal_strlen(theMessageData)+1。
2.3.5网络的组建过程
协调器首先从DEFAULT_CHANLIST列表中选择使用的信道,如果ZDAPP_CONFIG_PAN_ID的值不等于0xFFFF则选取ZDAPP_CONFIG_PAN_ID为PANID,否则选取IEEE地址的最后两个字节作为PANID。如果启动模式是Auto Start,路由器或者终端设备上电之后就开始搜寻网络,如果有合适的网络并且该网络允许加入,那么就会直接加入该网络。如果启动模式是HOLD_AUTO_START,路由器或者终端设备上电之后必须等待某一特定时间的发生来启动加入网络的过程,这时协议栈会调用ZDAPP_StartUpFromApp()这个函数。如果需要路由器或者终端设备在电池没电或者重启之后仍然记住以前的网络状态可以在预编译选项添加编译选项NV_RESTORE[9]。
2.3.6消息接收函数
节点接收到信息后会存储在pkt指针指向的结构体中,在应用层的函数
GenericApp_MessageMSGCB(afIncomingMSGPacket_t*pkt)可以用*pkt->cmd.Data取出接收到的消息,以下是收到消息的格式的结构体定义[9]。
typedef struct
{
osal_event_hdr_t hdr;
uint16 groupId; //组ID
uint16 clusterId; //簇ID
afAddrType_t srcAddr; //源地址
byte endPoint; //源节点端口号
byte wasBroadcast; //是否为广播方式
byte LinkQuality; //链路质量
byte SecurityUse; //是否使用安全模式
uint32 timestamp; //时间戳
afMSGCommandFormat_t cmd;
}afIncomingMSGPacket_t;
typedef struct
{
byte TransSeqNumber; //序列号
uint16 DataLength; //收到信息长度
byte*Data; //收到信息的指针
}afMSGCommandFormat_t;
2.4本章小结
本章首先分析了ZigBee协议的分层结构,ZigBee协议共分4层,分别为物理层,MAC层,网络层以及应用层,文中对每层的作用进行了描述,此外还介绍了星型、树型、MESH型,这三种典型的ZigBee网络拓扑的结构及特点。
接着论述了Z-Stack协议栈的架构和功能。这些功能主要包括网络地址分配算法与节点寻址,绑定的方式,路由机制以及网络组建过程。其中对网络寻址的三种方式在Z-Stack中如何设置做了细致的介绍。在深刻理解Z-Stack协议栈的整体架构的前提下,为编写系统的软体打下基础。
3 系统介绍
3.1系统的整体介绍
本系统由数据汇聚模块(协调器),温度传感器模块(终端节点)和上位机三部分组成。数据汇聚模块负责组建Zigbee网络,完成温度传感器模块与上位机(PC)数据的透明传输;温度传感器模块负责采集、存储、上传温度数据。数据汇聚模块通过RS-232串口与上位机相连。上位机有监控界面可以测环境温度(传感器模块位置在数据汇聚模块的网络覆盖范围内),多个传感器节点置于不同的监测区域,每个传感器节点把数据传给汇聚节点,在汇聚节点完成数据融合,然后汇聚节点把数据通过串口传给上位机做进一步处理并显示给用户。上位机监控界面需要显示所有温度数据的地址,温度数据的大小及温度变化趋势[10]。
温度传感器1
温度传感器2
温度传感器3
······
协调器
上位机监控
RS232
ZigBee RF
ZigBee RF
ZigBee RF
ZigBee RF
图3.1多点无线温度采集系统框图
3.2系统硬件介绍
3.2.1主要硬件简介
1)数据汇聚模块(协调器)
下载软件接口,可做供电用
CC2530主芯片
RS232串口
接电源
一组指示灯
传感器接口
图3.2多点无线温度采集系统框图
下载软件接口,可做供电用
2)温度传感器模块(终端设备)
CC2530主芯片
接电源
传感器接口
一组指示灯
图3.3多点无线温度采集系统框图
3)温度传感器
图3.4温度传感器
3.2.2温度传感器模块电路原理图
本系统的数据汇聚模块(协调器)和温度传感器模块(终端设备)的主芯片采用TI公司的CC2530。CC2530是一个真正的系统芯片(SOC)COMS解决方案,这种解决方能够降低成本,提高性能,并满足以ZigBee为基础的2.4 GHz ISM波段应用低功耗的要求。考虑到温度传感器模块工作时,需要将采集的温度信息和时间信息存储,故扩展外部FLASH芯片ST-M25PE16和时钟芯片S35190A。在天线设计方面,使用了TI的参考设计方案—反向F型天线。
TMP102
ST_M25PE16
PCB 天线
JTAG
CC2530
S35190A
POWER
图3.5温度传感器模块硬件框图
1)温度传感器模块CC2530
CC2530包括了1个高性能的2.4 GHz DSSS(直接序列扩频)射频收发器核心和1个8051控制器,它具有32/64/128 kB可选择的编程闪存和8 kB的RAM,还包括ADC、定时器、睡眠模式定时器、上电复位电路、掉电检测电路和21个可编程I/O引脚,这样很容易实现通信模块的小型化。CC2530是一款功耗相当低的单片机,功耗模式3下电流消耗仅0.2μA,在32 k晶体时钟下运行,电流消耗小于1μA[11]。
图3.6 CC2530芯片脚位图
图3.7 CC2530方框图
CC2530芯片使用直接正交上变频发送数据。基带信号的同相分量和正交分量由DAC转换成模拟信号,经过低通滤波,变频到所设定的信道上。当需要发送数据时,先将要发送的数据写入128B的发送缓存中,包头是通过硬件产生的。最后经过低通滤波器和上变频的混频后,将射频信号被调制到2.4GHz,后经天线发送出去。CC2530RF有两个端口分别为TX/RX,RF端口不需要外部的收发开关,芯片内部已集成了收发开关。
2)温度传感器模块Flash存储芯片
存储器ST-M25PE16是4线的SPI通信模式的FLASH,它可以整块擦除,最大可以存储2M个字节。工作电压为2.7v到3.6v。
3)温度传感器模块TMP102
温度传感器TMP102是一款超低功耗的I2C通信模式的数字温度传感器,测量的温度范围是-40到125摄氏度,它的分辨率是0.0625摄氏度。在测量范围从-25到85摄氏度之间精度可以达到0.5摄氏度。工作电压是1.4v~3.6v。
4)温度传感器模块时钟
时钟芯片S35190A是超低功耗的3线CMOS实时时钟IC。工作电压为1.3v~5.5v,最低计时工作电压为1.1v。它有内置到2099年为止的自动日历,具有润年自动运算功能,可以定时产生中断。
5)温度传感器模块反向F型天线
采用TI公司公布的2.4GHz倒F型天线的参考设计。天线的最大增益为+3.3dB,天线面积为25.7×7.5mm。该天线完全能够满足CC2530工作频段的要求(CC2530工作频段为2.400GHz~2.480GHz)。
3.2.3数据汇聚模块(协调器)
数据汇聚模块主要由CC2530和串口电平转换芯片MAX232组成。CC2530主要负责收发数据。时钟芯片主要负责为温度数据提供时间信息。对于上位机和温度传感器模块来说,数据汇聚模块是透明的,它只负责将上位机发送的命令通过无线的方式转发给温度传感器模块;还有将温度传感器模块上传的温度数据及时间信息按照一定的格式转发给上位机。
4 软件设计实现
本系统所用的开发环境是IAR7.51,采用的协议栈为TI的ZStack-2.3.0-1.4.0。系统将协调器通过串口RS232
展开阅读全文