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

?

基于RFM的機(jī)載余度計(jì)算機(jī)軟件快速測(cè)試平臺(tái)

2016-11-23 10:02段曉軍
關(guān)鍵詞:內(nèi)存軟件計(jì)算機(jī)

牟 鵬,段曉軍

(1.中航工業(yè) 成都飛機(jī)工業(yè)集團(tuán)有限公司技術(shù)中心,成都 610091;2.西北工業(yè)大學(xué) 無(wú)人機(jī)特種技術(shù)重點(diǎn)實(shí)驗(yàn)室,西安 710072)

基于RFM的機(jī)載余度計(jì)算機(jī)軟件快速測(cè)試平臺(tái)

牟鵬1,段曉軍2

(1.中航工業(yè)成都飛機(jī)工業(yè)集團(tuán)有限公司技術(shù)中心,成都610091;2.西北工業(yè)大學(xué)無(wú)人機(jī)特種技術(shù)重點(diǎn)實(shí)驗(yàn)室,西安710072)

為了提升飛控計(jì)算機(jī)的可靠性,目前普遍采用余度技術(shù)構(gòu)建余度飛控計(jì)算機(jī),該計(jì)算機(jī)由多個(gè)通道構(gòu)成,每個(gè)通道有一個(gè)CPU,互相構(gòu)成備份;但是,由于各個(gè)通道的機(jī)載軟件之間相互同步、通信和交叉監(jiān)控,必須并行調(diào)試和測(cè)試,這就造成了機(jī)載軟件調(diào)試和測(cè)試的滯后,必須等待真實(shí)的飛控計(jì)算機(jī)開(kāi)發(fā)出來(lái)之后才能開(kāi)展工作;文章提出了一種基于RFM(反射內(nèi)存)的余度計(jì)算機(jī)快速原型測(cè)試平臺(tái)設(shè)計(jì)方法;該平臺(tái)使用商用貨架產(chǎn)品構(gòu)成余度計(jì)算機(jī)的多個(gè)冗余通道,使用RFM模擬多通道間的通信、同步過(guò)程,通過(guò)對(duì)底層驅(qū)動(dòng)封裝實(shí)現(xiàn)硬件故障模擬和余度功能模擬,方便實(shí)現(xiàn)軟件調(diào)試和從性能、功能測(cè)試,大大提高了開(kāi)發(fā)效率,減少了研制周期。

余度計(jì)算機(jī)軟件;RFM;快速測(cè)試

0 引言

機(jī)載多余度計(jì)算機(jī)軟件測(cè)試比較常用的方法是虛擬樣機(jī)技術(shù)。虛擬樣機(jī)又稱為虛擬原型機(jī),它將不同工程領(lǐng)域的開(kāi)發(fā)模型結(jié)合在一起,從外觀、功能和行為上模擬真實(shí)產(chǎn)品,產(chǎn)品在概念設(shè)計(jì)階段就可以迅速地分析、比較多種設(shè)計(jì)方案,可以縮短產(chǎn)品研發(fā)周期、提高產(chǎn)品質(zhì)量[1]。目前國(guó)內(nèi)外關(guān)于多余度飛控軟件的測(cè)試資料比較少,文獻(xiàn)[2]中提到了用虛擬樣機(jī)技術(shù)來(lái)實(shí)現(xiàn)多余度相似與非相似軟件的開(kāi)發(fā)與驗(yàn)證平臺(tái)。該平臺(tái)使用10臺(tái)PC結(jié)構(gòu)工控機(jī)構(gòu)筑虛擬的飛控計(jì)算機(jī)組,選用兩種不同類型的處理器芯片,Intel和PowerPC。通道間的數(shù)據(jù)總線采用以太網(wǎng),使用ARINC629總線協(xié)議進(jìn)行通訊,實(shí)現(xiàn)通道間和通道內(nèi)輸出數(shù)據(jù)比較的功能。通道內(nèi)各支路之間由于處理的信息量不大,采用計(jì)算機(jī)串行接口進(jìn)行通訊,實(shí)現(xiàn)各支路時(shí)鐘同步、系統(tǒng)狀態(tài)數(shù)據(jù)交換等功能以及發(fā)送支路禁止或失效告警信號(hào)。根據(jù)應(yīng)用需要稍作改變,該平臺(tái)就可以方便地模擬3×3、4×2等常見(jiàn)多余度配置的軟件開(kāi)發(fā)與測(cè)試,是目前國(guó)內(nèi)外多余度軟件測(cè)試中常用的方法。然而,該方法主要側(cè)重于對(duì)軟件開(kāi)發(fā)成品進(jìn)行測(cè)試,在多余度飛控軟件的開(kāi)發(fā)過(guò)程中,更多依賴于相關(guān)項(xiàng)目經(jīng)驗(yàn)的累積和軟件編碼人員的編碼質(zhì)量,并沒(méi)有方便、易用的測(cè)試平臺(tái)來(lái)輔助開(kāi)發(fā)過(guò)程,更談不上從性能和功能兩方面進(jìn)行測(cè)試。

