常瀟倩 石婉瑩 牛建輝
摘要:本數(shù)據(jù)采集系統(tǒng)以STM32F103為主控芯片,通過傳感器對模擬信號進(jìn)行調(diào)理,下位機(jī)對信號進(jìn)行A/D轉(zhuǎn)換,并保存到FLASH中,再由串口發(fā)送到上位機(jī)Labview,上位機(jī)可對采集到的數(shù)據(jù)進(jìn)行存儲和顯示,實(shí)現(xiàn)了對采集到的模擬量實(shí)時的監(jiān)測。
關(guān)鍵詞:STM32F103;A/D轉(zhuǎn)換;FLASH;上位機(jī)Labview
[中圖分類號] TN98 [文獻(xiàn)標(biāo)識碼] A
Abstract:The data acquisition system takes STM32F103 as the main control chip, adjusts the analog signal through the sensor, and the lower computer converts the signal A/D, and saves it to flash, and then sends it to the host computer Labview from the serial port.The host computer can store and display the collected data, realizing the real-time monitoring of the collected analog quantity.
KeyWords:stm32f103,A/D conversion,flash,the host computer Labview
引言
航空、導(dǎo)航等領(lǐng)域需要對各類數(shù)據(jù)進(jìn)行實(shí)時的采集、分析及存儲,因此制作出高速度、高精度的數(shù)據(jù)采集系統(tǒng)必不可少。數(shù)據(jù)采集可將現(xiàn)實(shí)世界中的模擬信號進(jìn)行采集,并通過上位機(jī)Labview進(jìn)行處理和分析。Labview制作上位機(jī)具有很強(qiáng)的靈活性,且制作簡單可維護(hù)性強(qiáng);STM32微處理器芯片有高精度、高速等優(yōu)點(diǎn),與Labview相結(jié)合可提高采集系統(tǒng)的精度以及采集數(shù)據(jù)的可靠性。
1、數(shù)據(jù)采集系統(tǒng)總體設(shè)計(jì)
本系統(tǒng)設(shè)計(jì)的數(shù)據(jù)采集系統(tǒng)從功能結(jié)構(gòu)上分主要包括上位機(jī)Labview和以STM32微控制器為核心,調(diào)理電路和A/D轉(zhuǎn)換模塊為主體的下位機(jī)等兩大部分。
2、硬件部分設(shè)計(jì)
本設(shè)計(jì)中所采用的STM32微控制器集成了ADC、SRAM、USART、定時器、FLASH、DMA等外圍電路模塊。其中ADC的最大轉(zhuǎn)換速率可達(dá)1MHz,基本滿足采集系統(tǒng)對采集和處理速度的要求,在實(shí)際應(yīng)用中常采用多次采樣的平均值作為ADC的轉(zhuǎn)換結(jié)果。數(shù)據(jù)的存儲部分采用微控制器自帶的FLASH,容量為256K字節(jié),可實(shí)現(xiàn)保存的數(shù)據(jù)掉電不丟失,并且可對存儲單元進(jìn)行反復(fù)的擦除和讀寫,同時還具有讀寫速度快等優(yōu)點(diǎn)[1]。
RS485采用雙絞線差分信號的傳輸方式,最遠(yuǎn)傳輸距離可達(dá)1.2km,具有良好的抗噪聲干擾的特點(diǎn)。系統(tǒng)設(shè)計(jì)中采用RS485總線進(jìn)行上位機(jī)和下位機(jī)之間的串口通信。
下位機(jī)的程序設(shè)計(jì)主要包括對模擬信號的采集模塊以及與上位機(jī)進(jìn)行通信的串口通信模塊。在上電后,程序進(jìn)入初始化,上位機(jī)發(fā)送采集指令后,模擬信號經(jīng)過調(diào)理模塊、A/D轉(zhuǎn)換模塊將數(shù)據(jù)送到微處理器中,然后再將數(shù)據(jù)存儲到FLASH中保存起來[2]。為解決采集系統(tǒng)的數(shù)據(jù)采集、接收以及存儲在時序上存在的沖突,應(yīng)在FLASH中開辟兩個內(nèi)存塊。
3、上位機(jī)軟件設(shè)計(jì)
傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)中的上位機(jī)PC軟件多采用VB、VC++、DEL-PHI等面向?qū)ο蟮某绦蛟O(shè)計(jì)語言進(jìn)行設(shè)計(jì),但此上位機(jī)編程軟件調(diào)試和編程復(fù)雜,對從事硬件設(shè)計(jì)的工程師來說不太容易,開發(fā)周期長,不利于本設(shè)計(jì)的進(jìn)行。綜合考慮之下采用由美國國家儀器公司開發(fā)研制的虛擬儀器平臺Labview,Labview圖形化的編程語言,使其具有編程簡單、開發(fā)周期短等特點(diǎn)[4]。
上位機(jī)Labview對下位機(jī)發(fā)送數(shù)據(jù)采集指令,同時負(fù)責(zé)接收下位機(jī)采集到的數(shù)據(jù),上位機(jī)對整個系統(tǒng)起到主控作用。上位機(jī)包括前面板和后面板,前面板直觀清晰地展現(xiàn)了上位機(jī)和下位機(jī)之間的通信串口的相關(guān)參數(shù),波特率以及信號波形的顯示。
4、系統(tǒng)串行通信功能模塊
選擇Labview制作上位機(jī),可方便利用Labview自身函數(shù)庫中所提供的有關(guān)串口通信的函數(shù)模塊,大大減輕了制作難度,從而實(shí)現(xiàn)PC機(jī)和下位機(jī)之間的互聯(lián)通信。在本采集系統(tǒng)中需要用到的串口通信模塊有:
VISA write、VISA read、VISA close三個模塊可實(shí)現(xiàn)將字符寫入指定串口中,從系統(tǒng)中指定的串行接口讀出特定的數(shù)據(jù)以及關(guān)閉串行接口,讓出接口的使用權(quán)等功能。
5.總結(jié)
本文以航空、導(dǎo)航等領(lǐng)域涉及的數(shù)據(jù)采集問題為背景,設(shè)計(jì)了以STM32F103為主控芯片,外圍結(jié)合A/D模數(shù)轉(zhuǎn)換模塊,F(xiàn)LASH存儲模塊作為系統(tǒng)的下位機(jī),以設(shè)計(jì)難度低,界面簡潔,圖形化的Labview為上位機(jī)??蓪?shí)現(xiàn)對模擬信號進(jìn)行采集、存儲并通過上位機(jī)進(jìn)行顯示等功能,并具有采集速率快、精度高、可移植性強(qiáng)、后期維護(hù)成本低等特點(diǎn),可廣泛應(yīng)用于其他領(lǐng)域。
參考文獻(xiàn)
[1] 李紅剛,張素萍. 基于單片機(jī)和LabVIEW的多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J]. 國外電子測量技術(shù),2014,33(4):62-67. DOI:10.3969/j.issn.1002- 8978.2014.04. 018.
[2]張?jiān)?,陶林? 基于FPGA與STM32的多通道數(shù)據(jù)采集系統(tǒng)[J]. 西北工業(yè)大學(xué)學(xué)報(bào),2020,38(2):351-358. DOI:10.3969/j.issn.1000-2758.2020.02.016.
[3]邵鶴帥. 基于LabVIEW的單片機(jī)串口通信技術(shù)的研究[J]. 科技信息,2009(34):619,622. DOI:10.3969/j.issn.1001-9960.2009.34.533.
[4]趙圣飛. 基于STM32的數(shù)據(jù)采集存儲系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 山西:中北大學(xué),2014. DOI:10.7666/d.D494715.