徐風云,萬隆君,徐軼群,蔡亞軍,方 超
(集美大學輪機工程學院,福建廈門 361000)
由于遠洋航海船舶與船舶、船舶與岸基之間通信距離較遠,影響因素多,困難多。在航海領域上,目前遠洋航海大多數依賴于海事衛星、美國全球定位系統作為通信主要手段。文獻[1]以國際海事衛星通信海事寬帶系統作為通信系統,盡管海事衛星系統使用的L波段獨有的特性,L波段終端因其天線波束較寬可以迅速地尋星和對星。但是它的通信費用昂貴,使許多用戶望而卻步。文獻[2]以美國全球定位系統作為通信手段,GPS具有全天候、不易受任何天氣的影響、全球覆蓋率高和三維定點定速定時高精度等特點,但是缺少短報文通信,而且通信技術需要掌握在本國手中,尤其是在軍事上,應積極避免采用他國衛星技術作為通信方式。北斗衛星導航系統的應用不僅廣泛,而且成本低,是目前我國作為自主研發可利用的最好的海洋通信方式。其短報文通信功能,為遠洋數據的傳輸提供了更加便利的信道[3-4]。為此,本文提出了利用北斗的短報文通信以及定位功能,實現對無人船艇的數據傳輸和監測。
無人機、無人自主航行器以及無人船艇隨著智能化發展也逐漸成為研究熱點。無人船艇是一種依托船舶,可裝載定位、導航以及控制設備新型的搭載平臺,并且搭載多種海洋傳感器,監測各類數據,以實現各種海洋任務[5-6]。
在無人船艇上采用北斗衛星導航系統和北斗系統的短報文通信功能的通信功能,實現無人艇定位功能以及無人船艇數據的傳輸。使水面無人船艇的工作范圍從近海域擴展到遠洋,實現岸基對無人船艇自身參數以及在遠洋上對其工作范圍內的海洋環境、水面情況的監測[7-10]。本論文提出了一種利用北斗衛星導航系統技術,開發無人船艇數據傳輸系統的硬件與軟件設計方案。此方案便捷高效,可在各級別水面無人船艇上使用。通過現有的無人船艇數據采集技術,加載北斗衛星導航通信系統,開發船載數據轉發裝置,岸基人機交互界面。本文將我國的北斗衛星導航系統的通信技術,應用于無人船艇的數據傳輸系統,為無人船艇的數據傳輸提供了一種高效便捷的方式,同時對北斗衛星導航系統的民用以及商業推廣有著重要意義。
短報文通信功能是我國北斗導航系統與其他導航系統相比的特有功能,用戶和用戶、用戶和中心控制系統之間可以進行短報文的雙向通信,這就使北斗系統不需要依賴其他通信系統即可實現位置信息的傳送,方便指揮中心對用戶的監控與調度。每個用戶終端都有一個用戶號,這個用戶號是唯一的。通過這個唯一的用戶號,經過地面中心站轉發的短報文都能被識別身份,其工作流程如下。
(1)發送的信息內容和接收方賬號的申請信號會被加密。加密后的信號通過衛星的轉發,到達地面中心站。
(2)通信申請信號發送到地面中心站后,將信號解密后再加密,經衛星廣播給用戶。
(3)接收方用戶終端收到衛星廣播的電文后,經過解調、解密,獲得消息內容,完成一次通信[4]。數據傳輸時延約為0.5秒,通信最高頻度是1秒1次,工作流程圖如圖1所示。

圖1 北斗系統的短報文工作流程圖Fig.1 Short message flow chart of Beidou system
本文研究的數據采集傳輸系統終端是為航海用戶所用,再結合航海用戶會遇到的特殊情況,確定設計終端要實現的功能[11]。本設計主要分為船載轉發裝置和岸基顯示界面,兩部分的功能分析如下。
船載轉發裝置功能:
(1)實時提取船載用戶的位置數據,并儲存到相應的存儲單元,在岸基用戶的申請指令下,進行打包處理,返回定位數據;
(2)能將無人船艇的參數按北斗短報文格式處理打包封裝,在岸基用戶的申請下,返回短報文數據。
岸基軟件界面功能:
(1)向船載接收機發送申請指令;
(2)按北斗協議格式4.0和自定義的數據格式解析船載返回的數據包;
(3)在設計好的軟件界面顯示所需的各項數據。
無人船艇數據傳輸系統總體設計結構主要分為船載硬件和岸基軟件兩部分,如圖2所示。

