王凱悅,李昊昱,周 斌,郭玉潔,馬 浩
(中國(guó)航空工業(yè)集團(tuán)公司西安航空計(jì)算技術(shù)研究所,陜西 西安 710068)
利用飛機(jī)直接向云中播撒催化劑實(shí)現(xiàn)人工影響天氣的手段具有機(jī)動(dòng)性強(qiáng)、載量大、作業(yè)范圍廣等優(yōu)點(diǎn)。在增雨機(jī)任務(wù)系統(tǒng)中,空地通信子系統(tǒng)主要負(fù)責(zé)作業(yè)人員與地面指揮中心的短消息視頻聯(lián)系以及作業(yè)信息、大氣探測(cè)信息、飛機(jī)狀態(tài)信息等和相關(guān)文件的傳輸[1-3]。通過以太網(wǎng)與海事衛(wèi)星通信系統(tǒng)交聯(lián),實(shí)現(xiàn)基于用戶數(shù)據(jù)報(bào)協(xié)議(User Datagram Protocol,UDP)的數(shù)據(jù)傳輸和視頻通信;通過RS422總線與北斗衛(wèi)星通信系統(tǒng)交聯(lián),借助北斗短報(bào)文完成作業(yè)信息下傳和短消息通信[4-8]。本文提出了一種機(jī)載多路數(shù)據(jù)空地通信軟件設(shè)計(jì)方法,并采用多重備份結(jié)構(gòu),實(shí)現(xiàn)了空中作業(yè)過程中穩(wěn)定可靠的信息傳輸[9]。與此同時(shí),為提高用戶使用體驗(yàn),方便對(duì)傳輸信息進(jìn)行選擇和設(shè)置,增加了可視化的圖形用戶界面[10]。
空地通信軟件應(yīng)能與地面指揮中心進(jìn)行通信,實(shí)現(xiàn)圖片、文件、文本短信的上下傳輸,具備地面和空中的實(shí)時(shí)視頻通話功能,能夠選擇下傳數(shù)據(jù)種類傳輸間隔,實(shí)現(xiàn)數(shù)據(jù)傳輸控制。空地通信軟件界面如圖1所示,主要包括北斗通信、海事衛(wèi)星通信、數(shù)據(jù)傳輸控制3部分。

圖1 軟件界面
北斗、海事通信界面均由通信錄和實(shí)時(shí)通信界面兩部分組成。通信錄可在消息提示和聯(lián)系人列表間自由切換,選擇列表中的聯(lián)系人即可在實(shí)時(shí)通信界面查看與該聯(lián)系人所有聊天信息,在對(duì)話框輸入短信并發(fā)送。海事通信界面還設(shè)置有文件傳輸、視頻通話等按鈕,可在選擇聯(lián)系人后傳輸文件或進(jìn)行視頻通話。數(shù)據(jù)傳輸控制界面用于管理相關(guān)機(jī)載信息,并通過海事衛(wèi)星實(shí)現(xiàn)機(jī)載信息的發(fā)送功能。可對(duì)復(fù)選框內(nèi)容進(jìn)行勾選,實(shí)現(xiàn)相關(guān)數(shù)據(jù)的手動(dòng)發(fā)送和停止,可在設(shè)置維護(hù)頁(yè)面統(tǒng)一調(diào)整所有下傳信息的傳輸頻率。數(shù)據(jù)優(yōu)先級(jí)規(guī)則:作業(yè)數(shù)據(jù)包的優(yōu)先級(jí)最高,視頻通話優(yōu)先級(jí)次之,音頻通話第三,短信數(shù)據(jù)包第四,最后再是文件傳輸。數(shù)據(jù)互傳時(shí)手動(dòng)優(yōu)于自動(dòng),手動(dòng)包括作業(yè)方案、截圖和視頻;作業(yè)信息優(yōu)于大氣探測(cè)信息。空地通信系統(tǒng)上下傳數(shù)據(jù)見下表1。

表1 空地通信信息傳輸數(shù)據(jù)表
增雨機(jī)任務(wù)系統(tǒng)由大氣探測(cè)系統(tǒng)、催化作業(yè)系統(tǒng)以及空地通信系統(tǒng)集成。其中,空地通信子系統(tǒng)由兩臺(tái)顯控計(jì)算機(jī)、機(jī)載通信綜合控制設(shè)備、北斗接收機(jī)以及海事衛(wèi)星通信系統(tǒng)組成,各部分通過以太網(wǎng)、串口進(jìn)行通信,如圖2所示。