反射內(nèi)存(RFM)是一種高速的實(shí)時(shí)數(shù)據(jù)傳輸技術(shù),它允許采用不同的總線結(jié)構(gòu)和不同的操作系統(tǒng)的計(jì)算機(jī)以確定的速率分享實(shí)時(shí)的數(shù)據(jù)。它與以太網(wǎng)等其他傳統(tǒng)網(wǎng)絡(luò)相比具有更低的數(shù)據(jù)傳輸延遲、更快的傳輸速度,更簡(jiǎn)單靈活的使用操作,可以滿足實(shí)時(shí)系統(tǒng)快速反應(yīng)周期的要求[3]。

本文提出了一種基于RFM的飛控軟件快速測(cè)試平臺(tái),它能在軟件設(shè)計(jì)開(kāi)發(fā)過(guò)程中隨時(shí)進(jìn)行實(shí)時(shí)性能和邏輯功能的測(cè)試,更早、更及時(shí)地發(fā)現(xiàn)軟件錯(cuò)誤和漏洞。更為重要的是,在系統(tǒng)軟件設(shè)計(jì)初期,當(dāng)航電總線仍在采購(gòu)和調(diào)試時(shí),它能利用RFM模擬航電總線的通訊過(guò)程,完成系統(tǒng)余度管理流程的測(cè)試。

1 測(cè)試平臺(tái)的結(jié)構(gòu)與原理

目標(biāo)飛機(jī)是虛擬飛機(jī),用一臺(tái)飛行仿真計(jì)算機(jī)來(lái)模擬。飛行仿真機(jī)基于RTX實(shí)時(shí)擴(kuò)展操作系統(tǒng),實(shí)現(xiàn)了單機(jī)Windows環(huán)境下的實(shí)時(shí)仿真。飛控計(jì)算機(jī)仿真機(jī)由N臺(tái)(N為系統(tǒng)的余度數(shù))具有PowerPC處理器的計(jì)算機(jī)組成,仿真機(jī)內(nèi)各板卡均基于VME背板總線,每臺(tái)計(jì)算機(jī)均配置有VMI5565反射內(nèi)存卡一塊,所有的反射內(nèi)存卡通過(guò)光纖連接至光纖HUB,該計(jì)算機(jī)組運(yùn)行VxWorks實(shí)時(shí)操作系統(tǒng)。系統(tǒng)另配備有飛控計(jì)算機(jī)上位機(jī)一臺(tái),上位機(jī)用于多余度飛控計(jì)算機(jī)軟件的開(kāi)發(fā)和調(diào)試,還兼有故障注入的功能。飛控計(jì)算機(jī)上位機(jī)與仿真機(jī)之間通過(guò)以太網(wǎng)相連。圖1是三余度飛控軟件測(cè)試平臺(tái)結(jié)構(gòu)圖。

