《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于STM32的海洋浮標(biāo)無(wú)線通信網(wǎng)絡(luò)設(shè)計(jì)
基于STM32的海洋浮標(biāo)無(wú)線通信網(wǎng)絡(luò)設(shè)計(jì)
王 宗,劉敬彪,蔡文郁
(杭州電子科技大學(xué) 電子信息學(xué)院,浙江 杭州310018)
摘要: 針對(duì)在遠(yuǎn)海海洋的特殊環(huán)境下,數(shù)據(jù)傳輸能力不能滿足海洋環(huán)境檢測(cè)需求的現(xiàn)狀,提出以無(wú)線傳感器和銥星模塊構(gòu)建海洋浮標(biāo)通信網(wǎng)絡(luò)的設(shè)計(jì)方案,并給出具體的組網(wǎng)方法及通信協(xié)議。
中圖分類號(hào): TN929
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2011)07-0042-03
The design of communication wireless network among ocean floats based on STM32
Wang Zong,Liu Jingbiao,Cai Wenyu
Electronic Information College of Hangzhou Dianzi University, Hangzhou 310018,China
Abstract: Due to the status quo that data transmission capacity cannot meet the demand of the marine environment detection in the special marine circumstance far away from the coastal area, the paper puts forward a scheme to design a communication network among ocean floats based on wireless sensors and iridium modules, which also gives a concrete networking method and communication protocols.
Key words : ocean communication;wireless network;Iridium satellite;STM32;protocol


    在世界人口數(shù)量劇增、陸地資源銳減、環(huán)境污染日益嚴(yán)重的今天,進(jìn)軍海洋、開(kāi)發(fā)海洋已成為世界海洋技術(shù)領(lǐng)域的一大主題。發(fā)展海洋科技,尤其是海洋高新技術(shù)首先要解決的問(wèn)題就是海洋環(huán)境監(jiān)測(cè)。
    目前,使用較多的是ARGO[1,2](Array for Real-time Geotropic Oceanography)即地轉(zhuǎn)海洋學(xué)實(shí)時(shí)觀測(cè)陣,它是全球海洋觀測(cè)業(yè)務(wù)系統(tǒng)GOOS(Global Ocean Observing System)[3,4]中的針對(duì)深海區(qū)溫度鹽度結(jié)構(gòu)觀測(cè)的一個(gè)子計(jì)劃。ARGO節(jié)點(diǎn)借助液壓動(dòng)力來(lái)改變自身體積以便在0~2 000 m深的海水中下沉與上浮,同時(shí),在上浮過(guò)程中對(duì)海洋環(huán)境進(jìn)行剖面測(cè)量。AGRO采集的數(shù)據(jù)是以10~14天為周期通過(guò)衛(wèi)星系統(tǒng)來(lái)傳輸?shù)摹?br/>     本系統(tǒng)針對(duì)遠(yuǎn)海海洋數(shù)據(jù)傳輸不能滿足實(shí)時(shí)檢測(cè)的現(xiàn)狀,以無(wú)線傳感器為節(jié)點(diǎn)構(gòu)成數(shù)據(jù)傳輸網(wǎng)絡(luò),采用銥星模塊將采集數(shù)據(jù)發(fā)往陸地基站。
