崔秀芳,蔡陳玉,李志剛
(上海海洋大學,上海 201306)
我國擁有近300萬平方千米的管轄海域,海洋漁業(yè)資源豐富,現(xiàn)有從事漁業(yè)捕撈的船舶28萬多艘,從事漁業(yè)生產的漁民1000多萬人[1]。海洋環(huán)境的多樣性以及周邊國家對海洋漁場管理的差異,使得海洋漁業(yè)生產具有一定的危險性,為保障漁民的生命財產安全,加強對漁民生產作業(yè)的有效監(jiān)管,急需建立一套有效的船舶監(jiān)控機制。國內各大院校及科研院所均對此展開過深入研究并取得較多成果,比較有代表性的有:魏延亮[2]等提出基于GIS技術、GPS導航技術及計算機通信技術來建設海洋漁業(yè)應急救援系統(tǒng),實現(xiàn)海上漁業(yè)生產對所有船只、整個海域、作業(yè)過程的無縫實時監(jiān)控和信息化管理;孫蕊[3]等闡釋了中國當前在漁業(yè)生產發(fā)展中的問題,指出了在漁業(yè)現(xiàn)代化進程中應用北斗衛(wèi)星導航系統(tǒng)的必要性。本文設計出一種基于北斗衛(wèi)星的漁船監(jiān)控系統(tǒng),利用北斗衛(wèi)星無線電導航業(yè)務RNSS模式和無線電測定業(yè)務RDSS模式,結合嵌入式技術和計算機技術,實現(xiàn)對漁船作業(yè)實時監(jiān)管以及海上突發(fā)事件的緊急救援。
北斗衛(wèi)星導航系統(tǒng)[4]是我國自主研發(fā)、獨立運行的全球衛(wèi)星導航定位系統(tǒng)。它的定位精度10 m,測速精度0.2 m/s[5],與美國全球定位系統(tǒng)(GPS)、俄羅斯格洛納斯系統(tǒng)(GLONASS)和歐盟伽利略系統(tǒng)(Galileo)相比,我國的北斗衛(wèi)星導航系統(tǒng)除了提供導航定位和授時服務之外,還具備雙向短報文通信[6]功能,此功能彌補了無線網絡覆蓋不足的問題。
本文設計的基于北斗衛(wèi)星的漁船監(jiān)控系統(tǒng)架構如圖1所示。該漁船監(jiān)控系統(tǒng)由船載設備和岸上監(jiān)控中心兩大部分組成,其中船載設備主要由主控模塊(核心是ARM處理器)、北斗終端模塊和電源模塊三部分組成;岸上監(jiān)控中心主要由北斗指揮型終端機和PC機兩部分組成,其中PC機是該監(jiān)控中心的上位機,通過設計的岸上系統(tǒng)軟件實現(xiàn)對船舶監(jiān)控的功能。
系統(tǒng)工作過程如下:
1) 船舶定位信息的獲取。船載北斗定位終端模塊采用RNSS無源定位的方式,通過接收4顆不同的北斗二號衛(wèi)星發(fā)出的偽碼擴頻調制導航信號,利用4個偽距方程聯(lián)立求解的方法,解算出船舶的精確位置坐標值和北斗系統(tǒng)時間值等信息;
2) 船舶定位數(shù)據(jù)的傳輸。船舶定位信息的傳輸利用北斗系統(tǒng)短報文通信方式,在北斗衛(wèi)星通信協(xié)議[7]中,每個北斗終端的ID卡是唯一的,所有短報文通信均由北斗衛(wèi)星地面站接收后轉發(fā)。船載北斗終端將包含接收方ID號和船舶定位信息的通訊申請信號加密后通過北斗衛(wèi)星轉發(fā)給北斗衛(wèi)星地面站,北斗衛(wèi)星地面站將收到的通訊申請信號脫密和再加密加入北斗衛(wèi)星出站電文中,岸上監(jiān)控中心的北斗指揮型終端機作為接收方接收出站信號,解調解密北斗衛(wèi)星出站電文獲得船舶定位數(shù)據(jù);
3) 岸上監(jiān)控中心船舶定位數(shù)據(jù)的獲取。北斗指揮機接收船舶定位數(shù)據(jù)后,通過串行接口傳入岸上監(jiān)控中心。岸上監(jiān)控中心將船舶定位數(shù)據(jù)與PC計算機系統(tǒng)上的電子地圖進行匹配,以便于在獲得漁船的遇險報警信號后及時定位漁船所在位置,準確地進行海上救助,縮短了后期應急保障流程的時間,有效的避免了海上救援地盲目性。
基于北斗衛(wèi)星的漁船監(jiān)控系統(tǒng)總體結構設計主要包括船載設備硬件設計和系統(tǒng)軟件設計(船載設備軟件設計和岸上監(jiān)控中心上位機軟件設計)兩大部分。
該系統(tǒng)的船載設備硬件采用了模塊化設計,具有結構簡單、功能強大、操作便利等優(yōu)點,其硬件模塊組成框圖如圖2所示,主要由主控模塊、北斗模塊和電源模塊等三部分組成。主控模塊是船載硬件的核心模塊,采用ARM處理器,其主要功能是將北斗定位模塊輸出定位數(shù)據(jù)進行處理。北斗模塊由北斗定位模塊、北斗報文通信模塊和北斗天線模塊組成,可實現(xiàn)船舶定位、報文通信功能。
主控部分選用基于SamSung S3C2440AL-40(ARM9)內核的TX-2440A,硬件開發(fā)板如圖3所示,S3C2440AL-40處理器具有低成本、低功耗、高性能等優(yōu)點,配備了16 MB的NOR FLASH、128 MB的SDRAM和256 MB的NAND FLASH以滿足Linux操作系統(tǒng)所需要的內存。該處理器模塊是整個硬件系統(tǒng)的核心模塊,可完成定位原始數(shù)據(jù)的解析、數(shù)據(jù)通信格式轉換、數(shù)據(jù)存儲格式轉換、數(shù)據(jù)顯示格式轉換、衛(wèi)星通信狀態(tài)監(jiān)測、傳感器工作狀態(tài)監(jiān)測和供電狀態(tài)監(jiān)測等功能,利用看門狗實現(xiàn)電路錯誤的自動復位。北斗模塊與ARM處理器通過RS232接口進行連接,RS232串行口定位數(shù)據(jù)傳輸采用異步傳輸?shù)姆绞?同時該處理器還集成了SD卡讀寫控制器、LCD與觸摸屏接口、UART串口、2個USB接口、多個I/O接口和1個可掛接大容量硬盤的IDE接口[8],用戶可通過I/O接口對必要的需求進行擴展。
北斗模塊的定位、報文通信功能分別通過北斗定位模塊和北斗通信模塊實現(xiàn)。其中北斗定位模塊選用和芯星通公司的UM220-III N芯片,該芯片能夠同時支持BD2 B1、GPS L1兩頻點,可實現(xiàn)北斗/GPS單模、雙模靈活定位模式,并且具有體積小(40 mm×30 mm×3.7 mm)、功耗低(350 mW)、集成度強等優(yōu)點,其定位精度高達3 m,速度精度高達0.1 m/s,該模塊結構框圖如圖4所示。北斗天線接收到的北斗衛(wèi)星信號經過LNA和SAW進行低噪聲放大和射頻濾波,再經過RF IC進行變頻處理,將收到的北斗射頻信號轉換成模擬中頻信號,然后通過AD轉換成2 Bit或4 Bit的數(shù)字信號(其中最高位為符號位),送入Soc集成電路芯片,通過Soc完成對北斗信號的捕獲、 跟蹤、導航電文解調解碼、原始觀測量提取等功能,并可以通過數(shù)據(jù)總線接口輸出導航電文、原始觀測量,根據(jù)原始觀測量北斗定位模塊可計算出船舶的定位信息。
北斗通信模塊采用萊特公司生產的北斗短報文收發(fā)一體機,該一體機集成了RDSS天線、射頻收發(fā)電路、功放電路、基帶電路等,產品集成度高、功耗低,可實現(xiàn)全天候的北斗短報文通信功能。
本系統(tǒng)的軟件設計主要包括兩部分:船載設備軟件設計和岸上監(jiān)控中心上位機軟件設計。
系統(tǒng)的船載設備軟件流程圖如圖5所示。首先,要對各個模塊進行初始化,包括北斗模塊的初始化、ARM處理器初始化,兩者均為串口初始化,并配置主控單元的各個端口。在Linux操作環(huán)境中,ARM處理器通過serial_init函數(shù)對串口進行初始化,命令符$CFGPRT,3,h0,38 400,3,3,設置北斗模塊的波特率為38 400 bps[9]。串口初始化設置后,UM220-III N模塊接收到指令開始工作,將捕獲的船舶定位數(shù)據(jù)經串口傳輸至ARM處理器模塊,ARM處理器接收該定位數(shù)據(jù),并將數(shù)據(jù)按照北斗報文協(xié)議進行處理,編碼封裝完畢的報文內容通過北斗一體機進行報文傳輸,并程序設定定位系統(tǒng)的短報文通信頻率為每分鐘一次。
上位機接收北斗定位數(shù)據(jù)并嵌套Goolge Map[10],使得船舶位置在地圖上實時顯示。上位機與北斗指揮機連接采用串口通信的連接方式,所以在上位機軟件設計上需調用串口類。為實現(xiàn)目標功能,本設計采用API函數(shù)進行串口通信,同時Goolge Map提供了API接口,使得用戶可對其進行二次開發(fā)。上位機軟件的工作流程如圖6所示。上位機接收到船載北斗終端發(fā)來的數(shù)據(jù)后,將數(shù)據(jù)進行存儲,為了提高定位精度,在軟件設計時采用卡爾曼濾波器[11]對接收到的定位數(shù)據(jù)進行過濾,去除收到的不規(guī)則數(shù)據(jù),該方法操作簡單、可移植性好。解析數(shù)據(jù)后調用API函數(shù),程序自動打開地圖,顯示船舶位置等信息。
基于北斗衛(wèi)星的漁船監(jiān)控系統(tǒng)為實現(xiàn)對遇險船舶及時搜救的功能,需要確認船載北斗定位終端的定位精度。為了驗證北斗定位數(shù)據(jù)的精確性,本試驗選用市面上比較成熟的GPS定位儀Garmin 62sc(定位精度高達2.5 m)與北斗定位終端定位信息對比,在校園內選取多個地點測量,同一地點分別用Garmin 62sc和北斗定位終端對該地點的經緯度進行測量,移動北斗定位終端位置直至其經緯度數(shù)據(jù)與Garmin 62sc顯示的定位數(shù)據(jù)相同,測得北斗定位終端和Garmin 62sc之間的位置距離,即為誤差距離。多次測量后剔除異常數(shù)據(jù),得到部分試驗測試數(shù)據(jù),如表1所示,對比可知,北斗定位終端定位數(shù)據(jù)與Garmin 62sc測得數(shù)據(jù)誤差較小,故該北斗定位終端可用于漁船監(jiān)控系統(tǒng)。
表1 試驗測試數(shù)據(jù)
為驗證上位機軟件運行是否良好,選取上海海洋大學一處湖泊進行試驗。上位機通過調用API函數(shù)北斗指揮機之間的消息互通,在監(jiān)控界面上可觀測當前船舶經緯度信息, 如圖7所示,監(jiān)控系統(tǒng)可根據(jù)船載北斗定位終端傳回的位置信息模擬出船舶航行軌跡,圖中白色線條為船舶的航行軌跡。
該系統(tǒng)的設計過程采用由部分到整體的方法,先對單個模塊的軟硬件進行設計與調試,再將單個模塊組裝進行調試。試驗結果表明:該系統(tǒng)軟硬件工作正常,上位機接收數(shù)據(jù)正常,船舶位置監(jiān)控良好,達到系統(tǒng)設計的要求。
本文以ARM處理器為船載硬件設備的主控部分,利用北斗模塊獲取船舶定位信息,通過北斗系統(tǒng)短報文通信功能將船舶定位數(shù)據(jù)進行傳輸,上位機將接收到的船舶定位數(shù)據(jù)利用卡爾曼濾波算法過濾處理,并在程序中嵌套Goolge Map,最終定位數(shù)據(jù)轉換成Goolge Map模式,實現(xiàn)對船舶位置的監(jiān)控,可以改善目前漁舶遇險搜救不及時的問題。下一階段將嘗試接入GPRS通信模塊,在近海海域使用無線通信的方式,有利于節(jié)省北斗系統(tǒng)衛(wèi)星資源、降低成本。