專利名稱:基于負(fù)荷分擔(dān)式的容錯(cuò)飛行控制系統(tǒng)及故障檢測(cè)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種負(fù)荷分擔(dān)式雙機(jī)容錯(cuò)技術(shù),具體為一種基于負(fù)荷分擔(dān)式的容錯(cuò)飛行控制系統(tǒng)及故障檢測(cè)方法。
背景技術(shù):
典型無(wú)人機(jī)飛行控制系統(tǒng)一般由傳感器、飛行控制計(jì)算機(jī)、執(zhí)行機(jī)構(gòu)組成。三部分都是飛行控制系統(tǒng)的關(guān)鍵,而飛行控制計(jì)算機(jī)更是飛行控制系統(tǒng)的核心組成部分,因此采用容錯(cuò)技術(shù)提高飛行控制計(jì)算機(jī)的可靠性。容錯(cuò)是指系統(tǒng)對(duì)故障的容忍能力,是利用外加的冗余資源,使處于工作狀態(tài)的系統(tǒng)中一個(gè)或多個(gè)關(guān)鍵部分發(fā)生故障或出錯(cuò)時(shí),通過(guò)自動(dòng)檢測(cè)與診斷來(lái)掩蓋故障的影響,并能采取相應(yīng)措施保證系統(tǒng)維持其規(guī)定功能或保持其功能在可接受的范圍內(nèi)。容錯(cuò)計(jì)算機(jī)的多處理機(jī)間工作方式有熱備份式、負(fù)荷分擔(dān)式。熱備份式系統(tǒng)中的主機(jī)和備份機(jī)是同步隨動(dòng)關(guān)系,它們輸入相同的信息,執(zhí)行相同的程序,比較輸出結(jié)果,再有輸出切換電路決定哪個(gè)處理機(jī)的結(jié)果最為系統(tǒng)最終輸出。
發(fā)明內(nèi)容
本發(fā)明目的是針對(duì)現(xiàn)有技術(shù)存在的缺陷提供一種基于負(fù)荷分擔(dān)式的容錯(cuò)飛行控制系統(tǒng)及故障檢測(cè)方法。本發(fā)明為實(shí)現(xiàn)上述目的,采用如下技術(shù)方案本發(fā)明基于負(fù)荷分擔(dān)式的容錯(cuò)飛行控制系統(tǒng),包括調(diào)度管理模塊、故障管理模塊、 控制律模塊、導(dǎo)航制導(dǎo)模塊、航線管理模塊、遙控遙測(cè)模塊和數(shù)據(jù)采集模塊,上述每個(gè)模塊都固定共享內(nèi)存塊,所述內(nèi)存塊由上述多個(gè)模塊讀但只能由上述一個(gè)模塊寫,利用互斥信號(hào)量實(shí)現(xiàn)任務(wù)模塊訪問(wèn)內(nèi)存時(shí)獨(dú)享內(nèi)存塊的使用權(quán),從而實(shí)現(xiàn)上述模塊間的數(shù)據(jù)通信?;谪?fù)荷分擔(dān)式的容錯(cuò)飛行控制系統(tǒng)的故障檢測(cè)方法如下正常工作時(shí),第一飛行控制計(jì)算機(jī)、第二飛行控制計(jì)算機(jī)分擔(dān)完成不同的飛行控制功能模塊,若發(fā)生故障,剩下的飛行控制計(jì)算機(jī)完成所有飛行控制功能;社設(shè)置5個(gè)故障檢查點(diǎn)(1)雙口 RAM初始化在飛行控制軟件未進(jìn)入多任務(wù)調(diào)度時(shí),對(duì)雙口 RAM所有內(nèi)存單元寫入固定值,再讀取雙口 RAM內(nèi)存單元的數(shù)值,當(dāng)固定值與雙口 RAM內(nèi)存單元的數(shù)值一致,則初始化成功,否則雙口 RAM初始化失敗重新初始化;(2)看門狗監(jiān)測(cè)點(diǎn);(3)任務(wù)運(yùn)行頻率判斷將任務(wù)運(yùn)行頻率的判斷放在優(yōu)先級(jí)最高的任務(wù)中,隔Is 判斷一次,當(dāng)任務(wù)運(yùn)行頻率誤差在理論任務(wù)運(yùn)行頻率士5%以外,則斷定實(shí)時(shí)操作系統(tǒng)調(diào)度異常;(4)雙口 RAM數(shù)據(jù)定時(shí)更新判斷;(5)工作狀態(tài)判斷雙處理機(jī)間通過(guò)CAN總線進(jìn)行工作狀態(tài)信息的交互。處理機(jī)一方面發(fā)送狀態(tài)信息,并判斷是否收到對(duì)方的狀態(tài)信息,以確定對(duì)方是否也在工作;另一方面收到對(duì)方狀態(tài)信息后,比較雙機(jī)的工作狀態(tài),若不兼容則進(jìn)行故障處理。所述的第一、二飛行控制計(jì)算機(jī)正常運(yùn)行時(shí)通過(guò)雙口 RAM、CAN總線通信,協(xié)同完成飛行控制功能,檢測(cè)到其中一個(gè)計(jì)算機(jī)故障時(shí),剩余的能完全擔(dān)負(fù)起飛行控制功能。本發(fā)明負(fù)荷分擔(dān)式系統(tǒng)中的主機(jī)和從機(jī)協(xié)同完成系統(tǒng)功能,與熱備份式雙機(jī)系統(tǒng)相比,它不需要額外硬件支持,實(shí)現(xiàn)簡(jiǎn)單。
圖1是主CPU的工作狀態(tài)切換圖。圖2是從CPU的工作狀態(tài)切換圖。圖3是雙口 RAM初始化工作流程。圖4是從CPU開機(jī)同步工作流程。圖5是主CPU雙機(jī)配合工作流程。
圖6是從CPU雙機(jī)配合工作流程。圖7是主CPU單機(jī)工作流程。圖8是從CPU單機(jī)工作流程。圖9是各個(gè)任務(wù)運(yùn)行調(diào)度示意圖。
具體實(shí)施例方式現(xiàn)結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步描述分析雙CPU的不同運(yùn)行階段,將它們的工作狀態(tài)分為開機(jī)同步、雙機(jī)配合、單機(jī)運(yùn)行、隔離狀態(tài),根據(jù)故障檢測(cè)、處理結(jié)果,切換CPU的工作狀態(tài),主從CPU的狀態(tài)切換見圖1、 圖2。本將負(fù)荷分擔(dān)式雙機(jī)容錯(cuò)技術(shù)引入飛行控制軟件中,將軟件容錯(cuò)分為5個(gè)方面設(shè)計(jì)(1)雙口 RAM 初始化雙口 RAM初始化是雙處理機(jī)分別初始化雙口 RAM的不同內(nèi)存塊,用于檢測(cè)雙口 RAM 是否正常。因?yàn)榇藭r(shí)飛行控制計(jì)算機(jī)還沒(méi)有正式進(jìn)入正常飛行控制狀態(tài),所以當(dāng)雙口 RAM 初始化失敗時(shí),主CPU直接進(jìn)入隔離狀態(tài),而從CPU則單機(jī)工作并通知地面監(jiān)控軟件飛行控制計(jì)算機(jī)已發(fā)生故障,如圖3所示。(2)開機(jī)同步開機(jī)同步是進(jìn)入雙機(jī)配合工作的一個(gè)過(guò)渡階段,并沒(méi)有開始控制無(wú)人機(jī)飛行,只用于等待雙處理機(jī)同時(shí)“準(zhǔn)備好”并開始配合工作。若是處理機(jī)運(yùn)行在開機(jī)同步,就會(huì)發(fā)出狀態(tài)信息。若此時(shí)收到對(duì)方的狀態(tài)信息,則表明雙機(jī)全部“準(zhǔn)備好”,同時(shí)開始正常配合工作。圖4表示主CPU開機(jī)同步階段的整個(gè)工作流程。在圖4中,主CPU發(fā)送狀態(tài)信息至CAN總線,查看是否收到從CPU的主動(dòng)隔離信息,若沒(méi)有收到則判斷主CPU是否收到從 CPU的狀態(tài)信息,當(dāng)檢測(cè)到?jīng)]有從CPU狀態(tài)信息且在等待時(shí)間閾值范圍內(nèi)時(shí),回到發(fā)送狀態(tài)信息處重新執(zhí)行以上操作。如果收到該信息則對(duì)雙機(jī)的工作狀態(tài)做比較,判斷雙機(jī)同在開機(jī)同步階段時(shí),則同時(shí)步入雙機(jī)配合,否則主CPU進(jìn)入隔離狀態(tài)。若收到從CPU的主動(dòng)隔離信息、沒(méi)有收到從CPU狀態(tài)信息且等待超時(shí),主CPU需要進(jìn)入單機(jī)工作階段獨(dú)立承擔(dān)飛行控制任務(wù)。但是圖4與圖5不同的是,若雙機(jī)工作狀態(tài)不一致時(shí),從CPU進(jìn)入單機(jī)工作,目的是無(wú)人機(jī)還沒(méi)飛行前,將故障信息下傳,地面人員能及時(shí)采取措施。此外,從CPU還必須判斷是否收到主CPU的隔離信息,若收到該信息,說(shuō)明主CPU檢測(cè)出從CPU故障或者主CPU在單機(jī)工作階段,這時(shí)從CPU進(jìn)入隔離狀態(tài)。(3)雙機(jī)配合雙機(jī)配合是飛行控制功能,軟件容錯(cuò)功能執(zhí)行的階段。飛行控制功能由雙處理機(jī)分擔(dān)運(yùn)行,而軟件容錯(cuò)功能要求結(jié)合故障自檢測(cè)、互檢測(cè),在飛行控制軟件上設(shè)置四個(gè)故障檢查點(diǎn)——看門狗、任務(wù)頻率判斷、雙口 RAM數(shù)據(jù)更新判斷、工作狀態(tài)判斷。因?yàn)榭撮T狗基于硬件實(shí)現(xiàn),當(dāng)任務(wù)使能看門狗并完成第一次喂狗操作后,啟動(dòng)WDT,任務(wù)只需周期地喂狗。圖5、圖6是主從CPU在雙機(jī)配合工作時(shí)各自的故障檢測(cè)流程。在圖5中,主CPU完成喂狗操作、發(fā)送狀態(tài)信息給從CPU后,先后進(jìn)行任務(wù)運(yùn)行頻率是否在理論運(yùn)行頻率士 5% 之內(nèi)、是否收到從CPU的主動(dòng)隔離信號(hào)、雙口 RAM數(shù)據(jù)是否定時(shí)更新、是否收到從CPU狀態(tài)信息的判斷。如果診斷出任務(wù)運(yùn)行頻率誤差過(guò)大、主從CPU工作狀態(tài)分別為雙機(jī)配合/單機(jī)工作,主CPU進(jìn)入隔離狀態(tài)。若雙口 RAM數(shù)據(jù)沒(méi)有定時(shí)更新、沒(méi)有收到從CPU狀態(tài)信息且等待超時(shí)、主從CPU工作狀態(tài)分別是雙機(jī)配合/開機(jī)同步,主CPU切換工作狀態(tài)至單機(jī)工作。 當(dāng)沒(méi)有從CPU狀態(tài)信息但在等待時(shí)間閾值內(nèi)或者收到從CPU狀態(tài)信息且雙機(jī)工作狀態(tài)一致時(shí),回到喂狗處重新執(zhí)行以上操作。(4)單機(jī)工作單機(jī)工作階段是飛行控制計(jì)算機(jī)經(jīng)過(guò)檢測(cè)發(fā)現(xiàn)故障,進(jìn)行故障處理后,失去冗余處理機(jī),降級(jí)到單處理機(jī)運(yùn)行。雖然此時(shí)只有一個(gè)處理機(jī)負(fù)責(zé)飛行控制任務(wù),但是為了保證雙機(jī)同時(shí)輸出舵機(jī)控制指令,在該工作狀態(tài)內(nèi)必須實(shí)施避免矛盾出現(xiàn)的措施。設(shè)計(jì)主CPU 的優(yōu)先級(jí)高于從CPU,所以定義雙口 RAM中OxFFFD內(nèi)存單元為主CPU工作狀態(tài)標(biāo)志位,當(dāng)單機(jī)工作時(shí),設(shè)標(biāo)志位為1,否則為0,并且發(fā)送隔離信息給從CPU,經(jīng)過(guò)雙口 RAM、CAN總線通知從CPU。單機(jī)工作時(shí),主CPU (見圖7)執(zhí)行喂狗操作,發(fā)送狀態(tài)信息,將雙口 RAM OxFFFD內(nèi)存單元置位,發(fā)送隔離信息給從CPU。圖8描述了從CPU單機(jī)工作時(shí),執(zhí)行喂狗操作,發(fā)送狀態(tài)信息,然后判斷雙口 RAM的狀態(tài),若是為1則說(shuō)明主CPU此時(shí)的工作狀態(tài)為單機(jī)工作,從 CPU進(jìn)入隔離狀態(tài),再檢查是否收到主CPU的隔離信息,若收到從CPU同樣進(jìn)入隔離狀態(tài),反之從CPU工作狀態(tài)仍為單機(jī)工作。(5)各個(gè)任務(wù)之間的調(diào)度關(guān)系飛行控制軟件運(yùn)行時(shí)序示例如圖9所示。軟件任務(wù)在Oms處,依據(jù)任務(wù)優(yōu)先級(jí)的高低逐個(gè)完成全部任務(wù)。在IOms處,根據(jù)任務(wù)設(shè)置的運(yùn)行周期,只有調(diào)度管理任務(wù)、GPS接收任務(wù)、遙控任務(wù)準(zhǔn)備就緒。到了 80ms,軟件任務(wù)所有又重新全部準(zhǔn)備就緒,等待內(nèi)核調(diào)度運(yùn)行。從圖9中可以看到GPS接收任務(wù)、遙控任務(wù)的前后兩次運(yùn)行時(shí)間有些偏差,因?yàn)閥C/ OS-II能識(shí)別的最小精度是系統(tǒng)時(shí)鐘節(jié)拍數(shù)。當(dāng)GPS接收任務(wù)在第0 1時(shí)鐘節(jié)拍之前完成一次運(yùn)行,開始延時(shí),到第3個(gè)節(jié)拍到來(lái)之后,內(nèi)核就認(rèn)為GPS接收任務(wù)延時(shí)時(shí)間到,進(jìn)入就緒狀態(tài)。
權(quán)利要求
1. 一種基于負(fù)荷分擔(dān)式的容錯(cuò)飛行控制系統(tǒng),其特征在于包括調(diào)度管理模塊、故障管理模塊、控制律模塊、導(dǎo)航制導(dǎo)模塊、航線管理模塊、遙控遙測(cè)模塊和數(shù)據(jù)采集模塊,上述每個(gè)模塊都固定共享內(nèi)存塊,所述內(nèi)存塊由上述多個(gè)模塊讀但只能由上述一個(gè)模塊寫,利用互斥信號(hào)量實(shí)現(xiàn)任務(wù)模塊訪問(wèn)內(nèi)存時(shí)獨(dú)享內(nèi)存塊的使用權(quán),從而實(shí)現(xiàn)上述模塊間的數(shù)據(jù)通
2.一種基于權(quán)力要求1所述基于負(fù)荷分擔(dān)式的容錯(cuò)飛行控制系統(tǒng)的故障檢測(cè)方法,其特征在于所述方法如下正常工作時(shí),第一飛行控制計(jì)算機(jī)、第二飛行控制計(jì)算機(jī)分擔(dān)完成不同的飛行控制功能模塊,若發(fā)生故障,剩下的飛行控制計(jì)算機(jī)完成所有飛行控制功能;社設(shè)置5個(gè)故障檢查占.^ \\\ ·(1)雙口RAM初始化在飛行控制軟件未進(jìn)入多任務(wù)調(diào)度時(shí),對(duì)雙口 RAM所有內(nèi)存單元寫入固定值,再讀取雙口 RAM內(nèi)存單元的數(shù)值,當(dāng)固定值與雙口 RAM內(nèi)存單元的數(shù)值一致, 則初始化成功,否則雙口 RAM初始化失敗重新初始化;(2)看門狗監(jiān)測(cè)點(diǎn);(3)任務(wù)運(yùn)行頻率判斷將任務(wù)運(yùn)行頻率的判斷放在優(yōu)先級(jí)最高的任務(wù)中,隔Is判斷一次,當(dāng)任務(wù)運(yùn)行頻率誤差在理論任務(wù)運(yùn)行頻率士5%以外,則斷定實(shí)時(shí)操作系統(tǒng)調(diào)度異常;(4)雙口RAM數(shù)據(jù)定時(shí)更新判斷;(5)工作狀態(tài)判斷雙處理機(jī)間通過(guò)CAN總線進(jìn)行工作狀態(tài)信息的交互。處理機(jī)一方面發(fā)送狀態(tài)信息,并判斷是否收到對(duì)方的狀態(tài)信息,以確定對(duì)方是否也在工作;另一方面收到對(duì)方狀態(tài)信息后,比較雙機(jī)的工作狀態(tài),若不兼容則進(jìn)行故障處理。
3.根據(jù)權(quán)利要求2所述的基于負(fù)荷分擔(dān)式的容錯(cuò)飛行控制系統(tǒng)的故障檢測(cè)方法,其特征在于,所述的第一、二飛行控制計(jì)算機(jī)正常運(yùn)行時(shí)通過(guò)雙口 RAM、CAN總線通信,協(xié)同完成飛行控制功能,檢測(cè)到其中一個(gè)計(jì)算機(jī)故障時(shí),剩余的能完全擔(dān)負(fù)起飛行控制功能。
全文摘要
本發(fā)明公布了一種基于負(fù)荷分擔(dān)式的容錯(cuò)飛行控制系統(tǒng)及故障檢測(cè)方法,所述系統(tǒng)包括調(diào)度管理模塊、故障管理模塊、控制律模塊、導(dǎo)航制導(dǎo)模塊、航線管理模塊、遙控遙測(cè)模塊和數(shù)據(jù)采集模塊。所述方法分別設(shè)置看門狗、任務(wù)運(yùn)行頻率判斷、雙口RAM數(shù)據(jù)定時(shí)更新判斷、處理機(jī)工作狀態(tài)判斷等四個(gè)檢查點(diǎn)的基礎(chǔ)上,增加故障處理、系統(tǒng)重構(gòu),實(shí)現(xiàn)飛行控制計(jì)算機(jī)的容錯(cuò)功能,達(dá)到了提高飛行控制系統(tǒng)可靠性目的。
文檔編號(hào)G05B23/02GK102402220SQ20111002769
公開日2012年4月4日 申請(qǐng)日期2011年1月21日 優(yōu)先權(quán)日2011年1月21日
發(fā)明者傅媛媛, 李春濤, 王毅, 魏林 申請(qǐng)人:南京航空航天大學(xué), 成都飛機(jī)工業(yè)(集團(tuán))有限責(zé)任公司