基于FPGA的多环境参数在线监测系统的设计
张金 王文清
摘 要:针对现有工厂多环境参数监测系统结构复杂、功耗大、成本高等问题,设计了一套基于FPGA技术的多环境参数在线监测系统,实现了对工厂NO2气体浓度、温湿度、空气悬浮颗粒物浓度的远程在线监测。系统以FPGA作为核心控制器,通过ESP8266无线通信模块将监测数据上传至ONENET云平台,可实现对化工厂内温湿度、和PM2.5、PM10浓度、NO2浓度等环境参量的实时上报。实验结果表明,通过FPGA多通道并行传输与处理的方式可实现对大气多参数的实时同步监测,同时增加了系统的灵活性,有利于系统的拆装和扩展,且在硬件结构、体积、采集速率、数据实时性方面有所改善。
关键词:FPGA;环境监测;ESP8266无线通信;ONENET平台
Abstract:Aiming at the problems of complex structure, high power consumption and high cost of the existing factory multi-environmental parameter monitoring system, a set of on-line monitoring system for multi-environmental parameters based on FPGA technology was designed, which realized the remote on-line monitoring of NO2 gas concentration, temperature and humidity and airborne particulate matter concentration in the factory. With FPGA as the core controller, the system uploads the monitoring data to ONENET cloud platform through ESP8266 wireless communication module, which can realize real-time reporting of temperature and humidity in chemical plants, and environmental parameters such as PM2.5, PM10 concentration and NO2 concentration. The experimental results show that the real-time synchronous monitoring of atmospheric multi-parameters can be realized by FPGA multi-channel parallel transmission and processing, which increases the flexibility of the system, facilitates the disassembly and expansion of the system, and improves the hardware structure, volume, acquisition rate and real-time data.
Key words:FPGA;environmental monitoring;ESP8266 wireless communication;ONENET cloud platform
1 绪论
中国工业化生产的发展非常迅速,但是与此同时也造成了很大的环境污染和人员的健康威胁。比如某些气体的泄漏会造成厂区爆炸和人员的伤亡或者引起呼吸道慢性病。传统的环境检测方式一般采用人员检测,这样就会使监测人员存在未知的安全隐患;目前市场还有采用机器车进行监测,但这种监测方式成本较高,不适合盈利性工厂的理念。
针对目前环境监测市场存在的诸多问题,设计了一款基于FPGA的多环境参数监测系统,整个系统包括监测终端设备、云平台以及作为他们两者之间数据交互桥梁的无线通信模块。将监测终端设备放到需要监测的厂区,这样无线通信模块就能将监测终端监测的环境数据上传至云平台,這样监管人员只需要对云平台的数据进行查看,即可了解到监测区域的环境状况。
本系统终端设备的主控芯片选用的是FPGA,FPGA芯片引脚数目多,而且因为其强大充分的内部资源,所以FPGA具有编程配置灵活的特点。相比于ARM芯片而言,FPGA采用的是纯硬件编程思维,具有并行处理的能力;而且FPGA有抗干扰能力强、功耗低等优点[1-2]。本系统根据FPGA并行处理数据的能力,在监测终端接入了多个传感器,多个传感器可采集多种环境参数,这样使监测的效率大大提高。而且对系统采集数据通过无线传输模块进行无线传输,实现了环境数据的远程实时同步采集。
本设计采用的云平台为中移物联网云平台,这款云平台不仅开发简单,而且功能强大,具有数据接收存储和命令下发的功能,这个平台可以接入多个设备和数据流[3-4],这样就和本系统设计的多种环境数据监测的理念相一致。在此平台上可以设计数据流显示界面,这样监管人员可以很方便地对数据进行查看分析及操作。
2 系统整体结构设计
本系统整体结构设计包含了监测节点终端、Wi-Fi无线通信模块、云平台和远程终端这四个部分。系统整体实现的功能就是将监测终端采集的传感器信息上传至云服务器,最后用户可通过远程终端对终端采集的数据进行实时查看。系统整体结构框图1所示。
3 系统硬件设计
系统监测终端硬件设计采用模块化设计原理。硬件模块主要包括:主控模块、电源模块、FLASH存储、无线通信模块、温湿度监测模块、空气悬浮颗粒物监测模块、NO2气体传感器模块、电机控制模块(空气泵)等。各模块的连接如图2所示。
3.1 主控模块
本系统提出以现场可编程门阵列(FPGA)作为主控芯片,将接口通信功能、控制功能、数据缓存功能、数据处理功能集成在芯片内部,通过多通道并行传输与处理的方式实现对大气多参数的实时同步监测。本系统的主控芯片选取的是Xilinx公司的Spartan6系列的FPGA,其内部资源足以完成本设计功能实现。通过FPGA控制各路传感器和空气泵的工作与否,实现了多环境参数的采集、传输与存储。
3.2 电源模块
电源模块为整个系统的各个硬件电路模块提供供电支持,对系统的穩定性有着至关重要的作用。所以在设计电源模块的电路时,得首先对其他模块的电压及功耗进行考虑,从而设计整个系统的供电模块。本系统电源模块是使用12V 4800mA聚合物锂电池作为供电电源,然后通过稳压降压电路实现12V电压到5V和3.3V的电压转换,从而满足了整个系统供电需求。
3.3 传感器模块
因为需要监测的环境参数有NO2浓度、温湿度及PM2.5、PM10的浓度。因此本系统采用了三个传感器对这几个环境参数进行采集。一个是圣凯安公司成产的二氧化氮传感器;还有PMSA003空气悬浮颗粒物传感器,其用来监测PM2.5和PM10的浓度;最后一个是DHT11传感器,用于采集环境的温度和湿度。其中NO2传感器与PMSA003使用串口输出方式,DHT11使用单总线串口传输方式[5]。
3.4 电机控制模块
空气泵控制电路用于实现空气泵的开关控制。其控制电路如图3所示。其中继电器选用SRD-05VDC,吸合电压为5V,光耦EL817C845对FPGA芯片与控制电路进行光电隔离,从而实现了对主控芯片进行保护,增强了主控芯片的稳定性。
3.5 无线通信模块
本系统是要将监测终端的监测数据上传至云平台进行数据分析与查看,所以对于这种远距离的监测任务,我们需要使用无线传输模块进行数据传输,对市面上常用的无线传输模块性价比进行对比分析后,最终选择了ESP8266这款无线通信模块作为监测终端和云平台的桥梁。
4 系统软件设计
系统软件的设计是在系统硬件设计和ONENET云平台通信协议的基础上进行的。环境监测系统软件设计根据系统的总体结构分为环境监测终端数据采集程序设计、监测终端与云平台通信主程序设计和ONENET云平台上位机软件的设计三个部分。如图4所示为系统软件设计的总体架构。
4.1 数据采集部分软件设计
FPGA数据采集这部分的软件设计,首先按系统功能进行模块划分。主要分为系统同步时钟模块、信号收发模块、指令解析模块、传感器模块、数据打包模块和数据缓存处理模块等。数据采集部分总体框架如图5所示。
信号收发模块system_uart_top包括串口时序配置模块,cmd_receive命令接收模块、和data_send数据发送模块。接收到上位机传来的请求信号后,system_uart_top将请求信号发送给信号解析模块cmd_decode进行解析。
cmd_decode模块将请求信号解析后经判断确认上位机需要哪些传感器数据,并将使能信号发送给相应传感器模块。传感器模块com1-com6中相应传感器接收到使能信号后,进行对所对应的气体数据进行采集,并将数据发送给数据打包模块data_encode。data_encode数据打包模块从传感器模块处接收信息,根据之前确定的气体监测通信协议,将传感器采集到的气体数据处理为特定格式的信号,并进行打包发送给信号收发模块system_uart_top。
最后再由信号收发模块system_uart_top将打包好的气体数据发送给上位机。
4.2 监测终端与云平台通信部分软件设计
ESP8266无线通信模块上电后,首先对ESP8266模块进行信息配置,接着搜索并连接Wi-Fi。连接成功后,将ESP8266无线模块接入终端设备。因为ESP8266与云平台建立TCP连接,需要发送AT指令,所以在这部分软件设计中,FPGA将需要发送的AT指令通过串口发送给无线模块,从而成功的建立ESP8266模块云平台的连接。ESP8266无线通信模块工作流程如图6所示。
4.3 ONENET云平台上位机设计部分
要实现整个系统的搭建,就需要将前面设计的监测终端接入云平台。这样就可以将监测终端采集的监测数据进行有效的展示。本系统采用的云平台是ONENET云平台。使用ONENET云平台,首先需要在此云平台进行用户注册,建立开发者的开发平台。在注册和登录完成后,在“开发者中心”创建产品并进行设备绑定。
ONENET基本开发流程如图7所示。
5 实验结果
用户登录ONENET云平台成功后,可以看到产品概况、产品id、tcp透传方式以及设备在线等信息界面;在产品操作界面点击设备列表,就可以看到用户创建的温度、湿度、PM2.5、NO2等设备;此外还可以看到设备所在的地图位置信息。
将监测设备放置化工厂房内,监测的数据信息在ONENET云平台上的展示如图8所示。
6 结语
传统环境监测系统的硬件需要扩展外围电路,而且数据采集过程也存在着实时性差的情况。本设计是采用FPGA作为主控芯片,FPGA具有并行处理数据的能力,对于本设计的多路传感器数据采集具有很大的优势[6]。在FPGA内部,根据其内部充分的资源,能够实现本设计多环境参数数据的采集与存储。而且在FPGA内部对于采集的传感器数据可以进行有效处理,使得整个系统具有很强的可靠性和实用性。本设计的整体设计方案采用以FPGA作为核心控制器,不同于以往的基于ARM的数据采集。就是利用了FPGA对于多通道数据采集的强大优势。这样是整个系统非常具有针对性和普适性。
本系统是将获取的多种环境数据在中移物联网这个免费的云平上进行展示,由于ONENET云平台是一个免费的开发平台,这样就降低了项目的开发成本。而且在此平台上的数据具有实时性及开放性的特点,使得监管人员能够随时随地的对被监测区域的环境进行有效查看与分析。这种将终端数据上传至云平台进行数据查看的方式,很符合社会现在环境监测系统越来越自动化的发展趋势。
参考文献:
[1]夏宇闻.Verilog数字系统设计教程[M].北京:北京航空航天大学出版社,2005.
[2]王建中,杨璐.高速实时系统数据采集与传输[J].计算机科学,2016,43(S2):604-606.
[3]丁飞,吴飞,艾成万,等.基于OneNET平台的环境监测系统设计与实现[J].南京邮电大学学报(自然科学版),2018,38(04):24-29.
[4]尤琦涵,陈兆仕,张沁.OneNET云平台Wi-Fi远程控制的智能教室系统[J].单片机与嵌入式系统应用,2017,17(10):69-73.
[5]林倩.DHT11数字温湿度传感器通信协议的IO模拟[J].信息通信,2017(01):206-207.
[6]易志强,韩宾,江虹,等.基于FPGA的多通道同步实时高速数据采集系统设计[J].电子技术用,2019,45(06):70-74.
作者简介:张金(1995— ),女,汉族,陕西渭南人,硕士,研究方向:现代传感与信息处理;王文清(1995— ),男,汉族,云南曲靖人,硕士,研究方向:现代传感与信息处理。