基于ARM9260的多模式浮標(biāo)岸基數(shù)據(jù)收發(fā)平臺(tái)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:針對(duì)于海洋特殊的環(huán)境,數(shù)據(jù)傳輸能力不能滿足海洋環(huán)境檢測(cè)的需求現(xiàn)狀,文中提出將多種無線傳輸方式與AT91SAM9260結(jié)合構(gòu)造多模式浮標(biāo)岸基數(shù)據(jù)收發(fā)平臺(tái)的設(shè)計(jì)方案,并給出具體的通信協(xié)議。同時(shí),用VC++語言設(shè)計(jì)了岸基數(shù)據(jù)接收服務(wù)中心軟件。本設(shè)計(jì)已成功用于海洋數(shù)據(jù)傳輸,對(duì)我國海洋環(huán)境檢測(cè)技術(shù)的發(fā)展有較大的意義。
關(guān)鍵詞:海洋通信;無線傳輸;多模;AT91SAM9260;協(xié)議
海洋占據(jù)了地球表面的三分之二以上面積,并以其豐富的資源、廣闊的空間以及對(duì)地球環(huán)境氣候的巨大調(diào)節(jié)作用,成為全球生態(tài)系統(tǒng)和人類發(fā)展的一個(gè)重要組成部分,因此,發(fā)展海洋科技,尤其是海洋高新技術(shù)已成為世界新技術(shù)革命的重要內(nèi)容。然而,由于海洋特殊的環(huán)境,使得很多在陸地上已經(jīng)運(yùn)用自如且性能良好的通信技術(shù)無法在海洋上使用,ARG0是以10~14天為周期通過衛(wèi)星系統(tǒng)來傳輸?shù)?,海洋通信技術(shù)成為了限制海洋技術(shù)發(fā)展的瓶頸。本文設(shè)計(jì)的基于AT91SAM9260的多模式浮標(biāo)岸基數(shù)據(jù)收發(fā)平臺(tái)將多種數(shù)據(jù)傳輸方式集合在一起,很好的滿足了海洋數(shù)據(jù)全天侯長時(shí)間傳輸?shù)男枨蟆?br />
1 系統(tǒng)概述
基于AT91SAM9260的多模式浮標(biāo)岸基數(shù)據(jù)收發(fā)平臺(tái)(以下簡稱收發(fā)平臺(tái))系統(tǒng)結(jié)構(gòu)圖如圖1所示,本系統(tǒng)提供了四種通信方式:無線通信、數(shù)傳電臺(tái)通信、GPRS通信和銥星通信。這四種通信方式由AT91SAM920配置和管理,依據(jù)一定的通信選擇策略實(shí)現(xiàn)四種通信方式的智能切換。圖中,實(shí)線為電源線、長虛線為天線連接線、點(diǎn)虛線為串口通信信號(hào)線。
CPU是系統(tǒng)的核心,通過COM2~COM5依次與銥星模塊、無線模塊、速傳電臺(tái)模塊及GPRS模塊相連。COM6為用戶接口,可依據(jù)協(xié)議對(duì)本系統(tǒng)進(jìn)行配置及實(shí)現(xiàn)數(shù)據(jù)傳輸,COM7為調(diào)試串口,可打印系統(tǒng)的運(yùn)行信息,并可實(shí)現(xiàn)系統(tǒng)深入配置。
系統(tǒng)中各種通信方式各有優(yōu)點(diǎn):如果浮標(biāo)是部署在近海,可以直接通過無線模塊進(jìn)行通信,不但速度快而且無需資費(fèi);若距離有所增加,則可以使用無線數(shù)傳電臺(tái),此時(shí)仍可獲得較快的傳輸速率。若無線模塊和無線數(shù)傳電臺(tái)不能滿足需求,則可以使用GPRS,此時(shí)傳輸速率有所下降,且有較小延時(shí);若在遠(yuǎn)海,則可以使用銥星模塊。本系統(tǒng)可以同時(shí)滿足近海和遠(yuǎn)海數(shù)據(jù)通信的需求。
2 系統(tǒng)原理
2.1 通信方式智能切換選擇策略
本收發(fā)平臺(tái)使用的選擇策略主要是:優(yōu)先級(jí)選擇策略、信號(hào)質(zhì)量選擇策略和通信保持策略。
優(yōu)先級(jí)選擇策略:由于四種通信方式有不同的傳輸速率、不同的傳輸距離和不同的延遲,同時(shí)考慮到海洋上特殊的環(huán)境以及盡量高速率、長傳輸距離、小延遲的通信要求,所以設(shè)置無線模塊、數(shù)傳電臺(tái)模塊、GPRS模塊及銥星模塊的優(yōu)先級(jí)依次為0~3,值越小,優(yōu)先級(jí)越高,同時(shí)可以依據(jù)協(xié)議由用戶設(shè)置模塊優(yōu)先級(jí)。
信號(hào)質(zhì)量選擇策略:系統(tǒng)在運(yùn)行后,會(huì)運(yùn)行通信守護(hù)進(jìn)程,并定時(shí)檢測(cè)各通信方式的信號(hào)質(zhì)量,從而進(jìn)一步保證通信的正常進(jìn)行。
通信保持策略:收發(fā)平臺(tái)會(huì)優(yōu)先使用最近使用過的通信方式,若該通信方式故障,則會(huì)嘗試盡量多的次數(shù)來完成未完成的數(shù)據(jù)傳輸。用戶可依據(jù)協(xié)議設(shè)置嘗試次數(shù)及超時(shí)時(shí)間。
用戶也可以依據(jù)協(xié)議設(shè)置以上三種策略的優(yōu)先關(guān)系。
2.2 通信協(xié)議制定
通信協(xié)議是通信能否正常進(jìn)行的重要保證。本收發(fā)平臺(tái)具有如下特點(diǎn):一、用戶與收發(fā)平臺(tái)之間的通信需要有基本的重發(fā)確認(rèn)機(jī)制,考慮到使用RS232通信鏈路重復(fù)出現(xiàn)故障的可能性叫小,所以該機(jī)制不需要復(fù)雜;二、用戶需要對(duì)收發(fā)平臺(tái)進(jìn)行簡單的配置;三、收發(fā)平臺(tái)之間的通性應(yīng)該可以實(shí)現(xiàn)定點(diǎn)傳輸、廣播傳輸及轉(zhuǎn)發(fā)。因此,協(xié)議的制定至少包括兩個(gè)方面:用戶與收發(fā)平臺(tái)通信協(xié)議和收發(fā)平臺(tái)間通信協(xié)議。
圖2所示為用戶與收發(fā)平臺(tái)通信協(xié)議。劃分為三層:物理層、傳輸層、應(yīng)用層。各層功能如下:物理層提供數(shù)據(jù)的實(shí)際傳輸,由RS232來完成,傳輸層只需以字節(jié)為單位發(fā)送數(shù)據(jù)即可;傳輸層負(fù)責(zé)檢測(cè)網(wǎng)絡(luò)狀態(tài)以及數(shù)據(jù)幀的提取;應(yīng)用層依據(jù)幀類型完成用戶要執(zhí)行的操作。協(xié)議中:起始字符為“@”,占1字節(jié);數(shù)據(jù)長度為幀中數(shù)據(jù)字段的長度,占1字節(jié);校驗(yàn)和對(duì)全幀進(jìn)行校驗(yàn),若為0,則表示忽略校驗(yàn),占1字節(jié);結(jié)束字符為“#”,占1字節(jié)。
幀類型占1字節(jié),具體如下:
0:此時(shí)數(shù)據(jù)段為要發(fā)送的數(shù)據(jù),收發(fā)平臺(tái)不必理會(huì)其內(nèi)容,類似于透明傳輸,且通過何種方式傳輸由收發(fā)平臺(tái)決定;
1:與類型0相似,但使用由用戶指定的通信方式,0為無線通信、1為無線數(shù)傳電臺(tái)、2為GPRS、3為銥星,其它值表示不使用該通信方式;
2:對(duì)用戶指定的通信方式設(shè)定通信速率,0為9 600 bps,1為19 200 bps,此時(shí),數(shù)據(jù)字段長度應(yīng)為兩字節(jié);
3:此時(shí)數(shù)據(jù)字段應(yīng)為四字節(jié),依次為通信方式0~3的優(yōu)先級(jí),且不可重復(fù);
4:此時(shí)數(shù)據(jù)字段應(yīng)為三字節(jié),依次代表重發(fā)次數(shù)、發(fā)送超時(shí)時(shí)間(占兩字節(jié)),單位為毫秒。
5:設(shè)置收發(fā)平臺(tái)的目的地址,此時(shí)數(shù)據(jù)字段應(yīng)為一字節(jié),無需每次都設(shè)定;
255:此時(shí)數(shù)據(jù)字段長度為零,表示對(duì)用戶發(fā)來的數(shù)據(jù)進(jìn)行確認(rèn)。
圖3所示為收發(fā)平臺(tái)間通信協(xié)議,劃分為兩層:物理層、傳輸層。各層功能如下:物理層提供數(shù)據(jù)的實(shí)際傳輸,對(duì)于無線模塊和數(shù)傳電臺(tái),提供的是連續(xù)的字節(jié)流傳輸,對(duì)于GPRS和銥星,提供的是不連續(xù)的以字節(jié)為最小單位的塊數(shù)據(jù)傳輸;傳輸層負(fù)責(zé)數(shù)據(jù)幀的提取,依據(jù)目的地址和該節(jié)點(diǎn)地址,接收、轉(zhuǎn)發(fā)或丟棄數(shù)據(jù)包,并提取接收數(shù)據(jù)包中的數(shù)據(jù)字段傳輸給用戶,且在任何時(shí)候都只接收但不轉(zhuǎn)發(fā)目的地址為廣播的數(shù)據(jù)包。協(xié)議中:起始字符為“@”,占1字節(jié);目的地址占用1字節(jié),255為廣播地址;源地址占用1字節(jié);跳數(shù)為數(shù)據(jù)包可以被轉(zhuǎn)發(fā)的次數(shù),為0時(shí)丟棄;數(shù)據(jù)長度為包中數(shù)據(jù)字段的長度,占1字節(jié);校驗(yàn)和對(duì)數(shù)據(jù)長度和數(shù)據(jù)字段進(jìn)行校驗(yàn),若為0,則表示忽略校驗(yàn),占1字節(jié);結(jié)束字符為“#”,占1字節(jié)。
3 硬件設(shè)計(jì)
考慮到收發(fā)平臺(tái)需要至少五路RS232接口,且可能要同時(shí)操作四種通信方式來傳輸數(shù)據(jù),綜合考慮,選用處理能力強(qiáng)的AT91SAM9260作為CPU;選用9XTend作為無線收發(fā)模塊,該模塊在使用高增益天線時(shí)最遠(yuǎn)可達(dá)64 km,使用偶極天線時(shí)通信距離可達(dá)22 km;選用通信距離更遠(yuǎn)的型號(hào)為MDS2710C的無線SCADA數(shù)傳電臺(tái)模塊;選用型號(hào)為GF-2008AW的GPRS模塊;選用9522A L-Band銥星收發(fā)模塊通過銥星衛(wèi)星與陸地基站進(jìn)行通信。同時(shí),為了存儲(chǔ)未能及時(shí)發(fā)出去的數(shù)據(jù)以及系統(tǒng)配置,添加SD卡作為存儲(chǔ)介質(zhì)。圖4所示為收發(fā)平臺(tái)硬件框圖。
4 軟件設(shè)計(jì)
4.1 主控AT91SAM9260程序設(shè)計(jì)
收發(fā)平臺(tái)要完成的功能主要是:與用戶通信、四種通信方式的控制與維護(hù)、數(shù)據(jù)存儲(chǔ)。開機(jī)后,收發(fā)平臺(tái)CPU讀取系統(tǒng)配置進(jìn)行初始化,包括CPU本身初始化、RS232接口初始化、SD卡接口初始化、定時(shí)器初始化、通信模塊初始化。之后系統(tǒng)進(jìn)入工作狀態(tài)。圖5所示為收發(fā)平臺(tái)正常工作時(shí)軟件流程圖,若某個(gè)通信模塊出現(xiàn)故障,CPU會(huì)關(guān)閉該模塊,當(dāng)四種通信模塊都出現(xiàn)故障時(shí),CPU將通知用戶,對(duì)于用戶發(fā)送的數(shù)據(jù)均不作出響應(yīng)。
4.2 上位機(jī)軟件設(shè)計(jì)
上位機(jī)軟件即岸基數(shù)據(jù)接收服務(wù)中心軟件完成計(jì)算機(jī)用戶與收發(fā)平臺(tái)間的通信,主要包括以下功能:收發(fā)平臺(tái)的配置、數(shù)據(jù)的接收與發(fā)送、數(shù)據(jù)的圖表化顯示及存儲(chǔ)、歷史數(shù)據(jù)的顯示與分析。圖6所示為上位機(jī)軟件主界面。
上位機(jī)軟件使用Visual C++語言設(shè)計(jì),窗口設(shè)計(jì)主要包括主窗口、系統(tǒng)配置窗口、歷史數(shù)據(jù)分析窗口。主界面接收數(shù)據(jù)圖表顯示區(qū)能反映接收到的數(shù)據(jù)的變化趨勢(shì),并可向收發(fā)平臺(tái)傳輸數(shù)據(jù),實(shí)現(xiàn)收發(fā)平臺(tái)的配置和數(shù)據(jù)收發(fā)。歷史數(shù)據(jù)分析窗口能以圖表方式反映歷史數(shù)據(jù)。
5 結(jié)束語
本收發(fā)平臺(tái)目前可以支持網(wǎng)絡(luò)內(nèi)存在最多255個(gè)收發(fā)平臺(tái),已經(jīng)滿足了當(dāng)前的需求,并已成功用于海洋數(shù)據(jù)傳輸。在后續(xù)改進(jìn)中,可設(shè)計(jì)實(shí)現(xiàn)多個(gè)收發(fā)平臺(tái)的組網(wǎng)傳輸,進(jìn)而更大程度上滿足數(shù)據(jù)長時(shí)間全天候傳輸?shù)男枨蟆?/p>