【推薦給海洋局】基于STM32的海洋浮標(biāo)無線通信網(wǎng)絡(luò)設(shè)計
摘 要: 針對在遠海海洋的特殊環(huán)境下,數(shù)據(jù)傳輸能力不能滿足海洋環(huán)境檢測需求的現(xiàn)狀,提出以無線傳感器和銥星模塊構(gòu)建海洋浮標(biāo)通信網(wǎng)絡(luò)的設(shè)計方案,并給出具體的組網(wǎng)方法及通信協(xié)議。
關(guān)鍵詞: 海洋通信;無線網(wǎng);銥星;STM32;協(xié)議
在世界人口數(shù)量劇增、陸地資源銳減、環(huán)境污染日益嚴(yán)重的今天,進軍海洋、開發(fā)海洋已成為世界海洋技術(shù)領(lǐng)域的一大主題。發(fā)展海洋科技,尤其是海洋高新技術(shù)首先要解決的問題就是海洋環(huán)境監(jiān)測。
目前,使用較多的是ARGO[1,2](Array for Real-time Geotropic Oceanography)即地轉(zhuǎn)海洋學(xué)實時觀測陣,它是全球海洋觀測業(yè)務(wù)系統(tǒng)GOOS(Global Ocean Observing System)[3,4]中的針對深海區(qū)溫度鹽度結(jié)構(gòu)觀測的一個子計劃。ARGO節(jié)點借助液壓動力來改變自身體積以便在0~2 000 m深的海水中下沉與上浮,同時,在上浮過程中對海洋環(huán)境進行剖面測量。AGRO采集的數(shù)據(jù)是以10~14天為周期通過衛(wèi)星系統(tǒng)來傳輸?shù)摹?br /> 本系統(tǒng)針對遠海海洋數(shù)據(jù)傳輸不能滿足實時檢測的現(xiàn)狀,以無線傳感器為節(jié)點構(gòu)成數(shù)據(jù)傳輸網(wǎng)絡(luò),采用銥星模塊將采集數(shù)據(jù)發(fā)往陸地基站。
1 系統(tǒng)簡介
本海洋浮標(biāo)網(wǎng)絡(luò)數(shù)據(jù)傳輸系統(tǒng)結(jié)構(gòu)如圖1所示,主要由海洋浮標(biāo)節(jié)點、無線網(wǎng)絡(luò)、衛(wèi)星通信系統(tǒng)組成。
海洋浮標(biāo)節(jié)點通過光纖、電纜或無線方式與其下方的傳感器網(wǎng)絡(luò)通信,以實現(xiàn)對一定范圍內(nèi)海洋環(huán)境的檢測,同時每個浮標(biāo)節(jié)點都攜帶有無線通信模塊和衛(wèi)星通信模塊。無線網(wǎng)絡(luò)完成兩個功能:將浮標(biāo)網(wǎng)絡(luò)中各節(jié)點采集的數(shù)據(jù)傳輸?shù)街行墓?jié)點;在中心節(jié)點發(fā)生故障時選擇新的中心節(jié)點,盡量保證系統(tǒng)的正常運行。衛(wèi)星通信系統(tǒng)負責(zé)將匯集在中心節(jié)點的數(shù)據(jù)發(fā)送到陸地基站。
本論文研究無線網(wǎng)絡(luò)的數(shù)據(jù)傳輸與網(wǎng)絡(luò)維護以及衛(wèi)星通信。
2 系統(tǒng)原理
2.1 無線網(wǎng)絡(luò)結(jié)構(gòu)選擇及協(xié)議制定
無線網(wǎng)絡(luò)不同于有線網(wǎng)絡(luò),在有線網(wǎng)絡(luò)中,一個節(jié)點發(fā)出的數(shù)據(jù)通過有線鏈路直接抵達目標(biāo)節(jié)點或中繼節(jié)點,在此過程中,不會對其他節(jié)點造成影響。而無線網(wǎng)絡(luò)中,節(jié)點發(fā)出的無線信號會對網(wǎng)絡(luò)中所有節(jié)點造成干擾,若不加限制,則無線網(wǎng)絡(luò)完全無法運行。
此外,本無線網(wǎng)絡(luò)還具有以下特點:(1)網(wǎng)絡(luò)中節(jié)點一般不會超過10個;(2)網(wǎng)絡(luò)一旦建立,短期內(nèi)不會加入新的節(jié)點,數(shù)據(jù)傳輸量不大但頻率較快。
介于以上特點,本網(wǎng)絡(luò)設(shè)計如下:(1)采用星型結(jié)構(gòu),與此同時,任何通信都由中心節(jié)點發(fā)起,這樣可以避免中心節(jié)點同時收到多條數(shù)據(jù)而造成混亂;(2)網(wǎng)絡(luò)分三層:物理層、傳輸層、應(yīng)用層;(3)網(wǎng)絡(luò)內(nèi)節(jié)點擁有唯一的網(wǎng)絡(luò)地址(初始設(shè)置中心節(jié)點地址為02,外圍節(jié)點依次遞增),以實現(xiàn)數(shù)據(jù)的定點通信。
圖2所示為網(wǎng)絡(luò)協(xié)議幀格式。由于每次通信都是由中心節(jié)點發(fā)起的,所以協(xié)議中不設(shè)立源地址。各層功能如下:物理層提供數(shù)據(jù)的實際傳輸,由無線模塊完成,傳輸層只需以字節(jié)為單位發(fā)送數(shù)據(jù)即可;傳輸層負責(zé)檢測網(wǎng)絡(luò)狀態(tài)以及數(shù)據(jù)幀的提取,并對比目的地址與該節(jié)點地址,若不符合接收條件,則丟棄數(shù)據(jù)包;應(yīng)用層完成中心節(jié)點指定的任務(wù),如采集數(shù)據(jù)的發(fā)送、節(jié)點地址的設(shè)定等。
應(yīng)用層標(biāo)志位意義如下:
G:中心節(jié)點獲取數(shù)據(jù)標(biāo)志,此時,外圍節(jié)點以采集數(shù)據(jù)來填充數(shù)據(jù)幀并發(fā)送。
D:表示采集數(shù)據(jù),此時,中心節(jié)點接收到的數(shù)據(jù)為采集到的數(shù)據(jù)。
A:重新設(shè)定節(jié)點地址標(biāo)志,此時,數(shù)據(jù)域有三個字節(jié)且每個字節(jié)都為新地址并相等。該功能可在中心節(jié)點檢測到衛(wèi)星通信發(fā)生故障時設(shè)定新的中心節(jié)點。
S:成功標(biāo)志位,外圍節(jié)點成功設(shè)定本節(jié)點新地址后置位該位,否則清零該位,并告知中心節(jié)點。
W:警告標(biāo)志位,外圍節(jié)點發(fā)生故障時置位該位,請求將故障信息發(fā)往陸地基站。
R:授權(quán)標(biāo)志位,指定新的節(jié)點為中心節(jié)點時置位該位,為了防止誤碼造成的中心節(jié)點轉(zhuǎn)移而造成網(wǎng)絡(luò)混亂,此時數(shù)據(jù)域必須是0x5555。
N:備用中心節(jié)點標(biāo)志,告知外圍節(jié)點數(shù)據(jù)域指定的為備用中心節(jié)點地址,此時數(shù)據(jù)域由三個字節(jié)組成,且每個字節(jié)都為備用中心節(jié)點地址并相等。
2.2 網(wǎng)絡(luò)自我修復(fù)
星型網(wǎng)絡(luò)對中心節(jié)點的依賴性很強,一旦中心節(jié)點發(fā)生故障,網(wǎng)絡(luò)便會癱瘓。針對這一情況,本論文提出了網(wǎng)絡(luò)中心節(jié)點轉(zhuǎn)移的概念。考慮到各節(jié)點都有檢測網(wǎng)絡(luò)狀態(tài)的能力(傳輸層完成此功能),同時,任何一個性能良好的節(jié)點都有能力至少完成一次網(wǎng)絡(luò)掃描并告知其他節(jié)點備用中心節(jié)點的地址,所以可以很容易地實現(xiàn)中心節(jié)點的轉(zhuǎn)移。
中心節(jié)點故障[5]包括衛(wèi)星通信故障和無線模塊故障兩種。
設(shè)中心節(jié)點地址為X,當(dāng)衛(wèi)星通信發(fā)生故障時,中心節(jié)點首先在網(wǎng)絡(luò)中查找無故障的目標(biāo)節(jié)點(W=0),然后將目標(biāo)節(jié)點地址設(shè)置為X-1、將自身地址設(shè)置為目標(biāo)節(jié)點的原始地址,同時向目標(biāo)節(jié)點發(fā)送中心節(jié)點授權(quán)(R=1,數(shù)據(jù)域為0x5555),最后,目標(biāo)節(jié)點將自身地址設(shè)為X,成為新的中心節(jié)點。
當(dāng)無線模塊發(fā)生故障時,所有外圍節(jié)點都不會檢測到任何無線信號,此時,外圍節(jié)點與備用中心節(jié)點地址進行對比,匹配的外圍節(jié)點成為中心節(jié)點,發(fā)起數(shù)據(jù)通信,查找無故障的節(jié)點并將該節(jié)點指定為新的備用中心節(jié)點,同時告知其他外圍節(jié)點。
3 節(jié)點硬件設(shè)計
節(jié)點需具有以下功能:衛(wèi)星通信、無線通信、水下數(shù)據(jù)接收、數(shù)據(jù)存儲,同時盡量降低節(jié)點的功耗及成本。綜合考慮,選用處理能力適中的STM32作為CPU;選用9XTend作為無線收發(fā)模塊,該模塊在使用偶極天線時通信距離可達22 km,在使用高增益天線時最遠可達64 km;選用9601SBD(9601 Short Burst Data Transceiver)銥星收發(fā)模塊通過銥星衛(wèi)星與陸地基站進行通信。由于STM32只有兩個USART資源,而銥星收發(fā)需要實時檢測信號質(zhì)量并盡量保證在較小的延遲下將數(shù)據(jù)發(fā)往陸地基站,所以9601SBD占用一個USART,無線通信及水下數(shù)據(jù)接收共享一個USART。圖3所示為節(jié)點硬件框圖。
4 軟件設(shè)計
系統(tǒng)軟件應(yīng)完成水下數(shù)據(jù)接收、銥星模塊控制、無線網(wǎng)絡(luò)通信與維護、數(shù)據(jù)存儲等功能。開機后,各節(jié)點讀取系統(tǒng)配置對本節(jié)點初始化,包括SPI接口初始化、定時器初始化、水下數(shù)據(jù)接收初始化、9XTend初始化。此外中心節(jié)點需要初始化9601SBD控制模塊,而外圍節(jié)點則將9601SBD控制模塊置于休眠狀態(tài),以降低功耗。之后系統(tǒng)進入工作狀態(tài)。圖4所示為不同節(jié)點工作狀態(tài)下的程序流程圖。
5 實驗結(jié)果
實驗中設(shè)計了4個無線節(jié)點,并以圖5連接方式將這些節(jié)點隨意放置于10 m×8 m的房間中,各節(jié)點供電電壓為9 V,銥星天線置于室外,無線RF模塊的通信速率為19 200 b/s,RF模塊與CPU的通信速率為9 600 b/s。首先將各節(jié)點配置為非網(wǎng)絡(luò)運行狀態(tài),此時記錄其中一個節(jié)點接收數(shù)據(jù)情況,如表1所示。由表1可以發(fā)現(xiàn),當(dāng)各節(jié)點發(fā)送數(shù)據(jù)幀的間隔時間不斷減小時,誤碼率明顯提高,當(dāng)間隔時間為0.5 s時,9%的誤碼率導(dǎo)致幾乎不能提取出正確的數(shù)據(jù)幀。
當(dāng)把各節(jié)點用本論文所述方式進行配置后,查看其中一個節(jié)點接收數(shù)據(jù)情況并記錄如表2所示,此時即使將發(fā)送間隔時間降低到0.3 s也不會出現(xiàn)誤碼,不足之處是有些數(shù)據(jù)幀需要延遲發(fā)送。從協(xié)議上分析,由于通信總是由中心節(jié)點發(fā)起的,所以不應(yīng)該出現(xiàn)誤碼,但當(dāng)間隔時間降低到0.1 s時,出現(xiàn)了誤碼,這應(yīng)該是由于中心節(jié)點分配給外圍節(jié)點的時間片較小而造成的,若增加時間片,則會降低網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)男?,所以可以綜合考慮通信速率和網(wǎng)絡(luò)效率并依據(jù)實際需求選擇最佳的時間片值。
通過電腦查看銥星衛(wèi)星通信狀態(tài),當(dāng)銥星天線信號良好時,從中心節(jié)點發(fā)送的數(shù)據(jù)僅需20 s即可抵達陸地基站。表3記錄為3 h時間段內(nèi),9601SBD信號質(zhì)量狀況,其中0代表無信號,5代表信號質(zhì)量最好。實驗表明,天氣狀況良好,信號質(zhì)量為“3-5”時可以正常進行銥星衛(wèi)星通信;天氣狀況較差,如陰雨天時,信號質(zhì)量為“4-5”時才能保證銥星衛(wèi)星正常通信。
針對遠海海洋特殊的應(yīng)用環(huán)境,本文提出了以9XTend無線模塊及9601SBD銥星模塊構(gòu)建海洋浮標(biāo)網(wǎng)絡(luò)數(shù)據(jù)傳輸系統(tǒng)的設(shè)計方案,并給出了無線網(wǎng)絡(luò)的架構(gòu)及協(xié)議。實驗證明本設(shè)計切實可行并表現(xiàn)出較大的優(yōu)越性,完全可以應(yīng)用于海洋浮標(biāo)網(wǎng)絡(luò)的數(shù)據(jù)傳輸,對我國海洋環(huán)境檢測技術(shù)的發(fā)展有較大的意義。
本設(shè)計目前針對的是網(wǎng)絡(luò)中節(jié)點較少的情況,理論上可以支持最多254個節(jié)點(地址0不使用,地址1作為中心節(jié)點轉(zhuǎn)移時的臨時地址),但隨著節(jié)點的增多,就會增加中心節(jié)點的負擔(dān),在后續(xù)改進中,可以將網(wǎng)絡(luò)分層或劃分子網(wǎng),從而減輕中心節(jié)點的負擔(dān)并實現(xiàn)網(wǎng)絡(luò)的更大范圍覆蓋。
參考文獻
[1] 朱伯康,劉仁清,許建平.一種專門用于低緯度洋區(qū)觀測的Argo剖面浮標(biāo)[J].海洋技術(shù),2009,28(4):123-125.
[2] Deng Ziwang,Tang Youmin,Wang Guihua.Assimilation of argo temperature and salinity profiles using a bias-aware localized EnKF system for the Pacific Ocean[J].Ocean Modelling,2010,35(3):187-205.
[3] 麻常雷,高艷波.多系統(tǒng)集成的全球地球觀測系統(tǒng)與全球海洋觀測系統(tǒng)[J].海洋技術(shù),2006,25(3):41-44+50.
[4] Farhan A R,Lim S.Integrated coastal zone management towards Indonesia global ocean observing system(INA-GOOS):review and recommendation[J].Ocean and Coastal Manage ment,2010,53(8):421-427.
[5] 劉衛(wèi),徐曉玲,楊楊.淺議無線網(wǎng)故障解決方法[J].甘肅高師學(xué)報,2010,15(5):38-40.