王晨輝,吳 悅,楊 凱
(中國地質(zhì)調(diào)查局水文地質(zhì)環(huán)境地質(zhì)調(diào)查中心,河北 保定 071051)
基于STM32的多通道數(shù)據(jù)采集系統(tǒng)設(shè)計
王晨輝,吳悅,楊凱
(中國地質(zhì)調(diào)查局水文地質(zhì)環(huán)境地質(zhì)調(diào)查中心,河北 保定 071051)
針對地質(zhì)災(zāi)害監(jiān)測領(lǐng)域?qū)?shù)據(jù)采集系統(tǒng)的低功耗與實時性要求,提出了一種基于 STM32F103和ADS1256的多通道數(shù)據(jù)采集系統(tǒng),可實現(xiàn)對地質(zhì)災(zāi)害現(xiàn)場泥水位、地聲、次聲、位移等多參數(shù)的實時在線數(shù)據(jù)采集。系統(tǒng)具備體積小、功耗低、實時性強(qiáng)等特點。系統(tǒng)可實現(xiàn)24小時實時存儲災(zāi)害點采集時間、采樣數(shù)據(jù)、環(huán)境溫度及傳感器類型等相關(guān)信息,并通過GPRS或北斗衛(wèi)星實現(xiàn)數(shù)據(jù)的無線遠(yuǎn)程傳輸,便于長時間不間斷對地質(zhì)災(zāi)害體進(jìn)行數(shù)據(jù)采集、傳輸與分析,可有效提高對地質(zhì)災(zāi)害體的實時監(jiān)測水平。
STM32;ADS1256;多通道;數(shù)據(jù)采集
在地質(zhì)災(zāi)害監(jiān)測中,需要監(jiān)測泥位、地聲、次聲、位移等多種監(jiān)測數(shù)據(jù),數(shù)據(jù)采集系統(tǒng)被廣泛應(yīng)用,監(jiān)測人員關(guān)注的不再是采集系統(tǒng)的功能,而是其基本性能,如采集速度、采集精度、抗干擾能力[1]。而且,以往人工到現(xiàn)場定時采集數(shù)據(jù)的監(jiān)測方法已不能滿足當(dāng)前地質(zhì)災(zāi)害監(jiān)測技術(shù)要求,本文利用ARM微控制器STM32F103和低噪聲雙通道模數(shù)轉(zhuǎn)換芯片 ADS1256共同構(gòu)建低功耗多通道數(shù)據(jù)采集系統(tǒng),實現(xiàn)多通道數(shù)據(jù)不間斷實時采集,通過串口與GPRS模塊或北斗衛(wèi)星模塊實現(xiàn)監(jiān)測數(shù)據(jù)的遠(yuǎn)程無線傳輸,有效提高監(jiān)測參數(shù)精度,提升系統(tǒng)穩(wěn)定性與可靠性,降低系統(tǒng)功耗。
多通道數(shù)據(jù)采集系統(tǒng)主要由ARM微控制器STM32-F103、A/D轉(zhuǎn)換電路、電源電路、數(shù)據(jù)存儲電路、數(shù)據(jù)傳輸電路和數(shù)據(jù)監(jiān)控中心組成[2]。STM32F103作為多通道數(shù)據(jù)采集系統(tǒng)的核心,控制協(xié)調(diào)具體的數(shù)據(jù)采集、存儲與傳輸。A/D轉(zhuǎn)換電路可采集泥位、地聲、次聲、位移等現(xiàn)場數(shù)據(jù),STM32F103將采集的現(xiàn)場數(shù)據(jù)簡單分析處理后通過數(shù)據(jù)傳輸電路傳輸?shù)竭h(yuǎn)程數(shù)據(jù)監(jiān)控中心,數(shù)據(jù)傳輸主要通過GPRS或北斗衛(wèi)星模塊上傳,后臺數(shù)據(jù)監(jiān)控中心可實現(xiàn)對現(xiàn)場數(shù)據(jù)的實時在線查看及歷史查詢,數(shù)據(jù)存儲電路可將采集數(shù)據(jù)實時保存到SD卡中,方便以后數(shù)據(jù)處理。系統(tǒng)總體結(jié)構(gòu)框圖如圖1所示。
2.1微控制器簡介
微控制器采用STM32系列的32位微控制器STM32-F103R8。它采用ARM32位Cortex TM-M3的CPU,主頻可達(dá)72 MHz,內(nèi)置高達(dá)512 KB的閃存和64 KB的SRAM,具備豐富的外設(shè)資源,主要包括 ADC、RTC、I2C及 SPI等接口??商峁┧摺⑼C(jī)和待機(jī)三種省電模式,有效保證系統(tǒng)的低功耗性,而且 Thumb-2指令集可有效提高系統(tǒng)運行的效率與實時性。
圖1 系統(tǒng)總體框圖
2.2A/D轉(zhuǎn)換電路
A/D轉(zhuǎn)換電路選用TI公司推出的針對工業(yè)應(yīng)用的模數(shù)轉(zhuǎn)換器ADS1256,其24位Δ-ΣADC適用于科學(xué)儀器、工藝控制等工業(yè)應(yīng)用領(lǐng)域,提供了最高23位的無噪聲精度、最高 30 kS/s的數(shù)據(jù)速率、±0.001 0% 非線性特性,非常適合用于高速、高精度數(shù)據(jù)采集,其內(nèi)部集成有輸入多路復(fù)用器、輸入緩沖器、可編程增益放大器[3]。
2.3電源電路
電源電路采用太陽能浮充鋰電池作為供電電源,鋰電池組基本參數(shù)為 12 V/16 Ah,通過電源轉(zhuǎn)換為系統(tǒng)提供12 V、5 V及3.3 V三路工作電源,微控制器通過程序管理協(xié)調(diào)實現(xiàn)各部分電源供給,實現(xiàn)系統(tǒng)的低功耗。5 V電源由 TPS54229E轉(zhuǎn)化提供,支持寬電壓輸入,集成高效率 FET,電路 PCB空間較小,適合多通道數(shù)據(jù)采集系統(tǒng)的多電源總線調(diào)節(jié)設(shè)計[4],3.3 V電源采用功耗非常低的降壓模塊LTC3631轉(zhuǎn)化提供。
2.4數(shù)據(jù)存儲電路
數(shù)據(jù)存儲電路主要由內(nèi)部 Flash和外部 MicroSD卡兩部分組成[5]。內(nèi)部 Flash用于系統(tǒng)內(nèi)部傳感器的數(shù)據(jù)存儲,MicroSD卡用于采集野外現(xiàn)場監(jiān)測傳感器的數(shù)據(jù)存儲。微控制器STM32F103采用SDIO模式驅(qū)動MicroSD卡工作,微控制器控制CLK作為MicroSD卡的時鐘信號線,在每個時鐘內(nèi)可傳輸一位命令或數(shù)據(jù);CMD是命令信號線,用于傳輸微控制器發(fā)出的命令或命令響應(yīng);監(jiān)測數(shù)據(jù)通過DATA0~DATA3四根數(shù)據(jù)線進(jìn)行傳輸。此外,系統(tǒng)擴(kuò)展EEPROM存儲器,采用Microchip公司的24LC512,用于存儲系統(tǒng)的 ID、采集時間、采集頻率、工作模式、數(shù)據(jù)傳輸目標(biāo)地址等相關(guān)參數(shù),EEPROM內(nèi)部存儲的信息為系統(tǒng)的定時與實時在線兩種工作模式提供標(biāo)準(zhǔn)參考。
2.5數(shù)據(jù)傳輸電路
數(shù)據(jù)傳輸電路分為GPRS和北斗衛(wèi)星傳輸,系統(tǒng)通過RS232串口分別與GPRS和北斗衛(wèi)星傳輸模塊連接。GPRS傳輸作為常規(guī)的傳輸模式,傳輸模式簡單、可靠、穩(wěn)定,在數(shù)據(jù)傳輸時優(yōu)先選擇,無法滿足 GPRS信號時選擇北斗衛(wèi)星傳輸模式。GPRS傳輸模塊選用華為GTM900C模塊,通過GPRS網(wǎng)絡(luò)以TCP/IP數(shù)據(jù)包方式將現(xiàn)場監(jiān)測數(shù)據(jù)實時傳輸?shù)竭h(yuǎn)程監(jiān)控中心。北斗衛(wèi)星傳輸模塊選用國智恒集團(tuán)的BGT-500模塊,可實現(xiàn)RDSS的雙向定位和短報文通信功能,具有較高的集成度和更低的功耗,系統(tǒng)通過北斗通信模塊以短報文方式將監(jiān)測數(shù)據(jù)傳輸?shù)竭h(yuǎn)程監(jiān)控中心。
系統(tǒng)軟件設(shè)計主要包括微控制器軟件設(shè)計、數(shù)據(jù)采集軟件設(shè)計、數(shù)據(jù)存儲軟件設(shè)計、數(shù)據(jù)傳輸軟件設(shè)計及數(shù)據(jù)監(jiān)控中心軟件設(shè)計。
3.1微控制器軟件設(shè)計
在微控制器的協(xié)調(diào)下完成現(xiàn)場數(shù)據(jù)采集、存儲與傳輸。微控制器軟件設(shè)計主要涉及系統(tǒng)工作狀態(tài)初始化、A/D轉(zhuǎn)換初始化、SDIO和MicroSD卡初始化及串口初始化。初始化完成后,微控制器進(jìn)入到低功耗工作模式,相關(guān)數(shù)據(jù)采集通道自動進(jìn)行相應(yīng)的數(shù)據(jù)采集模式,當(dāng)各個通道采集到數(shù)據(jù)后會發(fā)出采集完成中斷來喚醒微控制器,中斷子程序流程圖如圖 2所示[6]。
圖2 微控制器中斷子程序流程圖
3.2A/D轉(zhuǎn)換軟件設(shè)計
數(shù)據(jù)采集程序由微控制器與ADS1256共同完成,數(shù)據(jù)采集包括A/D數(shù)據(jù)和數(shù)字量數(shù)據(jù)采集,A/D數(shù)據(jù)采集包括被測現(xiàn)場信號的帶寬、被測信號精度、采集功耗,A/D數(shù)據(jù)采集在設(shè)置時要將ADS1256設(shè)置為可調(diào)模式,數(shù)據(jù)的輸出在模式選擇后與芯片時鐘頻率CLK有關(guān),數(shù)據(jù)采集通過SPI通信協(xié)議,數(shù)據(jù)轉(zhuǎn)換后用TDM模式輸出,軟件流程圖如圖3所示。
圖3 A/D轉(zhuǎn)換軟件流程圖
3.3數(shù)據(jù)存儲軟件設(shè)計
微控制器通過 SDIO模式完成現(xiàn)場數(shù)據(jù)的存儲,主要包括MicroSD卡的初始化、卡識別、采集數(shù)據(jù)的讀寫[7]。上電初始化后,微控制器通過庫函數(shù) SDIO_Init()配置SD卡時鐘,發(fā)送命令檢測是否有SD卡存在并對接入系統(tǒng)的卡進(jìn)行歸類,同時對操作電壓進(jìn)行范圍驗證以保證CID和CSD數(shù)據(jù)能正常讀寫;STM32F103以時鐘頻率開始MicroSD卡的識別流程,發(fā)送 ALL_SEND_CID獲取MicroSD的 CID(unique card identification),發(fā)送 SEND_ RELATIVE_ADDR獲取RCA(Relative Card Address),RCA用于對 MicroSD進(jìn)行尋址,一旦 RCA被接收,代表卡已進(jìn)入待機(jī)狀態(tài);接下來STM32F103發(fā)送SEND_CSD來獲取卡的 CSD(Card Specific Data)寄存器內(nèi)容,包括塊長度、卡存儲容量、最大時鐘速率等;然后進(jìn)入讀寫狀態(tài),通過調(diào)用SD_ReadDisk()函數(shù)與SD_WriteDisk()函數(shù)實現(xiàn)微控制器與MicroSD卡之間的數(shù)據(jù)讀寫操作。
3.4數(shù)據(jù)傳輸軟件設(shè)計
微控制器啟動數(shù)據(jù)傳輸程序后,對系統(tǒng)進(jìn)行工作方式初始化,通過EEPROM讀取相關(guān)通信配置,比如設(shè)定服務(wù)器 IP地址、端口號、設(shè)備號、工作時間等;然后由微處理器發(fā)出指令檢測現(xiàn)場傳輸信號,首先查詢GPRS模塊網(wǎng)絡(luò)是否注冊成功;成功后即可建立與數(shù)據(jù)監(jiān)控中心服務(wù)器的連接,并進(jìn)行數(shù)據(jù)傳輸處理;根據(jù)需要發(fā)送一定格式的心跳信息。一旦發(fā)現(xiàn)現(xiàn)場無GPRS網(wǎng)絡(luò)信號自動切換到北斗衛(wèi)星傳輸模式,現(xiàn)場北斗傳輸模塊上電后微處理器向北斗發(fā)送IC卡檢測命令,回復(fù)正確后向數(shù)據(jù)監(jiān)控中心發(fā)送通信申請,收到命令后才發(fā)送現(xiàn)場數(shù)據(jù)。數(shù)據(jù)傳輸軟件流程圖如圖4所示。
圖4 數(shù)據(jù)傳輸軟件流程圖
3.5數(shù)據(jù)監(jiān)控中心程序流程圖
數(shù)據(jù)監(jiān)控中心(服務(wù)器)軟件作為 TCP服務(wù)器端和北斗服務(wù)器端,具有公網(wǎng)固定IP地址且開放監(jiān)聽端口,分別接收來自GPRS客戶端的 TCP數(shù)據(jù)包與北斗客戶端的數(shù)據(jù),并向客戶端發(fā)送應(yīng)答數(shù)據(jù)。主要任務(wù)是完成對通信數(shù)據(jù)的接收、分析、處理和存儲。首先服務(wù)器端啟動TCP/IP監(jiān)聽和打開串口,監(jiān)聽TCP端口和串口,將接收到數(shù)據(jù)包/數(shù)據(jù)進(jìn)行分析、處理,然后將數(shù)據(jù)存儲到數(shù)據(jù)庫中,便于以后數(shù)據(jù)查詢與分析[8]。數(shù)據(jù)監(jiān)控中心程序流程圖如圖5所示。
圖5 數(shù)據(jù)監(jiān)控中心程序流程圖
為驗證測試多通道數(shù)據(jù)采集系統(tǒng)的性能功能,搭建野外模擬數(shù)據(jù)測試平臺,給4個數(shù)據(jù)采集通道輸入模擬野外監(jiān)測傳感器的電壓信號,將系統(tǒng)采集到的數(shù)據(jù)與采集通道的輸入電壓進(jìn)行對比分析,測試結(jié)果如表1所示。
表1 多通道數(shù)據(jù)采集系統(tǒng)測試結(jié)果
從兩組測試結(jié)果可以看出,系統(tǒng)4個采集通道均可準(zhǔn)確對輸入電壓進(jìn)行數(shù)據(jù)采樣,采集數(shù)據(jù)可以精確到小數(shù)點后3位,系統(tǒng)采樣結(jié)果相對誤差較小,完全滿足對野外監(jiān)測數(shù)據(jù)的精度要求。
本文以嵌入式微處理器 STM32F103與ADS1256共同構(gòu)建多通道數(shù)據(jù)采集系統(tǒng),充分發(fā)揮STM32F103的控制協(xié)調(diào)作用,可實時在線采集0~5 V電壓輸出型的不同傳感器信號,有效保證數(shù)據(jù)采集精度、實時性及數(shù)據(jù)處理能力,并實現(xiàn)遠(yuǎn)程數(shù)據(jù)傳輸,遠(yuǎn)程數(shù)據(jù)監(jiān)控中心與地質(zhì)災(zāi)害現(xiàn)場可進(jìn)行實時在線通信,對現(xiàn)場數(shù)據(jù)可進(jìn)行實時查詢、分析及數(shù)據(jù)處理。軟硬件架構(gòu)的合理設(shè)計有效降低了系統(tǒng)的成本與功耗,實現(xiàn)系統(tǒng)的微型化與智能化采集,可廣泛應(yīng)用于地質(zhì)災(zāi)害野外現(xiàn)場數(shù)據(jù)采集,在地質(zhì)災(zāi)害監(jiān)測中有較好的應(yīng)用前景。
[1]徐航,羅巍.基于嵌入式的多通道高速數(shù)據(jù)采集系統(tǒng)[J].自動化與儀器儀表,2013(1):148-150.
[2]楊振江.智能儀器與數(shù)據(jù)采集系統(tǒng)中的新器件及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2001:95-163.
[3]陳紅遠(yuǎn),郭天太,吳俊杰,等.多通道微弱電壓信號同步采集系統(tǒng)開發(fā)[J].電子技術(shù)應(yīng)用,2014(40):79-84.
[4]鐘文濤,劉強(qiáng).基于單片機(jī)的野外信息檢測記錄系統(tǒng)[J].機(jī)電工程技術(shù),2013,42(5):26-30.
[5]胡祥超,李艷潔,趙新華,等.便攜式野外傳感器原位數(shù)據(jù)采集系統(tǒng)設(shè)計[J].傳感器與微系統(tǒng),2014,33(10):69-72.
[6]丁凡,周永明.基于 ZigBee的多路溫度數(shù)據(jù)無線采集系統(tǒng)設(shè)計[J].儀表技術(shù)與傳感器,2013(8):72-78.
[7]潘玲嬌,張自嘉,樊延虎,等.嵌入式 16通道同步數(shù)據(jù)采集系統(tǒng)設(shè)計[J].儀表技術(shù)與傳感器,2013(11):91-94.
[8]馬軍,李志華.基于STM32的無線次聲采集系統(tǒng)的設(shè)計[J].電子技術(shù)應(yīng)用,2014,40(4):92-95.
Design of multi-channel data acquisition system based on STM32
Wang Chenhui,Wu Yue,Yang Kai
(Center for Hydrogeology and Environmental Geology Survey,CGS,Baoding 071051,China)
Aiming at low power consumption and real-time requirements for data acquisition system in the geological disasters monitoring,a multi-channel data acquisition system is designed based on STM32F102 and ADS1256,which can realize real-time online data collection for mud water level,sound,infrasound,displacement and other parameters in the geological disasters site.The system is characterized by small volume,low power consumption and real-time.The system can achieve 24-hour real-time storage hazards in acquisition time,sampling data,ambient temperature and sensor type and other related information.In further,system use GPRS and Beidou satellite to complete wireless remote data transmission,which can facilitate a long uninterrupted data collection,transmission and analysis for geological hazards,at the same time can effectively improve the level of real-time monitoring on geological disasters.
STM32;ADS1256;multi-channel;data acquisition
TP393
A
10.16157/j.issn.0258-7998.2016.01.013
2015-06-24)
王晨輝(1986-),男,工程師,主要研究方向:嵌入式系統(tǒng)開發(fā)。
吳悅(1972-),男,高級工程師,主要研究方向:地質(zhì)儀器研發(fā)。
楊凱(1985-),男,工程師,碩士,主要研究方向:地質(zhì)儀器研發(fā)。
中文引用格式:王晨輝,吳悅,楊凱.基于STM32的多通道數(shù)據(jù)采集系統(tǒng)設(shè)計[J].電子技術(shù)應(yīng)用,2016,42(1):51-53,57.
英文引用格式:Wang Chenhui,Wu Yue,Yang Kai.Design of multi-channel data acquisition system based on STM32[J]. Application of Electronic Technique,2016,42(1):51-53,57.