馬中海,韓宏亮,陳鑫旺
(南京熊貓漢達(dá)科技有限公司,江蘇 南京 210014)
衛(wèi)星通信的通信覆蓋面非常廣,通信容量大,能夠多播、廣播;通信質(zhì)量好,建設(shè)成本與其他通信相比較低,而且衛(wèi)星通信受環(huán)境的制約非常小,所以現(xiàn)在衛(wèi)星通信已經(jīng)成為各種遠(yuǎn)距離通信里面較為主要的一種通信方式[1]。衛(wèi)星通信的以上特性,使其能完成一些別的通信方式無(wú)法完成的工作,在傳播信息的手段里面,它的地位非常重要,因此許多的國(guó)家都把發(fā)展衛(wèi)星技術(shù)作為國(guó)家戰(zhàn)略部署的重要方針[2]。近年來(lái),各個(gè)國(guó)家都表現(xiàn)出對(duì)衛(wèi)星通信的重視,發(fā)射了各種各樣的衛(wèi)星。通信衛(wèi)星能夠作為地面移動(dòng)站、機(jī)載站、艦載站等終端的通信中繼,各種各樣的衛(wèi)星為人類提供了不可替代的便利,也為人類文明與科技發(fā)展建設(shè)提供了非常寶貴的課題資源[3]。因此,衛(wèi)星通信在飛速發(fā)展的現(xiàn)代起著不可替代的作用。
衛(wèi)星通信系統(tǒng)包括地球站和管理站兩種站型,地球站之間可以互相傳輸業(yè)務(wù),管理站負(fù)責(zé)資源分配以及地球站的管理。當(dāng)一個(gè)地球站要和另一個(gè)地球站通信時(shí),會(huì)向管理站發(fā)送通信請(qǐng)求,管理站將請(qǐng)求信息交與服務(wù)器處理。如符合通信條件,則會(huì)為通信的兩個(gè)地球站分配頻點(diǎn)、功率等衛(wèi)星資源。這樣兩地球站就能傳輸業(yè)務(wù)。衛(wèi)星通信原理如圖1所示。
圖1 衛(wèi)星通信原理
軟件更新的主要方式有以下4種[4]。
1.2.1 更換已經(jīng)固化的軟件芯片
將所需更新的芯片從目標(biāo)板上面取下,用專門(mén)的燒寫(xiě)工具燒寫(xiě)新的程序。燒寫(xiě)完畢后重新安裝至目標(biāo)板上,重新啟動(dòng)系統(tǒng)。
1.2.2 與PC連接進(jìn)行軟件更新
用戶到服務(wù)商拿到新版本的軟件,將新的軟件拷貝到電腦里。將要更新的芯片通過(guò)一定的接口與PC電腦相連,從上位機(jī)將新的程序下載到目標(biāo)板中。
1.2.3 登錄服務(wù)網(wǎng)站進(jìn)行更新
通過(guò)電腦利用互聯(lián)網(wǎng)登錄服務(wù)網(wǎng)站,下載產(chǎn)品的更新軟件到電腦中。再利用目標(biāo)板與電腦的通信,將升級(jí)的程序燒寫(xiě)到目標(biāo)板的存儲(chǔ)器中。
1.2.4 在應(yīng)用編程
通過(guò)遠(yuǎn)程通信方式對(duì)目標(biāo)板進(jìn)行在線燒寫(xiě)更新,這樣實(shí)現(xiàn)了軟件的動(dòng)態(tài)升級(jí),無(wú)需拆除數(shù)據(jù)傳輸終端。
目前電子產(chǎn)品升級(jí)技術(shù)正興起于電子電路研制、生產(chǎn)、功能不全、設(shè)備更新能力差、故障診斷等方面。它的出現(xiàn)大大提高了電子產(chǎn)品的質(zhì)量可靠性,縮短了電子設(shè)備的維護(hù)時(shí)間,大幅度降低了電子設(shè)備的更新、檢修費(fèi)用[5]。
嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟件硬件可裁剪,適用于系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng),是一種軟硬件高度結(jié)合的產(chǎn)物,其系統(tǒng)功能實(shí)現(xiàn)的關(guān)鍵在于經(jīng)過(guò)高效率設(shè)計(jì)的各類應(yīng)用軟件。
隨著互聯(lián)網(wǎng)應(yīng)用的日益普及,信息共享程度逐步提高。對(duì)于以單片機(jī)應(yīng)用系統(tǒng)為中心的小型嵌入式設(shè)備,怎樣利用方便的互聯(lián)網(wǎng)資源將嵌入式設(shè)備的信息共享到互聯(lián)網(wǎng),成為當(dāng)今電子世界中非常的熱門(mén)話題。傳統(tǒng)的互聯(lián)網(wǎng)應(yīng)用以PC為中心,當(dāng)代的互聯(lián)網(wǎng)應(yīng)用將轉(zhuǎn)向以嵌入式設(shè)備為中心。經(jīng)網(wǎng)絡(luò)專家預(yù)測(cè),將來(lái)在互聯(lián)網(wǎng)上傳輸?shù)男畔?dāng)中,將有70%的信息來(lái)自于小型嵌入式系統(tǒng)。小型嵌入式系統(tǒng)接入互聯(lián)網(wǎng)后,應(yīng)用軟件和系統(tǒng)都可以很方便地進(jìn)行遠(yuǎn)程升級(jí)。很多路由器等都具有遠(yuǎn)程升級(jí)的功能。
綜上,對(duì)于地球站,拆除目標(biāo)板或登錄網(wǎng)站更新的方法不適用,我們以往設(shè)計(jì)的更新軟件方法為用PC本地升級(jí)。然而地球站分布在全球的各個(gè)區(qū)域,設(shè)備出廠后,通過(guò)PC本地升級(jí)的成本極大。本文仿照互聯(lián)網(wǎng)上的嵌入式設(shè)備軟件遠(yuǎn)程升級(jí)功能,設(shè)計(jì)一種利用衛(wèi)星通信來(lái)遠(yuǎn)程升級(jí)軟件的方法。
1.4.1 總體設(shè)計(jì)
由于所有地球站都接受管理站的管理,我們?cè)诠芾碚九渲靡粋€(gè)用于軟件更新的信道設(shè)備,該設(shè)備以廣播的方式下發(fā)軟件數(shù)據(jù),地球站接收到數(shù)據(jù)后保存至本地文件系統(tǒng),即可完成本地軟件的遠(yuǎn)程升級(jí)。地球站只接收管理站的數(shù)據(jù),不會(huì)發(fā)送信息給管理站,這樣節(jié)省了衛(wèi)星資源。由于衛(wèi)星信道可能受到干擾,導(dǎo)致數(shù)據(jù)丟包,為了確保軟件更新的可靠性,管理站下發(fā)的每包數(shù)據(jù)重發(fā)3次,地球站對(duì)于同樣的幀只處理一次。
1.4.2 數(shù)據(jù)幀格式設(shè)計(jì)
衛(wèi)星管理站發(fā)的幀類型有兩種:文件信息幀和數(shù)據(jù)幀。
文件信息幀中的幀類型長(zhǎng)度為一個(gè)字節(jié),值固定設(shè)為1;文件名長(zhǎng)度最長(zhǎng)為15個(gè)字節(jié),為要升級(jí)軟件的文件名;版本號(hào)為要升級(jí)軟件的版本號(hào),地球站與當(dāng)前軟件版本號(hào)比對(duì),如不同則進(jìn)行軟件升級(jí);數(shù)據(jù)包數(shù)為管理站要發(fā)送的數(shù)據(jù)包總數(shù),與數(shù)據(jù)幀中最大的幀序號(hào)相等;消息摘要算法第5版(Message Digest Algorithm,MD5)校驗(yàn)長(zhǎng)度為16個(gè)字節(jié),地球站接收文件完畢后,計(jì)算MD5校驗(yàn),與此MD5比較,如不同則放棄此次軟件升級(jí),重新執(zhí)行升級(jí)流程,相同則文件升級(jí)成功。文件信息幀格式如表1所示。
表1 文件信息幀
1.4.3 程序流程設(shè)計(jì)
地球站收到管理站發(fā)送的數(shù)據(jù)包后,首先要判斷是否為文件信息幀,如是文件信息幀則保存文件信息幀中的所有信息字段,并與本地軟件版本比較,如版本不同則繼續(xù)接收數(shù)據(jù)并作相應(yīng)處理,相同則表示本地軟件已為最新,無(wú)須更新,結(jié)束升級(jí)流程。如接收的為數(shù)據(jù)幀則要作去重處理,還要判斷數(shù)據(jù)是否為最后一包。最后要計(jì)算文件的MD5,并與文件信息幀中的MD5值對(duì)比,相同則文件接收正確,結(jié)束升級(jí)流程;不同則文件接收錯(cuò)誤,重新執(zhí)行升級(jí)流程。具體流程如圖2所示。
圖2 程序流程
本文針對(duì)地球站分布區(qū)域廣,現(xiàn)場(chǎng)PC升級(jí)成本極高的缺陷,提出了通過(guò)衛(wèi)星信道遠(yuǎn)程升級(jí)的方案。該方案可以同時(shí)為分布在各個(gè)區(qū)域的地球站提供遠(yuǎn)程升級(jí)服務(wù),地球站只要能成功對(duì)星,隨時(shí)隨地都可以使自己的軟件保持最新?tīng)顟B(tài),不僅提升了用戶體驗(yàn),還能極大地節(jié)約設(shè)備維護(hù)成本。