亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于通信衛(wèi)星的無人機數(shù)據(jù)鏈通用接入系統(tǒng)的制作方法

文檔序號:12277923閱讀:245來源:國知局
基于通信衛(wèi)星的無人機數(shù)據(jù)鏈通用接入系統(tǒng)的制作方法與工藝

本發(fā)明屬于無人機系統(tǒng)一體化控制技術,解決通信衛(wèi)星通信數(shù)據(jù)鏈在無人機地面控制站中的通用化接入問題。由于衛(wèi)星通信數(shù)據(jù)鏈采用固定式地面數(shù)據(jù)終端,該技術創(chuàng)新性地接入通用接口轉換單元,融合不同無人機測控協(xié)議,滿足不同種類無人機的通用接入需求。

技術背景

無人機數(shù)據(jù)鏈是連接無人機和地面指揮控制站系統(tǒng)的唯一紐帶,決定了無人機系統(tǒng)遂行任務的效能,是全系統(tǒng)“無人”價值的最重要體現(xiàn)。在通信衛(wèi)星通信鏈路的實際使用中,為了接入通信衛(wèi)星通信鏈路,無人機地面控制站首先需要向衛(wèi)星資源管理中心發(fā)送衛(wèi)星資源使用申請,由衛(wèi)星資源管理中心統(tǒng)一調度資源后回復衛(wèi)星資源申請結果和使用計劃。根據(jù)使用計劃,地面控制站需要將遙控傳輸幀轉換為衛(wèi)星資源管理中心統(tǒng)一的前向數(shù)據(jù)傳輸幀,并接收衛(wèi)星資源管理中心回傳的返向用戶數(shù)據(jù),轉換為無人機地面站的用戶既定協(xié)議格式。

不同類型的無人機地面站都需要知悉通信衛(wèi)星的傳輸格式,并專門針對該傳輸協(xié)議開發(fā)各自的接口轉換模塊,造成相關裝備的重復性開發(fā),分立的通信衛(wèi)星接入方法造成各作戰(zhàn)節(jié)點相互獨立,不利于管理。隨著無人機地面控制站的通用化發(fā)展,亟需一種通用的接口轉換方法和通信衛(wèi)星數(shù)據(jù)鏈接入手段,提高通信衛(wèi)星通信鏈路的接入效率。



技術實現(xiàn)要素:

為了給用戶中心提供一個快速接入通信衛(wèi)星系統(tǒng)的平臺,滿足信息的快速傳輸和共享的戰(zhàn)術要求,本發(fā)明的發(fā)明目的在通信衛(wèi)星控管中心設置基于通信衛(wèi)星的無人機數(shù)據(jù)鏈通用接入系統(tǒng),在此無人機數(shù)據(jù)鏈通用接入系統(tǒng)中通過融合無人機的測控標準,避免各無人機地面站分別建設相關協(xié)議轉換模塊,有利于提高鏈路接入效率,提升無人機互操作水平,且符合通信星通信傳輸協(xié)議要求。

本發(fā)明的發(fā)明目的通過以下技術方案實現(xiàn):

一種基于通信衛(wèi)星的無人機數(shù)據(jù)鏈通用接入系統(tǒng),應用在通信衛(wèi)星控管中心,包含多線程多任務處理模塊、網(wǎng)絡分發(fā)模塊和IPC數(shù)據(jù)交換模塊。

所述網(wǎng)絡分發(fā)模塊被配置為為各數(shù)據(jù)發(fā)送方與數(shù)據(jù)接收方離線配置端口以及IP地址;

所述多線程多任務處理模塊被配置在接收到數(shù)據(jù)發(fā)送方發(fā)送的數(shù)據(jù)后,創(chuàng)造主控進程,該主控進程由多個線程組成,通過線程對接收到的數(shù)據(jù)進行拆分,重新打包成數(shù)據(jù)接收方所需的數(shù)據(jù)幀格式;

所述IPC數(shù)據(jù)交換模塊被配置為對各進程中的多線程進行調度。

進一步,所述網(wǎng)絡分發(fā)模塊采用Socket為各數(shù)據(jù)發(fā)送方與數(shù)據(jù)接收方離線配置端口以及IP地址,對圖像數(shù)據(jù)、視頻數(shù)據(jù)進行TCP協(xié)議處理,對語音數(shù)據(jù)、遙控數(shù)據(jù)、遙測數(shù)據(jù)進行UDP協(xié)議處理。