圖2 設計總體結構Fig.2 Design overall structure
總體設計工作流程分為兩部分,如圖3所示。
整個設計的工作流程分為船載和岸基兩個部分,兩個部分的工作流程如下。
(1)船載硬件工作流程
控制器模塊接收北斗定位模塊的實時定位信息,實時儲存就近十條定位數據,并將數據以北斗定位協議格式進行處理;
接收無人船艇數據采集信息,并以短報文協議格式進行處理;
在船載北斗收發天線得到岸基申請指令時,判斷要返回的是定位數據還是短報文數據,并根據需求,返回實時處理好的數據包。

圖3 整體設計工作流程圖Fig.3 Flow chart of overall design
(2)岸基軟件工作流程
界面分別設計定位和短報文申請觸控按鍵,點擊該按鍵可通過串口向岸基北斗收發天線發送申請指令,并由該天線通過北斗衛星系統向船載發送申請指令;
解析船載返回的數據包,按自定義的協議格式解析該數據包,并將用戶所需數據顯示在開發的交互界面上。
本文設計的船載數據轉發裝置主要有控制器模塊、北斗定位模塊、無人船艇參數傳輸模塊、RS232通信接口模塊以及北斗通信模塊幾部分組成。該數據轉發裝置基本原理結構如圖4所示。

圖4 船載轉發裝置原理結構圖Fig.4 Schematic diagram of ship's transponder
控制器模塊:負責處理北斗用戶機發送過來的申請,判斷應返回的是定位數據還是無人船艇參數數據;對北斗定位信息、無人船艇參數數據進行綜合處理,采用相應的報文編碼方式編寫報文,再將處理好的數據通過串口發送給北斗用戶機。
北斗導航/定位模塊:接收MCU的申請指令,通過串口控制的方式向控制器模塊提供實時定位信息和航行基本數據。定位信息包含無人船艇的實時經緯度、定位時間、地面高程和用戶高程;航行基本數據包括無人船艇的航向、航速等基本信息。
無人船艇參數傳輸模塊:在得到控制器的申請指令下,將無人船艇參數通過串口通信傳輸給控制器,該參數包括無人船艇的排水量、吃水線、橫傾角、縱傾角、航向等。
北斗通信模塊:負責接收岸基傳輸來的申請指令,發送控制器打包處理完成的返回數據。
RS232通信接口模塊:負責各個模塊之間的連接,接收和傳輸各模塊之間的數據信號。

圖5 無人船艇數據轉發裝置主控制器引腳連接圖Fig.5 Main controller pin connection diagram of unmanned vesselsBased transponder
控制器選擇STM32F103VET6為主控制芯片,它是ST公司推出的基于ARM Cortex-M3的STM32系列處理器,同單片機系列相比較,該芯片具有性能高、功耗小、實時性強等特點。該芯片與其他32位微處理器比較,成本較低,但又能實現其他處理器所能實現的大多數功能,并且后期維護升級簡單[13]。無人船艇數據轉發裝置的主控制器與各個模塊的接口引腳如圖5所示。
本設計使用STM32的串口2(UART2)通過SP3232連接UM220模塊來進行北斗信息的接收和設置;使用STM32的串口3(UART3)來進行模擬報文數據的接收和處理;使用串口5(UART5)來連接北斗用戶機天線模塊,進行天線數據的發送與接收。三個串口在STM32的控制下同時工作,相互協調。作為船載端,進行北斗報文申請的接收和判斷,采集無人船艇信息并處理,提取北斗衛星定位數據,并做綜合處理后返回岸基用戶端。
根據設計思路和功能需求,又參考了各個模塊相關參數、通信格式協議等方面的因素,本模塊選擇了和芯星通生產的UM220III-N系列北斗導航/定位芯片作為該設計的北斗定位模塊。該芯片具有高性價比,抗干擾,能在復雜環境下穩定精確的定位等優勢,具有出色的導航,定位功能,既可以支持單系統定位,又可以支持雙系統聯合定位,并且支持A-GNSS和D-GNSS[14-15]。SMD表貼封裝,方便批量生產。UM220III-N電路圖如圖6所示。

