基于Nios II处理器的可移动空气污染物监测系统

2021-12-30 14:54曾永西,周免免,王颖鑫,曾峥,陈木生

曾永西,周免免,王颖鑫,曾峥,陈木生

摘要:设计一种基于Nios II处理器的可移动空气污染物监测系统.系统以可编程逻辑器件FPGA内嵌Nios II处理器作为控制核心,外围搭配SDRAM模块、EPCS模块、卫星信号解算模块、空气污染物检测模块、温湿度检测模块、无线通信模块及人机交互模块,实现对监测终端所在位置的空气污染物浓度参数实时监测,并将包含时间、位置、污染物浓度和温湿度等四类数据整理打包上传至远程服务器供进一步应用开发.

关键词:Nios II;FPGA;空气污染物监测

[中图分类号]TP216[文献标志码]A

Mobile Air Pollutants Monitoring System Based On Nios II Processor

ZENG Yongxi*,CHEN Musheng,ZHOU Mianmian,

WANG Yingxin,ZENG Zheng

(College of Physics and Information Engineering,Quanzhou Normal University,Quanzhou 362000,China)

Abstract:A portable air pollutant monitoring system based on Nios II processor is designed.This system uses FPGA embedded NIOS II processor as the control core,with SDRAM module,EPCS module,satellite signal analysis module,air pollutants detection module,temperature and humidity detection module,wireless communication module and human-computer interaction module on the periphery.And it can carry out real-time monitoring of the air pollutant concentration parameters at the location of the monitoring terminal,and pack and upload four types of data to the remote server,including time,location,pollutant concentration and temperature and humidity.The system can be used as a supplement to the traditional fixed ambient air quality monitoring station.

Key words:Nios II;FPGA;air pollutants monitoring

空氣污染和雾霾天气频发对人们的健康、生活和安全产生了严重的影响,改善环境空气质量成为普遍诉求.空气污染物监测是改善空气质量的前提.[1-2]传统定点环境空气质量实时监测系统体积一般比较庞大,价钱昂贵,监测点安装数量有限.如果能够在现有固定监测点的基础上针对工厂厂区、建筑工地等场所,开发可移动空气污染物监测系统作为固定环境空气监测站的有益补充,监测的结果和数据将更有针对性.笔者提出以可编程逻辑器件FPGA内嵌Nios II处理器作为控制核心,结合北斗/GPS卫星信号解算技术,设计了一款可移动空气污染物监测系统.[3-5]该系统可根据实际需要定制相应功能IP,在不改动硬件电路架构的前提下,当待检测空气污染物参数的种类或数量发生变化、系统功能升级或人机交互显示信息调整时,可增加或裁剪Nios II控制器的外设功能模块,以最精简灵活的方式实现空气污染物的实时监测.

1系统硬件设计

基于Nios II处理器的可移动空气污染物监测系统包括Nios II处理器模块、SDRAM模块、EPCS模块、无线通信模块、卫星信号解算模块、温湿度检测模块、人机交互模块及多个空气污染物检测模块.

Nios II处理器模块为通过Qsys工具在现场可编程门阵列FPGA内部嵌入,可选择不同的Nios II内核等级,定制不同种类和数量的功能IP.SDRAM模块为FPGA外围存储模块,用于配合Nios II处理器,提供处理器数据和指令的存储空间.EPCS模块作为FPGA系统镜像存储器,用于固化保存所设计的FPGA整体电路结构,在监测系统供电之后,自动实现系统镜像电路下载到FPGA中,以脱离计算机设计平台.卫星信号解算模块用于接收并解算北斗/GPS卫星信号,获取检测系统硬件终端所的位置信息和当前的UTC时间信息,与其他空气污染物传感器的数据一起打包发送.温湿度检测模块用于检测硬件终端所在位置的温度和湿度数据,空气污染物检测模块为检测相应空气污染物参数的传感器模组,无线通信模块用于将打包后(包括时间、位置、空气污染物含量和温湿度)四类数据发送至远程服务器平台,供进一步的数据应用开发.人机交互模块是监测系统人机交互用的显示界面.

