張法全 王泰麟 葉金才 黃桂強(qiáng) 王國富
摘 要: 微震監(jiān)測網(wǎng)絡(luò)具有節(jié)點(diǎn)間距大、分布范圍廣、數(shù)據(jù)量大的特點(diǎn),其數(shù)據(jù)傳輸方式仍以有線傳輸為主,存在線纜鋪設(shè)困難和成本高等問題。設(shè)計(jì)基于Ad Hoc的微震監(jiān)測數(shù)據(jù)傳輸系統(tǒng),利用遠(yuǎn)距離無線網(wǎng)絡(luò)模塊和Ad Hoc技術(shù),結(jié)合AODV無線路由協(xié)議,在無需其他基礎(chǔ)設(shè)施的情況下即可實(shí)現(xiàn)數(shù)據(jù)的多跳轉(zhuǎn)發(fā),從而實(shí)現(xiàn)整個(gè)網(wǎng)絡(luò)的數(shù)據(jù)傳輸。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)布置靈活方便、成本低,同時(shí)具有傳輸時(shí)延短、數(shù)據(jù)傳輸速率高的特點(diǎn)。
關(guān)鍵詞: 微震監(jiān)測; 數(shù)據(jù)傳輸; Ad Hoc; AODV
中圖分類號(hào): TN931+.3?34; TN92 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2016)24?0128?04
Design of microseismic monitoring data transmission system based on Ad Hoc
ZHANG Faquan1, WANG Tailin1, YE Jincai1, HUANG Guiqiang2, WANG Guofu1
(1. School of Information and Communication, Guilin University of Electronic Technology, Guilin 541004, China;
2. Geological Survey Institute of Guangxi Zhuang Autonomous Region, Nanning 530023, China)
Abstract: The microseismic monitoring network has the characteristics of wide node spacing, wide distribution and large volume of data, whose the main way of data transmission is still wire transmission that will result in cable laying difficulty and high cost. Therefore, a microseismic monitoring data transmission system based on Ad Hoc is designed in this paper, in which a remote wireless module, Ad Hoc technology and AODV(Ad hoc on?demand distance vector) wireless routing protocol are used to complete multi?hop data forwarding in the case of no other infrastructure, and achieve the network data transmission. The application result shows that the system can be arranged flexibly and has the characteristics of low cost, short transmission time delay and high transfer rate.
Keywords: microseismic monitoring; data transmission; Ad Hoc; AODV
現(xiàn)有的針對(duì)礦區(qū)工礦活動(dòng)的微震監(jiān)測系統(tǒng)具有網(wǎng)絡(luò)節(jié)點(diǎn)多、節(jié)點(diǎn)分布范圍廣、數(shù)據(jù)量大的特點(diǎn),其數(shù)據(jù)傳輸還主要采用有線的方式[1],但這種方式在礦區(qū)往往面臨著布置不方便、成本高的問題。因此本文設(shè)計(jì)了一種遠(yuǎn)距離無線網(wǎng)絡(luò)模塊,并在此基礎(chǔ)上設(shè)計(jì)了基于Ad Hoc的微震監(jiān)測數(shù)據(jù)傳輸系統(tǒng)。
1 系統(tǒng)概述
Ad Hoc網(wǎng)絡(luò)是一種多跳的、無中心的、自組織無線網(wǎng)絡(luò),整個(gè)網(wǎng)絡(luò)沒有固定的基礎(chǔ)設(shè)施,每個(gè)節(jié)點(diǎn)都是可以移動(dòng)的,并且能夠以任意方式動(dòng)態(tài)地與其他節(jié)點(diǎn)保持聯(lián)系[2?3]。網(wǎng)絡(luò)中各節(jié)點(diǎn)地位平等,拓?fù)淇勺?,?jié)點(diǎn)的移動(dòng)、加入和退出并不會(huì)影響整個(gè)網(wǎng)絡(luò)的正常工作。當(dāng)節(jié)點(diǎn)需要與其通信覆蓋范圍之外的節(jié)點(diǎn)進(jìn)行通信時(shí),將借由中間節(jié)點(diǎn)進(jìn)行多跳轉(zhuǎn)發(fā),各節(jié)點(diǎn)將兼任路由器的角色。因此,本文擬將Ad Hoc網(wǎng)絡(luò)應(yīng)用于數(shù)據(jù)傳輸系統(tǒng),其系統(tǒng)模型如圖1所示。
若節(jié)點(diǎn)布置區(qū)域離服務(wù)器較近,則各節(jié)點(diǎn)及服務(wù)器可通過工作在Ad Hoc模式的無線網(wǎng)卡組成Ad Hoc網(wǎng)絡(luò),網(wǎng)絡(luò)內(nèi)各節(jié)點(diǎn)通過中間節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸;若服務(wù)器無法布置到節(jié)點(diǎn)附近,數(shù)據(jù)則可通過一個(gè)或者多個(gè)邊沿節(jié)點(diǎn)的以太網(wǎng)卡將數(shù)據(jù)轉(zhuǎn)送到外部網(wǎng)絡(luò),完成數(shù)據(jù)的傳輸。
此外,為了實(shí)現(xiàn)各節(jié)點(diǎn)的路由功能,本文采用計(jì)算量小,帶寬資源占用少的AODV(Ad Hoc On?Demand Distance Vector)路由協(xié)議。其工作流程為:當(dāng)源節(jié)點(diǎn)需要和目的節(jié)點(diǎn)進(jìn)行通信而路由表中無相應(yīng)表項(xiàng)時(shí),源節(jié)點(diǎn)發(fā)送RREQ消息,進(jìn)行路由請(qǐng)求,當(dāng)RREQ逐跳廣播至目的節(jié)點(diǎn)或者到有目的節(jié)點(diǎn)路由表項(xiàng)的節(jié)點(diǎn),則沿最先到達(dá)的路徑反向應(yīng)答RREP消息至源節(jié)點(diǎn),從而獲取達(dá)到目的節(jié)點(diǎn)的路由,使用HELLO及RERR消息來維護(hù)鏈路[4]。
2 系統(tǒng)節(jié)點(diǎn)硬件設(shè)計(jì)
微震監(jiān)測網(wǎng)絡(luò)節(jié)點(diǎn)硬件主要由數(shù)據(jù)采集和數(shù)據(jù)傳輸兩部分構(gòu)成,數(shù)據(jù)傳輸系統(tǒng)主要涉及數(shù)據(jù)傳輸部分。本文中,節(jié)點(diǎn)數(shù)據(jù)傳輸部分由嵌入式平臺(tái)和無線網(wǎng)絡(luò)模塊兩部分構(gòu)成。
節(jié)點(diǎn)的嵌入式平臺(tái)主要為數(shù)據(jù)讀取、收發(fā)提供接口,為操作系統(tǒng)提供硬件環(huán)境。其主要包括:ARM11核心板FET6410、數(shù)據(jù)及地址總線接口、USB接口和以太網(wǎng)接口,框圖如圖2所示。
其中數(shù)據(jù)及地址總線用作從FIFO中讀取緩存的監(jiān)測數(shù)據(jù),USB接口做為無線網(wǎng)絡(luò)模塊接口,以太網(wǎng)部分采用以太網(wǎng)芯片DMP9000AEP和集成網(wǎng)絡(luò)變壓器的RJ45接頭,用作整個(gè)Ad Hoc網(wǎng)絡(luò)接入外部網(wǎng)絡(luò)的出口。
在整個(gè)數(shù)據(jù)傳輸系統(tǒng)中,節(jié)點(diǎn)網(wǎng)絡(luò)模塊性能的優(yōu)劣將在很大程度上決定了整個(gè)系統(tǒng)的穩(wěn)定性。因此本文針對(duì)微震監(jiān)測網(wǎng)絡(luò)節(jié)點(diǎn)分布廣、間距遠(yuǎn)、數(shù)據(jù)量大的特點(diǎn),設(shè)計(jì)了以RT3070 WIFI芯片為核心的USB接口無線網(wǎng)絡(luò)模塊,針對(duì)WIFI傳輸距離有限的缺點(diǎn),模塊在輸出輸入回路上分別增加了功率放大器(PA)和低噪聲放大器(LNA)來提高信號(hào)的有效覆蓋距離,整體框圖如圖3所示。
在輸出回路中選用了功率放大芯片RTC6691H,其最大輸出功率可達(dá)30 dBm,其輸入端內(nèi)建立了匹配電路因此可以直接采用50 Ω微帶線和RT3070射頻輸出腳RF_RF2G_OUT相連;此外,在PA輸出端還設(shè)有一個(gè)Π型匹配網(wǎng)絡(luò)電路進(jìn)行阻抗匹配,以及低通濾器來濾除PA產(chǎn)生的高次諧波。整個(gè)輸入回路由帶通濾波器(BPF)、LNA以及巴倫(balun)組成。帶通濾波器采用LFL152G45TC1A219,其最大插入損耗僅為0.45 dB,且尺寸小,便于安裝;LNA采用RTC5602B,其提供13 dB的增益和0.8 dB的低噪聲系數(shù),在2.4 GHz時(shí)的一階增益壓縮點(diǎn)(IPldB)是3 dBm , 三階交調(diào)截取點(diǎn)(IIP3)是10 dBm。再通過巴倫將接收到的單端信號(hào)轉(zhuǎn)化成RT3070所需要的差分信號(hào)。當(dāng)收發(fā)器處于發(fā)送狀態(tài)時(shí),收發(fā)器控制單刀雙擲(SPDT)射頻開關(guān)打向PA通路;當(dāng)處于接收狀態(tài)時(shí),開關(guān)打向LNA通路。
在IEEE 802.11b 11 Mb/s Infrastructure模式下,模塊整體發(fā)射功率可達(dá)30 dBm,接收靈敏度達(dá)-87 dBm,在戶外實(shí)測傳輸距離可達(dá)400 m左右,能很好滿足本微震監(jiān)測網(wǎng)絡(luò)的數(shù)據(jù)傳輸速率和節(jié)點(diǎn)布置間距的要求。
3 系統(tǒng)節(jié)點(diǎn)軟件設(shè)計(jì)
本文在嵌入式平臺(tái)上采用的操作系統(tǒng)是嵌入式Linux(版本為3.0.1)操作系統(tǒng),因此所有的軟件設(shè)計(jì)都是在嵌入式Linux下實(shí)現(xiàn)的。
無線網(wǎng)絡(luò)模塊驅(qū)動(dòng)采用聯(lián)發(fā)科提供的RT3070驅(qū)動(dòng)程序有源碼,修改其Makefile:
PLATFORM = SMDK
ifeq($(PLATFORM),SMDK)
LINUX_SRC = /home/6410/linux3.0.1/
CROSS_COMPILE = /usr/local/arm/4.3.2/bin/arm?linux?
針對(duì)工作在PC平臺(tái)上的模塊,修改Makefile:
PLATFORM = PC
執(zhí)行make,編譯成內(nèi)核模塊rt3070sta.ko后,將其復(fù)制到平臺(tái)的/lib/modules/目錄下,再修改配置文件RT2870STA.dat:
#NetworkType=Infra
NetworkType=Ad Hoc
將其復(fù)制到/etc/Wireless/RT2870STA/目錄下,從而使模塊工作在Ad Hoc模式。平臺(tái)啟動(dòng)后,加載驅(qū)動(dòng)模塊和進(jìn)行網(wǎng)絡(luò)配置,各節(jié)點(diǎn)即可組成一個(gè)Ad Hoc網(wǎng)絡(luò)。但此時(shí)網(wǎng)絡(luò)中各節(jié)點(diǎn)僅能與相鄰節(jié)點(diǎn)進(jìn)行通信,要實(shí)現(xiàn)多跳通信和完成與服務(wù)器之間的數(shù)據(jù)傳輸,還必須實(shí)現(xiàn)分組轉(zhuǎn)發(fā)與分組尋路功能。
分組轉(zhuǎn)發(fā)是指操作系統(tǒng)根據(jù)路由表的信息,將數(shù)據(jù)分組送往相應(yīng)的網(wǎng)絡(luò)接口,在Linux內(nèi)核中, 分組轉(zhuǎn)發(fā)是基于內(nèi)核路由表工作的,每次發(fā)送數(shù)據(jù)分組時(shí),都向內(nèi)核路由表查詢,取得對(duì)應(yīng)的下一跳鄰居節(jié)點(diǎn)的地址和對(duì)應(yīng)的網(wǎng)絡(luò)接口[5]。分組尋路則通過與其他節(jié)點(diǎn)交換信息,根據(jù)特定路由協(xié)議算法來計(jì)算和維護(hù)路由表。
本文利用Linux內(nèi)核的分組轉(zhuǎn)發(fā)功能來實(shí)現(xiàn)分組轉(zhuǎn)發(fā),在用戶空間采用AODV路由算法來實(shí)現(xiàn)分組尋路功能。分組尋路實(shí)現(xiàn)結(jié)構(gòu)如圖4所示。
本文采用AODV路由協(xié)議源碼aodv?uu?0.9.6實(shí)現(xiàn)路由算法[6]。路由算法部分在編譯后,以Daemon進(jìn)程的形式運(yùn)行在后臺(tái)。在內(nèi)核模塊Kaodv.ko中,將hook函數(shù)kaodv_hook寄存在Netfilter的NF_INET_PRE_ROUTING,NF_INET_LOCAL_OUT和NF_INET_POST_ROUTING三個(gè)點(diǎn)上,當(dāng)數(shù)據(jù)流經(jīng)這三個(gè)點(diǎn)時(shí),內(nèi)核模塊調(diào)用hook函數(shù)kaodv_hook。函數(shù)根據(jù)數(shù)據(jù)包目的IP查找路由表:若查找到,更新相應(yīng)路由的最后使用時(shí)間,并根據(jù)情況將數(shù)據(jù)轉(zhuǎn)送到上層協(xié)議、轉(zhuǎn)發(fā)或者發(fā)送到下一節(jié)點(diǎn);若未發(fā)現(xiàn)相應(yīng)路由,或者相應(yīng)鏈路斷開,則通過Netlink向用戶空間的AODV Daemon進(jìn)程發(fā)送通知消息,并緩存數(shù)據(jù)。AODV Daemon根據(jù)通知發(fā)起路由發(fā)現(xiàn)或者路由修復(fù):若發(fā)現(xiàn)路由或者修復(fù)成功,則通知更新路由表,將緩存的數(shù)據(jù)重新發(fā)送;若不成功,則丟棄緩存數(shù)據(jù)。
4 測試與結(jié)果
選擇校內(nèi)空曠的馬路一側(cè),各節(jié)點(diǎn)以250~300 m的間距進(jìn)行串聯(lián)布置,4個(gè)節(jié)點(diǎn)和模擬服務(wù)器的PC的具體布置如圖5所示。
在PC端加載無線網(wǎng)絡(luò)模塊的驅(qū)動(dòng):
insmod rt3070sta.ko
配置網(wǎng)絡(luò)(測試網(wǎng)絡(luò)名TX?TEST):
ifconfig ra0 inet 192.168.1.2 up
iwpriv ra0 set NetworkType=mode ad?hoc
iwconfig ra0 essid TX?TEST
insmod kaodv.ko #加載AODV內(nèi)核模塊
./aodvd #運(yùn)行AODV進(jìn)程
在各節(jié)點(diǎn)上,將如下配置信息寫入開機(jī)啟動(dòng)文件
/etc/init.d/rcS:
insmod rt3070sta.ko
ifconfig ra0 inet 192.168.1.X up
iwpriv ra0 set NetworkType=mode ad?hoc
iwconfig ra0 essid TX?TEST
insmod kaodv.ko
./aodvd
其中,192.168.1.X對(duì)應(yīng)4個(gè)節(jié)點(diǎn)的IP地址。各節(jié)點(diǎn)在上電后即可自動(dòng)加入到TX?TEST網(wǎng)絡(luò),待網(wǎng)絡(luò)穩(wěn)定后利用ping先進(jìn)行網(wǎng)絡(luò)時(shí)延測試。在192.168.1.6節(jié)點(diǎn)端分別向另外3個(gè)節(jié)點(diǎn)和PC的IP地址ping 200個(gè)包,具體測試結(jié)果如表1所示。結(jié)果表明,4個(gè)節(jié)點(diǎn)及PC之間的Ad Hoc網(wǎng)絡(luò)組網(wǎng)正常,各節(jié)點(diǎn)可相互通信,在可直接通信范圍內(nèi),時(shí)延較小;而直接通信范圍外,由于路由發(fā)現(xiàn)和轉(zhuǎn)發(fā)節(jié)點(diǎn)增加,時(shí)延也會(huì)有一定程度的增加。
由4個(gè)節(jié)點(diǎn)分別向PC端發(fā)送一個(gè)4 MB大小的文件來進(jìn)行傳輸速率測試,測量5次,結(jié)果如表2所示。
由結(jié)果可知,節(jié)點(diǎn)直接通信時(shí),數(shù)據(jù)的傳輸速率在2 Mb/s左右,但數(shù)據(jù)經(jīng)中間轉(zhuǎn)發(fā)時(shí),轉(zhuǎn)發(fā)每增加1次,數(shù)據(jù)傳輸速率降低約[12]。造成此情況的主要原因是IEEE 802.11采用的CSMA/CA(載波偵聽/沖突避免)機(jī)制控制傳輸媒質(zhì)的訪問。
5 結(jié) 論
由于采用無線模塊及Ad Hoc技術(shù),本傳輸系統(tǒng)相對(duì)傳統(tǒng)的數(shù)據(jù)傳輸系統(tǒng)具有布置靈活方便、成本低的優(yōu)點(diǎn)。而微震監(jiān)測網(wǎng)絡(luò)的時(shí)延一般要求控制在1 s以內(nèi)即可,節(jié)點(diǎn)若以1 kHz頻率進(jìn)行三分量24位高精度數(shù)據(jù)采集,則要求節(jié)點(diǎn)至少具有100 Kb/s數(shù)據(jù)傳輸能力。測試結(jié)果表明,與目標(biāo)節(jié)點(diǎn)相距4跳時(shí),時(shí)延在40 ms左右,平均速率仍可達(dá)300 Kb/s以上,可見本設(shè)計(jì)在傳輸時(shí)延及數(shù)據(jù)傳輸速率方面能很好地滿足微震監(jiān)測網(wǎng)絡(luò)的要求。
注:本文通訊作者為王泰麟。
參考文獻(xiàn)
[1] 翟宏.微震監(jiān)測系統(tǒng)中數(shù)據(jù)傳輸技術(shù)研究[D].阜新:遼寧工程技術(shù)大學(xué),2009.
[2] 張希婕.Ad Hoc網(wǎng)絡(luò)混合路由協(xié)議的研究[D].北京:北京郵電大學(xué),2015.
[3] 徐年,沙宏武.Ad Hoc技術(shù)在地震監(jiān)測系統(tǒng)中的應(yīng)用[J].電腦學(xué)習(xí),2010(1):5?6.
[4] 梁紹芳,武穆清.Linux平臺(tái)下AODV的實(shí)現(xiàn)分析[EB/OL].[2011?06?11].http://www.docin.com/p?218932965.html.
[5] 謝世歡.Linux系統(tǒng)上AODV路由協(xié)議的實(shí)現(xiàn)[D].成都:電子科技大學(xué),2004.
[6] 李家振.Ad Hoc網(wǎng)絡(luò)AODV路由協(xié)議在S3C6410中的研究與應(yīng)用[J].大眾科技,2012,14(4):1?3.
[7] 張少博,王乃世,陳海峰,等.基于聲壓測量的閥門故障檢測方法研究[J].火箭推進(jìn),2015(4):100?104.