公務(wù)員期刊網(wǎng) 論文中心 正文

移動(dòng)網(wǎng)絡(luò)多功能航標(biāo)采集系統(tǒng)更新實(shí)現(xiàn)

前言:想要寫(xiě)出一篇引人入勝的文章?我們特意為您整理了移動(dòng)網(wǎng)絡(luò)多功能航標(biāo)采集系統(tǒng)更新實(shí)現(xiàn)范文,希望能給你帶來(lái)靈感和參考,敬請(qǐng)閱讀。

移動(dòng)網(wǎng)絡(luò)多功能航標(biāo)采集系統(tǒng)更新實(shí)現(xiàn)

摘要:隨著多功能航標(biāo)應(yīng)用的快速發(fā)展,多功能航標(biāo)采集系統(tǒng)在多功能航標(biāo)使用中的作用日益增大。對(duì)多功能航標(biāo)采集系統(tǒng)遠(yuǎn)程更新的功能需求就顯得尤為重要。本文根據(jù)移動(dòng)網(wǎng)絡(luò)的特點(diǎn),提出一種簡(jiǎn)單、可靠的遠(yuǎn)程更新多功能航標(biāo)采集系統(tǒng)的方法。

關(guān)鍵詞:航標(biāo);多功能航標(biāo);遠(yuǎn)程更新;移動(dòng)網(wǎng)絡(luò)

1.引言

港域環(huán)境監(jiān)測(cè)系統(tǒng)是一個(gè)建于港口,用于監(jiān)測(cè)港域海洋環(huán)境素(如水溫、潮流、流向、水位、風(fēng)力、風(fēng)向等),并為船舶進(jìn)出港、離靠泊提供安全保障的監(jiān)測(cè)服務(wù)網(wǎng)絡(luò)。其核心是及時(shí)將海洋環(huán)境要素觀測(cè)值予以傳輸和顯示。系統(tǒng)的使用更好地輔助海事管理人員進(jìn)行通航環(huán)境的監(jiān)測(cè)、日常船舶通行的管理以及水上交通安全事故的應(yīng)急處置工作,進(jìn)一步提升天津海事局船舶交通管理能力,并進(jìn)一步促進(jìn)提升天津海事局其海事業(yè)務(wù)信息化水平。多功能航標(biāo)作為觀測(cè)設(shè)備載體,航標(biāo)數(shù)據(jù)采集系統(tǒng)更是多功能航標(biāo)的核心。其通信手段可以采用移動(dòng)網(wǎng)絡(luò)(移動(dòng)、電信、聯(lián)通三大運(yùn)營(yíng)商)、北斗衛(wèi)星導(dǎo)航系統(tǒng)(短報(bào)文功能)、海事衛(wèi)星、甚高頻VHF(Veryhighfrequency)等。本文介紹一種基于移動(dòng)網(wǎng)絡(luò)通信的多功能航標(biāo)采集系統(tǒng)遠(yuǎn)程更新的實(shí)現(xiàn)。近年來(lái)隨著移動(dòng)網(wǎng)絡(luò)的大力建設(shè),擴(kuò)大了近海移動(dòng)網(wǎng)絡(luò)覆蓋區(qū)域,也為多功能航標(biāo)的大規(guī)模布放提供了通信支撐,加速推進(jìn)了多功能航標(biāo)的發(fā)展。移動(dòng)網(wǎng)絡(luò)作為多功能航標(biāo)數(shù)據(jù)交換的媒介已廣泛使用。依托移動(dòng)網(wǎng)絡(luò)對(duì)多功能航標(biāo)采集系統(tǒng)功能更新升級(jí)也成為一種手段,使用無(wú)線方式升級(jí)可以節(jié)省大量的人力、物力和財(cái)力。由于移動(dòng)網(wǎng)絡(luò)信號(hào)作用距離有限,并且受天氣、風(fēng)向等環(huán)境因素影響嚴(yán)重,大多數(shù)海上多功能航標(biāo)信號(hào)不夠穩(wěn)定,通信丟包情況嚴(yán)重,所以需要借助應(yīng)用內(nèi)編程、分包傳輸與中斷續(xù)傳等方式保證多功能航標(biāo)采集系統(tǒng)遠(yuǎn)程更新的可靠性和成功率。

2.關(guān)鍵技術(shù)

2.1應(yīng)用內(nèi)編程(IAP)