1.1FPGA内部架构设计

系统采用Intel的Cyclone IV系列FPGA芯片,型号为EP4CE10F17C8,集成10320个逻辑单元(LEs),414 Kbits内存,资源丰富,能满足监测系统资源定制的需求.图1为FPGA模块内部框图.根据监测系统的需要,除Nios II处理器核心外,添加了系统ID、系统CLOCK、SDRAM控制器、EPCS控制器、JTAG_UART下载调试器、I2C接口、PIO接口、UART接口等外设功能IP.Nios II处理配置的系统时钟为100 MHz,I2C接口主要与温湿度检测模块通信,PIO接口主要与用于人机交互用的显示模块LCD12864通信.UART接口的数量与系统外接(以UART为通信方式)的模块数量有关,主要与无线通信模块SIM900A模块、卫星信号解算模块UM220-III和相应的空气污染物传感器模块进行通信,串口波特率均设置为9 600 bps,数据格式为8个数据位、1个停止位、1个校验位.

1.2FPGA外围电路设计

FPGA外围电路主要有SDRAM模块电路、EPCS模块电路、UM220-III卫星信号解算模块电路、SIM900A模块电路、空气污染物和温湿度传感器模块电路.图2为SDRAM模块电路图,芯片型号为HY57V2562GTR,容量为256 Mbit,数据位宽为16 bit,地址位宽为13 bit,供电电压3.3 V,用作Nios II处理器的数据和指令缓存.

图3为EPCS模块电路结构图,采用ST公司型号为M25P16VP的FLASH芯片,容量大小为16 Mbit,是FPGA系统的启动镜像.供电电压为3.3 V,系统上电后,通过DCLK,ASDO,DATA0,nCSO四个引脚,自动将其存储的电路镜像下载至FPGA中.

图4为UM220-III北斗/GPS卫星信号解算模块电路图,通过SMA接口连接卫星天线,模块提供I2C,SPI或UART串口输出卫星解算数据,系统通过UART接口将数据串行输送给NiosII处理器模块.

图5为无线通信模块电路图,采用SIM900A芯片,模块通过UART接口接收Nios II处理器模块打包处理后的数据,经由GPRS网络传送数据到远程服务器,供进一步的数据应用开发.[6]

图6为温湿度检测模块电路图,其型号为SHT20,可采集的温度范围-40~125 ℃,相对湿度范围0~100%RH,模块通过I2C接口将采集到的温湿度数据输送给Nios II处理器模块进行打包处理,注意模块的SDA和SCL接口需要接10 K的上拉电阻,实现与Nios II系统正常通信.

系统检测的空气污染物参数包括国家环境空气质量标准GB3095-2012中所列的基本项目,即PM2.5,PM10,O3,SO2,CO,NO2等六类参数.[7]

图7为SDS011悬浮颗粒物检测模块接口电路图,模块采用激光散射原理[8],能够检测空气中0.3~10 μm悬浮颗粒物浓度,模块内置风扇,且数字化输出,响应快速,场景变换响应时间小于10秒.监测系统通过将SDS011模块的RXD和

TXD连接至Nios II串口外设的S1_TXD和S1_RXD,进行数据串口通信.

图8为SO2检测模块电路连接图,该模块采用德国EC Sense固态聚合物传感器,测量范围为0~10 ppm,分辨率为0.001 ppm,串口数字输出.监测系统通过将SO2模块的RXD和TXD连接至Nios II串口外设的S2_TXD和S2_RXD,进行数据串口通信.

空气污染物传感器模组的UART通信接口连接方式与图7悬浮颗粒物检测模块、图8 SO2检测模块的电路连接方式相同.该监测系统可以根据检测模组的数量,为Nios II处理器搭建相应的UART功能IP,与相应的传感器模组进行数据通信.

2系统软件设计

