秦偉
摘 要: 設(shè)計(jì)一種以STM32F107微控制器為硬件核心,適用于嵌入式系統(tǒng)的開(kāi)源TCP/IP協(xié)議——LwIP的在線(xiàn)式電法勘探儀。儀器具備以太網(wǎng)接口,方便接入井下工業(yè)環(huán)網(wǎng),實(shí)現(xiàn)頂?shù)装搴畼?gòu)造的在線(xiàn)監(jiān)測(cè)。儀器最多可擴(kuò)展64個(gè)電極,具備高密度電阻率/激電法、常規(guī)電阻率/激電法2種工作模式,自動(dòng)跑極,探測(cè)數(shù)據(jù)量大,探測(cè)速度快,對(duì)保障煤礦安全生產(chǎn)具有重大意義。
關(guān)鍵詞: STM32微控制器; 自動(dòng)跑極; 電法儀; 在線(xiàn)監(jiān)測(cè); LwIP
中圖分類(lèi)號(hào): TN912.202?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2015)14?0109?04
礦井突水是威脅煤礦安全生產(chǎn)最主要的災(zāi)害之一,國(guó)家煤礦安全監(jiān)察局提出了煤礦水害防治“預(yù)測(cè)預(yù)報(bào),有疑必探,先探后掘,先治后采”的16字方針。突水事故大多發(fā)生在巷道掘進(jìn)工作面,因而采用物探技術(shù)查明各種隱伏導(dǎo)含水構(gòu)造[1],提前采取防止措施成為礦井防治水工作的關(guān)鍵所在。礦井直流電法勘探方法以介質(zhì)電性差異為基礎(chǔ),在巷道頂?shù)装寮肮ぷ髅嫱凰畼?gòu)造探測(cè)方面發(fā)揮著重要作用[2]。然而一般的電法儀器只能人工單次探測(cè),無(wú)法接入井下以太網(wǎng),無(wú)法實(shí)時(shí)監(jiān)測(cè)頂?shù)装鍖?dǎo)含水構(gòu)造。因此,本文研究一種基于LwIP協(xié)議的在線(xiàn)式電法勘探儀,實(shí)現(xiàn)頂?shù)装搴畼?gòu)造的全自動(dòng)智能化監(jiān)測(cè)。
1 電法勘探測(cè)量原理
電法勘探就是利用不同巖石間或礦石與圍巖之間的電位差異,在地面上借助研究天然的或人工方法建立的電場(chǎng)或電磁場(chǎng)的分布規(guī)律,查明各種地質(zhì)構(gòu)造和尋找有用礦產(chǎn)的一種物探方法,主要有電阻率法和激電法2種工作模式[3]。電阻率法原理:直流電法勘探通常是通過(guò)一對(duì)接地電極A,B把電流供入大地,通過(guò)另一對(duì)接地電極M,N觀(guān)測(cè)巖石電阻率所必需的電位或電位差信息。用電極M,N間的電流I和電位差ΔUMN值,計(jì)算出視電阻率值ρs,如圖1所示。
圖1 電阻率法測(cè)量原理
激電法測(cè)量原理:供電電極A,B向地下供直流電的瞬間,在測(cè)量電極M,N間產(chǎn)生一次電位差ΔU1;將供電電路斷開(kāi),一次場(chǎng)消失,而M,N間仍有電位差存在(稱(chēng)為二次電位差ΔU2),這是被極化了的地質(zhì)體放電而產(chǎn)生的,這種現(xiàn)象稱(chēng)為地質(zhì)體的激發(fā)極化(Induced Polarization,IP)效應(yīng),如圖2所示。
圖2 激電法測(cè)量原理
2 系統(tǒng)硬件設(shè)計(jì)
在線(xiàn)式電法勘探儀由微控制器、數(shù)據(jù)采集單元、電極供電單元、分布式電極控制單元以及數(shù)據(jù)接口組成,系統(tǒng)框圖如圖3所示。供電系統(tǒng)通過(guò)供電電極提供直流電場(chǎng),測(cè)量電極間的電位差以及供電電流通過(guò)高精度數(shù)據(jù)采集單元處理后,存儲(chǔ)在大容量FLASH里面,最后通過(guò)井下以太網(wǎng)上傳到地面進(jìn)行數(shù)據(jù)反演,最終得到頂?shù)装鍖?dǎo)含水構(gòu)造。
圖3 采集系統(tǒng)方案圖
STM32F107VC 是一款基于A(yíng)RM Cortex?M3內(nèi)核的32位微控制器[4],采用哈佛結(jié)構(gòu),有單周期乘法指令和硬件除法指令,最高工作頻率可達(dá)到72 MHz,具有256 KB的閃存和64 KB的SRAM,還有性能出眾的片上外設(shè),最大限度地實(shí)現(xiàn)集成,大大降低系統(tǒng)功耗。值得一提的是,該MCU具有以太網(wǎng)控制模塊,符合IEEE 802.3標(biāo)準(zhǔn)。
2.1 數(shù)據(jù)采集模塊
基于電法勘探電阻率法測(cè)量原理,通過(guò)一對(duì)接地電極A,B把電流供入大地,測(cè)量另一對(duì)接地電極M,N間的電流I和電位差ΔUMN值,計(jì)算出視電阻率值。數(shù)據(jù)采集模塊以模/數(shù)轉(zhuǎn)換芯片ADS1271為核心,它是24位的工業(yè)用模/數(shù)轉(zhuǎn)換器,可提供50 kHz 的帶寬,105 KSPS的轉(zhuǎn)換速率,1.8 μV/℃的失調(diào)漂移以及高達(dá)109 dB的信噪比,SPI串行接口提供至微控制器的方便連接。由于井下工作環(huán)境的復(fù)雜性,輸入信號(hào)必須經(jīng)過(guò)一系列處理才能最大限度實(shí)現(xiàn)ADS1271的高精度采集[5],如圖4所示。
2.1.1 自電補(bǔ)償電路
輸入信號(hào)來(lái)自M,N電極間的電位差信號(hào)或電流取樣信號(hào),該信號(hào)必須經(jīng)過(guò)限幅、跟隨、自電補(bǔ)償?shù)阮A(yù)處理,以抵消井下自然電位對(duì)后續(xù)電路的影響。自電補(bǔ)償電路核心是一高精度DAC數(shù)/模轉(zhuǎn)換器,MCU首先采集電極間的自然電位,然后控制DAC輸出與自然電位極性相反的補(bǔ)償電位,從而消除自然電位的影響[6],原理框圖如圖5所示。
圖4 采集模塊框圖
圖5 自電補(bǔ)償電路原理框圖
2.1.2 程控放大電路
采集的電流和電位差信號(hào)與地層構(gòu)造息息相關(guān),信號(hào)的變化幅度大,若采用單一的放大增益,那么小信號(hào)經(jīng)放大器放大后,幅值仍然很小,經(jīng)A/D變換后會(huì)影響數(shù)據(jù)的精密度;而大信號(hào)放大后又有可能超出A/D轉(zhuǎn)換的量程,因此有必要研制放大器增益自動(dòng)可調(diào)的程控增益放大器[7],它允許輸入的模擬量在很大的范圍內(nèi)動(dòng)態(tài)變化,原理框圖如圖6所示。
圖6 程控放大電路原理框圖
電路以程控放大芯片PGA204為核心,通過(guò)邏輯信號(hào)A1,A0對(duì)增益進(jìn)行數(shù)字選擇,可實(shí)現(xiàn)1,10,100,1 000 V/V四個(gè)增益檔級(jí)。工作時(shí),首先置PGA增益為1,預(yù)采樣信號(hào)值,根據(jù)信號(hào)的幅值確定所需要的增益,實(shí)現(xiàn)最大的動(dòng)態(tài)變化范圍,提高采樣精度。
2.1.3 模/數(shù)轉(zhuǎn)換電路
為保證數(shù)據(jù)采集精度,選用差分輸入24位高精度Δ?Σ模/數(shù)轉(zhuǎn)換器ADS1271,電路如圖7所示。由于輸入信號(hào)是單端信號(hào),采用單端轉(zhuǎn)差分芯片將單端信號(hào)變成差分信號(hào),再輸入到ADC中,各控制引腳與MCU的SPI接口相連,方便編程。
圖7 模/數(shù)轉(zhuǎn)換電路原理框圖
2.2 電極控制模塊
高密度電阻率法是一種陣列勘探方法,測(cè)量時(shí)只需將全部電極置于測(cè)點(diǎn)上,然后利用程控電極轉(zhuǎn)換開(kāi)關(guān)結(jié)合控制軟件便可實(shí)現(xiàn)數(shù)據(jù)的快速和自動(dòng)采集。由于儀器自動(dòng)跑極,因此每個(gè)電極需要分時(shí)充當(dāng)A,B,M,N四個(gè)電極的功能。電極控制模塊結(jié)構(gòu)見(jiàn)圖8。邏輯控制電路根據(jù)MCU發(fā)送過(guò)來(lái)的電極編號(hào)信息,打開(kāi)相應(yīng)的程控開(kāi)關(guān),控制電極與總線(xiàn)通斷,實(shí)現(xiàn)自動(dòng)跑極功能[8]。
圖8 電極控制模塊結(jié)構(gòu)圖
2.3 供電模塊
考慮到井下防爆要求,供電電壓不超過(guò)75 V,供電電流不超過(guò)60 mA。電源具有恒壓和恒流2種工作模式,由STM32F107通過(guò)串口通知電源模塊切換。當(dāng)采集到的電流很小時(shí),說(shuō)明存在高阻或電極接觸不良,此時(shí)切換到恒流模式,若采集到的電流還是很小,說(shuō)明電極接觸存在問(wèn)題,發(fā)出警告信息。
3 系統(tǒng)軟件設(shè)計(jì)
儀器通過(guò)以太網(wǎng)口接收到上位機(jī)發(fā)送的控制命令后,根據(jù)工作模式自動(dòng)切換電極工作狀態(tài),實(shí)現(xiàn)自動(dòng)跑極采集功能。
3.1 ADS1271的控制時(shí)序
ADS1271采用SPI串行接口與微控制器連接,其讀取時(shí)序如圖9所示。
3.2 LwIP嵌入式以太網(wǎng)協(xié)議的移植
LwIP是瑞士計(jì)算機(jī)科學(xué)院Adam Dunkels等開(kāi)發(fā)的一套用于嵌入式系統(tǒng)的開(kāi)放源代碼TCP/IP協(xié)議棧,既可以移植到操作系統(tǒng)上,又可以在無(wú)操作系統(tǒng)的情況下獨(dú)立運(yùn)行。LwIP協(xié)議的文件組織結(jié)構(gòu)[9]如圖10所示。api目錄包含應(yīng)用程序接口文件,core目錄為L(zhǎng)wIP的核心代碼,包括ICMP、IP、UDP、TCP等協(xié)議的實(shí)現(xiàn)等,include目錄是LwIP的包含文件,netif目錄包含ARP協(xié)議和LwIP網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序的模板,提供了網(wǎng)絡(luò)接口驅(qū)動(dòng)程序的基本框架,arch目錄包含與硬件和OS有關(guān)的文件,包括網(wǎng)絡(luò)驅(qū)動(dòng)、移植需要修改的文件[10]。
圖9 ADS1271讀取時(shí)序圖
圖10 LwIP文件結(jié)構(gòu)
STM32F107具有IEEE 802.3標(biāo)準(zhǔn)的介質(zhì)訪(fǎng)問(wèn)控制層(MAC),通過(guò)外接物理層(PHY)DP83848模塊即可實(shí)現(xiàn)10/100 Mb/S的以太網(wǎng)數(shù)據(jù)全雙工傳輸。對(duì)MAC層的初始化操作流程圖如圖11所示。
圖11 MAC層初始化流程圖
MAC層初始化完成后就可以初始化LwIP協(xié)議,代碼如下:
void Init_lwIP(void)
{
struct ip_addr ipaddr;
struct ip_addr netmask;
struct ip_addr gw;
uint8_t macaddress[6]={ emacETHADDR0, emacETHADDR1, emacETHADDR2, emacETHADDR3, emacETHADDR4, emacETHADDR5 };
sys_sem_t sem;
sys_init();
mem_init();
memp_init();
pbuf_init();
netif_init();
sem = sys_sem_new(0);
tcpip_init(TcpipInitDone, &sem);
sys_sem_wait(sem);
sys_sem_free(sem);
#if LWIP_DHCP
ipaddr.addr = 0;
netmask.addr = 0;
gw.addr = 0;
#else
IP4_ADDR(&ipaddr, emacIPADDR0, emacIPADDR1, emacIPADDR2, emacIPADDR3 );
IP4_ADDR(&netmask,emacNET_MASK0, emacNET_MASK1, emacNET_MASK2, emacNET_MASK3 );
IP4_ADDR(&gw, emacGATEWAY_ADDR0, emacGATEWAY_ADDR1, emacGATEWAY_ADDR2, emacGATEWAY_ADDR3 );
#endif
Set_MAC_Address(macaddress);
netif_add(&netif, &ipaddr, &netmask, &gw, NULL, eernetif_init, &tcpip_input);
netif_set_default(&netif);
#if LWIP_DHCP
dhcp_start(&netif);
#endif
netif_set_up(&netif);
}
3.3 自動(dòng)跑極算法設(shè)計(jì)
由電法測(cè)量原理可知,在實(shí)際測(cè)量時(shí),利用電極轉(zhuǎn)換開(kāi)關(guān),可將每4個(gè)相鄰電極進(jìn)行一次組合,從而在一個(gè)測(cè)點(diǎn)便可獲得多種電極排列的測(cè)量參數(shù)。一個(gè)測(cè)點(diǎn)全部測(cè)量完成后,將整個(gè)電極排列向前移動(dòng)一個(gè)距離,然后進(jìn)行下一測(cè)點(diǎn)的觀(guān)測(cè),這種過(guò)程重復(fù)進(jìn)行,直到整條剖面全部測(cè)完為止。當(dāng)實(shí)際電極數(shù)給定時(shí),任意剖面測(cè)點(diǎn)數(shù)由下列公式?jīng)Q定,假設(shè)總電極數(shù)為N,測(cè)量層數(shù)序號(hào)為i,則:
總測(cè)量層數(shù):[nl=int(N-13)];
每層測(cè)量點(diǎn)數(shù):[ni=N-3×i];
總測(cè)量點(diǎn)數(shù):[ndot=n=1ni(N-3×i)]。
編程時(shí)采用2個(gè)循環(huán)即可實(shí)現(xiàn)上述功能。
4 結(jié) 語(yǔ)
本文完成了LwIP協(xié)議在STM32F107微控制器上的移植,設(shè)計(jì)了基于24位高精度模/數(shù)轉(zhuǎn)換器ADS1271的礦井電法勘探儀。該儀器具有以太網(wǎng)連接功能,方便接入井下工業(yè)以太網(wǎng),采用自動(dòng)跑極的高密度電阻率/激電法、常規(guī)電阻率/激電法進(jìn)行電法探測(cè),實(shí)現(xiàn)頂?shù)装搴畼?gòu)造的在線(xiàn)監(jiān)測(cè)。
參考文獻(xiàn)
[1] 儲(chǔ)紹良.礦井物探應(yīng)用[M].北京:煤炭工業(yè)出版社,1995.
[2] 劉樹(shù)才,劉鑫明.煤層底板導(dǎo)水裂隙演化規(guī)律的電法探測(cè)研究[J].巖石力學(xué)與工程學(xué)報(bào),2009,28(2):348?356.
[3] 劉國(guó)興.電法勘探與原理[M].北京:地質(zhì)出版社,2005.
[4] 意法半導(dǎo)體(中國(guó))投資有限公司.STM32F10xxx 參考手冊(cè)[M/OL].[2010?12?07].http://download.csdn.net/detail/winnerben/2887762.
[5] Texas Instruments Incorporated. 24bit,wide band width analog to digital converter, ADS1271[EB/OL]. [2007?02?06]. http://www.ti.com.
[6] 武建全.影響自然電位測(cè)井的因素及解決方法[J].中國(guó)煤炭地質(zhì),2008(z1):88?89.
[7] 朱玉田.程控增益放大器實(shí)現(xiàn)方法的比較與選用[J].機(jī)電工程,1997(4):42?44.
[8] 王愛(ài)國(guó),馬巍,王大雁.高密度電法不同電極排列方式的探測(cè)效果對(duì)比[J].工程勘察,2007(1):72?75.
[9] DUNKELS Adam. The uIP embedded TCP/IP stack [EB/OL]. [2012?12?06]. http://www. sourceforge.net/projec.
[10] 程明,余中華,蘇艷萍,等.μC/OS?Ⅱ下LWIP協(xié)議棧的移植和測(cè)試[J].微計(jì)算機(jī)信息,2008,24(24):79?80.