《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于STM32和LabVIEW的地震數(shù)據(jù)采集卡的設(shè)計(jì)
基于STM32和LabVIEW的地震數(shù)據(jù)采集卡的設(shè)計(jì)
來(lái)源:電子技術(shù)應(yīng)用2012年第10期
張 勇, 董浩斌
中國(guó)地質(zhì)大學(xué)(武漢) 機(jī)械與電子信息學(xué)院,湖北 武漢430074
摘要: 針對(duì)地震波高動(dòng)態(tài)范圍的特點(diǎn),設(shè)計(jì)一種基于STM32和LabVIEW的24位高精度、120 dB高動(dòng)態(tài)范圍的地震數(shù)據(jù)采集卡。采集卡前端通過(guò)采用基于△-Σ技術(shù)的24位ADC調(diào)制芯片CS5372,配合使用數(shù)字濾波芯片CS5376,實(shí)現(xiàn)較強(qiáng)的數(shù)據(jù)采集和處理能力。選用STM32作為主控制器,使采集卡擁有低功耗以及高可靠性和可維護(hù)性。上位機(jī)采用LabVIEW作為開(kāi)發(fā)平臺(tái),通過(guò)網(wǎng)絡(luò)接口芯片ENC28J60實(shí)現(xiàn)STM32和上位機(jī)的通信。
中圖分類(lèi)號(hào): TP274
文獻(xiàn)標(biāo)識(shí)碼: B
文章編號(hào): 0258-7998(2012)10-0072-03
Design of a seismic data acquisition system based on STM32 and LabVIEW
Zhang Yong, Dong Haobin
Faculty of Mechanical & Electronic Information,China University of Geosciences,Wuhan 430074,China
Abstract: According to the seismic wave high dynamic range characteristics, a kind of seismic data acquisition card based on STM32 and LabVIEW for 24 bits high precision and 120 dB high dynamic range is designed. At the front of this acquisition system a 24 bits ADC modulation chip based on △-Σ technology CS5372 is used, and cooperates with using digital filter chip CS5376 realizing the strong data acquisition and processing power. STM32 is used as the main controller, which makes collection card has low power consumption, high reliability and maintainability. The upper machine used LabVIEW as a development platform, which through the network interface implementation STM32 and PC communications.
Key words : STM32; LabVIEW; high dynamic range; digital filter; network communication

    在地球物理勘探領(lǐng)域,地震波勘探越來(lái)越受到地質(zhì)工作者的青睞,地震波數(shù)據(jù)的正確采集因此顯得非常重要。地震信號(hào)由于其自身的固有特征,動(dòng)態(tài)范圍需在120 dB左右,頻帶需要在10 Hz~1 kHz左右,對(duì)采集卡提出了較高要求,而且隨著城市化進(jìn)程的加劇,測(cè)試環(huán)境的背景噪聲也越來(lái)越復(fù)雜,這給地震數(shù)據(jù)的采集帶來(lái)了新的問(wèn)題,同時(shí)也給采集卡提出了更高的要求。因此需要采用更高精度的ADC技術(shù)和更加嚴(yán)格的數(shù)字濾波技術(shù)對(duì)信號(hào)進(jìn)行處理,才能得到理想的采集數(shù)據(jù)[1]。目前國(guó)內(nèi)相應(yīng)的儀器均采用國(guó)外進(jìn)口,為了有所突破,本文對(duì)此技術(shù)進(jìn)行的相應(yīng)研究,通過(guò)CS3301、CS5272以及CS5376和STM32相連,構(gòu)成了一套地震數(shù)據(jù)采集卡,采集在地震勘探過(guò)程中的地震波信號(hào),并通過(guò)網(wǎng)絡(luò)接口傳遞給上位機(jī),以LabVIEW作為軟件平臺(tái)對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)監(jiān)測(cè)、處理以及分析。

1 系統(tǒng)的硬件結(jié)構(gòu)框圖
    系統(tǒng)的硬件結(jié)構(gòu)框圖如圖1所示,硬件電路主要包括前端運(yùn)放CS3301、24位ADC芯片CS5372、數(shù)字濾波芯片CS5376、網(wǎng)絡(luò)接口芯片ENC28J60以及STM32F103ZE芯片的最小系統(tǒng)和相關(guān)模塊之間的接口電路。 

1.1 STM32F103ZE硬件模塊
    本系統(tǒng)采用ST(意法半導(dǎo)體)公司生產(chǎn)的STM32F103ZE作為核心控制模塊。STM32F103ZE是基于最新Cortex-M3內(nèi)核的32位高速ARM微處理器,功耗比較低,工作頻率經(jīng)過(guò)PLL倍頻后最高可以達(dá)到72 MHz。它擁有512 KB Flash,64 KB SRAM,外圍接口相當(dāng)豐富,擁有2個(gè)SPI接口,完全滿足設(shè)計(jì)的要求。STM32F103ZE作為本系統(tǒng)的控制核心,直接通過(guò)兩個(gè)SPI接口分別控制CS5376和ENC28J60工作狀態(tài)以及數(shù)據(jù)采集、處理和發(fā)送過(guò)程。首先將CS5376濾波處理過(guò)后的數(shù)據(jù)傳遞給ENC28J60,再通過(guò)網(wǎng)線與上位機(jī)通信。在本數(shù)據(jù)采集系統(tǒng)中,STM32F103ZE外接8 MHz時(shí)鐘,經(jīng)過(guò)內(nèi)部PLL倍頻至72 MHz[2]。