目標(biāo)飛機(jī)(飛行仿真計(jì)算機(jī))模擬飛機(jī)的飛行狀況并周期地通過(guò)UDP協(xié)議向飛控計(jì)算機(jī)仿真機(jī)發(fā)送飛行數(shù)據(jù)。飛控計(jì)算機(jī)仿真機(jī)每小幀周期(該時(shí)間根據(jù)系統(tǒng)設(shè)計(jì)需要確定)運(yùn)行一次余度管理任務(wù),包括:同步、數(shù)據(jù)采集、交叉?zhèn)鬏?、?shù)據(jù)監(jiān)控、數(shù)據(jù)表決等環(huán)節(jié)。RFM及其光纖網(wǎng)絡(luò)用于實(shí)現(xiàn)通道間的通訊。例如,在每個(gè)小幀周期的起始,飛控計(jì)算機(jī)組都要進(jìn)行一次同步,其目的是保證N個(gè)通道之間保持步調(diào)一致的工作,在“某一時(shí)刻”同時(shí)完成同一任務(wù)的某個(gè)基本動(dòng)作。這樣,容錯(cuò)系統(tǒng)的表決過(guò)程才有意義,才能保證系統(tǒng)中冗余模塊的多數(shù)一致的原則。另外,RFM還用于通道間大量的數(shù)據(jù)交叉?zhèn)鬏?,這是系統(tǒng)冗余設(shè)計(jì)的最根本目的,當(dāng)一個(gè)通道數(shù)據(jù)發(fā)生錯(cuò)誤時(shí),可以共享其它數(shù)據(jù)正確通道的數(shù)據(jù),交叉?zhèn)鬏敶螖?shù)根據(jù)余度管理設(shè)計(jì)需要來(lái)確定。飛控計(jì)算機(jī)上位機(jī)通過(guò)TCP/IP協(xié)議不定期地向飛控計(jì)算機(jī)組發(fā)送控制指令及故障注入數(shù)據(jù),并實(shí)現(xiàn)飛控計(jì)算機(jī)組工作狀態(tài)與重要數(shù)據(jù)的實(shí)時(shí)監(jiān)控。

圖1 三余度軟件測(cè)試平臺(tái)構(gòu)成

2 飛控計(jì)算機(jī)軟件層次架構(gòu)

飛控計(jì)算機(jī)仿真機(jī)是余度軟件運(yùn)行的環(huán)境,需要逼真的模擬出余度管理軟件的運(yùn)行環(huán)境。為了實(shí)現(xiàn)這個(gè)目的,飛控計(jì)算機(jī)仿真機(jī)底層運(yùn)行余度功能模擬層軟件,包括:硬件驅(qū)動(dòng)API、余度功能模擬API。具體系統(tǒng)軟件層次架構(gòu)如下圖2所示。

圖2 軟件層次架構(gòu)

可以看出,硬件驅(qū)動(dòng)API的目的是為了在獲取真正硬件數(shù)據(jù)的基礎(chǔ)上,可以根據(jù)系統(tǒng)測(cè)試的需要注入特定的故障數(shù)據(jù)。對(duì)應(yīng)用層而言,是沒(méi)有辦法區(qū)分是真正的硬件故障還是注入的故障,就可以方便的測(cè)試各種硬件故障情況下系統(tǒng)的處理流程是否能按照多余度管理策略進(jìn)行。而余度功能模擬API的內(nèi)部不僅調(diào)用上述驅(qū)動(dòng)API,而且還根據(jù)故障注入信息對(duì)采集和輸出的數(shù)據(jù)進(jìn)行處理,進(jìn)而實(shí)現(xiàn)諸如同步、交叉?zhèn)鬏數(shù)扔喽忍匦缘哪M。同樣,在故障注入情況下可以測(cè)試系統(tǒng)的失步處理過(guò)程及交叉?zhèn)鬏斒〉裙收咸幚砹鞒?。余度特性模擬API的內(nèi)部工作流程見(jiàn)圖3。

圖3 余度特性模擬API工作流程

3 測(cè)試平臺(tái)實(shí)現(xiàn)

3.1多余度任務(wù)調(diào)度

