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

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

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

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

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

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

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

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

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

 

 

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

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

此內容為AET網站原創(chuàng),未經授權禁止轉載。