《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于STM32的多通道數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
基于STM32的多通道數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
2016年電子技術(shù)應(yīng)用第1期
王晨輝,吳 悅,楊 凱
中國地質(zhì)調(diào)查局水文地質(zhì)環(huán)境地質(zhì)調(diào)查中心,河北 保定071051
摘要: 針對(duì)地質(zhì)災(zāi)害監(jiān)測領(lǐng)域?qū)?shù)據(jù)采集系統(tǒng)的低功耗與實(shí)時(shí)性要求,提出了一種基于STM32F103和ADS1256的多通道數(shù)據(jù)采集系統(tǒng),可實(shí)現(xiàn)對(duì)地質(zhì)災(zāi)害現(xiàn)場泥水位、地聲、次聲、位移等多參數(shù)的實(shí)時(shí)在線數(shù)據(jù)采集。系統(tǒng)具備體積小、功耗低、實(shí)時(shí)性強(qiáng)等特點(diǎn)。系統(tǒng)可實(shí)現(xiàn)24小時(shí)實(shí)時(shí)存儲(chǔ)災(zāi)害點(diǎn)采集時(shí)間、采樣數(shù)據(jù)、環(huán)境溫度及傳感器類型等相關(guān)信息,并通過GPRS或北斗衛(wèi)星實(shí)現(xiàn)數(shù)據(jù)的無線遠(yuǎn)程傳輸,便于長時(shí)間不間斷對(duì)地質(zhì)災(zāi)害體進(jìn)行數(shù)據(jù)采集、傳輸與分析,可有效提高對(duì)地質(zhì)災(zāi)害體的實(shí)時(shí)監(jiān)測水平。
中圖分類號(hào): TP393
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.01.013
中文引用格式: 王晨輝,吳悅,楊凱. 基于STM32的多通道數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[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.
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
Abstract: 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.
Key words : STM32;ADS1256;multi-channel;data acquisition

0 引言

    在地質(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í)采集數(shù)據(jù)的監(jiān)測方法已不能滿足當(dāng)前地質(zhì)災(zāi)害監(jiān)測技術(shù)要求,本文利用ARM微控制器STM32F103和低噪聲雙通道模數(shù)轉(zhuǎn)換芯片ADS1256共同構(gòu)建低功耗多通道數(shù)據(jù)采集系統(tǒng),實(shí)現(xiàn)多通道數(shù)據(jù)不間斷實(shí)時(shí)采集,通過串口與GPRS模塊或北斗衛(wèi)星模塊實(shí)現(xiàn)監(jiān)測數(shù)據(jù)的遠(yuǎn)程無線傳輸,有效提高監(jiān)測參數(shù)精度,提升系統(tǒng)穩(wěn)定性與可靠性,降低系統(tǒng)功耗。

1 系統(tǒng)總體設(shè)計(jì)

    多通道數(shù)據(jù)采集系統(tǒng)主要由ARM微控制器STM32F103、A/D轉(zhuǎn)換電路、電源電路、數(shù)據(jù)存儲(chǔ)電路、數(shù)據(jù)傳輸電路和數(shù)據(jù)監(jiān)控中心組成[2]。STM32F103作為多通道數(shù)據(jù)采集系統(tǒng)的核心,控制協(xié)調(diào)具體的數(shù)據(jù)采集、存儲(chǔ)與傳輸。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)星模塊上傳,后臺(tái)數(shù)據(jù)監(jiān)控中心可實(shí)現(xiàn)對(duì)現(xiàn)場數(shù)據(jù)的實(shí)時(shí)在線查看及歷史查詢,數(shù)據(jù)存儲(chǔ)電路可將采集數(shù)據(jù)實(shí)時(shí)保存到SD卡中,方便以后數(shù)據(jù)處理。系統(tǒng)總體結(jié)構(gòu)框圖如圖1所示。

ck1-t1.gif

2 系統(tǒng)硬件電路設(shè)計(jì)