圖2 系統(tǒng)組成
顯控計(jì)算機(jī)通過1路10 M/100 M自適應(yīng)以太網(wǎng)接口與機(jī)載千兆網(wǎng)絡(luò)交換機(jī)交聯(lián),向通信控制設(shè)備發(fā)送大氣探測(cè)信息、作業(yè)信息、圖片、設(shè)備狀態(tài)、作業(yè)方案以及短報(bào)文等;通過RS422總線與機(jī)載北斗交聯(lián),發(fā)送短報(bào)文和作業(yè)信息。同時(shí)通信控制設(shè)備與衛(wèi)通交聯(lián),將從顯控收到的相關(guān)信息發(fā)至地面指揮中心,并向顯控提供地面上傳的作業(yè)方案、圖片、視頻信息以及短報(bào)文等。通信控制設(shè)備與顯控之間采用基于UDP的數(shù)據(jù)包傳輸,并在UDP標(biāo)準(zhǔn)協(xié)議基礎(chǔ)上增加握手機(jī)制,以保證數(shù)據(jù)通信的可靠性。基于文件傳輸協(xié)議(File Transfer Protocol,F(xiàn)TP)進(jìn)行文件傳輸,通信控制設(shè)備作為FTP服務(wù)器,機(jī)上設(shè)備作為FTP客戶端,實(shí)現(xiàn)文件的上下傳輸。
整個(gè)系統(tǒng)中,左、右顯控互為備份。同時(shí)北斗采用兩路RS422總線分別與顯控、通信控制設(shè)備交互數(shù)據(jù),以直接與顯控交聯(lián)的路徑為主,以第二路北斗經(jīng)通信控制設(shè)備至顯控的路徑為輔,當(dāng)顯控判斷第一路通信失效后才采用第二路進(jìn)行數(shù)據(jù)互傳,這種多重備份系統(tǒng)保證了系統(tǒng)運(yùn)行的可靠性。
按照機(jī)載多路數(shù)據(jù)空地通信軟件需求,將其分為主線程、界面操作顯示線程、網(wǎng)絡(luò)數(shù)據(jù)處理線程、串口數(shù)據(jù)處理線程以及視頻通話線程,采用多線程編程的方法設(shè)計(jì)如圖3所示的軟件架構(gòu)。

圖3 軟件架構(gòu)
程序啟動(dòng)后,主線程讀取配置文件并創(chuàng)建其他子線程,建立信號(hào)和槽的連接。界面顯示線程主要負(fù)責(zé)用戶界面的顯示,通過界面相關(guān)按鈕和文本框等控制實(shí)現(xiàn)人機(jī)交互,收到不同類型的消息進(jìn)行彈窗提示,并將解析后的信息顯示在聊天界面。網(wǎng)絡(luò)數(shù)據(jù)處理線程主要進(jìn)行UDP數(shù)據(jù)的處理,包括數(shù)據(jù)接收、解析以及組包發(fā)送。在初始化配置好網(wǎng)絡(luò)地址端口號(hào)后,與其他設(shè)備建立連接并判斷其狀態(tài)。接收大氣探測(cè)軟件發(fā)來的探測(cè)信息進(jìn)行組包后,以10 s為默認(rèn)周期向通信控制設(shè)備發(fā)送探測(cè)信息,同時(shí)接收通信控制設(shè)備發(fā)送的海事短信進(jìn)行解析。此外,還需將短消息和作業(yè)信息進(jìn)行編碼,發(fā)送至地面。串口數(shù)據(jù)處理線程負(fù)責(zé)處理機(jī)載北斗系統(tǒng)的RS422數(shù)據(jù),主要包括北斗定位信息和短報(bào)文的解析,同時(shí)按照不同的包頭封裝作業(yè)信息或北斗短消息向地面發(fā)送。視頻通信線程主要負(fù)責(zé)接收地面推送的實(shí)時(shí)傳輸協(xié)議(Real-time Transport Protocol,RTP)視頻流,并進(jìn)行獨(dú)立顯示。在顯示界面中,由按鍵控制機(jī)上發(fā)起視頻請(qǐng)求或接收地面?zhèn)鬏數(shù)囊曨l請(qǐng)求,應(yīng)答后拉取地面推送的RTP視頻流并顯示,通話結(jié)束后在通信界面顯示通話時(shí)長(zhǎng)等信息。
Qt是一個(gè)跨平臺(tái)的C++圖形用戶界面應(yīng)用程序開發(fā)框架,包含了網(wǎng)絡(luò)通信、文件操作等多種功能,本文空地通信軟件使用Qt進(jìn)行開發(fā)。軟件啟動(dòng)后首先初始化相關(guān)通信端口,從配置文件中讀取配置項(xiàng)進(jìn)行設(shè)置,確定主從關(guān)系,加載通訊錄聯(lián)系人;其次與通信控制設(shè)備進(jìn)行Socket通信,根據(jù)主從關(guān)系判斷是否從該側(cè)顯控計(jì)算機(jī)周期下發(fā)相關(guān)探測(cè)信息,同時(shí)確定由主顯控與機(jī)載北斗通過RS422總線進(jìn)行通信;再次通過監(jiān)聽Socket和串口收到的數(shù)據(jù)進(jìn)行解析,判斷收到的指令內(nèi)容,在UI界面進(jìn)行相應(yīng)的消息類型提示和短信顯示;最后用戶可以通過界面上的按鈕進(jìn)行聯(lián)系人增添、編輯和刪除操作,選擇不同聯(lián)系人進(jìn)行短息發(fā)送、文件傳輸以及視頻通話等。
由于空地通信功能是增雨飛機(jī)任務(wù)系統(tǒng)集成中至關(guān)重要的一部分,因此設(shè)計(jì)了一種機(jī)載多路數(shù)據(jù)空地通信軟件設(shè)計(jì),實(shí)現(xiàn)了短報(bào)文、探測(cè)信息和作業(yè)信息的實(shí)時(shí)傳輸、視頻通信以及文件傳輸?shù)裙δ堋Mㄟ^北斗衛(wèi)星通信系統(tǒng)和海事衛(wèi)星通信系統(tǒng)組成的雙衛(wèi)星系統(tǒng),結(jié)合雙顯控計(jì)算機(jī)等多重冗余備份設(shè)計(jì),提高了系統(tǒng)的可靠性。