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

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

2014-04-10 12:22:36韓芝俠
機械與電子 2014年5期

韓芝俠

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

0 引言

多余度飛控計算機軟件的容錯特性導致其復雜度遠非單余度可比擬,軟件任何一個微小錯誤都會帶來災難性的后果。因此,對多余度飛控計算機系統的軟件仿真測試就顯得尤為重要[1]。

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

1 余度飛控軟件組成

多余度飛控軟件結構如圖1所示。實時執行模塊包括了故障注入、余度管理模塊和數據記錄模塊等,是整個余度管理軟件的核心部分,也是余度軟件測試的核心內容,它實現了多余度容錯的多通道同步、數據監控表決和數據交叉傳輸等內容。

圖1 多余度飛控軟件結構

2 仿真測試平臺

飛控計算機系統大多使用了國內外主流的VxWorks多核操作系統[8-9]。其應用方式有兩種:AMP和SMP。選擇兩者的主要依據是為多核處理器中各核之間是否存在主次之分,是否存在專用核的特點[10]。作為飛控計算機,其多余度通道之間是相互獨立的。為了最大限度的逼近真實飛控軟件多核運行環境,選用AMP結構,各核都有獨立的OS。

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

圖2 仿真系統組成

3 仿真測試實現

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

余度計算機周期任務每幀為30ms,分為2個階段。前20ms必須完成:同步、信號采集、輸入數據表決監控、系統狀態控制、控制率計算和輸出數據表決監控。后10ms完成:輸出、故障綜合。將以上這些任務進行分解,需要利用多核機制實現仿真的動作有:任務調度、同步和交叉傳輸。

3.1 多核下的任務調度

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

3.2 多核下的同步流程仿真

同步是余度管理系統的重要部分。只有在每個周期的開始,各個通道開始步調一致的工作,后面的表決監控數據才有意義。同步方法很多,廣泛使用的是基于硬件實現的“雙握手”法。即每個通道先通過DO口輸出邏輯“真”,等待其他通道通過DI口響應邏輯“真”,第1次握手結束后,每個通道輸出邏輯“假”,等待第1次握手中響應正確的通道也輸出邏輯“假”。“雙握手”正常的通道才參與后續的任務。

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

根據以上分析,多核下任務同步使用封裝的核間同步消息接口來實現[14]。每個核遍歷除了自己外的所有副核,發送邏輯“真”信號,等待收到消息的核返回邏輯“真”后,再繼續發出邏輯“假”。考慮到系統的實時性要求,核間同步消息的同步等待時間一般不應超過10ms。

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

3.3 多核下的交叉傳輸流程仿真

余度管理任務通道之間的數據通信使用航空總線實現。在每一個周期通道計算機將各自的數據封存在自己的CCDL(交叉傳輸)數據包中,通過總線發送出自己的數據包,同時通過總線接收另外3個通道的CCDL數據包,這樣,每個通道就能有一份完整的多通道數據用于多余度數據的監控表決。

由于各通道的數據都是本地化存放。因此,使用多核技術的共享內存機制來仿真交叉傳輸過程。

圖3 副核1同步流程

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

多核鎖對數據保護方式的有兩種。一種是多核數據鎖,在執行寫入和讀取動作時進行保護;另一種是多核流程鎖,它是對整個數據操作流程進行鎖保護,以防其他任務改寫了該流程正在使用的數據。交叉傳輸是通道間的數據傳輸,沒有流程上的限制。因此,使用數據鎖來實現。

使用共享內存實現時,首先需要主核在共享內存區申請一塊共用內存,該內存是本地CCDL數據包的4倍大小,其他核需要注冊與該塊內存的掛接關系。共享內存鎖也需要在主核注冊,副核注冊掛接關系,并注冊讀、寫鎖。在使用數據的接口中分別封裝讀、寫鎖,實現對共享內存的保護。由于各個核都能讀寫該塊共享內存,如同方便地模擬了交叉傳輸流程。需要注意的是,多核鎖的使用,必須要保證上鎖和解鎖配對使用,否則會出現死等問題引起核間握手異常,系統復位。

4 仿真測試結果

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

5 結束語

基于多核的多余度軟件測試方法可以在軟件開發初期發現軟件Bug,保證算法邏輯的正確性。在VxWorks實時操作系統下,采用多核的核間同步消息機制進行通道間同步,使得測試的實時性非常接近實際運行情況;采用共享內存機制來仿真交叉傳輸過程,保證了交叉傳輸的快速性和便捷性;另外,基于多核技術的余度飛控軟件仿真測試方法還可以克服單CPU測試的缺點,整個仿真流程非常逼近真實的實時環境,非常適合于多余度軟件仿真測試,具有較高的實用價值。