2.1 微控制器簡介

    微控制器采用STM32系列的32位微控制器STM32F103R8。它采用ARM32位Cortex TM-M3的CPU,主頻可達(dá)72 MHz,內(nèi)置高達(dá)512 KB的閃存和64 KB的SRAM,具備豐富的外設(shè)資源,主要包括ADC、RTC、I2C及SPI等接口。可提供睡眠、停機(jī)和待機(jī)三種省電模式,有效保證系統(tǒng)的低功耗性,而且Thumb-2指令集可有效提高系統(tǒng)運(yùn)行的效率與實(shí)時(shí)性。

2.2 A/D轉(zhuǎn)換電路

    A/D轉(zhuǎn)換電路選用TI公司推出的針對(duì)工業(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)實(shí)現(xiàn)各部分電源供給,實(shí)現(xiàn)系統(tǒng)的低功耗。5 V電源由TPS54229E轉(zhuǎn)化提供,支持寬電壓輸入,集成高效率FET,電路PCB空間較小,適合多通道數(shù)據(jù)采集系統(tǒng)的多電源總線調(diào)節(jié)設(shè)計(jì)[4],3.3 V電源采用功耗非常低的降壓模塊LTC3631轉(zhuǎn)化提供。

2.4 數(shù)據(jù)存儲(chǔ)電路

    數(shù)據(jù)存儲(chǔ)電路主要由內(nèi)部Flash和外部MicroSD卡兩部分組成[5]。內(nèi)部Flash用于系統(tǒng)內(nèi)部傳感器的數(shù)據(jù)存儲(chǔ),MicroSD卡用于采集野外現(xiàn)場監(jiān)測傳感器的數(shù)據(jù)存儲(chǔ)。微控制器STM32F103采用SDIO模式驅(qū)動(dòng)MicroSD卡工作,微控制器控制CLK作為MicroSD卡的時(shí)鐘信號(hào)線,在每個(gè)時(shí)鐘內(nèi)可傳輸一位命令或數(shù)據(jù);CMD是命令信號(hào)線,用于傳輸微控制器發(fā)出的命令或命令響應(yīng);監(jiān)測數(shù)據(jù)通過DATA0~DATA3四根數(shù)據(jù)線進(jìn)行傳輸。此外,系統(tǒng)擴(kuò)展EEPROM存儲(chǔ)器,采用Microchip公司的24LC512,用于存儲(chǔ)系統(tǒng)的ID、采集時(shí)間、采集頻率、工作模式、數(shù)據(jù)傳輸目標(biāo)地址等相關(guān)參數(shù),EEPROM內(nèi)部存儲(chǔ)的信息為系統(tǒng)的定時(shí)與實(shí)時(shí)在線兩種工作模式提供標(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ù)傳輸時(shí)優(yōu)先選擇,無法滿足GPRS信號(hào)時(shí)選擇北斗衛(wèi)星傳輸模式。GPRS傳輸模塊選用華為GTM900C模塊,通過GPRS網(wǎng)絡(luò)以TCP/IP數(shù)據(jù)包方式將現(xiàn)場監(jiān)測數(shù)據(jù)實(shí)時(shí)傳輸?shù)竭h(yuǎn)程監(jiān)控中心。北斗衛(wèi)星傳輸模塊選用國智恒集團(tuán)的BGT-500模塊,可實(shí)現(xiàn)RDSS的雙向定位和短報(bào)文通信功能,具有較高的集成度和更低的功耗,系統(tǒng)通過北斗通信模塊以短報(bào)文方式將監(jiān)測數(shù)據(jù)傳輸?shù)竭h(yuǎn)程監(jiān)控中心。ck1-t2.gif

3 系統(tǒng)軟件設(shè)計(jì)

    系統(tǒng)軟件設(shè)計(jì)主要包括微控制器軟件設(shè)計(jì)、數(shù)據(jù)采集軟件設(shè)計(jì)、數(shù)據(jù)存儲(chǔ)軟件設(shè)計(jì)、數(shù)據(jù)傳輸軟件設(shè)計(jì)及數(shù)據(jù)監(jiān)控中心軟件設(shè)計(jì)。