1.2 CS3301、CS5372及CS5376硬件接口模塊
    CS3301、CS5372和CS5376是Cirrus Logic公司生產(chǎn)的專用于地震數(shù)據(jù)采集的一組套片,需要一起配合使用,CS5372是基于△-Σ技術(shù)的24位ADC調(diào)制芯片,它對(duì)信號(hào)進(jìn)行抽取調(diào)制后變成“1”的比特流,然后送至數(shù)字濾波芯片CS5376進(jìn)行濾波處理后形成24位數(shù)據(jù)輸出。前端的信號(hào)調(diào)理電路采用CS3301,它是差分運(yùn)放,增益可控,用它進(jìn)行前端阻抗匹配以及放大倍數(shù)的控制。對(duì)應(yīng)的電路接口圖如圖2和圖3所示。圖2中,CS3301通過(guò)MUX0和MUX1選擇輸入通道,GAIN0~GAIN2控制增益。這些控制信號(hào)都接入STM32,由STM32進(jìn)行控制。電阻R1、R2、R3、R4和電容C1、C2組成信號(hào)輸入耦合電路。其中電阻R1、R2的作用是匹配信號(hào)內(nèi)阻;電容C1、C2起隔直作用;電阻R3、R4組成運(yùn)放偏置電流回路。隔直電容C1、C2在隔斷直流信號(hào)的同時(shí),也隔斷了部分低頻信號(hào)。如果想讓預(yù)定頻率的信號(hào)通過(guò),則C1、C2和R3、R4的大小必須合適。另外CS3301、CS5372均需要外接時(shí)鐘信號(hào),它們直接由數(shù)字濾波芯片CS5376產(chǎn)生,這樣有利于在數(shù)據(jù)處理時(shí)嚴(yán)格控制信號(hào)的同步性。

1.3 STM32和ENC28H60硬件接口模塊
    在本課題中設(shè)計(jì)中,網(wǎng)卡芯片采用Microchip(微芯)公司生產(chǎn)的ENC28J60。該芯片是目前全球最小封裝的以太網(wǎng)控制器。目前市場(chǎng)上大部分以太網(wǎng)控制器采用的封裝均超過(guò)80引腳,而符合IEEE802.3協(xié)議的ENC28J60只有28引腳,這既能提供相應(yīng)的功能,又可以大大簡(jiǎn)化相關(guān)設(shè)計(jì),并減小電路板的空間,精簡(jiǎn)相應(yīng)的程序設(shè)計(jì)開(kāi)發(fā)。此外,ENC28J60 以太網(wǎng)控制器采用業(yè)界標(biāo)準(zhǔn)的SPI 串行接口,只需4條連線即可與主控單片機(jī)連接。這些功能加上由Microchip 免費(fèi)提供的、用于單片機(jī)的TCP/IP軟件堆棧,使之成為目前市面上最小的嵌入式應(yīng)用以太網(wǎng)解決方案[3]。
    ENC28J60芯片內(nèi)部集成了網(wǎng)絡(luò)變壓器和用作指示的LED,因此電路中不再需要接網(wǎng)絡(luò)變壓器。由于ENC28J60是基于SPI 接口的以太網(wǎng)控制芯片,因此其與嵌入式系統(tǒng)的接口非常簡(jiǎn)單,只需將ENC28J60的SPI接口與STM32F103ZE的SPI接口按照標(biāo)準(zhǔn)的SPI接口方式連接即可。
2 系統(tǒng)的軟件設(shè)計(jì)
2.1 STM32軟件設(shè)計(jì)

    STM32F103ZE采用MDK作為開(kāi)發(fā)環(huán)境。系統(tǒng)采集軟件由主程序和若干子程序構(gòu)成,子程序包括SPI1控制CS5376,SPI2控制ENC28J60, 數(shù)據(jù)采集程序框圖如圖4所示。

    在STM32軟件設(shè)計(jì)中需要包含對(duì)網(wǎng)絡(luò)接口芯片ENC28J60和數(shù)字濾波芯片CS5376的初始化。ENC28J60和CS5376均采用SPI接口,因此需要對(duì)STM32F103的兩個(gè)SPI接口——SPI1和SPI2分別初始化。這里不再贅述。