[1] 楊 飛.余度飛控計算機的設計和仿真技術研究[D].西安:西北工業大學,2007.

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

[3] 劉小雄,章衛國,李廣文.電傳飛行控制系統的余度設計技術[J].飛機設計,2006,(1):35-38.

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

[5] 潘計輝,張小林.三余度飛控計算機關鍵技術研究及工程實現[J].計算機測量與控制,2010,18(2):440-442.

[6] 馬秋瑜.無人機飛控系統實時余度軟件設計[D].西安:西北工業大學,2007.

[7] 齊勁松.余度飛行控制計算機系統研究與實現[D].西安:西北工業大學,2007.

[8] 梁忠杰.基于VxWorks的飛控計算機軟件研究與實現[D].西安:西北工業大學,2006.

[9] 劉小雄,陳懷民,章衛國,等.飛控系統多余度管理算法在VxWorks中的實現[J].計算機工程與應用,2006,(02):260-262.

[10] 肖學甲.基于AMP架構的多核間任務同步與通信的設計與實現[D].西安:西安電子科技大學,2011.

[11] 陳宗基,孫曉哲,秦旭東.民機飛控計算機系統虛擬樣機驗證平臺研究[J].系統仿真學報,2008,20(15):4057-4063.

[12] 沈 俊.直升機飛行控制實時仿真研究[D].南京:南京航空航天大學,2011.

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

[14] 楊啟軍,魯士文.基于多核的入侵防御系統的設計與實現[J].計算機工程與設計,2010,31(21):4595-4598.

[15] 黃志鋼,盛肖煒.多核處理器結構與核間通信的CMC總線設計[J].沈陽理工大學學報,2012,31(6):70-75.

主站蜘蛛池模板: 伊人久久大香线蕉aⅴ色| 久久精品中文无码资源站| 亚洲欧美成人在线视频| 国产福利2021最新在线观看| 亚洲精品欧美重口| 免费一级成人毛片| 国产第一页亚洲| 精品一区二区三区视频免费观看| 成人福利在线视频| 思思热在线视频精品| 国产中文一区a级毛片视频| 国产一级在线播放| 国产三级视频网站| 色妞永久免费视频| 国产精品久线在线观看| 精品视频一区二区三区在线播| 国产免费福利网站| 欧美中文字幕无线码视频| 亚洲AⅤ波多系列中文字幕| 亚洲女同一区二区| 不卡午夜视频| 欧美一区中文字幕| 久久综合一个色综合网| 亚洲另类色| 成人久久精品一区二区三区| 在线亚洲天堂| AV不卡在线永久免费观看| 国产精品99久久久| 精品免费在线视频| 国产在线精品人成导航| 欧美精品影院| 日韩高清中文字幕| 国产一级无码不卡视频| 香蕉久久国产超碰青草| 亚洲高清无在码在线无弹窗| 5555国产在线观看| 亚洲伊人电影| 国产亚洲美日韩AV中文字幕无码成人 | 久久香蕉国产线看观| 97在线免费视频| 亚洲日本一本dvd高清| 亚洲自偷自拍另类小说| 欧美三级日韩三级| 国产美女91视频| 欧美一道本| 国产91小视频在线观看| 亚洲第一网站男人都懂| 日本不卡在线播放| 香蕉国产精品视频| 最新日韩AV网址在线观看| 亚洲视频a| 呦女精品网站| 伊人色综合久久天天| 国产爽妇精品| 天天操天天噜| 国产va免费精品| 亚洲国产一成久久精品国产成人综合| 毛片网站免费在线观看| 黄色网站在线观看无码| 亚洲一级毛片免费观看| 欧美一区二区三区欧美日韩亚洲| 青青操视频在线| 亚洲浓毛av| 精品国产91爱| 99re视频在线| 国产成人精品免费av| 久久国产高潮流白浆免费观看| 亚欧美国产综合| 特级做a爰片毛片免费69| 制服丝袜在线视频香蕉| 精品超清无码视频在线观看| 日韩av无码DVD| 欧美激情第一欧美在线| 亚洲最新地址| 十八禁美女裸体网站| 欧美一级在线播放| 久久性视频| 国产无码在线调教| 亚洲一区二区成人| 国产精品一区在线观看你懂的| 伊人成色综合网| 亚洲成a人片|