1 系統(tǒng)簡(jiǎn)介
    本海洋浮標(biāo)網(wǎng)絡(luò)數(shù)據(jù)傳輸系統(tǒng)結(jié)構(gòu)如圖1所示,主要由海洋浮標(biāo)節(jié)點(diǎn)、無(wú)線網(wǎng)絡(luò)、衛(wèi)星通信系統(tǒng)組成。
    海洋浮標(biāo)節(jié)點(diǎn)通過(guò)光纖、電纜或無(wú)線方式與其下方的傳感器網(wǎng)絡(luò)通信,以實(shí)現(xiàn)對(duì)一定范圍內(nèi)海洋環(huán)境的檢測(cè),同時(shí)每個(gè)浮標(biāo)節(jié)點(diǎn)都攜帶有無(wú)線通信模塊和衛(wèi)星通信模塊。無(wú)線網(wǎng)絡(luò)完成兩個(gè)功能:將浮標(biāo)網(wǎng)絡(luò)中各節(jié)點(diǎn)采集的數(shù)據(jù)傳輸?shù)街行墓?jié)點(diǎn);在中心節(jié)點(diǎn)發(fā)生故障時(shí)選擇新的中心節(jié)點(diǎn),盡量保證系統(tǒng)的正常運(yùn)行。衛(wèi)星通信系統(tǒng)負(fù)責(zé)將匯集在中心節(jié)點(diǎn)的數(shù)據(jù)發(fā)送到陸地基站。

    本論文研究無(wú)線網(wǎng)絡(luò)的數(shù)據(jù)傳輸與網(wǎng)絡(luò)維護(hù)以及衛(wèi)星通信。
2 系統(tǒng)原理
2.1 無(wú)線網(wǎng)絡(luò)結(jié)構(gòu)選擇及協(xié)議制定

    無(wú)線網(wǎng)絡(luò)不同于有線網(wǎng)絡(luò),在有線網(wǎng)絡(luò)中,一個(gè)節(jié)點(diǎn)發(fā)出的數(shù)據(jù)通過(guò)有線鏈路直接抵達(dá)目標(biāo)節(jié)點(diǎn)或中繼節(jié)點(diǎn),在此過(guò)程中,不會(huì)對(duì)其他節(jié)點(diǎn)造成影響。而無(wú)線網(wǎng)絡(luò)中,節(jié)點(diǎn)發(fā)出的無(wú)線信號(hào)會(huì)對(duì)網(wǎng)絡(luò)中所有節(jié)點(diǎn)造成干擾,若不加限制,則無(wú)線網(wǎng)絡(luò)完全無(wú)法運(yùn)行。
    此外,本無(wú)線網(wǎng)絡(luò)還具有以下特點(diǎn):(1)網(wǎng)絡(luò)中節(jié)點(diǎn)一般不會(huì)超過(guò)10個(gè);(2)網(wǎng)絡(luò)一旦建立,短期內(nèi)不會(huì)加入新的節(jié)點(diǎn),數(shù)據(jù)傳輸量不大但頻率較快。
    介于以上特點(diǎn),本網(wǎng)絡(luò)設(shè)計(jì)如下:(1)采用星型結(jié)構(gòu),與此同時(shí),任何通信都由中心節(jié)點(diǎn)發(fā)起,這樣可以避免中心節(jié)點(diǎn)同時(shí)收到多條數(shù)據(jù)而造成混亂;(2)網(wǎng)絡(luò)分三層:物理層、傳輸層、應(yīng)用層;(3)網(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)擁有唯一的網(wǎng)絡(luò)地址(初始設(shè)置中心節(jié)點(diǎn)地址為02,外圍節(jié)點(diǎn)依次遞增),以實(shí)現(xiàn)數(shù)據(jù)的定點(diǎn)通信。
    圖2所示為網(wǎng)絡(luò)協(xié)議幀格式。由于每次通信都是由中心節(jié)點(diǎn)發(fā)起的,所以協(xié)議中不設(shè)立源地址。各層功能如下:物理層提供數(shù)據(jù)的實(shí)際傳輸,由無(wú)線模塊完成,傳輸層只需以字節(jié)為單位發(fā)送數(shù)據(jù)即可;傳輸層負(fù)責(zé)檢測(cè)網(wǎng)絡(luò)狀態(tài)以及數(shù)據(jù)幀的提取,并對(duì)比目的地址與該節(jié)點(diǎn)地址,若不符合接收條件,則丟棄數(shù)據(jù)包;應(yīng)用層完成中心節(jié)點(diǎn)指定的任務(wù),如采集數(shù)據(jù)的發(fā)送、節(jié)點(diǎn)地址的設(shè)定等。

    應(yīng)用層標(biāo)志位意義如下:
    G:中心節(jié)點(diǎn)獲取數(shù)據(jù)標(biāo)志,此時(shí),外圍節(jié)點(diǎn)以采集數(shù)據(jù)來(lái)填充數(shù)據(jù)幀并發(fā)送。
    D:表示采集數(shù)據(jù),此時(shí),中心節(jié)點(diǎn)接收到的數(shù)據(jù)為采集到的數(shù)據(jù)。
    A:重新設(shè)定節(jié)點(diǎn)地址標(biāo)志,此時(shí),數(shù)據(jù)域有三個(gè)字節(jié)且每個(gè)字節(jié)都為新地址并相等。該功能可在中心節(jié)點(diǎn)檢測(cè)到衛(wèi)星通信發(fā)生故障時(shí)設(shè)定新的中心節(jié)點(diǎn)。
    S:成功標(biāo)志位,外圍節(jié)點(diǎn)成功設(shè)定本節(jié)點(diǎn)新地址后置位該位,否則清零該位,并告知中心節(jié)點(diǎn)。
    W:警告標(biāo)志位,外圍節(jié)點(diǎn)發(fā)生故障時(shí)置位該位,請(qǐng)求將故障信息發(fā)往陸地基站。
    R:授權(quán)標(biāo)志位,指定新的節(jié)點(diǎn)為中心節(jié)點(diǎn)時(shí)置位該位,為了防止誤碼造成的中心節(jié)點(diǎn)轉(zhuǎn)移而造成網(wǎng)絡(luò)混亂,此時(shí)數(shù)據(jù)域必須是0x5555。
    N:備用中心節(jié)點(diǎn)標(biāo)志,告知外圍節(jié)點(diǎn)數(shù)據(jù)域指定的為備用中心節(jié)點(diǎn)地址,此時(shí)數(shù)據(jù)域由三個(gè)字節(jié)組成,且每個(gè)字節(jié)都為備用中心節(jié)點(diǎn)地址并相等。
