張金 王文清



摘 要:針對(duì)現(xiàn)有工廠多環(huán)境參數(shù)監(jiān)測(cè)系統(tǒng)結(jié)構(gòu)復(fù)雜、功耗大、成本高等問(wèn)題,設(shè)計(jì)了一套基于FPGA技術(shù)的多環(huán)境參數(shù)在線監(jiān)測(cè)系統(tǒng),實(shí)現(xiàn)了對(duì)工廠NO2氣體濃度、溫濕度、空氣懸浮顆粒物濃度的遠(yuǎn)程在線監(jiān)測(cè)。系統(tǒng)以FPGA作為核心控制器,通過(guò)ESP8266無(wú)線通信模塊將監(jiān)測(cè)數(shù)據(jù)上傳至ONENET云平臺(tái),可實(shí)現(xiàn)對(duì)化工廠內(nèi)溫濕度、和PM2.5、PM10濃度、NO2濃度等環(huán)境參量的實(shí)時(shí)上報(bào)。實(shí)驗(yàn)結(jié)果表明,通過(guò)FPGA多通道并行傳輸與處理的方式可實(shí)現(xiàn)對(duì)大氣多參數(shù)的實(shí)時(shí)同步監(jiān)測(cè),同時(shí)增加了系統(tǒng)的靈活性,有利于系統(tǒng)的拆裝和擴(kuò)展,且在硬件結(jié)構(gòu)、體積、采集速率、數(shù)據(jù)實(shí)時(shí)性方面有所改善。
關(guān)鍵詞:FPGA;環(huán)境監(jiān)測(cè);ESP8266無(wú)線通信;ONENET平臺(tái)
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 緒論
中國(guó)工業(yè)化生產(chǎn)的發(fā)展非常迅速,但是與此同時(shí)也造成了很大的環(huán)境污染和人員的健康威脅。比如某些氣體的泄漏會(huì)造成廠區(qū)爆炸和人員的傷亡或者引起呼吸道慢性病。傳統(tǒng)的環(huán)境檢測(cè)方式一般采用人員檢測(cè),這樣就會(huì)使監(jiān)測(cè)人員存在未知的安全隱患;目前市場(chǎng)還有采用機(jī)器車進(jìn)行監(jiān)測(cè),但這種監(jiān)測(cè)方式成本較高,不適合盈利性工廠的理念。
針對(duì)目前環(huán)境監(jiān)測(cè)市場(chǎng)存在的諸多問(wèn)題,設(shè)計(jì)了一款基于FPGA的多環(huán)境參數(shù)監(jiān)測(cè)系統(tǒng),整個(gè)系統(tǒng)包括監(jiān)測(cè)終端設(shè)備、云平臺(tái)以及作為他們兩者之間數(shù)據(jù)交互橋梁的無(wú)線通信模塊。將監(jiān)測(cè)終端設(shè)備放到需要監(jiān)測(cè)的廠區(qū),這樣無(wú)線通信模塊就能將監(jiān)測(cè)終端監(jiān)測(cè)的環(huán)境數(shù)據(jù)上傳至云平臺(tái),這樣監(jiān)管人員只需要對(duì)云平臺(tái)的數(shù)據(jù)進(jìn)行查看,即可了解到監(jiān)測(cè)區(qū)域的環(huán)境狀況。
本系統(tǒng)終端設(shè)備的主控芯片選用的是FPGA,F(xiàn)PGA芯片引腳數(shù)目多,而且因?yàn)槠鋸?qiáng)大充分的內(nèi)部資源,所以FPGA具有編程配置靈活的特點(diǎn)。相比于ARM芯片而言,F(xiàn)PGA采用的是純硬件編程思維,具有并行處理的能力;而且FPGA有抗干擾能力強(qiáng)、功耗低等優(yōu)點(diǎn)[1-2]。本系統(tǒng)根據(jù)FPGA并行處理數(shù)據(jù)的能力,在監(jiān)測(cè)終端接入了多個(gè)傳感器,多個(gè)傳感器可采集多種環(huán)境參數(shù),這樣使監(jiān)測(cè)的效率大大提高。而且對(duì)系統(tǒng)采集數(shù)據(jù)通過(guò)無(wú)線傳輸模塊進(jìn)行無(wú)線傳輸,實(shí)現(xiàn)了環(huán)境數(shù)據(jù)的遠(yuǎn)程實(shí)時(shí)同步采集。
本設(shè)計(jì)采用的云平臺(tái)為中移物聯(lián)網(wǎng)云平臺(tái),這款云平臺(tái)不僅開(kāi)發(fā)簡(jiǎn)單,而且功能強(qiáng)大,具有數(shù)據(jù)接收存儲(chǔ)和命令下發(fā)的功能,這個(gè)平臺(tái)可以接入多個(gè)設(shè)備和數(shù)據(jù)流[3-4],這樣就和本系統(tǒng)設(shè)計(jì)的多種環(huán)境數(shù)據(jù)監(jiān)測(cè)的理念相一致。在此平臺(tái)上可以設(shè)計(jì)數(shù)據(jù)流顯示界面,這樣監(jiān)管人員可以很方便地對(duì)數(shù)據(jù)進(jìn)行查看分析及操作。
2 系統(tǒng)整體結(jié)構(gòu)設(shè)計(jì)
本系統(tǒng)整體結(jié)構(gòu)設(shè)計(jì)包含了監(jiān)測(cè)節(jié)點(diǎn)終端、Wi-Fi無(wú)線通信模塊、云平臺(tái)和遠(yuǎn)程終端這四個(gè)部分。系統(tǒng)整體實(shí)現(xiàn)的功能就是將監(jiān)測(cè)終端采集的傳感器信息上傳至云服務(wù)器,最后用戶可通過(guò)遠(yuǎn)程終端對(duì)終端采集的數(shù)據(jù)進(jìn)行實(shí)時(shí)查看。系統(tǒng)整體結(jié)構(gòu)框圖1所示。
3 系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)監(jiān)測(cè)終端硬件設(shè)計(jì)采用模塊化設(shè)計(jì)原理。硬件模塊主要包括:主控模塊、電源模塊、FLASH存儲(chǔ)、無(wú)線通信模塊、溫濕度監(jiān)測(cè)模塊、空氣懸浮顆粒物監(jiān)測(cè)模塊、NO2氣體傳感器模塊、電機(jī)控制模塊(空氣泵)等。各模塊的連接如圖2所示。
3.1 主控模塊
本系統(tǒng)提出以現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)作為主控芯片,將接口通信功能、控制功能、數(shù)據(jù)緩存功能、數(shù)據(jù)處理功能集成在芯片內(nèi)部,通過(guò)多通道并行傳輸與處理的方式實(shí)現(xiàn)對(duì)大氣多參數(shù)的實(shí)時(shí)同步監(jiān)測(cè)。本系統(tǒng)的主控芯片選取的是Xilinx公司的Spartan6系列的FPGA,其內(nèi)部資源足以完成本設(shè)計(jì)功能實(shí)現(xiàn)。通過(guò)FPGA控制各路傳感器和空氣泵的工作與否,實(shí)現(xiàn)了多環(huán)境參數(shù)的采集、傳輸與存儲(chǔ)。
3.2 電源模塊
電源模塊為整個(gè)系統(tǒng)的各個(gè)硬件電路模塊提供供電支持,對(duì)系統(tǒng)的穩(wěn)定性有著至關(guān)重要的作用。所以在設(shè)計(jì)電源模塊的電路時(shí),得首先對(duì)其他模塊的電壓及功耗進(jìn)行考慮,從而設(shè)計(jì)整個(gè)系統(tǒng)的供電模塊。本系統(tǒng)電源模塊是使用12V 4800mA聚合物鋰電池作為供電電源,然后通過(guò)穩(wěn)壓降壓電路實(shí)現(xiàn)12V電壓到5V和3.3V的電壓轉(zhuǎn)換,從而滿足了整個(gè)系統(tǒng)供電需求。
3.3 傳感器模塊
因?yàn)樾枰O(jiān)測(cè)的環(huán)境參數(shù)有NO2濃度、溫濕度及PM2.5、PM10的濃度。因此本系統(tǒng)采用了三個(gè)傳感器對(duì)這幾個(gè)環(huán)境參數(shù)進(jìn)行采集。一個(gè)是圣凱安公司成產(chǎn)的二氧化氮傳感器;還有PMSA003空氣懸浮顆粒物傳感器,其用來(lái)監(jiān)測(cè)PM2.5和PM10的濃度;最后一個(gè)是DHT11傳感器,用于采集環(huán)境的溫度和濕度。其中NO2傳感器與PMSA003使用串口輸出方式,DHT11使用單總線串口傳輸方式[5]。
3.4 電機(jī)控制模塊
空氣泵控制電路用于實(shí)現(xiàn)空氣泵的開(kāi)關(guān)控制。其控制電路如圖3所示。其中繼電器選用SRD-05VDC,吸合電壓為5V,光耦EL817C845對(duì)FPGA芯片與控制電路進(jìn)行光電隔離,從而實(shí)現(xiàn)了對(duì)主控芯片進(jìn)行保護(hù),增強(qiáng)了主控芯片的穩(wěn)定性。
3.5 無(wú)線通信模塊
本系統(tǒng)是要將監(jiān)測(cè)終端的監(jiān)測(cè)數(shù)據(jù)上傳至云平臺(tái)進(jìn)行數(shù)據(jù)分析與查看,所以對(duì)于這種遠(yuǎn)距離的監(jiān)測(cè)任務(wù),我們需要使用無(wú)線傳輸模塊進(jìn)行數(shù)據(jù)傳輸,對(duì)市面上常用的無(wú)線傳輸模塊性價(jià)比進(jìn)行對(duì)比分析后,最終選擇了ESP8266這款無(wú)線通信模塊作為監(jiān)測(cè)終端和云平臺(tái)的橋梁。
4 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件的設(shè)計(jì)是在系統(tǒng)硬件設(shè)計(jì)和ONENET云平臺(tái)通信協(xié)議的基礎(chǔ)上進(jìn)行的。環(huán)境監(jiān)測(cè)系統(tǒng)軟件設(shè)計(jì)根據(jù)系統(tǒng)的總體結(jié)構(gòu)分為環(huán)境監(jiān)測(cè)終端數(shù)據(jù)采集程序設(shè)計(jì)、監(jiān)測(cè)終端與云平臺(tái)通信主程序設(shè)計(jì)和ONENET云平臺(tái)上位機(jī)軟件的設(shè)計(jì)三個(gè)部分。如圖4所示為系統(tǒng)軟件設(shè)計(jì)的總體架構(gòu)。
4.1 數(shù)據(jù)采集部分軟件設(shè)計(jì)
FPGA數(shù)據(jù)采集這部分的軟件設(shè)計(jì),首先按系統(tǒng)功能進(jìn)行模塊劃分。主要分為系統(tǒng)同步時(shí)鐘模塊、信號(hào)收發(fā)模塊、指令解析模塊、傳感器模塊、數(shù)據(jù)打包模塊和數(shù)據(jù)緩存處理模塊等。數(shù)據(jù)采集部分總體框架如圖5所示。
信號(hào)收發(fā)模塊system_uart_top包括串口時(shí)序配置模塊,cmd_receive命令接收模塊、和data_send數(shù)據(jù)發(fā)送模塊。接收到上位機(jī)傳來(lái)的請(qǐng)求信號(hào)后,system_uart_top將請(qǐng)求信號(hào)發(fā)送給信號(hào)解析模塊cmd_decode進(jìn)行解析。
cmd_decode模塊將請(qǐng)求信號(hào)解析后經(jīng)判斷確認(rèn)上位機(jī)需要哪些傳感器數(shù)據(jù),并將使能信號(hào)發(fā)送給相應(yīng)傳感器模塊。傳感器模塊com1-com6中相應(yīng)傳感器接收到使能信號(hào)后,進(jìn)行對(duì)所對(duì)應(yīng)的氣體數(shù)據(jù)進(jìn)行采集,并將數(shù)據(jù)發(fā)送給數(shù)據(jù)打包模塊data_encode。data_encode數(shù)據(jù)打包模塊從傳感器模塊處接收信息,根據(jù)之前確定的氣體監(jiān)測(cè)通信協(xié)議,將傳感器采集到的氣體數(shù)據(jù)處理為特定格式的信號(hào),并進(jìn)行打包發(fā)送給信號(hào)收發(fā)模塊system_uart_top。
最后再由信號(hào)收發(fā)模塊system_uart_top將打包好的氣體數(shù)據(jù)發(fā)送給上位機(jī)。
4.2 監(jiān)測(cè)終端與云平臺(tái)通信部分軟件設(shè)計(jì)
ESP8266無(wú)線通信模塊上電后,首先對(duì)ESP8266模塊進(jìn)行信息配置,接著搜索并連接Wi-Fi。連接成功后,將ESP8266無(wú)線模塊接入終端設(shè)備。因?yàn)镋SP8266與云平臺(tái)建立TCP連接,需要發(fā)送AT指令,所以在這部分軟件設(shè)計(jì)中,F(xiàn)PGA將需要發(fā)送的AT指令通過(guò)串口發(fā)送給無(wú)線模塊,從而成功的建立ESP8266模塊云平臺(tái)的連接。ESP8266無(wú)線通信模塊工作流程如圖6所示。
4.3 ONENET云平臺(tái)上位機(jī)設(shè)計(jì)部分
要實(shí)現(xiàn)整個(gè)系統(tǒng)的搭建,就需要將前面設(shè)計(jì)的監(jiān)測(cè)終端接入云平臺(tái)。這樣就可以將監(jiān)測(cè)終端采集的監(jiān)測(cè)數(shù)據(jù)進(jìn)行有效的展示。本系統(tǒng)采用的云平臺(tái)是ONENET云平臺(tái)。使用ONENET云平臺(tái),首先需要在此云平臺(tái)進(jìn)行用戶注冊(cè),建立開(kāi)發(fā)者的開(kāi)發(fā)平臺(tái)。在注冊(cè)和登錄完成后,在“開(kāi)發(fā)者中心”創(chuàng)建產(chǎn)品并進(jìn)行設(shè)備綁定。
ONENET基本開(kāi)發(fā)流程如圖7所示。
5 實(shí)驗(yàn)結(jié)果
用戶登錄ONENET云平臺(tái)成功后,可以看到產(chǎn)品概況、產(chǎn)品id、tcp透?jìng)鞣绞揭约霸O(shè)備在線等信息界面;在產(chǎn)品操作界面點(diǎn)擊設(shè)備列表,就可以看到用戶創(chuàng)建的溫度、濕度、PM2.5、NO2等設(shè)備;此外還可以看到設(shè)備所在的地圖位置信息。
將監(jiān)測(cè)設(shè)備放置化工廠房?jī)?nèi),監(jiān)測(cè)的數(shù)據(jù)信息在ONENET云平臺(tái)上的展示如圖8所示。
6 結(jié)語(yǔ)
傳統(tǒng)環(huán)境監(jiān)測(cè)系統(tǒng)的硬件需要擴(kuò)展外圍電路,而且數(shù)據(jù)采集過(guò)程也存在著實(shí)時(shí)性差的情況。本設(shè)計(jì)是采用FPGA作為主控芯片,F(xiàn)PGA具有并行處理數(shù)據(jù)的能力,對(duì)于本設(shè)計(jì)的多路傳感器數(shù)據(jù)采集具有很大的優(yōu)勢(shì)[6]。在FPGA內(nèi)部,根據(jù)其內(nèi)部充分的資源,能夠?qū)崿F(xiàn)本設(shè)計(jì)多環(huán)境參數(shù)數(shù)據(jù)的采集與存儲(chǔ)。而且在FPGA內(nèi)部對(duì)于采集的傳感器數(shù)據(jù)可以進(jìn)行有效處理,使得整個(gè)系統(tǒng)具有很強(qiáng)的可靠性和實(shí)用性。本設(shè)計(jì)的整體設(shè)計(jì)方案采用以FPGA作為核心控制器,不同于以往的基于ARM的數(shù)據(jù)采集。就是利用了FPGA對(duì)于多通道數(shù)據(jù)采集的強(qiáng)大優(yōu)勢(shì)。這樣是整個(gè)系統(tǒng)非常具有針對(duì)性和普適性。
本系統(tǒng)是將獲取的多種環(huán)境數(shù)據(jù)在中移物聯(lián)網(wǎng)這個(gè)免費(fèi)的云平上進(jìn)行展示,由于ONENET云平臺(tái)是一個(gè)免費(fèi)的開(kāi)發(fā)平臺(tái),這樣就降低了項(xiàng)目的開(kāi)發(fā)成本。而且在此平臺(tái)上的數(shù)據(jù)具有實(shí)時(shí)性及開(kāi)放性的特點(diǎn),使得監(jiān)管人員能夠隨時(shí)隨地的對(duì)被監(jiān)測(cè)區(qū)域的環(huán)境進(jìn)行有效查看與分析。這種將終端數(shù)據(jù)上傳至云平臺(tái)進(jìn)行數(shù)據(jù)查看的方式,很符合社會(huì)現(xiàn)在環(huán)境監(jiān)測(cè)系統(tǒng)越來(lái)越自動(dòng)化的發(fā)展趨勢(shì)。
參考文獻(xiàn):
[1]夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程[M].北京:北京航空航天大學(xué)出版社,2005.
[2]王建中,楊璐.高速實(shí)時(shí)系統(tǒng)數(shù)據(jù)采集與傳輸[J].計(jì)算機(jī)科學(xué),2016,43(S2):604-606.
[3]丁飛,吳飛,艾成萬(wàn),等.基于OneNET平臺(tái)的環(huán)境監(jiān)測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].南京郵電大學(xué)學(xué)報(bào)(自然科學(xué)版),2018,38(04):24-29.
[4]尤琦涵,陳兆仕,張沁.OneNET云平臺(tái)Wi-Fi遠(yuǎn)程控制的智能教室系統(tǒng)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2017,17(10):69-73.
[5]林倩.DHT11數(shù)字溫濕度傳感器通信協(xié)議的IO模擬[J].信息通信,2017(01):206-207.
[6]易志強(qiáng),韓賓,江虹,等.基于FPGA的多通道同步實(shí)時(shí)高速數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].電子技術(shù)用,2019,45(06):70-74.
作者簡(jiǎn)介:張金(1995— ),女,漢族,陜西渭南人,碩士,研究方向:現(xiàn)代傳感與信息處理;王文清(1995— ),男,漢族,云南曲靖人,碩士,研究方向:現(xiàn)代傳感與信息處理。