測(cè)試平臺(tái)搭建完成后,就可以在該平臺(tái)下開(kāi)發(fā)和測(cè)試多余度飛控軟件了。首先,將N臺(tái)PowerPC計(jì)算機(jī)配置和引導(dǎo)為Vx Works實(shí)時(shí)操作系統(tǒng)環(huán)境,在上位機(jī)的Tonado開(kāi)發(fā)環(huán)境下配置目標(biāo)機(jī)服務(wù)器。目標(biāo)機(jī)啟動(dòng)后,將編寫(xiě)好的代碼編譯鏈接后download至目標(biāo)機(jī),利用Tornado的Shell工具在就可以查看代碼運(yùn)行的結(jié)果。接著根據(jù)系統(tǒng)任務(wù)調(diào)度流程,設(shè)置任務(wù)調(diào)度方式及任務(wù)的優(yōu)先級(jí)。設(shè)置系統(tǒng)時(shí)鐘周期為1 ms,并設(shè)置每小幀周期執(zhí)行一次中斷處理程序。將余度管理任務(wù)掛接到中斷處理程序中。根據(jù)余度管理的流程,逐步開(kāi)發(fā)和測(cè)試同步、交叉?zhèn)鬏?、監(jiān)控表決等模塊。在初次同步過(guò)程中,由于N個(gè)通道任務(wù)啟動(dòng)時(shí)間存在先后差異,應(yīng)設(shè)置較長(zhǎng)的同步等待時(shí)間,一般為500 ms左右。

3.2RFM模擬多通道間通訊

為了模擬多通道間的通訊過(guò)程,使用VMI5565反射內(nèi)存卡來(lái)實(shí)現(xiàn),VMI5565具有1 MB的板上存儲(chǔ)器。當(dāng)應(yīng)用程序成功打開(kāi)反射內(nèi)存板后,程序會(huì)映射反射內(nèi)存板上的內(nèi)存空間到應(yīng)用程序的虛擬內(nèi)存空間,應(yīng)用程序處理反射內(nèi)存板上的內(nèi)存就像處理普通內(nèi)存一樣。如果打開(kāi)成功,一個(gè)句柄將返回到應(yīng)用程序,這個(gè)句柄將用于應(yīng)用程序中所有與反射內(nèi)存板有關(guān)的I/O操作。結(jié)束一個(gè)與反射內(nèi)存網(wǎng)有關(guān)的應(yīng)用程序時(shí),必須關(guān)閉設(shè)備句柄,此時(shí)應(yīng)用程序中和反射內(nèi)存網(wǎng)有關(guān)的功能都將關(guān)閉,應(yīng)用程序?qū)⒉荒茉L問(wèn)反射內(nèi)存板上的資源。

反射內(nèi)存卡操作簡(jiǎn)單,只需要簡(jiǎn)單的幾條語(yǔ)句就可以直接訪問(wèn)反射內(nèi)存板上的內(nèi)存。下面是在VxWorks下操作反射內(nèi)存卡的相關(guān)函數(shù)。

首先需要在對(duì)應(yīng)的.c文件下添加:

include"rfm2g_api.h"

define RFM2G_VXWORKS

定義RFM操作句柄:

RFM2GHANDLE Handle

RFM初始化:

RFM2gInit();

RFM打開(kāi):

RFM2gOpen("RFM2G_0",&Handle);//打開(kāi)設(shè)備,返回句柄

RFM讀寫(xiě)函數(shù):

RFM2g Write(rh,offset,buf,sizeof(buf));//向反射內(nèi)存寫(xiě)數(shù)據(jù)

RFM2gRead(rh,offset,buf,sizeof(buf));//從反射內(nèi)存讀數(shù)據(jù)

這里要注意的是,雖然RFM的傳輸速率可達(dá)25.9 Mbps,但是每次讀寫(xiě)函數(shù)的內(nèi)存操作大小不應(yīng)大于256 Bit,在實(shí)際應(yīng)用中,當(dāng)內(nèi)存操作大于256 Bit時(shí),會(huì)帶來(lái)意想不到的時(shí)間延遲,嚴(yán)重影響系統(tǒng)的實(shí)時(shí)性能。因此在多通道通訊過(guò)程中,若通訊數(shù)據(jù)較多時(shí),應(yīng)分批傳送。

3.3故障注入模塊

