国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

艦載機飛行控制系統(tǒng)總線接口策略

2019-04-22 10:43楊絢魏小勇崔德龍
航空學報 2019年4期
關(guān)鍵詞:飛控數(shù)據(jù)包字節(jié)

楊絢,魏小勇,崔德龍

航空工業(yè)第一飛機設(shè)計研究院,西安 710089

由于艦載機空間布局緊湊,飛控系統(tǒng)機載設(shè)備可采用集中式的硬件架構(gòu)方式,將各個飛控子系統(tǒng)集中布局,采用一個總線接口模塊端(BIM)板與多個控制與管理模塊端(CPM)板組合的方式實現(xiàn)對飛控系統(tǒng)計算機的架構(gòu)。飛控總線接口設(shè)計是集中式飛控計算機的重要組成部分,負責外部設(shè)備與飛控計算機之間的數(shù)據(jù)傳輸,外部設(shè)備向飛控計算機輸入數(shù)據(jù)用于飛行控制律的計算,得到的控制指令通過總線接口發(fā)送至相應(yīng)的控制器。飛控數(shù)據(jù)總線接口軟件用以實現(xiàn)外部傳感器數(shù)據(jù)、飛機控制數(shù)據(jù)等的傳輸和更新,這些數(shù)據(jù)與其他應(yīng)用軟件,如余度管理、機內(nèi)自檢、飛行管理、飛行控制律等軟件都有數(shù)據(jù)交聯(lián)。因此,為保證數(shù)據(jù)的完整性和可靠性,對飛控數(shù)據(jù)總線接口的策略研究是十分必要的。

近年來,許多學者開展了機載總線數(shù)據(jù)傳輸方面的研究。寧新建[1]討論了航空總線的總線特征、數(shù)據(jù)格式、通信過程控制、總線接口等;逯計劃[2]介紹了傳統(tǒng)總線和新一代總線技術(shù)的幾種典型技術(shù),分析了其優(yōu)勢和缺點;孟銳等[3]介紹了幾種常用的航空總線,并重點介紹了ARINC659總線;馬貴斌等[4]介紹、比較和分析了國內(nèi)外現(xiàn)階段應(yīng)用的幾種軍用數(shù)據(jù)總線的構(gòu)架及其優(yōu)缺點;ARINC659總線[5-6]具有容錯性、高可用性和高完整性的特點;張銳等[7]利用ARINC659 作為余度管理軟件中數(shù)據(jù)交叉?zhèn)鬏數(shù)目偩€,以提高飛行控制計算機系統(tǒng)中的可靠性;張阿莉等[8]針對新型飛控采集器采集數(shù)據(jù)流數(shù)增多、試飛模式改變的問題,對原有飛行控制系統(tǒng)總線數(shù)據(jù)處理軟件進行優(yōu)化設(shè)計,軟件有效解決了多流、多表號飛行控制系統(tǒng)總線數(shù)據(jù)處理問題;陳新華和支高飛[9]描述了利用通用采集系統(tǒng)板卡搭建模擬飛控數(shù)據(jù)測試系統(tǒng),并通過開發(fā)模擬飛控信號隔離器實現(xiàn)了被試設(shè)備與采集器之間的交聯(lián); Yedavallir等[10]指出數(shù)據(jù)傳輸中節(jié)點的瞬時故障、數(shù)據(jù)損壞、傳輸錯誤或編碼/解碼錯誤都可能會引起數(shù)據(jù)丟包;閆莉和王勇[11]采用電子設(shè)計自動化(EDA)方法,設(shè)計并實現(xiàn)了符合機載串行數(shù)字傳輸?shù)哪承惋w機機載總線多通道模塊接口;邢達波等[12]對某型飛機網(wǎng)絡(luò)化架構(gòu)中出現(xiàn)的數(shù)據(jù)丟包現(xiàn)象進行分析,通過對KAD/SWI/108進行重新軟件編程,消除了數(shù)據(jù)丟包現(xiàn)象;張毅和張勇[13]介紹了某型號飛機飛控系統(tǒng)試驗的數(shù)據(jù)采集處理系統(tǒng)軟件,包括數(shù)據(jù)采集、數(shù)據(jù)存儲、數(shù)據(jù)分析及事后處理;靳鴻等[14]針對機載數(shù)據(jù)記錄儀總線通訊存在數(shù)據(jù)傳輸不穩(wěn)定、數(shù)據(jù)失真等問題,提出一種1553B總線接口設(shè)計與實現(xiàn)方法,并進行了1553B總線接口硬件設(shè)計,使記錄儀能夠完整、準確地接收和響應(yīng)消息數(shù)據(jù);劉明等[15]設(shè)計了一種數(shù)字飛控采集器,符合機載環(huán)境要求;李聲飛[16]為提高數(shù)據(jù)傳輸可靠性,提出一種適用于機載平臺的總線接口,有效降低了通信誤碼率,提高了數(shù)據(jù)傳輸?shù)目煽啃院汪敯粜裕桓独蚝挖w民[17]設(shè)計了一種數(shù)據(jù)通信系統(tǒng)實現(xiàn)無人機系統(tǒng)的飛行操縱和機載任務(wù)設(shè)備控制;宋軍強等[18]考慮航空發(fā)動機分布式控制系統(tǒng)中丟包問題,提出增益重構(gòu)補償策略,保證了存在數(shù)據(jù)丟包的發(fā)動機分布式控制系統(tǒng)的性能和穩(wěn)定性。劉語喬等[19]為了解決RS422總線數(shù)據(jù)處理問題,基于某飛機平臺,研究了總線數(shù)據(jù)處理各個環(huán)節(jié)的關(guān)鍵技術(shù)問題;王凱等[20]針對機載航空設(shè)備通信特點,介紹了一種可配置的多通道通信軟件設(shè)計,提供了簡單的接口層以便應(yīng)用軟件開發(fā),易于擴展和部署。

