APP下载

基于STM32和ZigBee的台站观测环境监测系统设计

2017-01-12吴昊彭懋磊张亦梅

物联网技术 2016年11期
关键词:无线传感器网络

吴昊++彭懋磊++张亦梅

摘 要:为了满足地震台站观测环境实时监测的需求,设计了一种基于STM32F407和ZigBee的无线传感器环境监测系统。系统采用多种传感器对观测环境状态进行实时采集,STM32F407微处理器对采集到的数据进行实时压缩处理,并通过ZigBee无线网络实现数据传输,最后将多个观测点的环境监测数据存储在网关上位机中。文中给出了环境观测终端采集节点、网关协调器的硬件设计和软件流程。经实际应用表明,该系统具有易拓展、自动组网、稳定性好等优点,可广泛应用于多领域的环境监测。

关键词:STM32;ZigBee;CC2530;无线传感器网络;LZO

中图分类号:TN919.72 文献标识码:A 文章编号:2095-1302(2016)11-00-03

0 引 言

随着地震台站观测仪器数量的不断增多,整个地震台站观测系统变的越来越复杂,其受环境因素的影响也不容忽视。由于观测环境潮湿、凝露等原因会导致电力设备绝缘性能下降;温度变化则会影响电子元件的寿命及金属材料的机械强度;电磁环境会对仪器的性能、数据质量和解算精度产生影响;而UPS不间断电源供电的稳定性会影响数据记录的完整性。为了减小环境因素的不利影响,提高观测数据的可信度,必须对地震观测系统所处的环境进行实时监测,为后续补偿控制提供依据。

常见的环境监测系统采用有线方式传输数据。采用有线方式传输监测数据具有可靠性高,实时性好等优点,但该方式通常布设繁琐,不适合环境恶劣、布线不便的场合,且无法满足临时部署、快速部署等要求。针对以上情况,本文设计了一种低功耗多点无线环境监测采集传输系统,在硬件方面,整个系统由观测环境终端采集节点、中继节点和汇集网关组成。在软件方面,为了满足多个采集节点的数据实时传输需求,并尽量降低ZigBee通信信道的占用,故采用LZO(Lempel Ziv Oberhumer)算法对采集的数据进行压缩后传输,从而降低ZigBee网络传输信道的数据量[1]。

1 系统整体结构及设计方案

本无线环境监测采集系统以某地震台站的多个观测室为背景,实现多点无线环境监测及中继远距离数据传输。系统总体结构如图1所示。该系统主要由观测环境终端采集节点、网关(协调器)、上位机组成,当网关协调器启动后,观测环境终端采集节点在网关协调器的配合下自动组网。环境终端采集节点将环境监测数据实时压缩后通过ZigBee网络传输给网关,当传输路径较远时可以增加中继后传输给网关。网关协调器将各采集终端节点的数据通过以太网方式传输给计算机。

2 系统的硬件设计

系统硬件部分主要包括观测环境终端采集节点和网关部分的设计,系统总体框架如图2所示。

观测环境终端采集节点由环境采集传感器、微处理器STMF32F407VGT6、ZigBee网络收发芯片CC2530组成。当系统启动时,STM32F407首先完成环境采集传感器及CC2530的初始化,环境采集传感器将台站观测室的环境信息采集后传递给微处理器STMF32F407,微处理器STMF32F407将数据进行实时压缩处理后通过ZigBee网络传输给网关协调器。

网关协调器部分由微处理器STMF32F407VGT6、ZigBee模块CC2530和以太网W5500模块组成。主要实现ZigBee网络组网、数据收发、各观测采集点数据汇聚并上传至上位机等功能。

2.1 微处理器模块

在本系统中,由于ZigBee传输信道较窄,在多个终端节点采集节点同时进行数据采集时,需要对采集到的数据进行压缩后再传输,因此采用STM32F407VGT6微处理器完成数据的压缩处理、A/D转换以及以太网模块的控制。STMF32F407VGT6是基于Cortex-M4内核的微处理器,带有FPU单元,工作频率为168 MHz,片上包含1 MB程序存储器,192+4 KB的RAM,具有超低动态功耗。在VBAT模式下,典型RTC小于1 A,适合低电压或电池供电的应用,仅需少量外围电路即可正常工作。外围电路结构如图3所示。

2.2 以太网模块

以太网模块用于网关协调器与上位机通讯,主要由W5500以太网芯片以及网络变压器PM4G-100KH组成。W5500通过SPI通讯协议与主控芯片STM32F407通信,除SPI协议所需的MISO、MOSI、SCLK和NSS信号线引脚与主控芯片相连外,还要RESET、INT和PWDN引脚与STM32的普通I/O连接。W5500采用低电平复位方式,需要在其复位引脚至少保持20 ms30 ms的复位时间。网络变压器PM4G-100KH用于以太网信号电气隔离阻抗匹配以及电平耦合,增强以太网信号与延长传输距离。其电路设计如图4所示。

2.3 采集模块

为精简硬件,降低硬件成本,提高硬件系统稳定性,采集模块采用STM32F407VGT6内部自带A/D模数转换器,该模数转换器是一个12位逐次比较趋近型A/D转换器[2]。STM32F407内部ADC有19个复用通道,可测量16个外部和3个内部信号源。各通道的模数转换均可采用单次、间断模式或连续扫描方式执行,通过对扫描方式的选择,STM32F407可以对多个环境传感器的模拟量进行快速模数转换。

