亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        余度飛控軟件多核仿真測試技術(shù)研究

        2014-04-10 12:22:36韓芝俠
        機(jī)械與電子 2014年5期
        關(guān)鍵詞:控計(jì)算機(jī)共享內(nèi)存余度

        韓芝俠

        (寶雞文理學(xué)院電子電氣工程系,陜西 寶雞721016)

        0 引言

        多余度飛控計(jì)算機(jī)軟件的容錯(cuò)特性導(dǎo)致其復(fù)雜度遠(yuǎn)非單余度可比擬,軟件任何一個(gè)微小錯(cuò)誤都會帶來災(zāi)難性的后果。因此,對多余度飛控計(jì)算機(jī)系統(tǒng)的軟件仿真測試就顯得尤為重要[1]。

        傳統(tǒng)的多余度飛控系統(tǒng)的軟件測試可以在一定程度上實(shí)現(xiàn)真實(shí)物理系統(tǒng)的功能,驗(yàn)證系統(tǒng)性能是否合乎設(shè)計(jì)要求[2]。同時(shí),它的實(shí)時(shí)性更逼真地接近真實(shí)的飛控軟件運(yùn)行環(huán)境。但是它也存在一些問題。國內(nèi)外廣泛使用的余度等級一般是帶自監(jiān)控的三余度或四余度。這樣,就需要多個(gè)計(jì)算機(jī)組來實(shí)現(xiàn)測試,且在測試過程中,需要幾臺計(jì)算機(jī)聯(lián)調(diào),使得測試過程較為復(fù)雜、測試周期很長且聯(lián)調(diào)困難[3]。參考文獻(xiàn)[4]提出了一種基于單PC的余度飛控軟件仿真測試方法。使用單PC技術(shù)可以在飛控系統(tǒng)的設(shè)計(jì)開發(fā)過程中實(shí)現(xiàn)真正的并行工程開發(fā),調(diào)試便捷,能極大提高產(chǎn)品開發(fā)效率。但是,單PC測試下支路同步性、多任務(wù)調(diào)度、通道通訊的實(shí)時(shí)性和實(shí)際系統(tǒng)運(yùn)行情況還有一定的差異,無法得到保證,在多余度軟件應(yīng)用到真實(shí)飛控系統(tǒng)之前,必須進(jìn)行一定的半物理仿真測試實(shí)驗(yàn)進(jìn)一步來驗(yàn)證軟件的可靠性?;诖耍岢鲆环N基于多核技術(shù)的單PC余度飛控軟件仿真測試方法[5-7],能在余度管理軟件開發(fā)初期進(jìn)入測試,極大地縮短了開發(fā)周期,且能利用核間通訊機(jī)制方便地模擬多余度通道之間的交叉?zhèn)鬏?、通道間同步等流程,所以,其實(shí)時(shí)性已經(jīng)可以非常接近真實(shí)飛控軟件的運(yùn)行環(huán)境,在繼承了參考文獻(xiàn)[4]的簡易可測的基礎(chǔ)上解決了參考文獻(xiàn)[4]在實(shí)時(shí)性方面的不足。下面,以4×1余度管理軟件為例來介紹該方法。

        1 余度飛控軟件組成

        多余度飛控軟件結(jié)構(gòu)如圖1所示。實(shí)時(shí)執(zhí)行模塊包括了故障注入、余度管理模塊和數(shù)據(jù)記錄模塊等,是整個(gè)余度管理軟件的核心部分,也是余度軟件測試的核心內(nèi)容,它實(shí)現(xiàn)了多余度容錯(cuò)的多通道同步、數(shù)據(jù)監(jiān)控表決和數(shù)據(jù)交叉?zhèn)鬏數(shù)葍?nèi)容。

        圖1 多余度飛控軟件結(jié)構(gòu)

        2 仿真測試平臺

        飛控計(jì)算機(jī)系統(tǒng)大多使用了國內(nèi)外主流的VxWorks多核操作系統(tǒng)[8-9]。其應(yīng)用方式有兩種:AMP和SMP。選擇兩者的主要依據(jù)是為多核處理器中各核之間是否存在主次之分,是否存在專用核的特點(diǎn)[10]。作為飛控計(jì)算機(jī),其多余度通道之間是相互獨(dú)立的。為了最大限度的逼近真實(shí)飛控軟件多核運(yùn)行環(huán)境,選用AMP結(jié)構(gòu),各核都有獨(dú)立的OS。

        目標(biāo)飛機(jī)是虛擬飛機(jī),用一臺飛行仿真計(jì)算機(jī)來模擬[11]。飛行仿真機(jī)基于RTX實(shí)時(shí)擴(kuò)展操作系統(tǒng),實(shí)現(xiàn)了Windows環(huán)境下的實(shí)時(shí)仿真。飛控計(jì)算機(jī)仿真機(jī)組由一臺具有PowerPC處理器的多核計(jì)算機(jī)組成,該計(jì)算機(jī)運(yùn)行VxWorks實(shí)時(shí)操作系統(tǒng)。采用1主核帶4個(gè)副核的CPU來進(jìn)行余度軟件仿真測試。為了仿真多余度通道的任務(wù)調(diào)度過程,對多核進(jìn)行功能劃分,分為調(diào)度管理和通道模擬功能。其中,主核實(shí)現(xiàn)調(diào)度管理功能,4個(gè)副核分別運(yùn)行4個(gè)通道模擬通道任務(wù)。在軟件邏輯調(diào)試中,主核可實(shí)現(xiàn)故障注入的功能。各通道之間的通訊采用核間通訊實(shí)現(xiàn)。仿真系統(tǒng)組成如圖2所示。

        圖2 仿真系統(tǒng)組成

        3 仿真測試實(shí)現(xiàn)

        余度軟件測試是為了驗(yàn)證軟件編碼是否有誤,信號時(shí)序性及邏輯跳轉(zhuǎn)是否正確。因此,有必要對軟件中的每個(gè)分支進(jìn)行驗(yàn)證和測試。測試余度管理軟件,最重要的一點(diǎn)就是模擬多個(gè)余度通道同時(shí)工作,仿真出多個(gè)余度管理軟件同時(shí)運(yùn)行的狀況。另外,還要仿真通道間通訊、數(shù)據(jù)處理與記錄和故障處理等環(huán)節(jié)。只有軟件運(yùn)行狀況十分接近真實(shí)飛控軟件運(yùn)行狀況的情況下,才能根據(jù)條件進(jìn)入軟件的每個(gè)邏輯分支,驗(yàn)證其結(jié)果是否與余度管理算法一致。

        余度計(jì)算機(jī)周期任務(wù)每幀為30ms,分為2個(gè)階段。前20ms必須完成:同步、信號采集、輸入數(shù)據(jù)表決監(jiān)控、系統(tǒng)狀態(tài)控制、控制率計(jì)算和輸出數(shù)據(jù)表決監(jiān)控。后10ms完成:輸出、故障綜合。將以上這些任務(wù)進(jìn)行分解,需要利用多核機(jī)制實(shí)現(xiàn)仿真的動作有:任務(wù)調(diào)度、同步和交叉?zhèn)鬏敗?/p>

        3.1 多核下的任務(wù)調(diào)度

        飛控計(jì)算機(jī)的實(shí)時(shí)性要求非常高,這就要求采用非搶占式任務(wù)調(diào)度來實(shí)現(xiàn)[12-13]。主核運(yùn)行故障注入模塊及用戶界面,4個(gè)副核各自運(yùn)行一個(gè)通道的余度管理軟件。根據(jù)核號和通道間的對應(yīng)關(guān)系,實(shí)現(xiàn)各通道數(shù)據(jù)本地化,逼真地模擬單通道余度計(jì)算機(jī)的運(yùn)行。利用多核機(jī)制打通數(shù)據(jù)通道,完成多余度任務(wù)的處理流程。

        3.2 多核下的同步流程仿真

        同步是余度管理系統(tǒng)的重要部分。只有在每個(gè)周期的開始,各個(gè)通道開始步調(diào)一致的工作,后面的表決監(jiān)控?cái)?shù)據(jù)才有意義。同步方法很多,廣泛使用的是基于硬件實(shí)現(xiàn)的“雙握手”法。即每個(gè)通道先通過DO口輸出邏輯“真”,等待其他通道通過DI口響應(yīng)邏輯“真”,第1次握手結(jié)束后,每個(gè)通道輸出邏輯“假”,等待第1次握手中響應(yīng)正確的通道也輸出邏輯“假”?!半p握手”正常的通道才參與后續(xù)的任務(wù)。

        使用多核技術(shù)來仿真通道間同步,就是要仿真通道間的數(shù)字信號,反映在多核實(shí)現(xiàn)上,就是核間消息。多余度軟件的同步,由于其他核的任務(wù)執(zhí)行結(jié)果對本核后續(xù)操作有影響,則必須使用同步消息來實(shí)現(xiàn)。另外,考慮到核間消息存在時(shí)間延遲,在需要考慮時(shí)序的地方,如硬件操作等,這種場景也可以考慮使用核間同步消息來實(shí)現(xiàn)。如果核間同步消息發(fā)出后,由于任務(wù)異常,一直未能收到對方返回的消息,可以設(shè)置死等時(shí)間。超時(shí)后,任務(wù)自動返回執(zhí)行失敗,進(jìn)行后續(xù)任務(wù),不再等待。核間異步消息常用于處理通知事件,某個(gè)核發(fā)出消息通知后,不去關(guān)注消息的執(zhí)行結(jié)果,繼續(xù)本核任務(wù)。收到消息的核根據(jù)消息內(nèi)容進(jìn)行相關(guān)的處理。

        根據(jù)以上分析,多核下任務(wù)同步使用封裝的核間同步消息接口來實(shí)現(xiàn)[14]。每個(gè)核遍歷除了自己外的所有副核,發(fā)送邏輯“真”信號,等待收到消息的核返回邏輯“真”后,再繼續(xù)發(fā)出邏輯“假”??紤]到系統(tǒng)的實(shí)時(shí)性要求,核間同步消息的同步等待時(shí)間一般不應(yīng)超過10ms。

        副核1與其他副核進(jìn)行同步的過程如圖3所示。首先由副核1向副核2發(fā)送邏輯“真”同步信號,等待副核2返回邏輯“真”消息,如果在10ms內(nèi)未返回,則邏輯“真”同步失敗,進(jìn)入同步恢復(fù)程序,否則邏輯“真”同步成功。由副核1向副核2發(fā)送邏輯“假”同步信號,等待副核2返回邏輯“假”消息,如果在10ms內(nèi)未返回,則邏輯“假”同步失敗,進(jìn)入同步恢復(fù)程序,否則副核2同步成功。接著進(jìn)行副核3同步,直至遍歷所有其余副核,則同步完成。

        3.3 多核下的交叉?zhèn)鬏斄鞒谭抡?/h3>

        余度管理任務(wù)通道之間的數(shù)據(jù)通信使用航空總線實(shí)現(xiàn)。在每一個(gè)周期通道計(jì)算機(jī)將各自的數(shù)據(jù)封存在自己的CCDL(交叉?zhèn)鬏敚?shù)據(jù)包中,通過總線發(fā)送出自己的數(shù)據(jù)包,同時(shí)通過總線接收另外3個(gè)通道的CCDL數(shù)據(jù)包,這樣,每個(gè)通道就能有一份完整的多通道數(shù)據(jù)用于多余度數(shù)據(jù)的監(jiān)控表決。

        由于各通道的數(shù)據(jù)都是本地化存放。因此,使用多核技術(shù)的共享內(nèi)存機(jī)制來仿真交叉?zhèn)鬏斶^程。

        圖3 副核1同步流程

        共享內(nèi)存是將想共享的數(shù)據(jù)都定義成為全局變量,它最大的優(yōu)點(diǎn)是便利、高速,但也有很大的危險(xiǎn)性。如果該內(nèi)存同時(shí)被不同的任務(wù)訪問和修改時(shí),就很難保證數(shù)據(jù)的完整和一致性。因此,需要對共享內(nèi)存部分?jǐn)?shù)據(jù)進(jìn)行上鎖[15]。上鎖的辦法主要有中斷上鎖、搶占上鎖和信號量。中斷上鎖保證了任務(wù)對CPU的獨(dú)占,在上鎖期間,即使中斷產(chǎn)生也不會切換到中斷服務(wù)程序,它容易造成超時(shí)異常;搶占上鎖是基于任務(wù)級的,它禁止當(dāng)前執(zhí)行的任務(wù)被其他任務(wù)搶占,它同樣也會造成其他任務(wù)的延遲;信號量比較簡單,但是處理能力也有限。因此,核間鎖采用中斷上鎖或搶占上鎖來實(shí)現(xiàn)。

        多核鎖對數(shù)據(jù)保護(hù)方式的有兩種。一種是多核數(shù)據(jù)鎖,在執(zhí)行寫入和讀取動作時(shí)進(jìn)行保護(hù);另一種是多核流程鎖,它是對整個(gè)數(shù)據(jù)操作流程進(jìn)行鎖保護(hù),以防其他任務(wù)改寫了該流程正在使用的數(shù)據(jù)。交叉?zhèn)鬏斒峭ǖ篱g的數(shù)據(jù)傳輸,沒有流程上的限制。因此,使用數(shù)據(jù)鎖來實(shí)現(xiàn)。

        使用共享內(nèi)存實(shí)現(xiàn)時(shí),首先需要主核在共享內(nèi)存區(qū)申請一塊共用內(nèi)存,該內(nèi)存是本地CCDL數(shù)據(jù)包的4倍大小,其他核需要注冊與該塊內(nèi)存的掛接關(guān)系。共享內(nèi)存鎖也需要在主核注冊,副核注冊掛接關(guān)系,并注冊讀、寫鎖。在使用數(shù)據(jù)的接口中分別封裝讀、寫鎖,實(shí)現(xiàn)對共享內(nèi)存的保護(hù)。由于各個(gè)核都能讀寫該塊共享內(nèi)存,如同方便地模擬了交叉?zhèn)鬏斄鞒?。需要注意的是,多核鎖的使用,必須要保證上鎖和解鎖配對使用,否則會出現(xiàn)死等問題引起核間握手異常,系統(tǒng)復(fù)位。

        4 仿真測試結(jié)果

        使用多核仿真技術(shù),在仿真測試平臺上對某四余度飛控計(jì)算機(jī)軟件進(jìn)行了仿真測試。該平臺能夠記錄自仿真系統(tǒng)啟動以來的各種歷史數(shù)據(jù),并可以以多通道曲線對比的方式展示給用戶。通過測試及數(shù)據(jù)分析,及時(shí)發(fā)現(xiàn)一些邏輯錯(cuò)誤和時(shí)序問題;通過故障注入,還能進(jìn)一步發(fā)現(xiàn)一些深層次的問題,如資源重入等。通過這樣的仿真測試,飛控計(jì)算機(jī)軟件的可靠性得到了有力的保障,為后續(xù)在真實(shí)飛控環(huán)境下測試奠定了堅(jiān)實(shí)的基礎(chǔ)。

        5 結(jié)束語

        基于多核的多余度軟件測試方法可以在軟件開發(fā)初期發(fā)現(xiàn)軟件Bug,保證算法邏輯的正確性。在VxWorks實(shí)時(shí)操作系統(tǒng)下,采用多核的核間同步消息機(jī)制進(jìn)行通道間同步,使得測試的實(shí)時(shí)性非常接近實(shí)際運(yùn)行情況;采用共享內(nèi)存機(jī)制來仿真交叉?zhèn)鬏斶^程,保證了交叉?zhèn)鬏數(shù)目焖傩院捅憬菪?;另外,基于多核技術(shù)的余度飛控軟件仿真測試方法還可以克服單CPU測試的缺點(diǎn),整個(gè)仿真流程非常逼近真實(shí)的實(shí)時(shí)環(huán)境,非常適合于多余度軟件仿真測試,具有較高的實(shí)用價(jià)值。

        [1] 楊 飛.余度飛控計(jì)算機(jī)的設(shè)計(jì)和仿真技術(shù)研究[D].西安:西北工業(yè)大學(xué),2007.

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

        [3] 劉小雄,章衛(wèi)國,李廣文.電傳飛行控制系統(tǒng)的余度設(shè)計(jì)技術(shù)[J].飛機(jī)設(shè)計(jì),2006,(1):35-38.

        [4] 吳成富,張江霞,段曉軍,等.余度飛控軟件單PC仿真測試技術(shù)[J].測控技術(shù),2011,(8):91-94.

        [5] 潘計(jì)輝,張小林.三余度飛控計(jì)算機(jī)關(guān)鍵技術(shù)研究及工程實(shí)現(xiàn)[J].計(jì)算機(jī)測量與控制,2010,18(2):440-442.

        [6] 馬秋瑜.無人機(jī)飛控系統(tǒng)實(shí)時(shí)余度軟件設(shè)計(jì)[D].西安:西北工業(yè)大學(xué),2007.

        [7] 齊勁松.余度飛行控制計(jì)算機(jī)系統(tǒng)研究與實(shí)現(xiàn)[D].西安:西北工業(yè)大學(xué),2007.

        [8] 梁忠杰.基于VxWorks的飛控計(jì)算機(jī)軟件研究與實(shí)現(xiàn)[D].西安:西北工業(yè)大學(xué),2006.

        [9] 劉小雄,陳懷民,章衛(wèi)國,等.飛控系統(tǒng)多余度管理算法在VxWorks中的實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2006,(02):260-262.

        [10] 肖學(xué)甲.基于AMP架構(gòu)的多核間任務(wù)同步與通信的設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2011.

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

        [12] 沈 俊.直升機(jī)飛行控制實(shí)時(shí)仿真研究[D].南京:南京航空航天大學(xué),2011.

        [13] 邱宗江,劉慧霞,席慶彪,等.無人機(jī)PCA故障檢測與診斷技術(shù)研究[J].計(jì)算機(jī)工程與應(yīng)用,2013,49(4):262-266.

        [14] 楊啟軍,魯士文.基于多核的入侵防御系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(21):4595-4598.

        [15] 黃志鋼,盛肖煒.多核處理器結(jié)構(gòu)與核間通信的CMC總線設(shè)計(jì)[J].沈陽理工大學(xué)學(xué)報(bào),2012,31(6):70-75.

        猜你喜歡
        控計(jì)算機(jī)共享內(nèi)存余度
        余度計(jì)算機(jī)在無人機(jī)系統(tǒng)中的應(yīng)用研究
        通過QT實(shí)現(xiàn)進(jìn)程間的通信
        某型飛控計(jì)算機(jī)與地面檢測設(shè)備無法連接故障分析
        高空長航時(shí)無人機(jī)飛控機(jī)容錯(cuò)技術(shù)研究
        新型操舵控制系統(tǒng)余度管理技術(shù)
        基于PCI總線的多處理器協(xié)同機(jī)制研究
        無人機(jī)容錯(cuò)飛行控制計(jì)算機(jī)體系結(jié)構(gòu)研究
        混合余度傳感器系統(tǒng)的可靠性建模與分析
        QNX下PEX8311多路實(shí)時(shí)數(shù)據(jù)采集的驅(qū)動設(shè)計(jì)
        電子世界(2014年21期)2014-04-29 06:41:36
        一種高效RTAI 共享內(nèi)存管理層的研究與實(shí)現(xiàn)*
        丁香美女社区| 国产午夜精品综合久久久| 极品一区二区在线视频| 久久天天躁狠狠躁夜夜不卡| 国产亚洲视频在线观看网址| 亚洲第一区无码专区| 精品福利一区二区三区| 免费无码一区二区三区a片百度 | 国产欧美日韩a片免费软件| 大胸美女吃奶爽死视频| 免费人妖一区二区三区| 妺妺窝人体色www看人体| 66lu国产在线观看| 亚洲国产高清在线视频| 日韩精品视频免费网站| 亚洲av日韩av天堂一区二区三区| 色综合久久综合欧美综合图片 | 国产成人自拍视频视频| 日产乱码一二三区别免费l| 成人片黄网站色大片免费观看cn | 91丝袜美腿亚洲一区二区| 无码人妻久久一区二区三区不卡| 综合无码综合网站| 少妇被躁到高潮和人狍大战| 夜夜躁狠狠躁日日躁视频| 狠狠躁夜夜躁无码中文字幕| 伊人影院在线观看不卡| 亚洲字幕中文综合久久| 免费a级毛片无码a∨男男| 亚洲一区二区高清精品| 成人激情视频在线手机观看| 成人aaa片一区国产精品| 亚洲综合色秘密影院秘密影院| 久久99久久久精品人妻一区二区| 精品午夜福利在线观看| 97久久精品人人做人人爽| 亚洲色图视频在线播放| 国产色视频一区二区三区不卡| 亚洲一区二区三区中文字幂| av一区二区三区亚洲| 二区三区日本高清视频|