文獻標識碼: B
文章編號: 0258-7998(2012)10-0072-03
在地球物理勘探領域,地震波勘探越來越受到地質工作者的青睞,地震波數據的正確采集因此顯得非常重要。地震信號由于其自身的固有特征,動態范圍需在120 dB左右,頻帶需要在10 Hz~1 kHz左右,對采集卡提出了較高要求,而且隨著城市化進程的加劇,測試環境的背景噪聲也越來越復雜,這給地震數據的采集帶來了新的問題,同時也給采集卡提出了更高的要求。因此需要采用更高精度的ADC技術和更加嚴格的數字濾波技術對信號進行處理,才能得到理想的采集數據[1]。目前國內相應的儀器均采用國外進口,為了有所突破,本文對此技術進行的相應研究,通過CS3301、CS5272以及CS5376和STM32相連,構成了一套地震數據采集卡,采集在地震勘探過程中的地震波信號,并通過網絡接口傳遞給上位機,以LabVIEW作為軟件平臺對數據進行實時監測、處理以及分析。
1 系統的硬件結構框圖
系統的硬件結構框圖如圖1所示,硬件電路主要包括前端運放CS3301、24位ADC芯片CS5372、數字濾波芯片CS5376、網絡接口芯片ENC28J60以及STM32F103ZE芯片的最小系統和相關模塊之間的接口電路。
1.1 STM32F103ZE硬件模塊
本系統采用ST(意法半導體)公司生產的STM32F103ZE作為核心控制模塊。STM32F103ZE是基于最新Cortex-M3內核的32位高速ARM微處理器,功耗比較低,工作頻率經過PLL倍頻后最高可以達到72 MHz。它擁有512 KB Flash,64 KB SRAM,外圍接口相當豐富,擁有2個SPI接口,完全滿足設計的要求。STM32F103ZE作為本系統的控制核心,直接通過兩個SPI接口分別控制CS5376和ENC28J60工作狀態以及數據采集、處理和發送過程。首先將CS5376濾波處理過后的數據傳遞給ENC28J60,再通過網線與上位機通信。在本數據采集系統中,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協議的ENC28J60只有28引腳,這既能提供相應的功能,又可以大大簡化相關設計,并減小電路板的空間,精簡相應的程序設計開發。此外,ENC28J60 以太網控制器采用業界標準的SPI 串行接口,只需4條連線即可與主控單片機連接。這些功能加上由Microchip 免費提供的、用于單片機的TCP/IP軟件堆棧,使之成為目前市面上最小的嵌入式應用以太網解決方案[3]。
ENC28J60芯片內部集成了網絡變壓器和用作指示的LED,因此電路中不再需要接網絡變壓器。由于ENC28J60是基于SPI 接口的以太網控制芯片,因此其與嵌入式系統的接口非常簡單,只需將ENC28J60的SPI接口與STM32F103ZE的SPI接口按照標準的SPI接口方式連接即可。
2 系統的軟件設計
2.1 STM32軟件設計
STM32F103ZE采用MDK作為開發環境。系統采集軟件由主程序和若干子程序構成,子程序包括SPI1控制CS5376,SPI2控制ENC28J60, 數據采集程序框圖如圖4所示。
在STM32軟件設計中需要包含對網絡接口芯片ENC28J60和數字濾波芯片CS5376的初始化。ENC28J60和CS5376均采用SPI接口,因此需要對STM32F103的兩個SPI接口——SPI1和SPI2分別初始化。這里不再贅述。
2.2 LabVIEW上位機軟件設計
本課題采用了LabVIEW作為上位機軟件開發平臺。它使用圖形化編程語言——G語言進行編程,功能強大而使用靈活,分前面板和后面板兩部分來進行設計。前面板是圖形化顯示界面,后面板是模塊連接圖。在本課題的設計中,使用了LabVIEW后面板數據通信控件協議中的4個函數[3],將分別介紹如下。
該函數是用來打開地址或者網絡端口或服務器的TCP連接。比如說打開192.168.1.1端口號為80的TCP連接。該函數是用來匹配IP地址是否是目標板的IP地址,如果是則連接成功,不是則返回錯誤信號。該函數中的地址要與其建立連接的目標板的地址一致。該地址可以為IP句點符號格式,例如192.168.1.1或者主機名。如未指定地址,LabVIEW將建立與本地計算機的連接;遠程端口或服務名稱可以接受數字或字符串輸入。遠程端口或服務名稱是要與其確立連接的端口或服務的名稱。
在本課題中目標板的端口號選用5 000端口。
函數3:讀取TCP數據 (函數),如圖7所示。
當LabVIEW和目標板建立連接后,該函數用來讀取數據以及控制讀取數據的字節數。在本課題中一次讀取的字節數控制為4 096 B。剛好為一個AD采樣存儲空間的大小。
函數4:關閉TCP連接(函數),如圖8所示。該函數是實現關閉TCP連接。
在本課題中LabVIEW前面板框圖如圖9所示,后面板如圖10所示。在前面板中輸入目標板的地址192.168.1.30,端口為5 000,讀取的字節數為4 096。打開/停止鍵控制打開和關閉TCP連接。
由于剛開始不知道數據傳輸的格式,所以使用網絡調試助手進行數據觀測。
通過觀測發現網絡數據包是按照字節進行發送的,也就是說下位機中的24 bit AD采樣數據分4個字節發送,先發送低字節,然后發送高字節,因此需要將發送的數據進行整合處理。相應的整合電路如圖11所示。
先將低2字節的數據直接拿出來,高2字節的數據乘以65 535后與低2 bit的數據進行疊加形成新的數據。這個新的數據就是一次AD轉換的結果,轉換成float型數據,也就是乘以參考電壓除以2的N次方減1,將相應的數據傳送給顯示控件進行顯示。在試驗過程中用AD采樣標準三角波和標準正弦波。從顯示的曲線可以看出,系統可以完全地進行采樣并且正確地顯示。
本課題提出了一種基于STM32和LabVIEW的地震數據采集卡的設計,實現了信號的遠程監測,用戶通過登錄服務器即可實現信號的遠程監控。經實驗測試,采集卡通信穩定,信號采集精度高,并且使用方便。非常適合遠程中低頻信號的監測,具有很好的應用前景。
參考文獻
[1] 何正淼,宋克柱,湯家俊,等. 24位ADC在地震數據采集中的應用[J].數據采集與處理,2005,20(2):244-248.
[2] 彭剛,秦志強.基于ARM Cortex-M3的STM32系列嵌入式微控制器應用實踐[M].北京:電子工業出版社,2011.
[3] 劉建超.單片機與Internet網絡的通信應用研究[D].濟南:山東師范大學,2007.
[4] 吳成東,孫秋野,盛科. LabVIEW虛擬儀器程序設計及應用[M].北京:人民郵電出版社,2008.