2.2 網(wǎng)絡(luò)自我修復(fù)
    星型網(wǎng)絡(luò)對(duì)中心節(jié)點(diǎn)的依賴性很強(qiáng),一旦中心節(jié)點(diǎn)發(fā)生故障,網(wǎng)絡(luò)便會(huì)癱瘓。針對(duì)這一情況,本論文提出了網(wǎng)絡(luò)中心節(jié)點(diǎn)轉(zhuǎn)移的概念。考慮到各節(jié)點(diǎn)都有檢測(cè)網(wǎng)絡(luò)狀態(tài)的能力(傳輸層完成此功能),同時(shí),任何一個(gè)性能良好的節(jié)點(diǎn)都有能力至少完成一次網(wǎng)絡(luò)掃描并告知其他節(jié)點(diǎn)備用中心節(jié)點(diǎn)的地址,所以可以很容易地實(shí)現(xiàn)中心節(jié)點(diǎn)的轉(zhuǎn)移。
    中心節(jié)點(diǎn)故障[5]包括衛(wèi)星通信故障和無(wú)線模塊故障兩種。
    設(shè)中心節(jié)點(diǎn)地址為X,當(dāng)衛(wèi)星通信發(fā)生故障時(shí),中心節(jié)點(diǎn)首先在網(wǎng)絡(luò)中查找無(wú)故障的目標(biāo)節(jié)點(diǎn)(W=0),然后將目標(biāo)節(jié)點(diǎn)地址設(shè)置為X-1、將自身地址設(shè)置為目標(biāo)節(jié)點(diǎn)的原始地址,同時(shí)向目標(biāo)節(jié)點(diǎn)發(fā)送中心節(jié)點(diǎn)授權(quán)(R=1,數(shù)據(jù)域?yàn)?x5555),最后,目標(biāo)節(jié)點(diǎn)將自身地址設(shè)為X,成為新的中心節(jié)點(diǎn)。
    當(dāng)無(wú)線模塊發(fā)生故障時(shí),所有外圍節(jié)點(diǎn)都不會(huì)檢測(cè)到任何無(wú)線信號(hào),此時(shí),外圍節(jié)點(diǎn)與備用中心節(jié)點(diǎn)地址進(jìn)行對(duì)比,匹配的外圍節(jié)點(diǎn)成為中心節(jié)點(diǎn),發(fā)起數(shù)據(jù)通信,查找無(wú)故障的節(jié)點(diǎn)并將該節(jié)點(diǎn)指定為新的備用中心節(jié)點(diǎn),同時(shí)告知其他外圍節(jié)點(diǎn)。