外部設(shè)備發(fā)送數(shù)據(jù)至串行通信設(shè)備,串行通信設(shè)備每個周期將接收的數(shù)據(jù)寫入到BIM端,并采用ARINC659總線進行BIM端到CPM端的數(shù)據(jù)更新,然后飛控軟件在CPM端讀取數(shù)據(jù)并解析。由于外部設(shè)備、串行通信設(shè)備、ARINC659總線、飛控軟件等的運行頻率各有差異,會導(dǎo)致數(shù)據(jù)包不完整甚至丟失的現(xiàn)象,本文針對數(shù)據(jù)接口的讀/寫沖突問題進行研究,分析不同原因?qū)е碌牟煌瑢嶒灛F(xiàn)象,并提出相應(yīng)的解決方案。

1 接口數(shù)據(jù)傳輸原理

圖1所示為飛控軟件數(shù)據(jù)輸入接口原理圖,外部設(shè)備(如慣性測量組件、作動器控制器、組合導(dǎo)航、差分衛(wèi)星接收機等)以不同的頻率(200、100、50、25 Hz等)發(fā)送數(shù)據(jù),對應(yīng)的串行通信設(shè)備以字符或塊為單位每5 ms接收并處理外部設(shè)備輸入的數(shù)據(jù),每20 ms將接收到的外部數(shù)據(jù)發(fā)送到659數(shù)據(jù)交換區(qū)BIM端輸入數(shù)據(jù)區(qū),659背板總線每2.5 ms完成BIM端輸入數(shù)據(jù)區(qū)到CPM端輸入數(shù)據(jù)區(qū)的數(shù)據(jù)更新,最后由通用處理模塊(軟件)每20 ms將CPM端輸入數(shù)據(jù)區(qū)的數(shù)據(jù)接收并處理,隨后經(jīng)過余度表決、數(shù)據(jù)處理等模塊,進入到飛行控制律模塊。

圖1 數(shù)據(jù)輸入接口原理圖Fig.1 Schematic diagram of data input interface

飛行控制與管理接口軟件具有如下特點:

1) 外部設(shè)備的數(shù)據(jù)刷新頻率不同。

2) 串行通信設(shè)備都以5 ms為周期接收數(shù)據(jù),并以20 ms為周期將數(shù)據(jù)發(fā)送至659背板總線的BIM端。

3) 采用659背板總線進行BIM端到CPM端的數(shù)據(jù)交換,2.5 ms進行一次,刷新速率快。