系统的软件设计基于Nios II SBT平台,采用C语言,对Nios II接收到的定位数据、温湿度数据、PM2.5/PM10浓度值以及各气体传感器检测到的气体浓度值进行处理,整合并打包发送给SIM900A无线发送模块,以实现数据的本地人机交互显示和远程无线传输.系统软件总体程序流程如图9所示.

第一步,进行系统初始化,包括设置SHT20模块分辨率、设置人机交互显示模块初始显示内容和数据显示位置.第二步,各功能模块的初始化,包括设置O3传感器模块A/D转换参数,设置UM220-III模块、SDS011模块、SIM900A模块的串口波特率,设置SIM900A模块通过UDP协议传输给远程服务器的本地端口号和远程服务器的端口号,建立起UDP通信.第三步,接收卫星信号解算数据、温湿度数据、PM2.5/PM10浓度值以及各气体传感器检测的气体浓度值.UM220-III模块接收到卫星数据后会触发UART中断,将接收到的数据暂存,待接收到一条完整的数据后对所接收到的数据进行处理,提取所需要的信息并判断该数据的完整性.第四步,将处理后的包含时间、位置、空气污染物数据和温湿度四类数据整合,控制人机交互显示屏显示内容的实时更新;通过UART串口将数据上传给SIM900A模块,通过UDP协议将数据发送至远程服务器.

3系统测试

在Quartus II和Nios II SBT平台上对系统代码的各個模块进行编译、综合、适配,经USB-Blaster下载固化FPGA系统镜像至EPCS芯片,然后进行系统硬件测试.当系统上电初始化后,人机交互显示屏第一行的中间位置显示“空气质量监测系统”,待Nios II处理器接收到完整数据后,将在液晶屏的第一页显示温/湿度数据、速度、经纬度、日期时间和定位状态;5秒后显示屏自动切换,显示PM2.5,PM10,SO2监测数据的界面;5秒后显示屏自动切换至第三页,显示O3,CO和NO2监测数据的界面;人机交互三页显示内容自动切换,不必人为操作.待Nios II处理器处理完接收的数据后,通过UART通信的方式将其发送给SIM900A模块,由其通过UDP协议将数据上传远程服务器,实现数据的无线传输.

系统测试结果表明,该监测系统能正常实现卫星定位及相应空气污染物实时监测和本地显示功能,能将整合数据远程发送,供服务器端进一步开发应用.

4结语

基于Nios II处理器的可移动空气污染物监测系统以FPGA内嵌Nios II处理器为控制核心,实现对外围空气污染物传感器模块及卫星信号解算模块的控制及信息获取,整合传递数据,远程发送至服务器,供远程进一步开发应用,达到了可移动监测效果.该系统可根据监测参数的种类和数量变化,在不改动硬件连接的情况下,对系统进行升级调整,有很好的灵活性和适应性,对现有固定的环境空气质量监测站是一种有益的补充.参考文献

[1]生态环境部.中国空气质量改善报告(2013-2018年)[J].分析测试学报,2019,38(7):791.

[2]张斌.大气污染物减排与环境空气质量改善措施[J].环境与发展,2017,29(6):77-78.

[3]谢超,王正.基于单片机的室内空气质量监测系统设计与实现[J].林业机械与木工设备,2020,48(12):32-36+42.

[4]慕灯聪,李峥,朱旋.基于STM32的火电厂空气质量无线监测系统设计[J].牡丹江师范学院学报:自然科学版,2020(4):23-26.

[5]王媛媛,段敏杰,童军.FPGA的室内空气质量检测与调节系统[J].传感器与微系统,2016,35(12):140-142.

[6]陈木生,卢文杰,曾永西,等.防堵塞降雨量实时监测系统设计[J].牡丹江师范学院学报:自然科学版,2021(2):34-36.

[7]中国环境科学研究院&中国环境监测总站.GB 3095-2012,环境空气质量标准[S].2012.

[8]郭亮,邵鹏威,马志伟,等.光散射法和β射线法颗粒物测量仪适用性研究[J].中国计量,2021(2):81-85.

编辑:琳莉