3 節(jié)點(diǎn)硬件設(shè)計(jì)
    節(jié)點(diǎn)需具有以下功能:衛(wèi)星通信、無(wú)線通信、水下數(shù)據(jù)接收、數(shù)據(jù)存儲(chǔ),同時(shí)盡量降低節(jié)點(diǎn)的功耗及成本。綜合考慮,選用處理能力適中的STM32作為CPU;選用9XTend作為無(wú)線收發(fā)模塊,該模塊在使用偶極天線時(shí)通信距離可達(dá)22 km,在使用高增益天線時(shí)最遠(yuǎn)可達(dá)64 km;選用9601SBD(9601 Short Burst Data Transceiver)銥星收發(fā)模塊通過(guò)銥星衛(wèi)星與陸地基站進(jìn)行通信。由于STM32只有兩個(gè)USART資源,而銥星收發(fā)需要實(shí)時(shí)檢測(cè)信號(hào)質(zhì)量并盡量保證在較小的延遲下將數(shù)據(jù)發(fā)往陸地基站,所以9601SBD占用一個(gè)USART,無(wú)線通信及水下數(shù)據(jù)接收共享一個(gè)USART。圖3所示為節(jié)點(diǎn)硬件框圖。

4 軟件設(shè)計(jì)
    系統(tǒng)軟件應(yīng)完成水下數(shù)據(jù)接收、銥星模塊控制、無(wú)線網(wǎng)絡(luò)通信與維護(hù)、數(shù)據(jù)存儲(chǔ)等功能。開(kāi)機(jī)后,各節(jié)點(diǎn)讀取系統(tǒng)配置對(duì)本節(jié)點(diǎn)初始化,包括SPI接口初始化、定時(shí)器初始化、水下數(shù)據(jù)接收初始化、9XTend初始化。此外中心節(jié)點(diǎn)需要初始化9601SBD控制模塊,而外圍節(jié)點(diǎn)則將9601SBD控制模塊置于休眠狀態(tài),以降低功耗。之后系統(tǒng)進(jìn)入工作狀態(tài)。圖4所示為不同節(jié)點(diǎn)工作狀態(tài)下的程序流程圖。