進一步,所述IPC數(shù)據(jù)交換模塊采用Linux對各進程中的多線程進行調度。

本發(fā)明中有以下三個主要的技術要點。

(1)多線程多任務處理,在傳統(tǒng)的操作系統(tǒng)中,進程是系統(tǒng)資源分配和處理機制的基本單位,一個進程讓另一個實體做某個事務需要通過fork派生子進程進行處理,需要將父進程的內存對象拷貝給子進程,代價比較“昂貴”。線程對于實現(xiàn)多功能信息綜合處理與分發(fā)功能來講非常有意義,它不再需要復雜的IPC通信方式維護進程之間的數(shù)據(jù)交換,同時多個線程也可以獨立、并行的執(zhí)行。線程也被稱為輕權進程,它是進程中的一條執(zhí)行路徑,每個進程內允許包含多個并發(fā)執(zhí)行的路徑。多線程系統(tǒng)中它是操作系統(tǒng)進行處理機調度的基本單位,同一個進程中的線程共享進程獲得的主存空間和資源,它們駐留在相同的地址空間,可以存取相同的數(shù)據(jù),允許運行在不同的CPU上。與進程相比線程有如下優(yōu)點:(1)切換速度快,(2)系統(tǒng)開銷少,(3)通信易與實現(xiàn),(4)并行程度高,(5)節(jié)省內存空間。

(2)可配置的網(wǎng)絡分發(fā),無人機地面站主要通過以太網(wǎng)和無人機系統(tǒng)其他分系統(tǒng)進行數(shù)據(jù)交互,本文主要介紹了利用Socket實現(xiàn)Linux與Linux以及Linux和Windows跨平臺網(wǎng)絡通信。Socket是對應TCP/IP協(xié)議最具典型的應用開發(fā)接口。作為網(wǎng)絡應用編程界面,Socket隱藏了網(wǎng)絡底層復雜的結構和協(xié)議,使得編程人員可以簡單地對網(wǎng)絡進行操作。Socket主要有兩種通信方式,第一種叫對流方式,也稱面向連接方式,在這種方式下,通信進程之間要先建立一種虛擬的連接,這種方式對應的是TCP協(xié)議,其傳輸特點是通信可靠性,按發(fā)送的順序接收數(shù)據(jù);數(shù)據(jù)被看作是字節(jié)流,無長度限制。第二種叫做數(shù)據(jù)報方式,又稱無連接方式,它提供無連接服務,對應的是UDP協(xié)議,這種方式不提供數(shù)據(jù)無錯保證,數(shù)據(jù)可能丟失或重復,并且接受順序混亂,報文的長度是有限的。socket編程原理基于套接字的系統(tǒng)調用。應用程序首先必須通過系統(tǒng)調用socket()創(chuàng)建套接字,然后調用bind()將套接字地址與所創(chuàng)建的套接字聯(lián)系起來。通過connect()和accept()兩個系統(tǒng)調用建立套接字的連接,其中connect()用于建立連接,accept()用于使服務器等待來自客戶的實際連接。listen()用于面向連接服務器,表明它愿意接收連接。當一個連接建立后,就可以使用系統(tǒng)調用send()和recv()發(fā)送和接收數(shù)據(jù)了。最后調用closesocket()關閉套接字,并釋放所分配給套接字的資源。基于Socket進行網(wǎng)絡通信設計,主要采用了基于連接的C/S模型和基于數(shù)據(jù)報的C/S模型(如圖1所示),由于基于Socket的網(wǎng)絡通信具有與平臺、語言無關的特點,實現(xiàn)網(wǎng)絡通信的可配置性和通用性,結合ini配置文件對通信網(wǎng)絡進行離線端口以及IP地址配置,實現(xiàn)跨平臺通信并增加了網(wǎng)絡通信的靈活性。

