基于IDP衛(wèi)星通信模塊的遠洋船舶實時監(jiān)控系統(tǒng)
摘要:針對遠洋中無GPRS信號不能進行無線通信的問題,設計了以STM32F103VCT6單片機與IDP衛(wèi)星通信模塊為平臺的遠洋船舶實時監(jiān)控系統(tǒng)。本系統(tǒng)具有高精準度、實時性強、全天候監(jiān)控等特點。給出了系統(tǒng)的工作原理、硬件設計與軟件實現(xiàn)方法,詳細分析了中央控制模塊、GPS定位信息采集模塊、無線通信模塊。實驗結果驗證了采用STM32F103VCT6單片機與IDP衛(wèi)星通信模塊設計遠洋船舶監(jiān)控系統(tǒng)的可行性。通過該系統(tǒng),可實時監(jiān)控遠洋船舶的地理位置信息以及其他信息,最大限度地確保遠洋船舶航運中的安全。
引言
本文采用ARM芯片作為控制核心,設計了一款以GPS定位模塊與衛(wèi)星通信模塊為依托的遠洋船舶實時監(jiān)控系統(tǒng)。該系統(tǒng)能夠按照用戶要求定時上傳遠洋船舶的位置信息以及航向信息,解決了傳統(tǒng)船舶定位和救援中出現(xiàn)的問題,保證了船舶動態(tài)監(jiān)測及時、準確、可靠。同時該系統(tǒng)方便擴展其他功能,以便獲得更廣泛的應用。
1 系統(tǒng)整體設計
搭載在船舶上的專用電路板實時采集船舶的位置、速度、航向、SOS報警等信息。專用電路板將采集到的數(shù)據(jù)處理后,經(jīng)衛(wèi)星通信模塊發(fā)送至海事通信衛(wèi)星,通過海事衛(wèi)星將數(shù)據(jù)傳輸?shù)降孛娼邮照竟┙o用戶使用。系統(tǒng)整體框圖如圖1所示。
2 系統(tǒng)硬件設計
2.1 硬件總體設計
硬件系統(tǒng)采取模塊化設計,主要分為中央處理模塊、GPS定位模塊以及衛(wèi)星通信模塊等,硬件結構如圖2所示。數(shù)據(jù)的加工處理及輸入/輸出控制由ST公司的STM32F103VCT6處理器完成。處理器接收到GPS數(shù)據(jù)后對數(shù)據(jù)處理并定時上傳加工后的定位數(shù)據(jù)至地面接收站。GPS定位模塊采用Globalsat公司的ET-314,通過該模塊實時更新GPS定位數(shù)據(jù)。衛(wèi)星通信模塊采用加拿大Skywave公司的IDP衛(wèi)星通信模塊,該模塊通過國際海事衛(wèi)星(Inmarsat)來實現(xiàn)與地面接收站之間的全天候、廣區(qū)域、高可靠性的雙向通信。為了備份長時間的定位數(shù)據(jù),采用了SST公司的SST25VF016B芯片作為外部Flash來實現(xiàn)數(shù)據(jù)存儲的功能。
2.2 中央控制模塊
本系統(tǒng)采用STM32F103VCT6處理器作為主控制芯片。STM32F103VCT6是32位的具備Cortex-M3內(nèi)核的處理器,最高工作頻率可達72 MHz。
中央控制模塊STM32F103VCT6作為本系統(tǒng)設計的核心部分,負責數(shù)據(jù)地采集、分析、加工以及安排數(shù)據(jù)上傳工作。GPS原始數(shù)據(jù)會實時傳遞至MCU的串口緩沖區(qū)。MCU驗證處理后,通過串口發(fā)送至衛(wèi)星通信模塊。SOS報警信息通過設定的GPIO口發(fā)送至MCU,通過衛(wèi)星通信模塊上傳至地面接收站。本模塊硬件原理圖略——編者注。
2.3 GPS定位模塊
定位模塊采用Globalsat公司的Globalsat ET-314芯片,來實現(xiàn)船舶的位置定位與速度采集。Globalsat ET-314模塊使用了SIRF III芯片,具備快速定位、定位精度高、啟動時間短以及探測范圍廣的優(yōu)點。使用Globalsat ET-314模塊實現(xiàn)功能如下:
①精確地采集到地理位置信息。Globalsat ET-314模塊定位的精確度為10 m。
②精確地采集時間信息。Globalsat ET-314模塊采集到的時間與GPS時間保持1μs的同步關系。
GPS定位的基本方法為空間距離后方交會,此方法需要知道衛(wèi)星瞬間位置。如圖3所示,假設t時刻在地面上的待測地點放置GPS信號接收機,測定出GPS信號到達此處接收機的時間為△t,根據(jù)其他已知條件確定以下4個方程式。其中已知衛(wèi)星1,衛(wèi)星2、衛(wèi)星3、衛(wèi)星4以及地面接收站的地理坐標分別為(x1,y1,z1)、(x2,y2,z2)、(x3,y3,z3)、(x4,y4,z4)、(x,y,z);d1,d2,d3,d4為測量偽距;c為光速;
dt為衛(wèi)星時鐘偏差;dT1,dT2,dT3,dT4為GPS的接收時鐘偏差項。
通過聯(lián)立這4個方程式,可以得到接收機的地理坐標。GPS定位模塊的原理圖如圖4所示,GPS通過串口與MCU獲得通信。
2.4 衛(wèi)星通信模塊
衛(wèi)星通信模塊選用的是加拿大Skywave公司的衛(wèi)星通信模塊IDP。IDP的通信基于國際海事衛(wèi)星,通信全球覆蓋不受外界因素限制。IDP還具備傳輸數(shù)據(jù)能力強的優(yōu)點,其單次發(fā)送數(shù)據(jù)可達6 400字節(jié),單次接收的數(shù)據(jù)量可達10 000字節(jié)。IDP支持二次開發(fā),方便用戶將IDP接入其他產(chǎn)品中使用。
國際海事衛(wèi)星通信系統(tǒng)是世界上第一個全球性的移動業(yè)務衛(wèi)星通信系統(tǒng)。Inmarsat通信系統(tǒng)基本是由四部分組成,即空間段、網(wǎng)絡協(xié)調(diào)站(Network Coordination Station)、衛(wèi)星地面站(Land Earth Station)和衛(wèi)星船站(Mobile Earth Station)。IDP680即為衛(wèi)星船站。發(fā)送信息經(jīng)衛(wèi)星地面站處理后經(jīng)專用網(wǎng)關轉發(fā)至用戶服務器供用戶分析使用。終端發(fā)起通信流程如圖5所示。
IDP680為用戶提供了4個可配置I/O口以及1路RS232、1路RS458串口方便用戶集成使用。其接口定義圖略——編者注。
配置衛(wèi)星通信模塊使用中斷方式接收MCU通過串口傳輸過來的數(shù)據(jù)。校驗正確后,衛(wèi)星通信模塊執(zhí)行發(fā)送數(shù)據(jù)功能。用戶發(fā)送的遠程指令,衛(wèi)星通信模塊接收后通過串口傳輸至MCU,MCU使用中斷方式處理串口傳輸過來的數(shù)據(jù)。校驗正確后,執(zhí)行相應的命令動作。
2.5 數(shù)據(jù)存儲模塊
數(shù)據(jù)存儲采用了1片1 M x 16位的SST25VF016B芯片。上傳的定位數(shù)據(jù)包為27個字節(jié),總共可以存儲(2x 1 024×1 024)/27=77 672條定位數(shù)據(jù)。按照每分鐘存儲一條定位數(shù)據(jù)的頻率,共計可以存儲77 672/(60×24)=53天的定位數(shù)據(jù)。
3 系統(tǒng)軟件設計
3.1 軟件整體設計
系統(tǒng)硬件設計完成之后,就要進行軟件的設計。對軟件同樣采用模塊化的設計思想。軟件方面主要包括了主程序模塊、GPS定位數(shù)據(jù)采集模塊以及無線通信模塊。衛(wèi)星通信模塊具備二次開發(fā)功能,還需對衛(wèi)星通信模塊進行專門的設計。系統(tǒng)軟件丁作流程如圖6所示。
3.2 STM32F103VCT6的啟動/UART使用過程
STM32F103VCT6芯片采用了Cortex-M3內(nèi)核,并且ST公司提供的固件庫中包括了啟動文件“stm32f10x_vector.s”。Cortex—M3內(nèi)核復位后,會自動從起始地址的下一個32位空間取出復位中斷入口向量,跳轉執(zhí)行復位中斷服務程序。STM32F103VCT6的啟動主要包括初始化堆和棧、向量表的定義和轉移、初始化中斷寄存器以及跳轉進入main主函數(shù)幾個過程。流程如圖7所示。
STM32F103VCT6的串口使用主要包括啟動外設時鐘、配置NVIC、配置GPIO口、配置串口、初始化串口、使能收發(fā)中斷、使能串口幾個過程。流程如圖8所示。
3.3 衛(wèi)星通信模塊軟件設計
衛(wèi)星通信模塊的串口配置情況如下:波特率設置為9 600 bps;數(shù)據(jù)位為8;校驗位設置為“None”;停止位為1。
衛(wèi)星模塊單獨采用Lua語言進行開發(fā)。Lua是一個小巧的腳本語言。該語言是針對嵌入式應用程序設計的,能為應用程序提供靈活的擴展和定制功能。Lua體積小、啟動速度快,從而適合嵌入在別的程序里。
使用LUA語言開發(fā)的衛(wèi)星通信模塊部分源代碼略——編者注。
3.4 信息軟件平臺設計
CS監(jiān)控平臺是用戶設備與監(jiān)控中心的信息軟件平臺。監(jiān)控軟件平臺可以動態(tài)展現(xiàn)船舶的實時位置情況,同時可以對船舶進行管理。
CS軟件平臺主要起到如下作用:對船舶進行跟蹤定位,了解船舶的作業(yè)情況;查詢海圖某點處的具體地理情況,包括海水深度、潮高等;距離測算。
4 測試結果
本文用深圳市內(nèi)5個地點作為測試樣本進行驗證性測試實驗。用定位準確性、長時間回傳數(shù)據(jù)穩(wěn)定性來評價設計的性能。驗證時,讓本系統(tǒng)在每個地點至少工作1天以上。
同時檢測實時數(shù)據(jù)上傳的準確性與Flash當中存儲數(shù)據(jù)的準確性?,F(xiàn)通過服務器接收到的地點1的部分定位數(shù)據(jù)作為例子說明定位的準確性,如圖9所示。
提取其中一條數(shù)據(jù)加以分析。十六進制的數(shù)據(jù)如下:1 5 18 CE C9 F1 46 BD 60 00 00 00 00 00 00 00 00 00 00 4A A1 78 67 F0 35。
對應的ASCII碼表示的數(shù)據(jù)如下:1518CEC9F1FBD