4) 通用處理模塊以20 ms為周期處理CPM端的數(shù)據(jù)。

以慣性測量組件的輸入為例,如圖2所示,慣性測量組件設(shè)備的發(fā)送頻率為200 Hz,即5 ms發(fā)送一次,串行通信設(shè)備每5 ms接收一次,放入緩沖區(qū),每20 ms接收約4個數(shù)據(jù)包,將其發(fā)送至ARINC659總線的BIM數(shù)據(jù)存儲區(qū),通過659背板總線將BIM數(shù)據(jù)存儲區(qū)的數(shù)據(jù)更新至CPM端規(guī)定的存儲區(qū)內(nèi),然后通用處理軟件即可對CPM端存儲區(qū)內(nèi)的數(shù)據(jù)進行采集并處理。

圖2 慣性測量組件數(shù)據(jù)輸入原理Fig.2 Principle of data input for inertial measurement components

在時鐘完全匹配的情況下,如圖3所示,在一個20 ms任務(wù)中,串行通信設(shè)備在t0時刻將輸入數(shù)據(jù)寫入BIM數(shù)據(jù)區(qū),通用處理模塊在t1時刻從CPM數(shù)據(jù)區(qū)讀取數(shù)據(jù),數(shù)據(jù)寫入和讀取的速率能夠完全匹配。在每個周期任務(wù)里,飛控軟件都能夠獲取設(shè)備的最新數(shù)據(jù),用于之后的控制律計算。

串行通信設(shè)備每20 ms將數(shù)據(jù)發(fā)送到BIM輸入數(shù)據(jù)區(qū),而CPM也是每20 ms處理CPM輸入數(shù)據(jù)區(qū)的數(shù)據(jù),659背板總線進行BIM到CPM的數(shù)據(jù)傳輸時間相對于串行通信設(shè)備和CPM周期運行時間很短,可忽略其影響。串行通信設(shè)備發(fā)送數(shù)據(jù)周期和CPM端的運行周期一致,但是兩個設(shè)備采用各自的時鐘,可能會出現(xiàn)時鐘周期長短不一致或者時鐘漂移,引起數(shù)據(jù)讀/寫沖突,實驗證明會出現(xiàn)丟失數(shù)據(jù)包的現(xiàn)象,因此軟件運行所處理的數(shù)據(jù)的時效性和完整性得不到保證,這對實時性要求高的飛控系統(tǒng)來說是不能接受的;另一方面,對于數(shù)據(jù)更新較慢的外設(shè)而言,通用處理軟件因無法判斷存儲區(qū)中數(shù)據(jù)的是否被更新,可能會重復(fù)解析內(nèi)存中的數(shù)據(jù),對上述2種實驗現(xiàn)象,進行分析并給出解決方案。

圖3 數(shù)據(jù)讀/寫時序圖Fig.3 Sequence diagram of data read/write

2 研究內(nèi)容

針對飛控系統(tǒng)數(shù)據(jù)不完整傳輸和數(shù)據(jù)重復(fù)解析兩類問題展開研究。

2.1 數(shù)據(jù)包設(shè)計

不同的外設(shè)數(shù)據(jù)刷新的頻率不一樣,慣性測量組件5 ms刷新一次,串行通信設(shè)備每20 ms將采集的數(shù)據(jù)發(fā)送至BIM端,通用處理模塊(軟件)在CPM端采集到的數(shù)據(jù)總是更新的數(shù)據(jù)包;而數(shù)據(jù)鏈通信每40 ms刷新一次數(shù)據(jù),通用處理模塊(軟件)依然是每20 ms訪問一次CPM端的數(shù)據(jù)區(qū),如圖4所示,這樣會使得軟件將CPM端數(shù)據(jù)鏈存儲區(qū)的數(shù)據(jù)處理兩次,這無疑浪費了軟件的運行時間。