(3)實時調度策略,Linux本身雖然提供兩種實時調度策略FIFO(先來先調度)和RR(輪換制調度),雖然這兩種實現(xiàn)都比較簡單,并沒有從實際上提高實時處理機制,所以需要對調度策略進行一定的修改來提高實時處理的能力。要提高網(wǎng)絡數(shù)據(jù)實時處理性能,主要是縮短發(fā)送數(shù)據(jù)和接收數(shù)據(jù)以及轉發(fā)數(shù)據(jù)的處理時間,Linux是一種基于優(yōu)先級調度策略的操作系統(tǒng)。Linux將進程分成兩種類型,實時進程和非實時進程。對于實時進程采用優(yōu)先級的輪轉法調度和基于優(yōu)先級的先入先出服務調度。對于非實時進程采用了基于優(yōu)先級的輪轉法調度實時進程的優(yōu)先級比非實時進程的優(yōu)先級的基數(shù)要高1000。Linux通過優(yōu)先級基數(shù)設定實現(xiàn)了分級,實時進程和非實時進程同在一個調度隊列,但實際已被分成了兩級,即實時進程優(yōu)先級絕對高于非實時進程而會優(yōu)先得到調度。Linux中,實時進程無論何時進入進程等待隊列,都被將排在非實時進程之前。Linux又是一種非搶占式的操作系統(tǒng),當系統(tǒng)正在執(zhí)行一個低優(yōu)先級的任務時,高優(yōu)先級的任務不能搶占低優(yōu)先級的任務,而是處于等待狀態(tài)。高優(yōu)先級的任務等待時間由低優(yōu)先級的任務的執(zhí)行情況決定。所以說,Linux的實時性不僅由實時進程執(zhí)行時間決定,也由非實時進程的執(zhí)行時間決定。Linux中斷處理機制有其自身的特點,在Linux里,中斷處理程序可以分為低級處理部分和高級處理部分。低級處理部分的作用是用來及時響應中斷信號,而具體的中斷處理工作則交給中斷的高級處理部分完成;高級處理工作并不是立即完成,而是將處理程序放在一個特殊的隊列中以后再執(zhí)行。通過這種機制,Linux縮短了對外界請求的響應時間,這可以很大程度減小地面站綜合處理系統(tǒng)的響應時間,提高系統(tǒng)響應的靈敏度。

附圖說明

圖1為本發(fā)明的工作原理示意圖

圖2為IPC數(shù)據(jù)交換模塊的工作原理示意圖。

具體實施方式

下面結合附圖和實施例對本發(fā)明作進一步的詳細描述。

如圖1所示,本實施例一種基于通信衛(wèi)星的無人機數(shù)據(jù)鏈通用接入系統(tǒng),駐留在通信衛(wèi)星控管中心,包括多線程多任務處理模塊、的網(wǎng)絡分發(fā)模塊,以及IPC數(shù)據(jù)交換模塊。

(1)網(wǎng)絡分發(fā)模塊:

在無人機、地面站和作戰(zhàn)單元取得通信衛(wèi)星的資源后,為各數(shù)據(jù)發(fā)送方與數(shù)據(jù)接收方離線配置端口以及IP地址。

作為數(shù)據(jù)核心處理模塊,地面站需要實現(xiàn)無人機、地面站和作戰(zhàn)單元之間的互聯(lián)互通能力,用于指揮控制以及分發(fā)無人機收集的信息,這對無人機地面站網(wǎng)絡化環(huán)境下的聯(lián)合作戰(zhàn)能力提出一定需求,通過局域網(wǎng)進行數(shù)據(jù)共享接收情報數(shù)據(jù),經分析、融合、處理并將不同的數(shù)據(jù)分發(fā)給不同的處理單元,這需要基于Linux的可配置網(wǎng)絡分發(fā)技術實現(xiàn)地面站網(wǎng)絡通信的實時動態(tài)配置,可實現(xiàn)現(xiàn)場指揮人員在線修改,對有效地完成飛行任務提供了保證。

網(wǎng)絡分發(fā)模塊是部署網(wǎng)絡環(huán)境中的復雜軟件系統(tǒng),其拓撲結構和軟件行為都可以實時配置,具有自主性和反應性,即具有相對獨立性、主動性、自適應性以及,通過該方法模塊不必要進行新的設計和實現(xiàn),就可以在地面控制站中增加新的通信功能模塊,這樣開放性的定義和要求,使得在地面控制站的設計和實現(xiàn)過程中采用模塊化的方法,各個模塊之間的功能相互具有一定獨立性,這些模塊組合在一起,實現(xiàn)整個系統(tǒng)的功能,實現(xiàn)該系統(tǒng)的通用化。