應(yīng)用內(nèi)編程(IAPInApplicationProgramming)即應(yīng)用內(nèi)編程,是用戶自己的程序在運(yùn)行過(guò)程中對(duì)UserFlash的部分區(qū)域進(jìn)行燒寫(xiě),目的是為了在產(chǎn)品后可以方便地通過(guò)預(yù)留的通信口對(duì)產(chǎn)品中的固件程序進(jìn)行更新升級(jí)。通常在實(shí)現(xiàn)IAP功能時(shí),即用戶程序在運(yùn)行過(guò)程中進(jìn)行自身程序的更新操作,需要在設(shè)計(jì)程序時(shí)編寫(xiě)兩個(gè)部分的代碼,第一個(gè)部分的程序不執(zhí)行正常的功能操作,只是通過(guò)某種通信管道(如USB、USART)接收程序或數(shù)據(jù),用來(lái)執(zhí)行對(duì)第二部分代碼的更新操作,第二個(gè)部分的代碼才是真正的功能代碼。這兩部分代碼都同時(shí)燒錄在UserFlash中,當(dāng)芯片上電后,第一部分代碼開(kāi)始運(yùn)行,檢查是否需要對(duì)第二部分代碼進(jìn)行更新,如果需要更新就直接運(yùn)行第二部分代碼,如果需要更新,先執(zhí)行更新操作,等更新完成后執(zhí)行第二部分代碼。本文的IAP功能的實(shí)現(xiàn),使用基于ArmCoretex-M3架構(gòu)的STM32F10x系列芯片。STM32復(fù)位后,從0x08000004地址取出復(fù)位中斷向量的地址,并跳轉(zhuǎn)到復(fù)位中斷服務(wù)程序,在運(yùn)行完復(fù)位中斷服務(wù)程序之后跳轉(zhuǎn)到IAP的main函數(shù)。在執(zhí)行完IAP以后跳轉(zhuǎn)至新寫(xiě)入程序的復(fù)位向量表,取出新程序的復(fù)位中斷向量的地址,并跳轉(zhuǎn)執(zhí)行新程序的復(fù)位中斷服務(wù)程序,隨后跳轉(zhuǎn)至新程序的main函數(shù)。

2.2分包傳輸與中斷續(xù)傳

盡管在陸地上移動(dòng)網(wǎng)絡(luò)覆蓋范圍很廣,但在近海很多區(qū)域移動(dòng)網(wǎng)絡(luò)信號(hào)強(qiáng)度有限,尤其是部分區(qū)域信號(hào)非常弱并且不穩(wěn)定,網(wǎng)絡(luò)連接時(shí)斷時(shí)續(xù),這對(duì)遠(yuǎn)程更新的實(shí)現(xiàn)提出了不小的挑戰(zhàn)。本文提出分包傳輸和記錄中斷續(xù)傳的方式,用來(lái)提高傳輸?shù)姆€(wěn)定性和可靠性。

3.實(shí)現(xiàn)方式

3.1更新流程

整個(gè)數(shù)據(jù)傳輸過(guò)程為應(yīng)答-響應(yīng)模式,啟動(dòng)更新升級(jí)模式后,根據(jù)本地保存的已更新的數(shù)據(jù)包,請(qǐng)求遠(yuǎn)程服務(wù)器未更新的數(shù)據(jù)包,然后進(jìn)行校驗(yàn),如果校驗(yàn)成功就保存數(shù)據(jù)包,直到所有數(shù)據(jù)包更新完畢。其中,每次應(yīng)答都需要有超時(shí)控制,流程見(jiàn)下圖。

3.2數(shù)據(jù)幀格式定義

所有傳輸?shù)挠行?shù)據(jù)均是數(shù)據(jù)幀中的載荷數(shù)據(jù),數(shù)據(jù)幀包括數(shù)據(jù)長(zhǎng)度、CRC16校驗(yàn)碼、payload數(shù)據(jù)和幀分隔符四部分,具體內(nèi)容和所占字節(jié)見(jiàn)表1。請(qǐng)求更新的消息結(jié)構(gòu)和更新時(shí)的數(shù)據(jù)消息結(jié)構(gòu)兩類不同的數(shù)據(jù)類型根據(jù)消息類型來(lái)區(qū)分。見(jiàn)表2和表3。更新的數(shù)據(jù)包采用CRC64校驗(yàn),保證數(shù)據(jù)的可靠性。請(qǐng)求更新的消息結(jié)構(gòu)和更新時(shí)的數(shù)據(jù)消息結(jié)構(gòu)的消息頭格式見(jiàn)表4。

4.結(jié)語(yǔ)

本文的提出的一種基于移動(dòng)網(wǎng)絡(luò)多功能航標(biāo)采集系統(tǒng)遠(yuǎn)程更新的實(shí)現(xiàn)方案,在實(shí)際使用中的一次更新成功率很高,還未出現(xiàn)過(guò)多次更新不成功的情況。但有一種情形需考慮,因更新時(shí),每成功接收一包數(shù)據(jù),更新一次flash中的數(shù)據(jù),這個(gè)過(guò)程必須持續(xù)結(jié)束才可以。如果網(wǎng)絡(luò)信號(hào)長(zhǎng)時(shí)間不穩(wěn)定,就會(huì)導(dǎo)致正常業(yè)務(wù)功能長(zhǎng)時(shí)間無(wú)法工作。為解決此問(wèn)題,可以考慮將flash中的用戶數(shù)據(jù)區(qū)域分為兩部分,一部分為更新下載的數(shù)據(jù)區(qū)域,另一部分為原來(lái)的用戶數(shù)據(jù)在區(qū)域,只有在全部下載完畢后,才跳轉(zhuǎn)到更新后的區(qū)域,保證如果網(wǎng)絡(luò)長(zhǎng)時(shí)間不穩(wěn)定,可以切換回原先的業(yè)務(wù)流程,擇機(jī)再繼續(xù)更新,這樣不會(huì)長(zhǎng)時(shí)間中斷正常的業(yè)務(wù)功能。雖然實(shí)際使用中還未遇見(jiàn)過(guò)此類極端的情況,但可以作為今后優(yōu)化完善的方向。

作者:張義欣 吳昊 黃加順 單位:天津海事局