3.1 微控制器軟件設(shè)計(jì)

    在微控制器的協(xié)調(diào)下完成現(xiàn)場數(shù)據(jù)采集、存儲(chǔ)與傳輸。微控制器軟件設(shè)計(jì)主要涉及系統(tǒng)工作狀態(tài)初始化、A/D轉(zhuǎn)換初始化、SDIO和MicroSD卡初始化及串口初始化。初始化完成后,微控制器進(jìn)入到低功耗工作模式,相關(guān)數(shù)據(jù)采集通道自動(dòng)進(jìn)行相應(yīng)的數(shù)據(jù)采集模式,當(dāng)各個(gè)通道采集到數(shù)據(jù)后會(huì)發(fā)出采集完成中斷來喚醒微控制器,中斷子程序流程圖如圖2所示[6]。

3.2 A/D轉(zhuǎn)換軟件設(shè)計(jì)

    數(shù)據(jù)采集程序由微控制器與ADS1256共同完成,數(shù)據(jù)采集包括A/D數(shù)據(jù)和數(shù)字量數(shù)據(jù)采集,A/D數(shù)據(jù)采集包括被測現(xiàn)場信號(hào)的帶寬、被測信號(hào)精度、采集功耗,A/D數(shù)據(jù)采集在設(shè)置時(shí)要將ADS1256設(shè)置為可調(diào)模式,數(shù)據(jù)的輸出在模式選擇后與芯片時(shí)鐘頻率CLK有關(guān),數(shù)據(jù)采集通過SPI通信協(xié)議,數(shù)據(jù)轉(zhuǎn)換后用TDM模式輸出,軟件流程圖如圖3所示。

ck1-t3.gif

3.3 數(shù)據(jù)存儲(chǔ)軟件設(shè)計(jì)

    微控制器通過SDIO模式完成現(xiàn)場數(shù)據(jù)的存儲(chǔ),主要包括MicroSD卡的初始化、卡識(shí)別、采集數(shù)據(jù)的讀寫[7]。上電初始化后,微控制器通過庫函數(shù)SDIO_Init()配置SD卡時(shí)鐘,發(fā)送命令檢測是否有SD卡存在并對(duì)接入系統(tǒng)的卡進(jìn)行歸類,同時(shí)對(duì)操作電壓進(jìn)行范圍驗(yàn)證以保證CID和CSD數(shù)據(jù)能正常讀寫;STM32F103以時(shí)鐘頻率開始MicroSD卡的識(shí)別流程,發(fā)送ALL_SEND_CID獲取MicroSD的CID(unique card identification),發(fā)送SEND_RELATIVE_ADDR獲取RCA(Relative Card Address),RCA用于對(duì)MicroSD進(jìn)行尋址,一旦RCA被接收,代表卡已進(jìn)入待機(jī)狀態(tài);接下來STM32F103發(fā)送SEND_CSD來獲取卡的CSD(Card Specific Data)寄存器內(nèi)容,包括塊長度、卡存儲(chǔ)容量、最大時(shí)鐘速率等;然后進(jìn)入讀寫狀態(tài),通過調(diào)用SD_ReadDisk()函數(shù)與SD_WriteDisk()函數(shù)實(shí)現(xiàn)微控制器與MicroSD卡之間的數(shù)據(jù)讀寫操作。

3.4 數(shù)據(jù)傳輸軟件設(shè)計(jì)

    微控制器啟動(dòng)數(shù)據(jù)傳輸程序后,對(duì)系統(tǒng)進(jìn)行工作方式初始化,通過EEPROM讀取相關(guān)通信配置,比如設(shè)定服務(wù)器IP地址、端口號(hào)、設(shè)備號(hào)、工作時(shí)間等;然后由微處理器發(fā)出指令檢測現(xiàn)場傳輸信號(hào),首先查詢GPRS模塊網(wǎng)絡(luò)是否注冊(cè)成功;成功后即可建立與數(shù)據(jù)監(jiān)控中心服務(wù)器的連接,并進(jìn)行數(shù)據(jù)傳輸處理;根據(jù)需要發(fā)送一定格式的心跳信息。一旦發(fā)現(xiàn)現(xiàn)場無GPRS網(wǎng)絡(luò)信號(hào)自動(dòng)切換到北斗衛(wèi)星傳輸模式,現(xiàn)場北斗傳輸模塊上電后微處理器向北斗發(fā)送IC卡檢測命令,回復(fù)正確后向數(shù)據(jù)監(jiān)控中心發(fā)送通信申請(qǐng),收到命令后才發(fā)送現(xiàn)場數(shù)據(jù)。數(shù)據(jù)傳輸軟件流程圖如圖4所示。