無人機地面站主要通過以太網(wǎng)和無人機系統(tǒng)其他分系統(tǒng)進行數(shù)據(jù)交互,利用Socket實現(xiàn)Linux與Linux以及Linux和Windows跨平臺網(wǎng)絡通信。Socket是對應TCP/IP協(xié)議最具典型的應用開發(fā)接口。作為網(wǎng)絡應用編程界面,Socket隱藏了網(wǎng)絡底層復雜的結構和協(xié)議,使得編程人員可以簡單地對網(wǎng)絡進行操作。在具體實現(xiàn)中,基于Socket進行網(wǎng)絡通信設計,主要采用了基于連接的C/S模型和基于數(shù)據(jù)報的C/S模型(如圖1所示),由于基于Socket的網(wǎng)絡通信具有與平臺、語言無關的特點,實現(xiàn)網(wǎng)絡通信的可配置性和通用性,結合ini配置文件對通信網(wǎng)絡進行離線本地IP地址、本地端口號以及通訊類型的配置,實現(xiàn)跨平臺通訊并增加了靈活性,一旦有需要修改,只需要對配置文件進行調整,降低系統(tǒng)的維護成本。

(2)多線程多任務處理模塊

接收到數(shù)據(jù)發(fā)送方發(fā)送的數(shù)據(jù)后,創(chuàng)造主控進程,該主控進程由多個線程組成,通過線程對接收到的數(shù)據(jù)進行拆分,重新打包成數(shù)據(jù)接收方所需的數(shù)據(jù)幀格式并發(fā)送;

由于無人機地面站的實時性要求,需要對無人機遙控、遙測、圖像、視頻、語音、起降引導和航管信息等多源數(shù)據(jù)進行實時并行處理,在傳統(tǒng)操作系統(tǒng)中進程是系統(tǒng)資源分配和處理機制的基本單位,也是處理機調度的基本單位,一個進程讓另一個實體做某個事務需要通過fork派生子進程進行處理,需要將父進程的內存對象拷貝給子進程,代價比較“昂貴”。

因而采用基于Linux的多線程對于實現(xiàn)無人機地面站多功能信息綜合處理與分發(fā)功能非常有意義,它不再需要復雜的通信方式維護進程之間的數(shù)據(jù)交換。由于一個進程中的線程共享進程獲得的主存空間和資源,由于駐留同一地址空間,可以對同一數(shù)據(jù)并行存取,允許運行在不同的CPU上,因而具備切換速度快、系統(tǒng)開銷少、通信易于實現(xiàn)、并行程度高、節(jié)省內存空間的優(yōu)點。

在具體實現(xiàn)中,由于無人機系統(tǒng)數(shù)據(jù)量大,種類繁雜,每個無人機的業(yè)務數(shù)據(jù)、遙測、遙控數(shù)據(jù)、語音、圖像、視頻等都需要進行接收、處理、封裝和轉發(fā)等一系列操作,對于這類大批量數(shù)據(jù)的處理,采用傳統(tǒng)的三層模式:客戶、基于進程的LINUX應用程序服務層,處理性能將難以得到保證,以進程為單位完成多個事務的并發(fā)執(zhí)行最明顯的弱點就是處理業(yè)務增多時系統(tǒng)的性能明顯下降。一種新的進程結構-多線程單進程結構能較好解決多業(yè)務并發(fā)執(zhí)行的問題。在單進程多線程結構的數(shù)據(jù)處理系統(tǒng)中,系統(tǒng)只創(chuàng)建一個主控進程,該進程可由多個線程組成,并發(fā)執(zhí)行單位由進程改為線程,線程之間通訊只通過消息來實現(xiàn),每增加一個數(shù)據(jù)處理業(yè)務只需要增加一個線程,線程的轉換只是簡單的運行狀態(tài)的改變,而不會引起進程空間的切換,減少了系統(tǒng)開銷,使得數(shù)據(jù)處理的響應時間和系統(tǒng)的吞吐能力比在每個業(yè)務一個進程的結構中有明顯改進。

