FPGA下智能温度采集系统设计探究

FPGA下智能温度采集系统设计探究

摘要:温度采集是测量系统中重要的指标之一,针对当前温度采集系统存在的传输距离短、实时性差、成本高等特点,笔者设计了一种基于FPGA的智能温度采集系统。该智能温度采集系统分为数据采集前端和后台数据处理两部分。数据采集前端采用FPGA作为中央处理器,通过WiFi模块将数据发送到OneNet平台上,实现数据的远程查看,还可以通过以太网收发电路将温度信号发送到后台数据处理端,实现温度采集电路的数据传输。后台数据采集端包括服务器和数据分析处理软件,可接收主机传输过来的温度信息,实现前端温度信息的远程监控。另外,可以通过在服务器上进行必要的参数远程设置,实现温度智能检测的目的。

关键词:FPGA;智能;温度采集系统;传感器

0引言

随着社会经济的不断发展和人民生活水平的迅速提高,各种环境问题日益突出,如全球变暖和水环境污染等[1]。在气候环境监测和水质监测中,温度的检测显得越来重要[2]。同时,在工业生产和日常生活中,温度的测量是少不了的,如需要实时监测元器件生产和使用过程中温度的变化,监测深林、室内、人体等温度的变化[3],这对预防重大事故、自然灾害、疾病等都具有非常重要的作用。因此,设计一种低成本、高性能、低功耗的智能温度采集系统,具有非常重要的现实意义。目前,温度采集系统主要是通过现场人工监测实现温度采集。这种方法具有耗时、耗力以及成本高等缺点[4];例如通过RS232等接口,采用有线方式将数据传输到PC机[5],这种方式非常适合短距离数据采集,当传输距离较长时,数据的采集成本和系统的布线难度会大大增加[6];此外,还有一种基于局域GPRS短信的数据传输方式,这种传输方式设计相对简单,成本也相对较低,但是采用的是发送短信的方式,需要预先定义好数据接收的对象。这使得用户对象在一定程度上受到限制。针对这些问题,笔者设计了一种以XILINXFPGA作为主控芯片的智能温度采集系统,该系统在数据采集前端不仅仅实现了温度的LCD实时显示和I2C串口通信,而且还可以在短距离内通过网络或OneNet云端实现对温度信息的远程实时监测,该系统具有体积小、功耗低、使用方便等特点。

1控制系统设计

文章所设计的智能温度采集系统的系统结构设计框图如图1所示。由图1可知,整个系统由数据采集前端设备、以太网通信设备、WiFi模块、后台数据处理设备和云平台构成,其中终端采集设备有测温传感器、FPGA构成,温度传感器将监测到的温度信息发送给FPGA,FPGA将温度数据进行处理汇总。WiFi模块负责将数据传输到云平台,实现数据云端远程查看。以太网通信设备自动通过以太网协议将温度信息发送到数据处理设备,实现数据的实时传输。后台数据处理设备主要由服务器和数据分析软件两部分组成。服务器接收前端采集温度信息并汇总到数据分析软件,数据分析软件通过Python语言编写,并通过可视化的手段将数据呈现。如输入某一时间,可以输出该时间之前一段时间的温度记录信息,并自动生成Excel文件保存,同时可以打印输出。系统的云平台选择移动的OneNet平台作为数据平台的存储和指令的中转站,在OneNet云平台和终端采集设备之间,通过WiFi建立数据连接,实现数据交互。

2系统硬件设计

本系统的硬件包括数据采集前端的采集设备和后台服务器。数据前端采集设备由温度传感器LM75,XILINX的ARTIX-7芯片,LCD显示屏,WiFi模块和Micrel公司的KSZ9031RNX以太网PHY芯片构成。其硬件系统结构图如图2所示。其中温度传感器LM75为非接触式的传感器,支持高速I2C协议,可以在-55℃~+125℃的温度范围内将温度直接转换为数字信号,测量的分辨率可达0.125℃。LM75共有8个引脚,如图3所示。其中VDD和GND引脚分别接FPGA的3.3V和GND引脚。SCL和SDA分别接FPGA的各个模拟接口。INT为终端输出端口,这里设置开路,A0~A2为用户定义的地址信号,这里把A0接3.3V,A1和A2接地。WiFi模块采用商用的EPS8266芯片,通过串口通信协议与FPGA进行通信[7],其模块的结构示意图类似于LM75,这里不再进行叙述。LCD显示屏与FPGA的连接以及使用已经很成熟了,这里不再赘述。通信模块采用的是Micrel公司的KSZ9031RNX以太网PHY芯片。通信模块要与FPGA通信,所以要让通信模块的读写端口与FPGA引脚相连,其通信模块图如图4所示。

3系统软件设计

系统软件主要由FPGA内部程序、OneNet云平台和服务器软件三大部分组成。其中FPGA内部程序的功能主要是对温度传感器测温信号进行采集、处理、显示,以及通过WiFi模块将温度信息上传至OneNet云平台和通过KSZ9031RNX将数据发送至服务器。该系统具体的工作流程如下:现场由温度传感器LM75对温度进行测量,同时将所测量的温度数据信息发送到FPGA进行处理,FPGA将处理后的数据传输到LCD上进行实时显示的同时,通过以太网芯片KSZ9031RNX将数据发送到服务器,并通过WiFi模块将数据上传到OneNet云平台上。OneNet云平台是中国移动公司全力开发的物联网免费开放平台。平台内部采用了多种标准协议,供开发者进行选择,具有开发流程简单、使用方便和功能完备等特点[8]。服务器软件程序采用Python语言完成程序的编写,完成温度信息的汇总、存储、可视化显示以及自动报表的生成等功能。服务器将前端温度采集设备发送过来的温度信息接收并存储在服务器上,同时将温度信息和时间信息自动转变为Excel格式,生成报表。且在终端服务器上以动态图的形式实时显示当前和历史的温度信息,该系统主程序的工作流程如图5所示。

4调试

设置若干个不同的测试点进行测试,将测试端采集到的温度数据上传至后台数据处理设备,达到实时监控当前温度信息,并动态显示历史温度信息的要求。当所有的设备都调试完成,首先打开数据采集前端设备,对室内温度进行测量,温度采集模块采集当前室内温度数据,上传至FPGA,通过前端LCD实时显示当前室内温度;然后打开后台数据处理设备,接收数据采集端发送过来的温度数据,并且在上位机上动态实时显示采集端的温度信息,同时将接收到的信息进行格式转换和存储;最后系统OneNet云端将数据推送出去实现远程实时查看。

5结论

本设计中的智能温度采集系统采用了XILINXFPGA作为控制中枢,有效提高了温度采集的效率和精度,能够实现温度信息的自动采集和监控。完成了后台数据处理设备的上位机的开发,实现了远程监控平台的设计,最终实现温度传感器LM75采集的温度数据以及LCD显示、PC端上位机和OneNet云平台的远程实时查看等功能。实验室对该系统完成了整机测试,系统运行良好。为了提高该系统的应用领域,后续可以通过增加数据采集参数、前端数据采集传感器,设计自组建网络平台,优化系统的硬件设计方案等来对该系统进行改进。

作者:李林 单位:江西师范高等专科学校