故障注入模塊應(yīng)在所有基本模塊開(kāi)發(fā)完成后實(shí)現(xiàn)。故障注入作為一個(gè)獨(dú)立模塊周期運(yùn)行,其周期約為1/4個(gè)小幀周期,其優(yōu)先級(jí)高于余度管理任務(wù)的優(yōu)先級(jí),故障注入模塊周期讀取上位機(jī)傳送的故障注入信息,并及時(shí)將該信息傳送至驅(qū)動(dòng)API和余度功能模擬API,驅(qū)動(dòng)API和余度功能模擬API根據(jù)故障注入信息修改對(duì)應(yīng)的執(zhí)行結(jié)果,模擬多余度飛控系統(tǒng)的各種故障情況,測(cè)試多余度系統(tǒng)的容錯(cuò)處理邏輯和容錯(cuò)能力。

4 平臺(tái)應(yīng)用與分析

設(shè)計(jì)3*1余度管理系統(tǒng),其工作過(guò)程如下:飛行仿真機(jī)每5 ms發(fā)送一次飛行仿真數(shù)據(jù),飛控計(jì)算機(jī)仿真機(jī)每20 ms采集一次飛行仿真機(jī)的傳感器數(shù)據(jù)(只讀取最新數(shù)據(jù))。讀到數(shù)據(jù)后,對(duì)輸入的數(shù)據(jù)在N個(gè)通道之間進(jìn)行交叉?zhèn)鬏?,并?duì)交叉?zhèn)鬏斀Y(jié)果進(jìn)行數(shù)據(jù)監(jiān)控表決,將“最合適”的數(shù)據(jù)送到控制律計(jì)算模塊供控制律計(jì)算使用??刂坡捎?jì)算模塊將結(jié)果輸出,并對(duì)輸出數(shù)據(jù)再次進(jìn)行交叉?zhèn)鬏?,?duì)第二次交叉?zhèn)鬏斀Y(jié)果同樣進(jìn)行監(jiān)控、表決,然后將表決所得到的舵控指令通過(guò)以太網(wǎng)輸出給目標(biāo)飛機(jī)。飛行仿真計(jì)算機(jī)按照一定的表決算法對(duì)三組輸入進(jìn)行選擇,并將結(jié)果輸出到舵機(jī)實(shí)現(xiàn)飛機(jī)主飛控系統(tǒng)的增穩(wěn)與控制任務(wù)。在該平臺(tái)下開(kāi)發(fā)3*1余度管理軟件,首先,分模塊完成通道間同步、交叉?zhèn)鬏敗?shù)據(jù)監(jiān)控、數(shù)據(jù)表決模塊的開(kāi)發(fā)和測(cè)試,然后根據(jù)余度管理流程將模塊任務(wù)融入20 ms小幀任務(wù)中,進(jìn)行余度流程測(cè)試。圖4是三余度測(cè)試平臺(tái)實(shí)物圖。

5 結(jié)論

圖4 三余度測(cè)試平臺(tái)實(shí)物

在該測(cè)試平臺(tái)下,可以運(yùn)行實(shí)時(shí)程序,統(tǒng)計(jì)實(shí)時(shí)任務(wù)執(zhí)行時(shí)間,測(cè)試多余度策略管理邏輯,并及時(shí)糾正軟件書(shū)寫(xiě)B(tài)UG和邏輯BUG。在各種系統(tǒng)航電總線存在差異的情況下,利用RFM代替航電總線,雖然其讀寫(xiě)通道數(shù)據(jù)的時(shí)間和實(shí)際航電總線的通訊時(shí)間之間仍存在差異,但是這點(diǎn)差異相對(duì)小幀周期而言,是微乎其微的。因此,RFM能較為逼真地模擬多通道間通訊過(guò)程。軟件測(cè)試完成后,還可以根據(jù)航電總線的設(shè)計(jì)加入相應(yīng)的驅(qū)動(dòng)模塊并修改對(duì)應(yīng)函數(shù),就能快速完成飛控系統(tǒng)多余度軟件的開(kāi)發(fā)工作。

