吳 海
(中煤科工集團西安研究院有限公司,陜西西安,710077)
我國是世界上煤礦地質條件最為復雜的國家,斷層、陷落柱等小構造易導致頂板塌落、透水等事故發生,造成巨大的經濟損失和人員傷亡。由于煤礦安全高效開采對地質條件查明程度的要求愈來愈高,地面三維地震勘探的分辨率已經無法完全適應高效采煤的需要,而煤礦井下槽波地震勘探技術具有基礎理論完備、距離探測目標較近、不受地形起伏影響、吸收衰減小、分辨率高等獨特優勢,是煤礦井下探測距離最遠、精度最高的構造探測技術。針對原有槽波地震勘探設備笨重且被國外壟斷、施工繁瑣、采集道數少等問題,我們研制了一套輕便、施工簡單、探測精度高的礦用節點式地震儀。開發了針對該儀器的基于嵌入式Linux的控制軟件,實現了儀器的智能化采集和存儲,取得了較好的效果。
礦用節點式地震儀采用32位ARM芯片、結合24位A/D、SD卡海量存儲技術等構建嵌入式硬件平臺,利用開源嵌入式Linux操作系統,完成系統功能配置、數據采集以及數據回收等功能。該儀器可實現單站三通道信號采集。
系統功能主要分為以下幾個部分:
(1)電源模塊:實現對系統中各個模塊的供電管理,提供數字3.3v、5v,模擬2.5v,-2.5v的供電。該部分實現鋰離子電池組到各部分電壓輸出的轉換,并實現本安電源。
(2)ARM中央控制單元:本文采用三星S3c2440A核心控制板,該芯片是基于ARM920T核心,嵌入式技術的32位ARM處理器,其工作頻率高達400MHz,處理速度更快,能耗更低。
(3)信號采集:采用高精度地震專用采集套片組成單通道采集,實現三通道同步采集,可實現三分量地震信號的采集。系統最高采樣率可達4000SPS。
(4)數據存儲:系統采用大容量工業SD卡實現對采集數據的實時存儲。為了確保數據存儲的可靠性,在數據存儲過程中增加了CRC校驗。
(5)時鐘管理:采用實時時鐘芯片,利用GPS授時器可實現對系統的準確對時。另外系統利用ARM中央控制單元實現對儀器的工作時間調度。
(6)網絡通信:系統采用以太網實現儀器工作參數的配置以及數據的回傳功能。
(7)按鍵管理:通過該模塊可對系統的工作模式進行管理。按下不同的按鍵,系統分別進入對時、采集、配置等工作模式。
(8)指示燈管理:通過該模塊可實現對系統工作狀態的提示。不同的指示燈閃爍,提示系統分別進入對時、采集、待機或者出現系統故障。
該軟件在嵌入式Linux環境下開發,軟件實現局域網內礦用節點式地震儀的參數配置、IP設置、采集信息設置、數據回收等功能。通過將編譯好的軟件下載到地震儀的ARM控制芯片中,礦用節點式地震儀通過按鍵選擇進入Linux系統,實現web方式控制地震儀的數據管理和參數配置。
軟件采用模塊化設計的思想,通過web界面的功能選擇,實現網絡設置、時間設置、采樣參數配置及數據下載等功能。軟件流程圖如圖1所示。

圖1 系統流程圖
根據礦用節點式地震儀的功能要求,將該軟件劃分為5個功能模塊,分別為設備狀態查詢、記錄狀態查詢 、記錄設置、網絡設置以及其他設置。
設備狀態查詢實現設備的基本信息的查詢,記錄狀態查詢實現設備的采樣信息查詢、記錄設置實現設備的采樣率、增益設置以及采樣時間設置,網絡設置實現設備的IP地址設置,其他設置實現設備的時間信息配置。
(1)設備狀態
設備狀態實現設備的信息查詢,設備序號、設備名稱、設備分組、電池電壓、硬件版本、軟件版本、當前時間、啟用DHCP、IP地址、網絡腌碼、MAC地址。如圖2所示。

圖2 設備狀態
(2)記錄狀態
實現設備各個通道的采樣率、增益查詢、各個時間段的采樣信息顯示。如圖3所示。

圖3 記錄狀態
(3)記錄設置
設置設備通道X、通道Y、通道Z的增益,采樣率設置,并按時間段設置設備的采樣時刻及記錄長度等信息,如圖4所示。

圖4 記錄設置
(4)網絡設置
網絡設置實現設備IP地址配置以及子網掩碼設置,并選擇是否啟動DHCP,如圖5所示。

圖5 網絡設置
(5)其他設置
其他設置實現設備的設備名稱、設備分組、時間信息設置,并實現該軟件的登陸密碼更改,如果6所示。

圖6 其他設置
采用嵌入式c語言和html腳本語言在Linux環境下進行軟件開發。在礦用節點式地震儀硬件平臺上移植嵌入式Linux系統,將編譯好的可執行代碼下載到ARM控制芯片中,實現軟件的自動運行。為了實現儀器參數的智能化配置和管理,軟件實現中使用了一些特殊的數據格式,采用結構體方式定義數據結構。
(1)數據結構設計
軟件中使用的重要數據結構定義如下所示:
typedef struct
{ unsigned int dev_id;
char dev_name[256];
char dev_group[256];
char password[256];
char http_path[256];
char http_cgi_path[256];
int http_port;
bool lan_use_dhcp[1];
ipaddr lan_ip[1];
ipaddr lan_mask[1];
char mac_addr[6];
unsigned int serial_number; } CONFIGS;
(2)模塊設計
軟件中使用的一些重要功能模塊定義如下所示:
void config_file_read(void);
void config_file_write(char *filename);
int recorder_init(void);
unsigned int recorder_get_max_record_cnt(void);
int recorder_get_record_data_start(void);
void recorder_get_record_data_end(int fd);
礦用節點式地震儀為煤礦井下槽波探測提供了一套輕便、施工簡單、道數可擴展的智能化采集裝備,近年來在槽波技術推廣中得到了很好的應用。為了實現儀器的智能化控制和管理,開發的基于嵌入式Linux的控制軟件,實現了儀器采樣率、增益、采樣時間等參數的智能配置及采集數據的回收管理。采用該軟件的礦用節點式地震儀已實現上百臺多年的連續使用,從現場應用來看,該軟件運行穩定、可靠,滿足了我們的設計要求。