張法全 王泰麟 葉金才 黃桂強(qiáng) 王國富
摘 要: 微震監(jiān)測網(wǎng)絡(luò)具有節(jié)點間距大、分布范圍廣、數(shù)據(jù)量大的特點,其數(shù)據(jù)傳輸方式仍以有線傳輸為主,存在線纜鋪設(shè)困難和成本高等問題。設(shè)計基于Ad Hoc的微震監(jiān)測數(shù)據(jù)傳輸系統(tǒng),利用遠(yuǎn)距離無線網(wǎng)絡(luò)模塊和Ad Hoc技術(shù),結(jié)合AODV無線路由協(xié)議,在無需其他基礎(chǔ)設(shè)施的情況下即可實現(xiàn)數(shù)據(jù)的多跳轉(zhuǎn)發(fā),從而實現(xiàn)整個網(wǎng)絡(luò)的數(shù)據(jù)傳輸。實驗結(jié)果表明,該系統(tǒng)布置靈活方便、成本低,同時具有傳輸時延短、數(shù)據(jù)傳輸速率高的特點。
關(guān)鍵詞: 微震監(jiān)測; 數(shù)據(jù)傳輸; Ad Hoc; AODV
中圖分類號: TN931+.3?34; TN92 文獻(xiàn)標(biāo)識碼: A 文章編號: 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)有的針對礦區(qū)工礦活動的微震監(jiān)測系統(tǒng)具有網(wǎng)絡(luò)節(jié)點多、節(jié)點分布范圍廣、數(shù)據(jù)量大的特點,其數(shù)據(jù)傳輸還主要采用有線的方式[1],但這種方式在礦區(qū)往往面臨著布置不方便、成本高的問題。因此本文設(shè)計了一種遠(yuǎn)距離無線網(wǎng)絡(luò)模塊,并在此基礎(chǔ)上設(shè)計了基于Ad Hoc的微震監(jiān)測數(shù)據(jù)傳輸系統(tǒng)。
1 系統(tǒng)概述
Ad Hoc網(wǎng)絡(luò)是一種多跳的、無中心的、自組織無線網(wǎng)絡(luò),整個網(wǎng)絡(luò)沒有固定的基礎(chǔ)設(shè)施,每個節(jié)點都是可以移動的,并且能夠以任意方式動態(tài)地與其他節(jié)點保持聯(lián)系[2?3]。網(wǎng)絡(luò)中各節(jié)點地位平等,拓?fù)淇勺儯?jié)點的移動、加入和退出并不會影響整個網(wǎng)絡(luò)的正常工作。當(dāng)節(jié)點需要與其通信覆蓋范圍之外的節(jié)點進(jìn)行通信時,將借由中間節(jié)點進(jìn)行多跳轉(zhuǎn)發(fā),各節(jié)點將兼任路由器的角色。因此,本文擬將Ad Hoc網(wǎng)絡(luò)應(yīng)用于數(shù)據(jù)傳輸系統(tǒng),其系統(tǒng)模型如圖1所示。
若節(jié)點布置區(qū)域離服務(wù)器較近,則各節(jié)點及服務(wù)器可通過工作在Ad Hoc模式的無線網(wǎng)卡組成Ad Hoc網(wǎng)絡(luò),網(wǎng)絡(luò)內(nèi)各節(jié)點通過中間節(jié)點進(jìn)行數(shù)據(jù)傳輸;若服務(wù)器無法布置到節(jié)點附近,數(shù)據(jù)則可通過一個或者多個邊沿節(jié)點的以太網(wǎng)卡將數(shù)據(jù)轉(zhuǎn)送到外部網(wǎng)絡(luò),完成數(shù)據(jù)的傳輸。
此外,為了實現(xiàn)各節(jié)點的路由功能,本文采用計算量小,帶寬資源占用少的AODV(Ad Hoc On?Demand Distance Vector)路由協(xié)議。其工作流程為:當(dāng)源節(jié)點需要和目的節(jié)點進(jìn)行通信而路由表中無相應(yīng)表項時,源節(jié)點發(fā)送RREQ消息,進(jìn)行路由請求,當(dāng)RREQ逐跳廣播至目的節(jié)點或者到有目的節(jié)點路由表項的節(jié)點,則沿最先到達(dá)的路徑反向應(yīng)答RREP消息至源節(jié)點,從而獲取達(dá)到目的節(jié)點的路由,使用HELLO及RERR消息來維護(hù)鏈路[4]。
2 系統(tǒng)節(jié)點硬件設(shè)計
微震監(jiān)測網(wǎng)絡(luò)節(jié)點硬件主要由數(shù)據(jù)采集和數(shù)據(jù)傳輸兩部分構(gòu)成,數(shù)據(jù)傳輸系統(tǒng)主要涉及數(shù)據(jù)傳輸部分。本文中,節(jié)點數(shù)據(jù)傳輸部分由嵌入式平臺和無線網(wǎng)絡(luò)模塊兩部分構(gòu)成。
節(jié)點的嵌入式平臺主要為數(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接頭,用作整個Ad Hoc網(wǎng)絡(luò)接入外部網(wǎng)絡(luò)的出口。
在整個數(shù)據(jù)傳輸系統(tǒng)中,節(jié)點網(wǎng)絡(luò)模塊性能的優(yōu)劣將在很大程度上決定了整個系統(tǒng)的穩(wěn)定性。因此本文針對微震監(jiān)測網(wǎng)絡(luò)節(jié)點分布廣、間距遠(yuǎn)、數(shù)據(jù)量大的特點,設(shè)計了以RT3070 WIFI芯片為核心的USB接口無線網(wǎng)絡(luò)模塊,針對WIFI傳輸距離有限的缺點,模塊在輸出輸入回路上分別增加了功率放大器(PA)和低噪聲放大器(LNA)來提高信號的有效覆蓋距離,整體框圖如圖3所示。
在輸出回路中選用了功率放大芯片RTC6691H,其最大輸出功率可達(dá)30 dBm,其輸入端內(nèi)建立了匹配電路因此可以直接采用50 Ω微帶線和RT3070射頻輸出腳RF_RF2G_OUT相連;此外,在PA輸出端還設(shè)有一個Π型匹配網(wǎng)絡(luò)電路進(jìn)行阻抗匹配,以及低通濾器來濾除PA產(chǎn)生的高次諧波。整個輸入回路由帶通濾波器(BPF)、LNA以及巴倫(balun)組成。帶通濾波器采用LFL152G45TC1A219,其最大插入損耗僅為0.45 dB,且尺寸小,便于安裝;LNA采用RTC5602B,其提供13 dB的增益和0.8 dB的低噪聲系數(shù),在2.4 GHz時的一階增益壓縮點(IPldB)是3 dBm , 三階交調(diào)截取點(IIP3)是10 dBm。再通過巴倫將接收到的單端信號轉(zhuǎn)化成RT3070所需要的差分信號。當(dāng)收發(fā)器處于發(fā)送狀態(tài)時,收發(fā)器控制單刀雙擲(SPDT)射頻開關(guān)打向PA通路;當(dāng)處于接收狀態(tài)時,開關(guān)打向LNA通路。
在IEEE 802.11b 11 Mb/s Infrastructure模式下,模塊整體發(fā)射功率可達(dá)30 dBm,接收靈敏度達(dá)-87 dBm,在戶外實測傳輸距離可達(dá)400 m左右,能很好滿足本微震監(jiān)測網(wǎng)絡(luò)的數(shù)據(jù)傳輸速率和節(jié)點布置間距的要求。
3 系統(tǒng)節(jié)點軟件設(shè)計
本文在嵌入式平臺上采用的操作系統(tǒng)是嵌入式Linux(版本為3.0.1)操作系統(tǒng),因此所有的軟件設(shè)計都是在嵌入式Linux下實現(xiàn)的。
無線網(wǎng)絡(luò)模塊驅(qū)動采用聯(lián)發(fā)科提供的RT3070驅(qū)動程序有源碼,修改其Makefile:
PLATFORM = SMDK
ifeq($(PLATFORM),SMDK)
LINUX_SRC = /home/6410/linux3.0.1/
CROSS_COMPILE = /usr/local/arm/4.3.2/bin/arm?linux?
針對工作在PC平臺上的模塊,修改Makefile:
PLATFORM = PC
執(zhí)行make,編譯成內(nèi)核模塊rt3070sta.ko后,將其復(fù)制到平臺的/lib/modules/目錄下,再修改配置文件RT2870STA.dat:
#NetworkType=Infra
NetworkType=Ad Hoc
將其復(fù)制到/etc/Wireless/RT2870STA/目錄下,從而使模塊工作在Ad Hoc模式。平臺啟動后,加載驅(qū)動模塊和進(jìn)行網(wǎng)絡(luò)配置,各節(jié)點即可組成一個Ad Hoc網(wǎng)絡(luò)。但此時網(wǎng)絡(luò)中各節(jié)點僅能與相鄰節(jié)點進(jìn)行通信,要實現(xiàn)多跳通信和完成與服務(wù)器之間的數(shù)據(jù)傳輸,還必須實現(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ù)分組時,都向內(nèi)核路由表查詢,取得對應(yīng)的下一跳鄰居節(jié)點的地址和對應(yīng)的網(wǎng)絡(luò)接口[5]。分組尋路則通過與其他節(jié)點交換信息,根據(jù)特定路由協(xié)議算法來計算和維護(hù)路由表。
本文利用Linux內(nèi)核的分組轉(zhuǎn)發(fā)功能來實現(xiàn)分組轉(zhuǎn)發(fā),在用戶空間采用AODV路由算法來實現(xiàn)分組尋路功能。分組尋路實現(xiàn)結(jié)構(gòu)如圖4所示。
本文采用AODV路由協(xié)議源碼aodv?uu?0.9.6實現(xiàn)路由算法[6]。路由算法部分在編譯后,以Daemon進(jìn)程的形式運行在后臺。在內(nèi)核模塊Kaodv.ko中,將hook函數(shù)kaodv_hook寄存在Netfilter的NF_INET_PRE_ROUTING,NF_INET_LOCAL_OUT和NF_INET_POST_ROUTING三個點上,當(dāng)數(shù)據(jù)流經(jīng)這三個點時,內(nèi)核模塊調(diào)用hook函數(shù)kaodv_hook。函數(shù)根據(jù)數(shù)據(jù)包目的IP查找路由表:若查找到,更新相應(yīng)路由的最后使用時間,并根據(jù)情況將數(shù)據(jù)轉(zhuǎn)送到上層協(xié)議、轉(zhuǎn)發(fā)或者發(fā)送到下一節(jié)點;若未發(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é)點以250~300 m的間距進(jìn)行串聯(lián)布置,4個節(jié)點和模擬服務(wù)器的PC的具體布置如圖5所示。
在PC端加載無線網(wǎng)絡(luò)模塊的驅(qū)動:
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 #運行AODV進(jìn)程
在各節(jié)點上,將如下配置信息寫入開機(jī)啟動文件
/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對應(yīng)4個節(jié)點的IP地址。各節(jié)點在上電后即可自動加入到TX?TEST網(wǎng)絡(luò),待網(wǎng)絡(luò)穩(wěn)定后利用ping先進(jìn)行網(wǎng)絡(luò)時延測試。在192.168.1.6節(jié)點端分別向另外3個節(jié)點和PC的IP地址ping 200個包,具體測試結(jié)果如表1所示。結(jié)果表明,4個節(jié)點及PC之間的Ad Hoc網(wǎng)絡(luò)組網(wǎng)正常,各節(jié)點可相互通信,在可直接通信范圍內(nèi),時延較?。欢苯油ㄐ欧秶?,由于路由發(fā)現(xiàn)和轉(zhuǎn)發(fā)節(jié)點增加,時延也會有一定程度的增加。
由4個節(jié)點分別向PC端發(fā)送一個4 MB大小的文件來進(jìn)行傳輸速率測試,測量5次,結(jié)果如表2所示。
由結(jié)果可知,節(jié)點直接通信時,數(shù)據(jù)的傳輸速率在2 Mb/s左右,但數(shù)據(jù)經(jīng)中間轉(zhuǎn)發(fā)時,轉(zhuǎn)發(fā)每增加1次,數(shù)據(jù)傳輸速率降低約[12]。造成此情況的主要原因是IEEE 802.11采用的CSMA/CA(載波偵聽/沖突避免)機(jī)制控制傳輸媒質(zhì)的訪問。
5 結(jié) 論
由于采用無線模塊及Ad Hoc技術(shù),本傳輸系統(tǒng)相對傳統(tǒng)的數(shù)據(jù)傳輸系統(tǒng)具有布置靈活方便、成本低的優(yōu)點。而微震監(jiān)測網(wǎng)絡(luò)的時延一般要求控制在1 s以內(nèi)即可,節(jié)點若以1 kHz頻率進(jìn)行三分量24位高精度數(shù)據(jù)采集,則要求節(jié)點至少具有100 Kb/s數(shù)據(jù)傳輸能力。測試結(jié)果表明,與目標(biāo)節(jié)點相距4跳時,時延在40 ms左右,平均速率仍可達(dá)300 Kb/s以上,可見本設(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平臺下AODV的實現(xiàn)分析[EB/OL].[2011?06?11].http://www.docin.com/p?218932965.html.
[5] 謝世歡.Linux系統(tǒng)上AODV路由協(xié)議的實現(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.