收稿日期:2011-06-29作者简介:衣翠平(1986-,女,硕士研究生,主要从事检测技术与过程控制研究,E-mail:yicuiping001@126.com。通讯作者:柏逢明(1956-,男,教授,博士生导师,主要从事非线性理论、保密通信、检测及无线电应用技术研究,E-mail:ba-ifm@163.com。长春理工大学学报(自然科学版JournalofChangchunUniversityofScienceandTechnology(NaturalScienceEdition第34卷第4期2011年12月Vol.34No.4Dec.2011基于ZigBee技术的CC2530粮库温湿度检测系统研究衣翠平,柏逢明(长春理工大学电子信息工程学院,长春130022摘要:针对传统有线方式检测粮库温湿度,本文介绍了一种基于CC2530和数字温湿度传感器SHT15的粮库温湿度监测系统。该系统采用ZigBee无线通信技术,通过星型网络实现主从节点的数据采集和传输,并详细阐述了ZigBee中心节点和终端节点的软硬件设计,通过串口将数据显示在PC机上,实现粮仓内部的多点检测和实时监控。关键词:CC2530;SHT15;温湿度;ZigBee;多点检测中国分类号:TN274文献标识码:A文章编号:1672-9870(201104-0053-05ZigBee-basedCC2530GranaryTemperatureandHumidityMonitoringSystemYICuiping,BAIFengming(SchoolofElectronicsandInformationEngineering,ChangchunUniversityofScienceandTechnology,Changchun130022Abstract:Aimingatmonitoringthetemperatureandhumidityofgranaryfortraditionalcablemethod,thispaperpres-entsadesignoftemperatureandhumiditydetectingsystemwhichisbasedonCC2530andSHT15.ThesystemadoptsZigBeetechnologyinthegranaryfordataacquisitionandtransformationbetweenmain-nodeandsub-node,andintro-ducesthedesignofhardwareandsoftware,communintedwitePCthroughserialporttechnology,relizemorenodede-tectionandreal-timeprotection.Keywords:CC2530;SHT15;temperatureandhumidity;ZigBee;morenodemonitoring粮库的温湿度直接影响储存粮食的质量,如果温湿度超标会出现发热、霉变等情况。大部分粮库温湿度都是采用有线的方式,铺设大量电缆,采用单片机多机通讯的方式检测,而面对粮库面积大且布局分散布线困难、现场信息分散等问题。用短距离无线通信方式可实时检测温湿度,低成本、低功耗、效率高。本文利用基于Zigbee技术构建无线传感器网络,对粮库温湿度进行实时采集、处理、传输和显示数据。1系统结构及原理无线传感器网络由部署在检测区域内大量的廉价传感器节点组成,通过无线通信方式形成的一个自组织的网络系统,目的是协作地感知,采集和处理网络覆盖区域中感知的对象信息,并发送给观察者。因此,ZigBee技术和传感器结合就能够组建ZigBee无线传感器网络,实现一点对多点,两点间的通信,主要用于温湿度监控、工业监控、楼宇自动化等多个领域。ZigBee技术最突出的特征是低成本、低功耗,主要特征如下:(1低功耗;(2低成本;(3体积小,易于大规模布建;(4可靠性高;(5协议简单,通用性。ZigBee协议层从下向上分别为物理层(PHY、媒体控制层(MAC、网络层(NWK、应用层长春理工大学学报(自然科学版2011年(APL。其中MAC和PHY由IEEE802.15.4标准定义,ZigBee联盟定义了NWK和APL。一般ZigBee网络支持星型、树型和网状型网络拓扑结构,每个ZigBee网络必须有一个协调器作为父节点,其他的路由节点和终端节点作为子节点加入网络。由于粮库节点固定不动,组网相对简单,且数据的传输量不大,因此采用只含有协调器和终端节点的星型网络拓扑结构就能够完成数据的正常通信。粮库无线传感器网络的结构框架如图1所示,传感器节点负责对粮库温湿度的采集,并将采集的数据信息发送到终端节点;终端节点负责通过Zig-Bee协议将从传感器节点接收的数据发送到中心节点,并完成中心节点命令的传送;中心节点负责建立ZigBee网络,并发送和接收指令,通过RS232串口通信与PC机进行数据通信;PC机负责集中显示和控制粮库的温湿度状况。图1系统整体结构框图Fig.1Systemgeneralstructure2系统硬件设计2.1CC2530芯片为了增加中心节点的数据存储和处理能力,选用带256KFlash的射频芯片,而且有标准的8051增强型处理器,因此选用CC2530作为本设计的主芯片。CC2530是Zigbee新一代SOC芯片真正的片上系统解决方案,支持IEEE802.15.4标准/ZigBeeRF4CE、Zigbee网络、家居及楼宇自动化、工业测控等领域,也是目前众多ZigBee设备产品中表现最为出众的微处理器之一。作为片上系统,CC2530集成了增强型高速8051内核处理器,8KB的RAM,多达256KB的闪存以及支持更大的应用;8通道12位A/D转换器、2个USART接口,21个通用的GPIO等;支持2.0~3.6V供电电压,具有3种电源管理模式:唤醒模式0.2mA、睡眠模式1μA、中断模式0.4μA;具有较高的无线接收灵敏度和抗干扰性,传输距离大于75m,最高传输速率250kbps,CC2530外围电路如图2所示。图2CC2530外围电路图Fig.2CC2530peripheralcircuit由于CC2530内部已经集成了许多必要电路,因此只需较少的外围电路就能实现信号的收发功能。其中,采用无巴伦的阻抗匹配电路,整个结构满足匹配电阻(50欧的要求。XTAL1为32MHZ的无源晶振,由1个32MHZ的石英谐振器和2个电容(C221和C231组成,XTAL2为32.768KHZ的时钟晶振,由1个32.768KHZ的石英谐振器和2个电容(C321和C331组成。LED1、LED2直接与I/O的P1.0和P1.1连接,用于确定节点是否在网络中。2.2终端节点设计当检测到温湿度时,CC2530对数据先进行预处理,为传输数据做好准备。然后通过LCD显示出来并通过天线发送给中心节点。结构框图如图3所示,传感器部分采集粮库温湿度数据;CC2530通信模块存储和处理传来的数据,并与协调器进行无线通信,电源模块采用锂电池供电。当传输完毕后,控制器进入睡眠模式,使控制器进入低功率模式来延长电池寿命。图3温湿度采集终端节点设计框图Fig.3Thedesigndiagramoftemperatureandhumiditycollectionterminalnode传感器模块是终端节点重要组成部分,负责监测和传输粮库温湿度数据,包括传感器工作电路、信号放大电路。SHT15是瑞士Sensirion公司推出的一款数字温湿度传感器芯片,该传感器不仅包含基于湿敏电容器的微型相对湿度传感器和基于带隙电路的微型温度传感器,湿敏电容一般是用高分子膜54第四期衣翠平,等:基于ZigBee技术的CC2530粮库温湿度检测系统研究制成的,当环境湿度发生变化时,湿敏电容的介电常数发生变化,使其电容量发生变化,其电容变化量与相对湿度成正比[5];带隙电路是基于带隙结构PN结电压正比于绝对温度的感湿器件[6]。而且含有14位的A/D转换器,可靠的CRC传输校验,两线数字串行接口SCK和DATA,通过I2C总线与微处理器接口通信。SHT15的供电电压为2.4V~5.5V,平均功耗28uA,温度测量范围:-40℃~+123.8℃,湿度测量范围:0~100﹪RH,温度测量精度:±0.3℃,湿度测量精度:±2.0﹪RH。当SHT15测量和通信完成后,会自动使能进入睡眠模式。SHT15与CC2530之间通过串行总线I2C进行通信,DATA三态门用于数据的读取,SCK用于CC2530与SHT15之间的通讯同步。SHT15上电后,经过11s时间进入休眠状态,只有当CC2530微处理器发出测试命令后,SHT15才被唤醒进行工作。表1温湿度变化数据超出精度范围的最短△TTab.1Minumum△Toftemperatureandhumiditydatabeyondprecisionscope传感器节点号310202434温度变化△T(min2113351525湿度变化△RH(min921078为了提高终端节点电池寿命且粮库温湿度瞬间很少变化,终端节点需定时采集数据。如果温湿度变化没有发生大的变化时,那么较快的采集数据导致电池电量的消耗。另一方面,较短的时间采集可能导致系统检测不出数据的重大变化或者不能有效地控制温湿度。以粮库内不同位置的五个传感器节点为例,持续24h内读取了五组温湿度数据。合适的采集时间间隔是在最短的时间内观察到温湿度数据变化超出数字传感器的精度范围(±2.0﹪RH和±0.3℃。表1例举了5个传感器温湿度数据超出精度范围的最短时间。从表中数据中可以看出,最短温度变化是13min,最短湿度变化是2min。根据尼奎斯特定理准则和2min的最短时间,在此采集时间间隔是每分钟一次。也就是终端节点每隔一分钟采集数据并发送,大大节省电池消耗,降低了传输数据的误差,增加了系统的稳定性和准确性。2.3中心节点设计中心节点(协调器作为无线传感器网络的核心,实现粮库温湿度数据的收发,并通过RS232串口通信将数据发送到上位机,建立友好的人机界面,实现整个系统的可控性和可视性。节点设计采用模块化功能设计,使中心节点完全可以组成一个可以独立工作的监测系统。中心节点框图如图4所示,CC2530通信模块作为中心节点的关键部分,接收和存储传感器节点发来的数据,并发送网络指令给传感器节点,同时与PC机进行数据交换;LED显示网络节点工作状态;电源模块提供工作电压是3.3V,为了提高电压芯片内部电压精度,输入电压采用调制后的3.3V稳压电源。图4中心节点设计框图Fig.4Thedesigndiagramofcenternode3系统软件设计系统的软件设计能够实现系统的功能,通过对系统的硬件部分进行软件编程,来实现ZigBee网络的建立;温湿度数据的采集;各节点数据的传输最后显示在PC机上。本系统利用的协议栈是TI的Z-STACK。ZigBee协议栈运行在一个OSAL(操图5主程序流程图Fig.5Themainprogramflowchart55长春理工大学学报(自然科学版2011年作系统抽象层上,该操作系统是基于任务调度机制,通过对任务的事件触发来完成任务调度,各种不同的任务在不同的层次上运行,通过层的服务来完成数据传输的任务。3.1主程序流程图软件采用模块化的设计方法,当温湿度超过粮库温湿度设定的上限值(或低于下限值则进行声光报警,并及时做出相应的处理。主程序流程如图5所示3.2终端节点软件设计终端节点主要采集温湿度数据并发送给协调器,并接收来自协调器的相关命令。从节点上电后,首先硬件初始化和协议栈初始化,搜索临近的可用网络并申请加入,成功加入后进入省电模式。当没有数据传输请求时,进入睡眠模式,之后采取中断唤醒的工作机制。当有数据传输请求时,进入工作模式,进行温湿度采集并发送,发送完成后进入下一轮的数据采集。终端节点软件流程图如图6所示。图6终端节点软件流程图Fig.6Te