理想情況是在寫入BIM數(shù)據(jù)區(qū)的時鐘和讀取CPM數(shù)據(jù)區(qū)的時鐘完全同步的前提下,工程實踐中可能會出現(xiàn)時鐘偏差,如圖5所示,“寫入”和“讀取”的時鐘偏差為Δt,在試驗時發(fā)現(xiàn)數(shù)據(jù)區(qū)會出現(xiàn)未更新完全的情況,即在“寫入”未完時,進行“讀取”,導(dǎo)致數(shù)據(jù)包中前半部分數(shù)據(jù)為更新的數(shù)據(jù),后半部分數(shù)據(jù)為前一拍處理過的未更新的數(shù)據(jù)。但是通用處理模塊(軟件)并不能夠識別數(shù)據(jù)包是否為全新狀態(tài),只要存儲區(qū)中有數(shù)據(jù),軟件就會對其進行處理。

為避免上述讀寫同時進行和對數(shù)據(jù)包重復(fù)解析的問題,在串行通信設(shè)備將數(shù)據(jù)包寫入BIM數(shù)據(jù)區(qū)時,在數(shù)據(jù)包的末端增加數(shù)據(jù)包編號,以判斷數(shù)據(jù)區(qū)中的數(shù)據(jù)包是否為完全更新的數(shù)據(jù)包。此外,為明確數(shù)據(jù)包中有效數(shù)據(jù)的長度,在數(shù)據(jù)包前增加了兩個字節(jié)存放“數(shù)據(jù)長度”變量。如圖6虛線框中所示,為優(yōu)化之后的BIM端/CPM端數(shù)據(jù)存儲區(qū)的格式。

圖4 數(shù)據(jù)鏈數(shù)據(jù)寫入/讀取時序圖Fig.4 Sequence diagram of DTL read/write

圖5 數(shù)據(jù)讀取/寫入沖突Fig.5 Conflict of data read/write

以慣性測量組件為例,如圖6所示,慣性測量組件設(shè)備每5 ms更新一次數(shù)據(jù),每個數(shù)據(jù)包為25個字節(jié),串行通信設(shè)備每20 ms接收4個數(shù)據(jù)包,即100個字節(jié),發(fā)送至BIM端,在數(shù)據(jù)存儲區(qū)預(yù)留120個字節(jié)(每個接口通道的數(shù)據(jù)區(qū)都做相應(yīng)的預(yù)留)作為每個周期的包數(shù)據(jù)存儲,包數(shù)據(jù)之前的2個字節(jié)存放本包數(shù)據(jù)的有效長度(不大于120個字節(jié)),包數(shù)據(jù)之后的4個字節(jié)存放包編號。每次數(shù)據(jù)寫入時,包編號加1,從0x00000000→(+1)0x00000001→…(long long later)…→0xFFFFFFFF循環(huán)計數(shù)。軟件在運行時,識別到包編號大于上拍處理過的數(shù)據(jù)包的包編號,就對本包數(shù)據(jù)進行處理,否則,不進行處理,這樣就避免了對數(shù)據(jù)更新不完整的數(shù)據(jù)包進行處理或者對處理過的數(shù)據(jù)包進行二次處理。

圖6 BIM端/CPM端數(shù)據(jù)存儲區(qū)格式Fig.6 Format of data storage in BIM/CPM

2.2 時鐘偏差解決方法

BIM端數(shù)據(jù)存儲區(qū)每20 ms會被刷新一次,CPM處理軟件每20 ms會讀取數(shù)據(jù)存儲區(qū)的數(shù)據(jù)并進行處理。實際上,兩個不同的時鐘下,同樣的20 ms周期可能會略有偏差,寫入BIM端的時鐘可能比讀取CPM端數(shù)據(jù)的時鐘快,也可能會慢。

1) 當CPM端的時鐘略快時,如圖7(a)所示,在t0時,向BIM端寫入數(shù)據(jù);在t1時,通用處理軟件在CPM端讀取數(shù)據(jù);t2時刻,再次在CPM端讀取數(shù)據(jù),但是此時數(shù)據(jù)區(qū)并未更新,會出現(xiàn)重復(fù)讀取的現(xiàn)象。由于在2.1節(jié)中引入了包編號,所以可以通過包編號的大小來判斷是否為更新的數(shù)據(jù)包,以決定是否需要處理數(shù)據(jù)。