5 實(shí)驗(yàn)結(jié)果
    實(shí)驗(yàn)中設(shè)計(jì)了4個(gè)無(wú)線節(jié)點(diǎn),并以圖5連接方式將這些節(jié)點(diǎn)隨意放置于10 m×8 m的房間中,各節(jié)點(diǎn)供電電壓為9 V,銥星天線置于室外,無(wú)線RF模塊的通信速率為19 200 b/s,RF模塊與CPU的通信速率為9 600 b/s。首先將各節(jié)點(diǎn)配置為非網(wǎng)絡(luò)運(yùn)行狀態(tài),此時(shí)記錄其中一個(gè)節(jié)點(diǎn)接收數(shù)據(jù)情況,如表1所示。由表1可以發(fā)現(xiàn),當(dāng)各節(jié)點(diǎn)發(fā)送數(shù)據(jù)幀的間隔時(shí)間不斷減小時(shí),誤碼率明顯提高,當(dāng)間隔時(shí)間為0.5 s時(shí),9%的誤碼率導(dǎo)致幾乎不能提取出正確的數(shù)據(jù)幀。


    當(dāng)把各節(jié)點(diǎn)用本論文所述方式進(jìn)行配置后,查看其中一個(gè)節(jié)點(diǎn)接收數(shù)據(jù)情況并記錄如表2所示,此時(shí)即使將發(fā)送間隔時(shí)間降低到0.3 s也不會(huì)出現(xiàn)誤碼,不足之處是有些數(shù)據(jù)幀需要延遲發(fā)送。從協(xié)議上分析,由于通信總是由中心節(jié)點(diǎn)發(fā)起的,所以不應(yīng)該出現(xiàn)誤碼,但當(dāng)間隔時(shí)間降低到0.1 s時(shí),出現(xiàn)了誤碼,這應(yīng)該是由于中心節(jié)點(diǎn)分配給外圍節(jié)點(diǎn)的時(shí)間片較小而造成的,若增加時(shí)間片,則會(huì)降低網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)男剩钥梢跃C合考慮通信速率和網(wǎng)絡(luò)效率并依據(jù)實(shí)際需求選擇最佳的時(shí)間片值。


    通過(guò)電腦查看銥星衛(wèi)星通信狀態(tài),當(dāng)銥星天線信號(hào)良好時(shí),從中心節(jié)點(diǎn)發(fā)送的數(shù)據(jù)僅需20 s即可抵達(dá)陸地基站。表3記錄為3 h時(shí)間段內(nèi),9601SBD信號(hào)質(zhì)量狀況,其中0代表無(wú)信號(hào),5代表信號(hào)質(zhì)量最好。實(shí)驗(yàn)表明,天氣狀況良好,信號(hào)質(zhì)量為“3-5”時(shí)可以正常進(jìn)行銥星衛(wèi)星通信;天氣狀況較差,如陰雨天時(shí),信號(hào)質(zhì)量為“4-5”時(shí)才能保證銥星衛(wèi)星正常通信。

    針對(duì)遠(yuǎn)海海洋特殊的應(yīng)用環(huán)境,本文提出了以9XTend無(wú)線模塊及9601SBD銥星模塊構(gòu)建海洋浮標(biāo)網(wǎng)絡(luò)數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)方案,并給出了無(wú)線網(wǎng)絡(luò)的架構(gòu)及協(xié)議。實(shí)驗(yàn)證明本設(shè)計(jì)切實(shí)可行并表現(xiàn)出較大的優(yōu)越性,完全可以應(yīng)用于海洋浮標(biāo)網(wǎng)絡(luò)的數(shù)據(jù)傳輸,對(duì)我國(guó)海洋環(huán)境檢測(cè)技術(shù)的發(fā)展有較大的意義。
    本設(shè)計(jì)目前針對(duì)的是網(wǎng)絡(luò)中節(jié)點(diǎn)較少的情況,理論上可以支持最多254個(gè)節(jié)點(diǎn)(地址0不使用,地址1作為中心節(jié)點(diǎn)轉(zhuǎn)移時(shí)的臨時(shí)地址),但隨著節(jié)點(diǎn)的增多,就會(huì)增加中心節(jié)點(diǎn)的負(fù)擔(dān),在后續(xù)改進(jìn)中,可以將網(wǎng)絡(luò)分層或劃分子網(wǎng),從而減輕中心節(jié)點(diǎn)的負(fù)擔(dān)并實(shí)現(xiàn)網(wǎng)絡(luò)的更大范圍覆蓋。
參考文獻(xiàn)
[1] 朱伯康,劉仁清,許建平.一種專門用于低緯度洋區(qū)觀測(cè)的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)集成的全球地球觀測(cè)系統(tǒng)與全球海洋觀測(cè)系統(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ú)線網(wǎng)故障解決方法[J].甘肅高師學(xué)報(bào),2010,15(5):38-40.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。