2.4 ZigBee模块

ZigBee网络有对等结构、树簇结构、星形结构三种拓扑结构。考虑到星形结构所需的协调器较少,而协调器的功耗通常是终端节点设备功耗的几十倍,因此本系统采用星形结构来降低环境监测网络的整体功耗[3]。

ZigBee模块主要由CC2530芯片及其外围电路组成。CC2530内部集成了兼容IEEE802.15.4规范的微控制器、存储器和RF收发器,其工作在主动接收模式下的最低电流为24 mA,主动发送模式在1 dBm输出功率下的电流为29 mA。CC2530包含3种不同的工作模式,且工作电压范围为2 V3.6 V,可以满足本系统低功耗应用的特殊需求。其外围电路如图5所示。

3 系统的软件设计

本系统软件采用模块化设计方式。软件程序包括LZO压缩算法子程序、观测环境终端采集节点的程序设计、网关协调器程序设计以及上位机存储显示终端设计。

3.1 LZO算法程序设计

整个系统硬件设计中,考虑到当采集终端节点数量增加时,ZigBee网络的吞吐率会成为传输通道瓶颈,在本设计中采用LZO压缩算法来减小数据量,从而提高整个系统的传输效率。

LZO数据压缩算法是一种数据无损压缩算法,进行实时LZO压缩时需占用64 KB系统内存,同时还需8 KB系统内存作为压缩级别。LZO压缩执行时具有较低内存占用、压缩效率高等特点,适合在Cortex-M4微处理器中实现。此外,LZO解压缩速度非常快,解压过程无需占用内存。LZO算法执行流程如图6所示。

3.2 观测终端采集节点程序设计

观测终端节点的主要功能是加入已有的ZigBee网络,接收ZigBee网络的控制命令并收发数据,将环境传感器采集的模拟信号进行实时模数转换,并对转换后的数据进行LZO压缩。

在给观测终端节点加电后,STM32F407微处理器和ZigBee网络芯片CC2530会分别进入程序的初始化。STM32F407完成ADC模数转换的初始化后,通过中断方式轮询转换各通道的模拟量并对采集的数据进行实时压缩处理。CC2530芯片在初始化协议栈后会试图加入已有的ZigBee网络,当无法加入网络时,会自动转入低功耗模式以节省电能。加入网络成功后,会自动获取网络ID,等待网关协调器发送读取数据命令。其程序流程如图7所示。

图7 终端采集节点流程

3.3 网关协调器的程序设计

在星形架构的ZigBee网络中,网关作为中央控制节点,主要完成ZigBee网络新建、数据收发以及相应控制信号发送等功能。协调器具有自组织功能。在网关协调器上电时,协调器首先进行初始化工作,然后查询通信信道,查找合适的信道建立ZigBee网络,并设置具有唯一标识的ZigBee网络PAN ID,最后等待观测终端节点或者路由节点的加入。当观测到终端节点加入ZigBee网络后,网关协调器就可以收发观测终端节点传送的数据,当校验收到的数据准确无误后,即传送至STM32F407微处理器进行处理。网关协调器程序流程如图8所示。

3.4 上位机程序设计

上位机应用程序的主要功能包括环境终端节点监控数据浏览、历史环境监测数据的存储与索引、各观测采集终端节点参数设置、ZigBee网络拓扑结构显示、数据实时解压功能配置等。历史环境数据的存储与索引功能可方便用户查看历史环境监测数据,参数设置功能用于配置采集终端的采集通道、节点配置,网络拓扑结构查看可以显示网关协调器和采集节点之间的拓扑关系。

4 实验结果与分析

在结合实际的基础上,对硬件和软件进行了测试。将环境终端采集节点和UPS供电装置封装在一起,网关协调器可使用上位机USB口直接供电。待终端采集节点与网关协调器成功通讯后,通过上位机设置远端节点的采集频率、采集通道等参数。整个系统便开始环境监测采集工作。上位机运行界面如图9所示。

5 结 语

针对地震台站观测环境实时监测需求,本文采用基于Cortex-M4内核的STM32F407微处理器和ZigBee无线网络构建台站环境监测采集传输系统,具有易组网、低功耗、易扩展的特点。可同时采集多个不同观测环境现场的实时环境状态,采集终端采用模块化设计以便于后期的功能扩展。在多个地震观测台站进行测试,达到了良好的效果,表明该系统具有广泛的应用前景。

参考文献

[1]李玉爽,刘东明,朱爱玲.基于LZO算法的嵌入式高速无线数据采集系统[J].电子测量技术,2011,34(7):67-70.

[2]彭红星,郭威.基于STM32的矿井微震数据采集监测分站[J].仪表技术与传感器,2013(10):67-69.

[3]王骥,林杰华,谢仕义.基于无线传感网络的环境监测系统[J].传感技术学报,2015,28(11):1732-1740.

[4]李军科,吴建军,石祖伟.基于F2806平台碳硫分析仪数据采集板设计[J].计算机测量与控制,2015,23(11):3773-3776.

[5]方浩,李艾华,王涛,等.基于STM32单片机的智能枪柜系统设计[J].电子技术应用,2014,40(3):12-14.

[6]张河新,王晓辉,黄晓东.基于STM32和CAN总线的智能数据采集节点设计[J].化工自动化及仪表,2012,39(1):78-80.

猜你喜欢

无线传感器网络
无线传感器网络技术综述