2.2 LabVIEW上位機(jī)軟件設(shè)計(jì)
    本課題采用了LabVIEW作為上位機(jī)軟件開(kāi)發(fā)平臺(tái)。它使用圖形化編程語(yǔ)言——G語(yǔ)言進(jìn)行編程,功能強(qiáng)大而使用靈活,分前面板和后面板兩部分來(lái)進(jìn)行設(shè)計(jì)。前面板是圖形化顯示界面,后面板是模塊連接圖。在本課題的設(shè)計(jì)中,使用了LabVIEW后面板數(shù)據(jù)通信控件協(xié)議中的4個(gè)函數(shù)[3],將分別介紹如下。
 

    該函數(shù)是用來(lái)打開(kāi)地址或者網(wǎng)絡(luò)端口或服務(wù)器的TCP連接。比如說(shuō)打開(kāi)192.168.1.1端口號(hào)為80的TCP連接。該函數(shù)是用來(lái)匹配IP地址是否是目標(biāo)板的IP地址,如果是則連接成功,不是則返回錯(cuò)誤信號(hào)。該函數(shù)中的地址要與其建立連接的目標(biāo)板的地址一致。該地址可以為IP句點(diǎn)符號(hào)格式,例如192.168.1.1或者主機(jī)名。如未指定地址,LabVIEW將建立與本地計(jì)算機(jī)的連接;遠(yuǎn)程端口或服務(wù)名稱可以接受數(shù)字或字符串輸入。遠(yuǎn)程端口或服務(wù)名稱是要與其確立連接的端口或服務(wù)的名稱。
    在本課題中目標(biāo)板的端口號(hào)選用5 000端口。
    函數(shù)3:讀取TCP數(shù)據(jù) (函數(shù)),如圖7所示。
    當(dāng)LabVIEW和目標(biāo)板建立連接后,該函數(shù)用來(lái)讀取數(shù)據(jù)以及控制讀取數(shù)據(jù)的字節(jié)數(shù)。在本課題中一次讀取的字節(jié)數(shù)控制為4 096 B。剛好為一個(gè)AD采樣存儲(chǔ)空間的大小。
    函數(shù)4:關(guān)閉TCP連接(函數(shù)),如圖8所示。該函數(shù)是實(shí)現(xiàn)關(guān)閉TCP連接。

    在本課題中LabVIEW前面板框圖如圖9所示,后面板如圖10所示。在前面板中輸入目標(biāo)板的地址192.168.1.30,端口為5 000,讀取的字節(jié)數(shù)為4 096。打開(kāi)/停止鍵控制打開(kāi)和關(guān)閉TCP連接。

 

 

    由于剛開(kāi)始不知道數(shù)據(jù)傳輸?shù)母袷?,所以使用網(wǎng)絡(luò)調(diào)試助手進(jìn)行數(shù)據(jù)觀測(cè)。
    通過(guò)觀測(cè)發(fā)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)包是按照字節(jié)進(jìn)行發(fā)送的,也就是說(shuō)下位機(jī)中的24 bit AD采樣數(shù)據(jù)分4個(gè)字節(jié)發(fā)送,先發(fā)送低字節(jié),然后發(fā)送高字節(jié),因此需要將發(fā)送的數(shù)據(jù)進(jìn)行整合處理。相應(yīng)的整合電路如圖11所示。

    先將低2字節(jié)的數(shù)據(jù)直接拿出來(lái),高2字節(jié)的數(shù)據(jù)乘以65 535后與低2 bit的數(shù)據(jù)進(jìn)行疊加形成新的數(shù)據(jù)。這個(gè)新的數(shù)據(jù)就是一次AD轉(zhuǎn)換的結(jié)果,轉(zhuǎn)換成float型數(shù)據(jù),也就是乘以參考電壓除以2的N次方減1,將相應(yīng)的數(shù)據(jù)傳送給顯示控件進(jìn)行顯示。在試驗(yàn)過(guò)程中用AD采樣標(biāo)準(zhǔn)三角波和標(biāo)準(zhǔn)正弦波。從顯示的曲線可以看出,系統(tǒng)可以完全地進(jìn)行采樣并且正確地顯示。
    本課題提出了一種基于STM32和LabVIEW的地震數(shù)據(jù)采集卡的設(shè)計(jì),實(shí)現(xiàn)了信號(hào)的遠(yuǎn)程監(jiān)測(cè),用戶通過(guò)登錄服務(wù)器即可實(shí)現(xiàn)信號(hào)的遠(yuǎn)程監(jiān)控。經(jīng)實(shí)驗(yàn)測(cè)試,采集卡通信穩(wěn)定,信號(hào)采集精度高,并且使用方便。非常適合遠(yuǎn)程中低頻信號(hào)的監(jiān)測(cè),具有很好的應(yīng)用前景。
參考文獻(xiàn)
[1] 何正淼,宋克柱,湯家俊,等. 24位ADC在地震數(shù)據(jù)采集中的應(yīng)用[J].數(shù)據(jù)采集與處理,2005,20(2):244-248.
[2] 彭剛,秦志強(qiáng).基于ARM Cortex-M3的STM32系列嵌入式微控制器應(yīng)用實(shí)踐[M].北京:電子工業(yè)出版社,2011.
[3] 劉建超.單片機(jī)與Internet網(wǎng)絡(luò)的通信應(yīng)用研究[D].濟(jì)南:山東師范大學(xué),2007.
[4] 吳成東,孫秋野,盛科. LabVIEW虛擬儀器程序設(shè)計(jì)及應(yīng)用[M].北京:人民郵電出版社,2008.

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