999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2019-04-22 10:43:46楊絢魏小勇崔德龍
航空學(xué)報(bào) 2019年4期
關(guān)鍵詞:設(shè)備

楊絢,魏小勇,崔德龍

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

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

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

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

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

圖1所示為飛控軟件數(shù)據(jù)輸入接口原理圖,外部設(shè)備(如慣性測(cè)量組件、作動(dòng)器控制器、組合導(dǎo)航、差分衛(wèi)星接收機(jī)等)以不同的頻率(200、100、50、25 Hz等)發(fā)送數(shù)據(jù),對(duì)應(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ù)處理等模塊,進(jìn)入到飛行控制律模塊。

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

飛行控制與管理接口軟件具有如下特點(diǎn):

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

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

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

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

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

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

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

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

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

2 研究內(nèi)容

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

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

不同的外設(shè)數(shù)據(jù)刷新的頻率不一樣,慣性測(cè)量組件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所示,這樣會(huì)使得軟件將CPM端數(shù)據(jù)鏈存儲(chǔ)區(qū)的數(shù)據(jù)處理兩次,這無疑浪費(fèi)了軟件的運(yùn)行時(shí)間。

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

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

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

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

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

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

2.2 時(shí)鐘偏差解決方法

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

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

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

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

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

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

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

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

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

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

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

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

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

此外,通用處理軟件還需對(duì)3個(gè)數(shù)據(jù)區(qū)的讀取隊(duì)列進(jìn)行設(shè)計(jì)。每周期對(duì)CPM端數(shù)據(jù)區(qū)的3個(gè)包進(jìn)行掃描,如果包編號(hào)大于上周期解析的數(shù)據(jù)包包編號(hào),將本包數(shù)據(jù)拷貝至全局?jǐn)?shù)組,因此每個(gè)周期最多的情況是將3包數(shù)據(jù)均拷貝至全局?jǐn)?shù)組,最少的情況是沒有一包為新的數(shù)據(jù)包。之后,根據(jù)全局?jǐn)?shù)組中存儲(chǔ)的數(shù)據(jù)包個(gè)數(shù)以及每個(gè)數(shù)據(jù)包的包編號(hào),判斷數(shù)據(jù)包的先后到達(dá)順序,隨后數(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è)計(jì)Fig.11 Design of data storage in BIM/CPM

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

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

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

通過在某型艦載機(jī)飛控軟件接口數(shù)據(jù)處理模塊中試驗(yàn),并在試驗(yàn)中監(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 空間和時(shí)間開銷分析

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

1) 空間開銷

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

2) 時(shí)間開銷

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

3 結(jié) 論

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

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

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

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

猜你喜歡
設(shè)備
諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
調(diào)試新設(shè)備
基于VB6.0+Access2010開發(fā)的設(shè)備管理信息系統(tǒng)
基于MPU6050簡(jiǎn)單控制設(shè)備
電子制作(2018年11期)2018-08-04 03:26:08
廣播發(fā)射設(shè)備中平衡輸入與不平衡輸入的轉(zhuǎn)換
電子制作(2018年10期)2018-08-04 03:24:48
食之無味,棄之可惜 那些槽點(diǎn)滿滿的可穿戴智能設(shè)備
500kV輸變電設(shè)備運(yùn)行維護(hù)探討
HTC斥資千萬美元入股虛擬現(xiàn)實(shí)設(shè)備商WEVR
Automechanika Shanghai 2014 之“看” 汽保設(shè)備篇
如何在設(shè)備采購中節(jié)省成本
主站蜘蛛池模板: 欧美三级视频网站| 又黄又爽视频好爽视频| 国产成人一区在线播放| 亚洲国产综合精品中文第一| 欧美a在线看| 国产91丝袜在线播放动漫| 一级毛片在线播放免费| 亚洲精品国产自在现线最新| 99久久精品美女高潮喷水| 国产嫩草在线观看| 国产成人在线无码免费视频| 台湾AV国片精品女同性| 2022精品国偷自产免费观看| 日韩欧美91| 婷婷激情亚洲| AV天堂资源福利在线观看| 国产精品自拍露脸视频| 亚洲欧洲日产国码无码av喷潮| 国产精品主播| 97综合久久| 久久国产精品影院| 精品视频在线一区| 在线视频一区二区三区不卡| m男亚洲一区中文字幕| 在线播放91| 日韩在线网址| 国产女人水多毛片18| 亚洲一区二区三区麻豆| 爆操波多野结衣| 男人天堂亚洲天堂| 永久免费av网站可以直接看的| 国产91无码福利在线| 久久这里只精品热免费99| 亚洲综合色吧| 国产精品妖精视频| 91精品国产无线乱码在线| 亚洲成人一区二区三区| 精品無碼一區在線觀看 | 免费a级毛片18以上观看精品| 一区二区三区在线不卡免费| 精品视频一区二区三区在线播| 老司机精品久久| 九九这里只有精品视频| 在线观看国产网址你懂的| 99re热精品视频国产免费| 欧美一区中文字幕| 精品免费在线视频| 亚洲中文无码av永久伊人| 欧美色99| 亚洲人成网站观看在线观看| 福利国产微拍广场一区视频在线| 日本欧美中文字幕精品亚洲| 亚洲欧美另类中文字幕| 免费一级毛片在线播放傲雪网| 日韩精品毛片人妻AV不卡| 天堂在线www网亚洲| 偷拍久久网| 又爽又大又黄a级毛片在线视频| 另类欧美日韩| 国产在线视频导航| 国内精品一区二区在线观看| 国产呦视频免费视频在线观看| 亚洲欧美一区二区三区蜜芽| 国产亚洲欧美另类一区二区| 久久黄色一级片| 中国国产A一级毛片| 就去色综合| 精品無碼一區在線觀看 | 国产欧美高清| 亚洲人成成无码网WWW| 亚洲欧美一级一级a| 五月激情婷婷综合| 欧美亚洲国产精品久久蜜芽| 日韩国产无码一区| 91小视频在线观看| 久久亚洲美女精品国产精品| 欧美一道本| 在线国产毛片手机小视频| 免费人成在线观看成人片| 99精品影院| 欧美特级AAAAAA视频免费观看| 毛片久久久|