ck1-t4.gif

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ù)是完成對(duì)通信數(shù)據(jù)的接收、分析、處理和存儲(chǔ)。首先服務(wù)器端啟動(dòng)TCP/IP監(jiān)聽和打開串口,監(jiān)聽TCP端口和串口,將接收到數(shù)據(jù)包/數(shù)據(jù)進(jìn)行分析、處理,然后將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫中,便于以后數(shù)據(jù)查詢與分析[8]。數(shù)據(jù)監(jiān)控中心程序流程圖如圖5所示。

ck1-t5.gif

4 系統(tǒng)測試與分析

    為驗(yàn)證測試多通道數(shù)據(jù)采集系統(tǒng)的性能功能,搭建野外模擬數(shù)據(jù)測試平臺(tái),給4個(gè)數(shù)據(jù)采集通道輸入模擬野外監(jiān)測傳感器的電壓信號(hào),將系統(tǒng)采集到的數(shù)據(jù)與采集通道的輸入電壓進(jìn)行對(duì)比分析,測試結(jié)果如表1所示。

ck1-b1.gif

    從兩組測試結(jié)果可以看出,系統(tǒng)4個(gè)采集通道均可準(zhǔn)確對(duì)輸入電壓進(jìn)行數(shù)據(jù)采樣,采集數(shù)據(jù)可以精確到小數(shù)點(diǎn)后3位,系統(tǒng)采樣結(jié)果相對(duì)誤差較小,完全滿足對(duì)野外監(jiān)測數(shù)據(jù)的精度要求。

5 結(jié)語

    本文以嵌入式微處理器STM32F103與ADS1256共同構(gòu)建多通道數(shù)據(jù)采集系統(tǒng),充分發(fā)揮STM32F103的控制協(xié)調(diào)作用,可實(shí)時(shí)在線采集0~5 V電壓輸出型的不同傳感器信號(hào),有效保證數(shù)據(jù)采集精度、實(shí)時(shí)性及數(shù)據(jù)處理能力,并實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)傳輸,遠(yuǎn)程數(shù)據(jù)監(jiān)控中心與地質(zhì)災(zāi)害現(xiàn)場可進(jìn)行實(shí)時(shí)在線通信,對(duì)現(xiàn)場數(shù)據(jù)可進(jìn)行實(shí)時(shí)查詢、分析及數(shù)據(jù)處理。軟硬件架構(gòu)的合理設(shè)計(jì)有效降低了系統(tǒng)的成本與功耗,實(shí)現(xiàn)系統(tǒng)的微型化與智能化采集,可廣泛應(yīng)用于地質(zhì)災(zāi)害野外現(xiàn)場數(shù)據(jù)采集,在地質(zhì)災(zāi)害監(jiān)測中有較好的應(yīng)用前景。

參考文獻(xiàn)

[1] 徐航,羅?。谇度胧降亩嗤ǖ栏咚贁?shù)據(jù)采集系統(tǒng)[J].自動(dòng)化與儀器儀表,2013(1):148-150.

[2] 楊振江.智能儀器與數(shù)據(jù)采集系統(tǒng)中的新器件及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2001:95-163.

[3] 陳紅遠(yuǎn),郭天太,吳俊杰,等.多通道微弱電壓信號(hào)同步采集系統(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ì)[J].傳感器與微系統(tǒng),2014,33(10):69-72.

[6] 丁凡,周永明.基于ZigBee的多路溫度數(shù)據(jù)無線采集系統(tǒng)設(shè)計(jì)[J].儀表技術(shù)與傳感器,2013(8):72-78.

[7] 潘玲嬌,張自嘉,樊延虎,等.嵌入式16通道同步數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].儀表技術(shù)與傳感器,2013(11):91-94.

[8] 馬軍,李志華.基于STM32的無線次聲采集系統(tǒng)的設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2014,40(4):92-95.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。