李 林
(江西師范高等??茖W(xué)校,江西 鷹潭 335000)
隨著社會(huì)經(jīng)濟(jì)的不斷發(fā)展和人民生活水平的迅速提高,各種環(huán)境問(wèn)題日益突出,如全球變暖和水環(huán)境污染等[1]。在氣候環(huán)境監(jiān)測(cè)和水質(zhì)監(jiān)測(cè)中,溫度的檢測(cè)顯得越來(lái)重要[2]。同時(shí),在工業(yè)生產(chǎn)和日常生活中,溫度的測(cè)量是少不了的,如需要實(shí)時(shí)監(jiān)測(cè)元器件生產(chǎn)和使用過(guò)程中溫度的變化,監(jiān)測(cè)深林、室內(nèi)、人體等溫度的變化[3],這對(duì)預(yù)防重大事故、自然災(zāi)害、疾病等都具有非常重要的作用。因此,設(shè)計(jì)一種低成本、高性能、低功耗的智能溫度采集系統(tǒng),具有非常重要的現(xiàn)實(shí)意義。
目前,溫度采集系統(tǒng)主要是通過(guò)現(xiàn)場(chǎng)人工監(jiān)測(cè)實(shí)現(xiàn)溫度采集。這種方法具有耗時(shí)、耗力以及成本高等缺點(diǎn)[4];例如通過(guò)RS232等接口,采用有線方式將數(shù)據(jù)傳輸?shù)絇C機(jī)[5],這種方式非常適合短距離數(shù)據(jù)采集,當(dāng)傳輸距離較長(zhǎng)時(shí),數(shù)據(jù)的采集成本和系統(tǒng)的布線難度會(huì)大大增加[6];此外,還有一種基于局域GPRS短信的數(shù)據(jù)傳輸方式,這種傳輸方式設(shè)計(jì)相對(duì)簡(jiǎn)單,成本也相對(duì)較低,但是采用的是發(fā)送短信的方式,需要預(yù)先定義好數(shù)據(jù)接收的對(duì)象。這使得用戶對(duì)象在一定程度上受到限制。針對(duì)這些問(wèn)題,筆者設(shè)計(jì)了一種以XILINX FPGA作為主控芯片的智能溫度采集系統(tǒng),該系統(tǒng)在數(shù)據(jù)采集前端不僅僅實(shí)現(xiàn)了溫度的LCD實(shí)時(shí)顯示和I2C串口通信,而且還可以在短距離內(nèi)通過(guò)網(wǎng)絡(luò)或OneNet云端實(shí)現(xiàn)對(duì)溫度信息的遠(yuǎn)程實(shí)時(shí)監(jiān)測(cè),該系統(tǒng)具有體積小、功耗低、使用方便等特點(diǎn)。
文章所設(shè)計(jì)的智能溫度采集系統(tǒng)的系統(tǒng)結(jié)構(gòu)設(shè)計(jì)框圖如圖1所示。
由圖1可知,整個(gè)系統(tǒng)由數(shù)據(jù)采集前端設(shè)備、以太網(wǎng)通信設(shè)備、WiFi模塊、后臺(tái)數(shù)據(jù)處理設(shè)備和云平臺(tái)構(gòu)成,其中終端采集設(shè)備有測(cè)溫傳感器、FPGA構(gòu)成,溫度傳感器將監(jiān)測(cè)到的溫度信息發(fā)送給FPGA,F(xiàn)PGA將溫度數(shù)據(jù)進(jìn)行處理匯總。WiFi模塊負(fù)責(zé)將數(shù)據(jù)傳輸?shù)皆破脚_(tái),實(shí)現(xiàn)數(shù)據(jù)云端遠(yuǎn)程查看。以太網(wǎng)通信設(shè)備自動(dòng)通過(guò)以太網(wǎng)協(xié)議將溫度信息發(fā)送到數(shù)據(jù)處理設(shè)備,實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)傳輸。后臺(tái)數(shù)據(jù)處理設(shè)備主要由服務(wù)器和數(shù)據(jù)分析軟件兩部分組成。服務(wù)器接收前端采集溫度信息并匯總到數(shù)據(jù)分析軟件,數(shù)據(jù)分析軟件通過(guò)Python語(yǔ)言編寫,并通過(guò)可視化的手段將數(shù)據(jù)呈現(xiàn)。如輸入某一時(shí)間,可以輸出該時(shí)間之前一段時(shí)間的溫度記錄信息,并自動(dòng)生成Excel文件保存,同時(shí)可以打印輸出。
圖1 系統(tǒng)框圖
系統(tǒng)的云平臺(tái)選擇移動(dòng)的OneNet平臺(tái)作為數(shù)據(jù)平臺(tái)的存儲(chǔ)和指令的中轉(zhuǎn)站,在OneNet云平臺(tái)和終端采集設(shè)備之間,通過(guò)WiFi建立數(shù)據(jù)連接,實(shí)現(xiàn)數(shù)據(jù)交互。
本系統(tǒng)的硬件包括數(shù)據(jù)采集前端的采集設(shè)備和后臺(tái)服務(wù)器。數(shù)據(jù)前端采集設(shè)備由溫度傳感器LM75,XILINX的ARTIX-7芯片,LCD顯示屏,WiFi模塊和Micrel公司的KSZ9031RNX以太網(wǎng)PHY芯片構(gòu)成。其硬件系統(tǒng)結(jié)構(gòu)圖如圖2所示。
其中溫度傳感器LM75為非接觸式的傳感器,支持高速I2C協(xié)議,可以在-55℃~+125℃的溫度范圍內(nèi)將溫度直接轉(zhuǎn)換為數(shù)字信號(hào),測(cè)量的分辨率可達(dá)0.125℃。LM75共有8個(gè)引腳,如圖3所示。其中VDD和GND引腳分別接FPGA的3.3 V和GND引腳。SCL和SDA分別接FPGA的各個(gè)模擬接口。INT為終端輸出端口,這里設(shè)置開路,A0~A2為用戶定義的地址信號(hào),這里把A0接3.3 V,A1和A2接地。
圖3 LM75溫度傳感器模塊圖
WiFi模塊采用商用的EPS8266芯片,通過(guò)串口通信協(xié)議與FPGA進(jìn)行通信[7],其模塊的結(jié)構(gòu)示意圖類似于LM75,這里不再進(jìn)行敘述。LCD顯示屏與FPGA的連接以及使用已經(jīng)很成熟了,這里不再贅述。通信模塊采用的是Micrel公司的KSZ9031RNX以太網(wǎng)PHY芯片。通信模塊要與FPGA通信,所以要讓通信模塊的讀寫端口與FPGA引腳相連,其通信模塊圖如圖4所示。
圖4 通信模塊圖
系統(tǒng)軟件主要由FPGA內(nèi)部程序、OneNet云平臺(tái)和服務(wù)器軟件三大部分組成。其中FPGA內(nèi)部程序的功能主要是對(duì)溫度傳感器測(cè)溫信號(hào)進(jìn)行采集、處理、顯示,以及通過(guò)WiFi模塊將溫度信息上傳至OneNet云平臺(tái)和通過(guò)KSZ9031RNX將數(shù)據(jù)發(fā)送至服務(wù)器。該系統(tǒng)具體的工作流程如下:現(xiàn)場(chǎng)由溫度傳感器LM75對(duì)溫度進(jìn)行測(cè)量,同時(shí)將所測(cè)量的溫度數(shù)據(jù)信息發(fā)送到FPGA進(jìn)行處理,F(xiàn)PGA將處理后的數(shù)據(jù)傳輸?shù)絃CD上進(jìn)行實(shí)時(shí)顯示的同時(shí),通過(guò)以太網(wǎng)芯片KSZ9031RNX將數(shù)據(jù)發(fā)送到服務(wù)器,并通過(guò)WiFi模塊將數(shù)據(jù)上傳到OneNet云平臺(tái)上。
OneNet云平臺(tái)是中國(guó)移動(dòng)公司全力開發(fā)的物聯(lián)網(wǎng)免費(fèi)開放平臺(tái)。平臺(tái)內(nèi)部采用了多種標(biāo)準(zhǔn)協(xié)議,供開發(fā)者進(jìn)行選擇,具有開發(fā)流程簡(jiǎn)單、使用方便和功能完備等特點(diǎn)[8]。服務(wù)器軟件程序采用Python語(yǔ)言完成程序的編寫,完成溫度信息的匯總、存儲(chǔ)、可視化顯示以及自動(dòng)報(bào)表的生成等功能。服務(wù)器將前端溫度采集設(shè)備發(fā)送過(guò)來(lái)的溫度信息接收并存儲(chǔ)在服務(wù)器上,同時(shí)將溫度信息和時(shí)間信息自動(dòng)轉(zhuǎn)變?yōu)镋xcel格式,生成報(bào)表。且在終端服務(wù)器上以動(dòng)態(tài)圖的形式實(shí)時(shí)顯示當(dāng)前和歷史的溫度信息,該系統(tǒng)主程序的工作流程如圖5所示。
圖5 系統(tǒng)主程序流程圖
設(shè)置若干個(gè)不同的測(cè)試點(diǎn)進(jìn)行測(cè)試,將測(cè)試端采集到的溫度數(shù)據(jù)上傳至后臺(tái)數(shù)據(jù)處理設(shè)備,達(dá)到實(shí)時(shí)監(jiān)控當(dāng)前溫度信息,并動(dòng)態(tài)顯示歷史溫度信息的要求。當(dāng)所有的設(shè)備都調(diào)試完成,首先打開數(shù)據(jù)采集前端設(shè)備,對(duì)室內(nèi)溫度進(jìn)行測(cè)量,溫度采集模塊采集當(dāng)前室內(nèi)溫度數(shù)據(jù),上傳至FPGA,通過(guò)前端LCD實(shí)時(shí)顯示當(dāng)前室內(nèi)溫度;然后打開后臺(tái)數(shù)據(jù)處理設(shè)備,接收數(shù)據(jù)采集端發(fā)送過(guò)來(lái)的溫度數(shù)據(jù),并且在上位機(jī)上動(dòng)態(tài)實(shí)時(shí)顯示采集端的溫度信息,同時(shí)將接收到的信息進(jìn)行格式轉(zhuǎn)換和存儲(chǔ);最后系統(tǒng)OneNet云端將數(shù)據(jù)推送出去實(shí)現(xiàn)遠(yuǎn)程實(shí)時(shí)查看。
本設(shè)計(jì)中的智能溫度采集系統(tǒng)采用了XILINX FPGA作為控制中樞,有效提高了溫度采集的效率和精度,能夠?qū)崿F(xiàn)溫度信息的自動(dòng)采集和監(jiān)控。完成了后臺(tái)數(shù)據(jù)處理設(shè)備的上位機(jī)的開發(fā),實(shí)現(xiàn)了遠(yuǎn)程監(jiān)控平臺(tái)的設(shè)計(jì),最終實(shí)現(xiàn)溫度傳感器LM75采集的溫度數(shù)據(jù)以及LCD顯示、PC端上位機(jī)和OneNet云平臺(tái)的遠(yuǎn)程實(shí)時(shí)查看等功能。實(shí)驗(yàn)室對(duì)該系統(tǒng)完成了整機(jī)測(cè)試,系統(tǒng)運(yùn)行良好。
為了提高該系統(tǒng)的應(yīng)用領(lǐng)域,后續(xù)可以通過(guò)增加數(shù)據(jù)采集參數(shù)、前端數(shù)據(jù)采集傳感器,設(shè)計(jì)自組建網(wǎng)絡(luò)平臺(tái),優(yōu)化系統(tǒng)的硬件設(shè)計(jì)方案等來(lái)對(duì)該系統(tǒng)進(jìn)行改進(jìn)。