[1]王仲濤,劉增明,劉晶晶.彈載飛控軟件開(kāi)發(fā)調(diào)試與實(shí)時(shí)仿真平臺(tái)研究[J].航空兵器,2010(6):38

[2]陳宗基,孫曉哲,秦旭東.民機(jī)飛控計(jì)算機(jī)系統(tǒng)虛擬樣機(jī)驗(yàn)證平臺(tái)研究[J].系統(tǒng)仿真學(xué)報(bào),2008(8):112

[3]顧穎彥,反射內(nèi)存網(wǎng)實(shí)時(shí)通信技術(shù)的研究[J].計(jì)算機(jī)工程,2002(7):143

[4]宋龍,張文山,靳凌,任章.空空導(dǎo)彈飛控軟件研制中的虛擬樣機(jī)應(yīng)用[J].計(jì)算機(jī)仿真,2005(5):19-24.

[5]Naidu A.Case study.Airbus A340 flight control system[D].University of Virginia,2002:1-12.

[6]Yeh Y C.Triple-Triple Redundant 777 Primary Flight Computer[A].Aerospace Applications Conference[C].Aspen,Co.1996(1):293-307.

[7]Briere D,Traverse P.Airbus A320/A330/A340 Electrical Flight Control-A family of fault-tolerant systems[A].The Twenty-Third International Symposium.Aerospatiale[C].316,route de Bayonne,31060 Toulouse,F(xiàn)rance.June,1993:616-623.

A Rapid Testing Platform of Redundant Computer Software

Mou Peng1,Duan Xiaojun2
(1.AVIC Chengdu Aircraft Industry,Chengdu610091,China;2.State key Laboratory of UAV Special Technology,Northwestern Polytechnical University,Xi'an710072,China)

Aimed at the difficulties in associated debugging and long testing period and complex conditions in the simulation and testing of the redundant computer software,a kind of rapid prototype test platform based on RFM is proposed.The platform simulates the communication process between multi-channels by the RFM(Reflective Memory).The hardware fault simulation and the redundancy functional module fault simulation are implemented by encapsulating the underlying drivers and redundancy function modules.Under the platform,the redundant software could be tested from both performance and functionality in developing process.

redundant computer software;RFM;rapid test

1671-4598(2016)05-0012-02

10.16526/j.cnki.11-4762/tp.2016.05.004

TP311

A

2015-05-28;

2016-01-04。

航天科技創(chuàng)新基金(N2014KC0026)。

牟鵬(1982),四川遂寧人,主要從事無(wú)人機(jī)飛行控制系統(tǒng)設(shè)計(jì)、機(jī)載軟件開(kāi)發(fā)等方向的研究。

猜你喜歡
內(nèi)存軟件計(jì)算機(jī)
禪宗軟件
計(jì)算機(jī)操作系統(tǒng)
基于計(jì)算機(jī)自然語(yǔ)言處理的機(jī)器翻譯技術(shù)應(yīng)用與簡(jiǎn)介
計(jì)算機(jī)多媒體技術(shù)應(yīng)用初探
筆記本內(nèi)存已經(jīng)在漲價(jià)了,但幅度不大,升級(jí)擴(kuò)容無(wú)須等待
“春夏秋冬”的內(nèi)存
軟件對(duì)對(duì)碰
信息系統(tǒng)審計(jì)中計(jì)算機(jī)審計(jì)的應(yīng)用
即時(shí)通訊軟件WhatsApp
內(nèi)存搭配DDR4、DDR3L還是DDR3?
太仆寺旗| 西林县| 大洼县| 罗源县| 孟村| 洪江市| 辽宁省| 安仁县| 靖边县| 西平县| 梁平县| 黎平县| 昭苏县| 高邑县| 阜宁县| 明光市| 宣恩县| 江北区| 龙里县| 恩施市| 琼海市| 井冈山市| 桐城市| 车险| 渝中区| 铁岭县| 沙田区| 汉源县| 黄浦区| 岳池县| 额尔古纳市| 马公市| 新余市| 巧家县| 绥化市| 天等县| 台中县| 固安县| 泊头市| 蓝田县| 烟台市|