圖6 UM220模塊電路圖Fig.6 UM220 module circuit diagram
該模塊連接相應的無人船艇數據采集模塊,故設計串口通信接口,進行無人船艇參數采集模擬。本設計中使用STM32的串口3來進行模擬報文數據的接收和處理,電路連接上,將STM32的PB10和PB11引腳作為數據的輸出輸入接口。如圖7所示。
北斗天線模塊采用的是三模一體用戶機,該一體機內部集成RDSS模塊、RDSS B1/GPS L1模塊、天線等,該三模一體機能夠實時地接收B1/L1衛星信號,實現北斗定位以及北斗短報文通訊。它具有很高的集成度、體積小、功耗低、連接簡單、操作方便,非常適應于船艇導航、位置上報及短報文通信等大規模應用[12]。如圖8所示。

圖7 無人船艇參數傳輸模塊電路連接圖Fig.7 Circuit connection diagram of unmanned vesselsBased Parameter
RS-232是美國電子工業協會EIA(Elec?tronic Industry Associa?tion)制定的一種串行物理接口標準。RS是英文“推薦標準”的縮寫,232 為標識號[16]。RS232模塊采用SP3232芯片,其電路圖如圖9所示。

圖8 北斗三模一體機Fig.8 Beidou satellite three-mode one

圖9 模塊電路圖Fig.9 RS232 Module circuit diagram
本設計的開發工具選擇了Keil MDK,Keil MDK通過uVision4強大的集成開發環境將C編譯器、庫管理、宏匯編、鏈接器和仿真調試器在內的完整開發方案等功能組合在一起。
該船載端無人船艇數據轉發裝置程序主要通過以下幾個模塊實現功能:北斗通信模塊子系統、UM220北斗定位模塊子系統、無人船艇數據采集模塊子系統等幾部分。首先對北斗定位模塊、STM32串口和北斗通信模塊初始化。對北斗通信模塊的串口初始化設置之后,UM220定位模塊開始實時獲取無人船艇定位數據并由串口傳輸至控制器模塊,控制器模塊接收數據并放入隊列等待被讀取;控制器模塊接收實時無人船艇數據,按照北斗電文協議格式做數據處理,根據申請類型,向北斗天線用戶模塊返回報文。為了達到以上功能的實現,采用C語言作為程序設計語言,實現軟件的設計,其主要程序流程如圖10所示。

圖10 船載端無人船艇數據轉發裝置軟件流程圖Fig.10 Flow chart of unmanned vessels based transponder
岸基監測軟件是一款基于.Net平臺開發的Winform應用程序,采用的是.Net FrameWork框架,軟件利用C#編程語言開發[17-18]。該監測平臺是基于C/S(Client/Server)架構下開發的客戶端應用程序軟件。
該設計開發工具采用Visual Studio 2010,它是一套完整的開發工具集,包括自動編譯、項目創建向導和創建部署工程等大量的功能的實用開發工具,為開發人員提高工作效率。
岸基監測軟件平臺的設計中,用戶界面分別可以實現定位數據的查詢、水面無人船艇(unmanned surface ves?sel,簡稱USV)參數查詢、短報文通信以及通信設置等功能;信息處理層可以實現北斗數據的解析、與北斗天線模塊的串口通信等功能。為實現以上功能,根據需求設計了軟件程序,軟件設計流程如圖11所示。

圖11 軟件設計流程圖Fig.11 Software design flow chart
本文探討了北斗衛星導航系統在無人船艇數據傳輸上的應用,積極研發了無人船艇船載端數據轉發裝置和岸基端數據監測軟件平臺,通過無人船艇船載端軟硬件和岸基端軟件監測平臺的聯機測試,船載端數據轉發裝置各個串口都能實現設計功能,岸基端軟件監測平臺界面滿足需求,該數據傳輸系統基本達到了設計要求。為無人船艇的數據傳輸提供了一種高效便捷的方式,同時對北斗衛星導航系統的民用推廣有著重要意義,并具有很高的市場應用價值。為遠洋無人船艇管理帶來了巨大的便利,也為海上船舶的遇險救助與安全提供了更多手段。