《電子技術(shù)應用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設計應用 > 基于STM32和LabVIEW的地震數(shù)據(jù)采集卡的設計
基于STM32和LabVIEW的地震數(shù)據(jù)采集卡的設計
來源:電子技術(shù)應用2012年第10期
張 勇, 董浩斌
中國地質(zhì)大學(武漢) 機械與電子信息學院,湖北 武漢430074
摘要: 針對地震波高動態(tài)范圍的特點,設計一種基于STM32和LabVIEW的24位高精度、120 dB高動態(tài)范圍的地震數(shù)據(jù)采集卡。采集卡前端通過采用基于△-Σ技術(shù)的24位ADC調(diào)制芯片CS5372,配合使用數(shù)字濾波芯片CS5376,實現(xiàn)較強的數(shù)據(jù)采集和處理能力。選用STM32作為主控制器,使采集卡擁有低功耗以及高可靠性和可維護性。上位機采用LabVIEW作為開發(fā)平臺,通過網(wǎng)絡接口芯片ENC28J60實現(xiàn)STM32和上位機的通信。
中圖分類號: TP274
文獻標識碼: B
文章編號: 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

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

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

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

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

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

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

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

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

 

 

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

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

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