文獻(xiàn)標(biāo)識(shí)碼: B
文章編號(hào): 0258-7998(2012)10-0072-03
在地球物理勘探領(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.