2) 當BIM端寫入數(shù)據(jù)的時鐘略快時,會出現(xiàn)向BIM端寫入兩次數(shù)據(jù)包時,CPM端的數(shù)據(jù)才被處理一次。如圖7(b)所示,t0時刻在CPM端“讀取”,t1時刻在BIM端寫入數(shù)據(jù),由于兩個20 ms之間有偏差,t2時刻又一次在BIM端寫入數(shù)據(jù),導(dǎo)致上一包數(shù)據(jù)未經(jīng)處理就被覆蓋,t3時刻在CPM端讀取數(shù)據(jù)時,已經(jīng)丟失了t1時刻寫入的數(shù)據(jù),所以在BIM端設(shè)置一個數(shù)據(jù)存儲區(qū)是不能夠保證數(shù)據(jù)的完整性和時效性的,因此在ARINC659總線BIM端和CPM端分別設(shè)置2個相同的數(shù)據(jù)存儲區(qū),如圖8所示。將t1時刻和t2時刻的兩包數(shù)據(jù)分別寫入兩個存儲區(qū),t3時刻,在CPM端讀取時,一個周期任務(wù)內(nèi)對兩包數(shù)據(jù)進行解析,這樣就避免了因時鐘偏差引起的數(shù)據(jù)丟包現(xiàn)象。

圖7 時鐘大小偏差讀寫時序圖Fig.7 Read and write sequences determined by clock values

圖8 BIM端/CPM端數(shù)據(jù)存儲區(qū)Fig.8 Data storage in BIM/CPM

2.3 數(shù)據(jù)發(fā)送異常解決方法

上述情況都是在串口通信設(shè)備發(fā)送數(shù)據(jù)包完整時討論的,即每次從ARINC659總線CPM端讀取的數(shù)據(jù)都是完整的數(shù)據(jù)包。以慣性測量組件為例,串行通信設(shè)備每20 ms接收4個數(shù)據(jù)包即100個字節(jié)的數(shù)據(jù),將其發(fā)送至BIM端,在CPM端讀取的數(shù)據(jù)包也為100個字節(jié)。但是在實驗中監(jiān)控包編號,仍會偶爾出現(xiàn)丟失數(shù)據(jù)包的現(xiàn)象,這是因為未考慮數(shù)據(jù)傳輸過程數(shù)據(jù)包是否完整,如圖9所示,具體分析如下:

1) 外部設(shè)備傳輸數(shù)據(jù)以字符為單位一個字節(jié)一個字節(jié)的發(fā)送數(shù)據(jù),或者是以數(shù)據(jù)塊為單位發(fā)送數(shù)據(jù),由于時鐘偏差的存在使得不能在20 ms 內(nèi)準確地發(fā)送理論長度的字節(jié)數(shù)。

2) 串行通信設(shè)備每20 ms將接收的數(shù)據(jù)包發(fā)送至BIM端,而當一個新的20 ms周期到達時,設(shè)備數(shù)據(jù)區(qū)的數(shù)據(jù)長度可能會大于或者小于理論數(shù)據(jù)長度(如慣性測量組件應(yīng)發(fā)送100個字節(jié))。

3) 向ARINC659總線BIM端寫入數(shù)據(jù)是需要一定時間的,通過ARINC659總線向CPM端傳輸數(shù)據(jù)也是需要時間的(2.5 ms)。

4) 外部設(shè)備、串行通信設(shè)備、ARINC659總線、軟件周期任務(wù)所遵循的為不同的時鐘,不可避免的會有偏差。

綜合上述幾種情況,認為每20 ms運行周期任務(wù)在CPM端讀取數(shù)據(jù)時,CPM端數(shù)據(jù)區(qū)中的數(shù)據(jù)包可能會小于理論長度,是不完整的數(shù)據(jù)包。

