專利名稱:一種基于多總線下vxworks多任務監(jiān)控技術的方法
技術領域:
本發(fā)明ー種基于多總線下vxworks多任務監(jiān)控技術的方法屬于航空電子技術領域。
背景技術:
在VxWorks下應用軟件開發(fā)時采用交叉開發(fā)模式,宿主機通常是普通的PC機,目標機就是應用程序真實的運行的硬件平臺;集成開發(fā)環(huán)境Tornado位于宿主機,用戶通過Tornado開發(fā)環(huán)境完成代碼編寫、編譯、鏈接,宿主機與目標機通過分別位于其上的TargetServer和Target Agent實現(xiàn)信息交互,物理連接往往是串ロ或者網(wǎng)絡,在開發(fā)調試過程中,用戶將編譯鏈接后的目標代碼通過Target Server加載到目標機上運行,可以通過 Tornado下的Shell、Debugger、Browser以及Windview等工具監(jiān)控目標機上應用程序任務的運行情況,應用程序使用Printf語句打印的調試信息回送到宿主機,借助打印信息和Tornado提供的各種調試工具,開發(fā)者可以監(jiān)控任務的運行情況,當某個任務出錯時,可以通過各種輸出信息分析問題原因。但是一旦完成開發(fā)投入實際試驗使用,由于實際使用環(huán)境和當初的開發(fā)調試環(huán)境有較大的區(qū)別,難免會出現(xiàn)各種異常情況,比較常見的異常就是任務掛起,在這種情況下開發(fā)者往往無法像在地面調試時那樣可以外接調試電纜捕獲異常信息,以確定發(fā)生異常的任務,也無法捕獲開發(fā)者在開發(fā)過程中的輔助打印信息,這種情況在戰(zhàn)斗機機載軟件尤為常見。基于VxWorks的應用軟件大多采用多任務方式,無法像以前沒有操作系統(tǒng)的嵌入式系統(tǒng)那樣,通過硬件看門狗電路,在軟件運行出錯時自動重啟恢復軟件運行,一個任務出錯往往并不會引起操作系統(tǒng)重啟,用戶通過上層很難判斷應用軟件運行是否正常。因此需要建立軟件看門狗機制,監(jiān)控任務運行情況,在出現(xiàn)異常時記錄必要的異常信息,自動重啟設備。同時,需像開發(fā)階段那樣記錄輸出信息,以輔助分析異常原因。
發(fā)明內容
發(fā)明目的本發(fā)明的目的是提供ー種多總線多任務下的實時監(jiān)控及處理方法,以前的監(jiān)控方法主要是通過硬件看門狗電路的方法,能夠解決單總線多任務的簡單實時系統(tǒng),對于多總線多任務的復雜實時系統(tǒng),由于各任務間實時性要求更高,需要實時處理的數(shù)據(jù)量更大,若都使用硬件監(jiān)控電路來實現(xiàn),硬件電路復雜,成本高,降低了產品的可靠性。本發(fā)明的目的是提供一種針對解決多總線多任務情況下,使用硬件電路無法解決任務出錯吋,不能復位或自動重啟的軟件解決方法。技術方案一種基于多總線下vxworks多任務監(jiān)控技術的方法采取以下步驟—、選擇并設置任務優(yōu)先級,根據(jù)航空電子系統(tǒng)的不同使用需求對1553B總線通訊任務、以太網(wǎng)通訊任務、HDLC總線通訊任務、內總線通訊任務、RS-422總線通訊任務、ARINC-429總線通訊任務、監(jiān)控任務進行選擇并設置優(yōu)先級;ニ、將監(jiān)控任務的執(zhí)行周期設置為T,其中0〈T〈1. 6s ;
三、對各工作任務分別設置ー個任務異常上限N,執(zhí)行周期t,運行頻率計數(shù)器num,其中 0〈t〈5s,N>t/T, num 初值為 0 ;四、以T為周期運行看門狗任務,每執(zhí)行一次監(jiān)控任務,對各工作任務的運行頻率計數(shù)器num進行加I操作;五、各工作任務以各自執(zhí)行周期t運行,當各工作任務正常執(zhí)行完畢時分別對各自的num進行清零操作;六、在監(jiān)控任務中分別對各工作任務num進行判斷,看其是否達到任務異常上限N,如達到異常上限N,需針對不同異常任務執(zhí)行 相應的硬件通道初始化或系統(tǒng)復位的異常處理操作,如果未達到異常上限N,則重復步驟四、五。本發(fā)明的有益效果通過軟件監(jiān)控多總線的任務處理的方法,提高了任務運行的實時性,降低了產品成本,提高了產品的可靠性。
具體實施例方式本發(fā)明的原理通過設置各總線任務下不同的計數(shù)變量,在各總線任務中清零該變量,在專門的監(jiān)控任務下按I的碼值遞增上述各計數(shù)變量,各總線任務的運行周期都小于監(jiān)控任務的運行周期,當監(jiān)控任務下各總線任務的計數(shù)變量(正常應該為0)達到任務異常上限N,說明該總線任務已經(jīng)出現(xiàn)異常,通過判斷當前異常任務的重要度,執(zhí)行重新初始化硬件接ロ或看門狗復位的操作。本發(fā)明ー種基于多總線下vxworks多任務監(jiān)控技術的方法采取以下步驟一、選擇并設置任務優(yōu)先級,根據(jù)航空電子系統(tǒng)的不同使用需求對1553B總線通訊任務、以太網(wǎng)通訊任務、HDLC總線通訊任務、內總線通訊任務、RS-422總線通訊任務、ARINC-429總線通訊任務、監(jiān)控任務進行選擇并設置優(yōu)先級;ニ、將監(jiān)控任務的執(zhí)行周期設置為T,其中0〈T〈1. 6s ;三、對各工作任務分別設置ー個任務異常上限N,執(zhí)行周期t,運行頻率計數(shù)器num,其中 0〈t〈5s,N>t/T, num 初值為 0 ;四、以T為周期運行監(jiān)控任務,每執(zhí)行一次監(jiān)控任務,對各工作任務的運行頻率計數(shù)器num進行加I操作;五、各工作任務以各自執(zhí)行周期t運行,當各工作任務正常執(zhí)行完畢時分別對各自的num進行清零操作;六、在監(jiān)控任務中分別對各工作任務num進行判斷,看其是否達到任務異常上限N,如達到異常上限N,需針對不同異常任務執(zhí)行相應的硬件通道初始化或系統(tǒng)復位的異常處理操作,如果未達到異常上限N,則重復步驟四、五。實施例一軟件代碼實現(xiàn)如下
權利要求
1.一種基于多總線下vxworks多任務監(jiān)控技術的方法,其特征在于,該方法采取以下步驟一、選擇并設置各總線任務優(yōu)先級,根據(jù)航空電子系統(tǒng)的不同使用需求對1553B總線通訊任務、以太網(wǎng)通訊任務、HDLC總線通訊任務、內總線通訊任務、RS-422A總線通訊任務、 ARINC-429總線通訊任務、監(jiān)控任務進行選擇并設置優(yōu)先級;二、將監(jiān)控任務的執(zhí)行周期設置為T,其中0〈T〈1.6s ;三、對各工作任務分別設置一個任務異常上限N,執(zhí)行周期t,運行頻率計數(shù)器num,其中 0〈t〈5s,N>t/T, num 初值為 O ;四、以T為周期運行監(jiān)控任務,每執(zhí)行一次監(jiān)控任務,對各工作任務的運行頻率計數(shù)器 num進行加I操作;五、各工作任務以各自執(zhí)行周期t運行,當各工作任務正常執(zhí)行完畢時分別對各自的 num進行清零操作;六、在監(jiān)控任務中分別對各工作任務num進行判斷,看其是否達到任務異常上限N,如達到異常上限N,需針對不同異常任務執(zhí)行相應的硬件通道初始化或系統(tǒng)復位的異常處理操作,如果未達到異常上限N,則重復步驟四、五。
全文摘要
本發(fā)明一種基于多總線下vxworks多任務監(jiān)控技術的方法屬于航空電子技術領域。本發(fā)明通過軟件方式,實時監(jiān)控各總線通訊任務的運行情況,當任務運行異常時,通過重新初始化總線接口或軟件看門狗復位的方式,保證各任務能夠恢復正常運行。本發(fā)明是針對vxworks系統(tǒng)的多任務運行情況進行實時監(jiān)控,并對異常進行記錄和處理,有效的解決了任務異常而無法進行分析的問題。本發(fā)明提高了多總線下各任務運行的實時性,提高了產品工作的可靠性,為飛機飛行后的日常維護、故障診斷,提供了保證,縮短了飛機再次出動的維護時間。
文檔編號G06F11/30GK103019908SQ201210521418
公開日2013年4月3日 申請日期2012年12月7日 優(yōu)先權日2012年12月7日
發(fā)明者陳志達, 熊春海, 關志剛, 陳放 申請人:陜西千山航空電子有限責任公司