文獻標識碼: B
文章編號: 0258-7998(2012)10-0072-03
在地球物理勘探領域,地震波勘探越來越受到地質(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.