以慣性測量組件為例,如圖10所示,假設(shè)當20 ms到達時,串行通信設(shè)備中只接收到60個字節(jié)的數(shù)據(jù),將這些數(shù)據(jù)打包發(fā)送至BIM端數(shù)據(jù)存儲區(qū)A1,下一個20 ms到達時,串行通信設(shè)備除接收到另一包完整數(shù)據(jù)之外,還接收到上一包的余留數(shù)據(jù),有140個字節(jié),而數(shù)據(jù)包最大長度只有120個字節(jié),分兩個數(shù)據(jù)包發(fā)送,將前120個字節(jié)打包發(fā)送至數(shù)據(jù)區(qū)A2,剩余20個字節(jié)打包發(fā)送至數(shù)據(jù)區(qū)A1,此時在如圖7(b)所示的情況下,即在CPM端未來得及讀取數(shù)據(jù)區(qū)A1中的數(shù)據(jù)時,數(shù)據(jù)區(qū)A1已經(jīng)被新的數(shù)據(jù)包所覆蓋,故而兩個數(shù)據(jù)存儲區(qū)仍然不能夠滿足工程需求,為此,最終將BIM端和CPM端的數(shù)據(jù)存儲區(qū)都設(shè)置為3個,如圖11所示,采用3個數(shù)據(jù)存儲區(qū)可以避免上述數(shù)據(jù)區(qū)被覆蓋造成的數(shù)據(jù)丟失現(xiàn)象。

此外,通用處理軟件還需對3個數(shù)據(jù)區(qū)的讀取隊列進行設(shè)計。每周期對CPM端數(shù)據(jù)區(qū)的3個包進行掃描,如果包編號大于上周期解析的數(shù)據(jù)包包編號,將本包數(shù)據(jù)拷貝至全局數(shù)組,因此每個周期最多的情況是將3包數(shù)據(jù)均拷貝至全局數(shù)組,最少的情況是沒有一包為新的數(shù)據(jù)包。之后,根據(jù)全局數(shù)組中存儲的數(shù)據(jù)包個數(shù)以及每個數(shù)據(jù)包的包編號,判斷數(shù)據(jù)包的先后到達順序,隨后數(shù)據(jù)解析。

圖9 數(shù)據(jù)傳輸過程Fig.9 Process of data transfer

圖10 BIM端/CPM端數(shù)據(jù)區(qū)覆蓋Fig.10 Data overwriting in BIM/CPM

圖11 BIM端/CPM端數(shù)據(jù)區(qū)設(shè)計Fig.11 Design of data storage in BIM/CPM

2.4 數(shù)據(jù)寫入/讀出過程的實現(xiàn)

綜上所述,對飛控軟件接口數(shù)據(jù)讀/寫的沖突分2種情況:① 時鐘偏差引起的寫入速度小于讀取速度;② 時鐘偏差或數(shù)據(jù)發(fā)送不完整引起的寫入速度大于讀取速度。綜合考慮不同情況下的解決方案,分析得到寫入/讀出的過程。接口數(shù)據(jù)寫入BIM端的流程如圖12所示,每個周期任務(wù)內(nèi)將CPM端數(shù)據(jù)讀取至軟件中所定義的存儲區(qū)即可進行解析,讀取數(shù)據(jù)的流程如圖13所示。

圖12 接口數(shù)據(jù)寫入BIM端流程Fig.12 Procedure of writing data from interface to BIM

通過在某型艦載機飛控軟件接口數(shù)據(jù)處理模塊中試驗,并在試驗中監(jiān)控,證明采用上述方法沒有發(fā)生丟包現(xiàn)象和重復(fù)解析。表明此方法能夠有效解決數(shù)據(jù)包不完整和數(shù)據(jù)重復(fù)解析的問題。

圖13 讀取CPM端數(shù)據(jù)流程Fig.13 Procedure of reading data from CPM

2.5 空間和時間開銷分析

通過上述2種方法來解決總線數(shù)據(jù)的時效性和完整性:① 重新設(shè)計數(shù)據(jù)包格式,增加數(shù)據(jù)包長度和數(shù)據(jù)包編號信息;② 是增加數(shù)據(jù)存儲區(qū)空間,將1個存儲區(qū)變成3個存儲區(qū)。這樣無疑增加了空間和時間的開銷。

1) 空間開銷

增加數(shù)據(jù)存儲區(qū)的方案使得飛控計算機與外設(shè)通信的每個通道的存儲空間都會增加,一方面在659總線的BIM端和CPM端都需要增加2個數(shù)據(jù)包的存儲空間,另一方面在解析數(shù)據(jù)包時也需要增加2個數(shù)據(jù)包的全局占用空間。這些都會增加軟件的空間開銷,但是這些空間開銷能夠滿足艦載機飛控系統(tǒng)的空間總要求,是一種以犧牲空間來保證數(shù)據(jù)完整性的方法。