服務端主控進程獲得處理業(yè)務碼交給對應的業(yè)務處理模塊進行處理,業(yè)務處理模塊處理時按各自的數(shù)據(jù)分組邏輯將數(shù)據(jù)分組,并為每個分組創(chuàng)建一個處理線程。各線程加載對應分組的數(shù)據(jù)到內存進行處理,基于Linux采用多線程的方法可以實現(xiàn)當一個線程等待I/O完成或大量計算的最終結果時,另一個線程可以繼續(xù)其他處理,可以使得地面站數(shù)據(jù)處理與分發(fā)一直處于運行態(tài),并隨時進行響應,進而提高系統(tǒng)的響應效率;除此之外,由于多線程共享一個進程空間,這比利用多個獨立的線程通過共享內存訪問共同數(shù)據(jù)結構所占用的系統(tǒng)資源要小,可以提高綜合數(shù)據(jù)處理系統(tǒng)的資源利用率,線程之間的通信比進程間通信要簡單得多,設計綜合處理系統(tǒng)程序時,可以根據(jù)數(shù)據(jù)類別創(chuàng)建相應的線程進行處理,使得程序結構也較為清晰。

按照功能要求,對無人機采用模塊化的設計思路,在實現(xiàn)過程中建立了數(shù)據(jù)接收模塊、數(shù)據(jù)處理模塊、數(shù)據(jù)存儲模塊、數(shù)據(jù)通訊模塊等,數(shù)據(jù)接收主要是負責網(wǎng)絡UDP和TCP數(shù)據(jù)的接收,數(shù)據(jù)處理模塊主要是負責拆幀組幀,數(shù)據(jù)存儲主要是負責記錄對應的數(shù)據(jù),數(shù)據(jù)通訊主要是實現(xiàn)網(wǎng)絡IP和端口號的自主配置離線配置。通過開啟多線程并且多任務管理進行優(yōu)先級調用實現(xiàn)在執(zhí)行過程中,按照執(zhí)行流程和功能需求,主進程和線程分別調用相應的模塊,實現(xiàn)具體的功能。

(3)IPC數(shù)據(jù)交換模塊

對各進程中的多線程進行調度。

無人機地面站是整個無人機系統(tǒng)中的一個關鍵性的子系統(tǒng),通過數(shù)據(jù)處理與分發(fā)從無人機接收下行數(shù)據(jù)進行分發(fā)及通過該系統(tǒng)向無人機發(fā)送飛行命令和任務載荷指令,因此涉及到如何提高多任務線程間通信數(shù)據(jù)交換。

Linux中常見的通信機制可以分為兩類,一類如信號、管道、共享內存、信號量、消息隊列,它們主要用來實現(xiàn)同一計算機中進程間的通訊,一類如套接字,主要實現(xiàn)不同計算機間進程通信。其中,信號能傳送的信息量十分有限因而不適用于復雜的交互操作,管道無法判別數(shù)據(jù)發(fā)送方,信號量機制為互相操作的進程提供了一種復雜的同步機制,它可能產生死鎖。消息隊列傳遞數(shù)據(jù)時是以一種不連續(xù)消息的方式而不是用一種無格式的字符流的方式,因此能靈活地處理數(shù)據(jù),特別是傳輸小的數(shù)據(jù)塊時效率很高。

在具體實現(xiàn)中,通過該IPC通信可實現(xiàn)模塊之間數(shù)據(jù)通信,主要是定時數(shù)據(jù)處理模塊、數(shù)據(jù)處理模塊與輸入、輸出模塊之間的數(shù)據(jù)流交互,如圖2所示。

每一個數(shù)據(jù)塊被看做有一個類型,而接收線程可以獨立接收具有不同類型的數(shù)據(jù)塊,Linux為系統(tǒng)中所有的消息隊列維護一個msgque鏈表,該鏈表中的每個指針指向一個msgid_ds結構,該結構完整描述了一個消息隊列。當建立一個消息隊列時,系統(tǒng)從內存中分配一個msdid_ds結構并將指針添加到msgque鏈表中。線程通過系統(tǒng)調用msgget來創(chuàng)建或獲得一個消息隊列,其返回一個消息隊列標示符;通過調用msgsnd把消息放入隊列中即發(fā)送消息;消息在隊列中按到來的順序來維護,進程讀消息時,可調用msgrcv,將這些消息從隊列中移去;用msgctl對消息隊列進行控制。

可以理解的是,對本領域普通技術人員來說,可以根據(jù)本發(fā)明的技術方案及其發(fā)明構思加以等同替換或改變,而所有這些改變或替換都應屬于本發(fā)明所附的權利要求的保護范圍。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1