2) 時間開銷

增加數(shù)據(jù)存儲區(qū)的解決方案,使得軟件在每個周期內(nèi)會增加對數(shù)據(jù)存儲區(qū)的包編號的掃描過程以及對數(shù)據(jù)包的先后順序的判斷過程,但是最終解析數(shù)據(jù)也僅解析最新一包數(shù)據(jù)。在一般情況下,數(shù)據(jù)包發(fā)送的時間頻率與通用軟件解析的時間頻率基本保持一致,每一個周期只會掃描到一包有效數(shù)據(jù)進行解析;在數(shù)據(jù)包發(fā)送阻塞的情況下,可能會導(dǎo)致一個周期收到2包甚至3包有效數(shù)據(jù),此時需要對數(shù)據(jù)包的先后順序進行判斷,從而得到最新的有效數(shù)據(jù);另一方面,重新設(shè)計數(shù)據(jù)包格式,增加數(shù)據(jù)包編號,在有些周期沒有新的數(shù)據(jù)包到達的情況下,省去對數(shù)據(jù)的重復(fù)解析,也能夠節(jié)省一定的時間開銷。所以,對于時間開銷的增加更多的是在數(shù)據(jù)包發(fā)送阻塞時造成的,但是增加的開銷時間也極短暫,對于以20 ms為周期的飛控實時系統(tǒng)也是能夠滿足的,是一種以犧牲時間保證數(shù)據(jù)時效性和完整性的解決方法。

3 結(jié) 論

1) 在數(shù)據(jù)寫入速度大于讀取速度的情況下,設(shè)計了數(shù)據(jù)緩沖方案,實際應(yīng)用中監(jiān)測數(shù)據(jù)包的幀計數(shù),有效解決了艦載機飛控系統(tǒng)數(shù)據(jù)傳輸過程中各種因素導(dǎo)致的數(shù)據(jù)包丟失問題。

2) 在數(shù)據(jù)寫入速度小于讀取速度的情況下,給出了包編號的判斷方法,有效避免軟件中數(shù)據(jù)重復(fù)解析、浪費運行時間的問題,上述方法可以作為機載軟件工程師在飛控軟件接口實際應(yīng)用中的參考。

3) 數(shù)據(jù)存儲區(qū)的設(shè)計,增加了空間的開銷,數(shù)據(jù)包格式的設(shè)計和數(shù)據(jù)存儲區(qū)的設(shè)計,一方面在無新數(shù)據(jù)包的周期能夠節(jié)省時間開銷,在同時有2~3個數(shù)據(jù)包到達的周期又會增加時間開銷,但是艦載機飛控系統(tǒng)的硬件存儲和軟件周期能夠允許這樣的空間開銷和時間開銷,以一定的時間和空間犧牲來保證數(shù)據(jù)的時效性和完整性。

4) 對于飛控軟件的接口,可以進一步將接口軟件做到模塊化和通用化,提高接口軟件在不同型號飛機上的可移植性。

猜你喜歡
飛控數(shù)據(jù)包字節(jié)
二維隱蔽時間信道構(gòu)建的研究*
No.8 字節(jié)跳動將推出獨立出口電商APP
民用飛機飛行模擬機數(shù)據(jù)包試飛任務(wù)優(yōu)化結(jié)合方法研究
民用飛機飛控通電自檢測安全性研究
No.10 “字節(jié)跳動手機”要來了?
C#串口高效可靠的接收方案設(shè)計
中小型太陽能無人機航電系統(tǒng)設(shè)計
人類進入“澤它時代”
龙口市| 南康市| 洞头县| 阳谷县| 龙川县| 洛阳市| 建宁县| 大田县| 班戈县| 抚顺市| 湛江市| 阿克苏市| 易门县| 北碚区| 湄潭县| 乌兰县| 铁力市| 淮阳县| 抚州市| 宁国市| 临泉县| 社旗县| 惠来县| 漳州市| 河曲县| 民乐县| 苍梧县| 元江| 威信县| 邵武市| 普兰县| 全州县| 丰宁| 沂源县| 峨山| 寻乌县| 浪卡子县| 奇台县| 拜城县| 夏河县| 龙里县|