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

面向交會對接任務的高可靠應用軟件設計方法

2013-05-14 13:00:14張維瑾陳朝暉
航天控制 2013年1期
關鍵詞:程序系統設計

張維瑾 王 青 陳朝暉

1.北京控制工程研究所,北京 100190 2.北京航空航天大學,北京 100191

嵌入式軟件已成為航天型號產品的重要部分,航天型號的許多關鍵、復雜的功能都由軟件來實現。在載人航天工程、探月工程、大運載火箭和深空探測等重大航天型號工程中,軟件發揮的作用越來越大。航天嵌入式軟件運行環境苛刻,其正確性、可靠性、安全性和容錯性尤其重要[1]。

軟件可靠性是在規定的條件和時間內,軟件不引起系統故障的能力,是軟件工程和可靠性工程相結合所產生的一個新分支。在軟件開發過程中軟件可靠性受到各種不確定因素的影響。另外,軟件可靠性不僅與軟件本身存在的設計缺陷有關,而且與系統輸人和系統使用有關。軟件可靠性是軟件質量特性中的重要特性和關鍵因素[2]。

1 制約交會對接軟件不可靠因素

空間的交會對接是指2個航天器于同一時間在軌道同一位置以相同速度會合并在結構上連成一個整體的過程。從距離上講是一個由遠及近的過程,從精度上講是一個由粗到精的過程,包括兩部分相互銜接的空間操作:空間交會和空間對接。

空間交會對接控制算法復雜、控制精度較高、制約性較強,由于存在導航、制導過程,控制對象多、算法復雜且受制于時間和位置的約束,過程不可重復,使得系統存在多種不可預計的控制效果,就需求系統具有更高的可靠性和魯棒性。因此,控制系統嵌入式應用軟件對高可靠性的需求格外迫切[3]。

而交會對接系統方案主要通過嵌入式應用軟件來實現,可以說它是系統的靈魂所在,其環境和任務需求對控制軟件提出了較高的可靠性需求,直接關系到交會對接任務的成敗。

交會對接嵌入式應用軟件屬于計算密集型,其算法復雜,代碼量巨大,約十幾萬行。接口和任務功能繁多,邏輯關系復雜。這給研究其工作過程的軟硬件失效模式和失效機理帶來了困難。進一步歸納可知,軟件具有如下特點:

1)實時性要求:由于控制系統存在較高的實時性要求,這就要求程序必須在約定的控制周期內完成所規定的任務。推理和計算的正確不僅依賴于邏輯的正確,而且依賴于結果產生的時間及其順序;

2)高可靠性要求:系統發生異常情況下,要及時正確地處理錯誤故障;

3)運行環境惡劣:空間環境導致程序內存被異常修改,程序無法正確執行;

4)資源受限:嵌入式計算機的處理器和內存都受到嚴格的限制,在資源受限的前提下,軟件既要保證功能的完整性和正確性,又要保證系統的安全性和可靠性;

5)結構復雜:嵌入式軟件必須具有及時處理隨機故障事件的能力,同時,所有運行程序與外部設備聯機運行。控制系統輸入輸出的設備數量多、類型各異,通信方式不同,協議復雜、實時性要求高。這些都使嵌入式軟件系統結構復雜,安全性和可靠性問題突出。

2 軟件可靠性設計方法

2.1 避錯方法

在軟件設計過程中,為實現避錯設計采取了一系列措施。這些措施圍繞著避錯設計,以預防為主,重點關注變換過程。

(1)控制和減少程序復雜性

在設計時,應采用結構化設計方法,通過提高內聚度和降低耦合度,使系統程序盡量層次化,模塊化,減少模塊間的耦合。

(2)輸入或輸出異常控制

1)合理的值域控制。

應預先規定變量的定義域,在運行時要予以核查。同時必須對參數、數組下標和循環變量進行值域檢查。

2)數值運算范圍控制

數學公式用計算機程序實現時,一定要保證輸入、輸出及中間運算結果不超出機器的數值運算范圍。

3)精度控制

精度控制是指要保證運算所要求的精度。這就要考慮計算誤差和舍入誤差,選定數據足夠的有效位數。

(3)迅速查找和改正變換錯誤

程序設計時要滿足條件簡單、邏輯清晰、層次分明等要求,盡量將一些可能發生變化或需要經常修改的部分放在少數幾個模塊中。這樣,在改正時才不至于擴大影響域。

2.2 查錯方法

查錯是以隔離為主,為了盡可能把非法輸入隔離在控制流程之外,在軟件設計過程中應采取有效措施。

(1)數據檢查

1)數據傳輸正確性檢查

從外部取得的數據,接收到這些數據后,要先判斷接收數據正確性,確認其正確性后再使用。

2)數據有效性檢查

任何數據都必須規定其合理的范圍,如果數據超出了規定的范圍,就必須進行錯誤處理。

(2)故障診斷

對敏感器和執行機構等進行失效判斷,判斷出故障后,軟件自主進行部件級或系統級的切換,防止故障導致災難性后果。

(3)記錄故障數據

為了使地面能夠得到引發系統故障的相關信息,正確分析故障,采取對策,及時查錯排錯,程序可以根據任務要求存儲異常事件發生前后的關鍵數據并傳輸到地面。

2.3 糾錯方法

糾錯主要針對系統中運行時可能發生的問題,以在軌改正、對其根治為目的,在軟件設計過程中采取措施。實施糾錯措施的前提必須是已經準確地找出軟件錯誤的起因和部位,程序又有能力修改、剔除有錯誤的語句。

(1)在軌修改程序

如果在軌飛行期間,發現系統設計、軟件設計缺陷,則需要在軌修改程序,達到修復缺陷繼續運行的目的。軟件要為可能修改的模塊留有修改入口,需要時將替換程序注入RAM區,軟件運行到該處時進入到相應的RAM區的程序段運行。啟用替換程序前,需要驗證RAM區的替換程序與地面注入的替換程序是否一致,可通過內存下卸或計算累加和等方法來驗證。

(2)在軌修改參數

對于重要的控制參數,通過地面遙控注入進行參數修正。如果系統具有在軌注入修改內存的功能,也可將部分參數定義為變量,通過在軌注入修改內存的方式修改。

2.4 容錯方法

容錯主要針對軟件運行環境發生的問題,以不影響系統正常運行為目的,在軟件設計過程中依靠系統資源的冗余采取必要措施。

(1)信息冗余容錯處理

1)單粒子翻轉

RAM中的重要程序和數據存儲在3個互相間隔的區域,運行這些程序或使用這些數據前,都要通過三取二來裁決。

2)信號干擾

程序工作狀態進行重要變換之前,如果變換的依據信號來源是唯一的,那么要對該信號進行多次判斷,在其持續有效后才能進行變換,防止誤判誤轉。

3)接口故障

軟件應充分估計接口的各種可能故障,并采取相應的措施。應特別加入合理的通信最大等待時間,防止程序運行超時,使應用軟件運行更穩定。

4)錯誤操作

軟件應能判別重要注入指令的正確性,在遇到非法指令時拒絕執行該操作。

5)計算機復位

軟件復位后,重要的是如何盡可能的使系統恢復到復位前的狀態。部分數據對于恢復系統狀態十分重要,將這些重要數據異地存儲,在軟件復位后取回。

6)計算數據異常

軟件在運行過程中,對于重要的積分變量,應保護其歷史數據,以備數據異常時使用。對于關鍵部件計算結果,應剔除超出閥值的數據,或將其限制在閥值范圍內,保證程序運行的正確性。

(2)N版本冗余容錯處理

如圖1所示,N版本程序設計由N個實現相同功能的相異程序和1個管理程序組成,各版本先后運算出來的結果相互比較表決,輸出決策。同時應選用各種不同的實現手段和方法來保證版本的強制相異,以減少共因故障[4]。

圖1 N版本程序設計結構

3 交會對接軟件可靠性設計

3.1 避錯設計

(1) 系統模式管理的安全性設計

為避免遙控、程控等指令誤操作而使程序進入異常模式,軟件設計三級段標,采用樹形結構,以段標區分模式,在不同模式下分別管理。在進行模式初始化時,將那些能夠結束該模式的外部端口信息和軟件標志清除,并在該模式的管理模塊中只檢查此模式下允許接收的相關信息。這樣,既保證按照各種指令和預定程序進行各個模式之間的靈活切換,又能防止誤操作給系統帶來負面影響,模塊功能穩定可靠,同時,軟件容易擴展,可維護性好。

如圖2所示,在相對位置保持子模式下,對所查詢的對接允許和對接禁止兩種互斥指令,查詢到一種指令有效后隨即清除另一種指令,避免產生兩種互斥指令同時有效的情況。

(2)避免死循環

為避免系統或外部硬件故障而使程序中使用數據異常,造成程序死循環或運行超時而跑飛。具體設計過程中,除主循環外,避免其它程序運行死循環,設定預先可知的循環次數,或設定最大的循環次數。

(3)默認分支設計

為避免SEU、電磁干擾等,程序執行異常分支。分支設計時保證異常分支默認執行最安全或最大可能路徑。條件判斷時,合理選擇判“真”還是“非假”,判“假”還是“非真”。盡量不出現“非真”也“非假”的冗余分支,各程序分支均應有出口。

(4)標志量的表示和判斷

為避免SEU、電磁干擾等引起的標志量數據錯誤,尤其是重要標志量的改變會造成程序的重大運行狀態的改變。具體設計時增大標志量表示的碼距,用一個字節作標志。如:用“CCH”作“1”標志,用“33H”作“0”標志,對于部分重要標志,用“10H”和“EFH”分別表示“0”和“1”兩種狀態,這樣可以允許有2位誤碼。

(5)8087內部棧的保護

為避免8087棧溢出,低級中斷使用8087前,對8087現場進行保護,重新初始化8087。8087協處理器中包含8個循環使用的棧,設計和實現時要保證使用棧數目不超過8個。

(6)通信前空讀串口緩沖區

為避免接口通信干擾,防止接收緩沖區因干擾等原因存在多余數據,控制器與串口緩沖區通信之前要先空讀一下接收緩沖區,以使8252的DR(Data Ready)復位,再進行通信。

(7)“看門狗”程序

為避免程序走死走飛,軟件復位、狗咬計數、切機對控制系統產生的影響,設計狗咬邏輯。“看門狗”時間長度設計:T=2~3“主程序”循環時間或T=2~2.5 時間片。

3.2 查錯設計

(1)數據剔野

為避免瞬間干擾引起的數據錯誤。若本周期數據與上一周期相比大于規定閥值,且連續出現次數小于N次時,則本周期數據采用上一周期的數據,剔除本周期的野值。N取值不宜過大,否則容易掩蓋超差故障,通常N取3,5,10等。

(2)數據限幅

為避免瞬間干擾引起的數據錯誤,應檢查數據的取值范圍,若超出規定的合理范圍,則在限幅后繼續使用。數據若在規定的取值范圍之內,不對數據進行處理。限幅數據的選取主要為系統的輸入、輸出數據及姿態數據。

(3)數據校驗保護

為避免非法訪問、電磁干擾造成重要數據改變,及通信中接收到錯誤數據。程序設計時采用校驗編碼存儲、更改、傳送、使用等必須校驗操作。

(4)數據異常的判別

為避免參與FLOAT運算數據異常,導致程序浮點運算異常,在該量參與計算前先判數據有效性或對與其共同運算的變量進行處理,防止直接參與FLOAT運算錯誤。

(5)標準值比較

為避免運算出錯,控制計算異常,通過將關鍵部件計算結果與標準值比較,將標準值閾值范圍之外的計算結果屏蔽于系統之外,防止將錯誤結果引入系統。

(6)避免通信過程被打斷的處理

為避免數據通信過程被高優先級中斷打斷,針對不同的通信時長設計2種數據通信方式。對于通信速率較高、通信時間較短的數據接口,可在通信過程中采用關中斷方式;對于通信速率較低的數據接口,可進行通信檢查,若通信失敗則進行二次通信。

3.3 糾錯設計

(1)在軌參數修改

軟件設計過程中對于重要的控制參數,例如,軌道參數、相平面控制參數、陀螺、紅外、太陽修正系數、發動機參數、相對導航敏感器參數等,可以通過地面遙控注入,靈活進行參數修正。

(2)容錯系統糾錯

充分利用三機熱冗余結構,設計多態變量,保證容錯數據幀的識別能力,使系統具備多機熱冗余相互糾錯的能力。

(3)數據備份及恢復

對于交會對接過程中使用的相對位置導航數據等重要數據,要求具有數據備份及恢復的能力,對檢測到的錯誤數據,使用備份數據進行恢復。

3.4 容錯設計

(1)數據防抖動處理

為避免硬件開關觸點瞬間抖動,具體程序設計過程中,連續N次取值全為真。

(2)通信超時限制

為避免信息交換、接口握手失敗,進行限時檢測,超時處理,加入合理的通信最大等待時間。

(3)重要數據互備

為避免系統復位造成重要數據丟失,前后臺計算機之間的重要數據相互備份,維持系統運行數據和系統配置狀態的數據。

(4)數據三取二容錯處理

為避免SEU、電磁干擾造成RAM錯誤。關鍵數據存儲于3個相同結構的數據區中,程序在使用前,采用三取二表決方法,并刷新三區數據。

(5)空余RAM陷阱設計

為避免程序指針IP誤入引起走死走飛。填充HULT或關中斷指令(如8086單字節指令FAH,F4H),強迫引起“狗咬”(操作系統+進程 結構),填充NOP和跳轉到程序開始(順序編程結構)。

(6)上電、復位處理

為避免上電、復位、切機過程中系統運行異常。應用軟件采取相應的初始化和安全措施,確保系統正常運行。

(7)改進的N版本容錯處理

交會對接嵌入式應用軟件采用三機熱備份容錯結構,為保證容錯系統的可靠性和完備性,著重對容錯策略、交換數據類型和時序、三機運行同步等方面進行了改進設計,相比于傳統的N版本方法,不僅降低了軟硬件的開發成本,而且還縮短了軟件的研制周期。

1)設計合理的交換時序

根據硬件環境特點,設計合理的交換數據發送、接收時序,保證各機時序的同步性及交換數據的完整性。如圖3所示,選擇的數據在交換時即保證控制信息的及時輸出,又能使本周期的容錯結果在當拍就起作用。

2)根據不同飛行階段的任務需求,設計選擇交換數據及容差

根據各種飛行模式,特別針對交會對接的各個階段的任務需求,選取不同的關鍵導航數據和涉及安全的狀態變量,共設計了9類交換數據,分別對應不同的容差階段標志,在不同的飛行階段進行交替比對。

為保證所設計的容限合理,魯棒性及準確性強,具體設計過程中綜合分析控制精度要求和實際敏感器采樣誤差及計算誤差,避免系統不必要的頻繁切機。

圖4即為導航計算相對位置三機容限后的曲線。

圖4 相對導航數據容限曲線

3)設計數據容錯策略

對容差數據實行分類制度,根據系統實際運行過程中可能出現的各種情況,給出不同的容錯策略,予以區別對待。

表1 交會對接數據容錯策略

4)交會對接模式下的關聯邏輯設計

在交會對接模式下,系統需進行容錯處理的數據類型較多,受限于每周期交換數據量及運行時間約束,將各類數據分3個控制周期進行比對,同時為保證容錯策略的連貫性,對多周期交換數據進行關聯,防止由于錯拍數據故障而引發的漏判。

關聯邏輯流程如圖5所示。

圖5 關聯邏輯流程

4 結論

針對航天控制系統軟件實時性要求高、可靠性要求高、運行環境惡劣、資源受限和結構復雜的特點,深入開展了面向交會對接任務的高可靠嵌入式系統軟件可靠性方面的分析與研究工作。

在交會對接嵌入式應用軟件研制過程中,在嚴格遵循軟件工程化的基礎上,結合軟件避錯、容錯、檢錯和糾錯技術進行軟件設計,將其運用到實際研制過程中,從而有效提高了系統的可靠性。

[1] 龔慶祥.型號可靠性工程手冊[M].北京:國防工業出版社,2007.

[2] 賈慶忠,劉永善,劉藻珍.彈載嵌入式系統軟件可靠性設計[J].微計算機信息,2007,23(26):12-14.(JIA Qingzhong,LIU Yongshan,LIU Zaozhen.Implementation of the Dependability for Embedded Software Used in Missile[J].Micro-computer Information,2007,23(26): 12-14.)

[3] 阮廉,陸民燕,韓峰巖.裝備軟件質量和可靠性管理[M].北京:國防工業出版社,2006.

[4] Wrence J D. Software Safety Hazard Analysis[M].Lawrence Livermore National Laboratory,1995.

猜你喜歡
程序系統設計
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
“程序猿”的生活什么樣
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
主站蜘蛛池模板: 日本成人不卡视频| 亚洲精品波多野结衣| 亚洲精品视频在线观看视频| 国产激情无码一区二区APP| 一本久道久久综合多人| 精品丝袜美腿国产一区| 亚洲午夜福利在线| 国产极品嫩模在线观看91| 玩两个丰满老熟女久久网| 亚洲国产91人成在线| 婷婷色丁香综合激情| 无码aaa视频| 97视频在线观看免费视频| 欧美国产综合视频| 国产尤物在线播放| 国产美女精品一区二区| 国产永久免费视频m3u8| 国产精品极品美女自在线看免费一区二区| 国产精品流白浆在线观看| 成人国产免费| 国产精品久久久久久久久久久久| 欧美性天天| 精品国产成人av免费| 午夜无码一区二区三区在线app| 亚洲色图狠狠干| 欧洲亚洲欧美国产日本高清| 欧美三级日韩三级| 精品久久高清| 91小视频在线观看免费版高清| 亚洲人成色在线观看| 中文精品久久久久国产网址| 国产欧美日韩在线一区| 99资源在线| 在线观看欧美国产| 999国内精品久久免费视频| 精品一区二区三区波多野结衣 | 国产一级片网址| 福利在线一区| 欧美中文字幕在线播放| 青青青伊人色综合久久| 97影院午夜在线观看视频| 在线无码九区| 国产在线精品人成导航| 国产精品大白天新婚身材| 亚洲码一区二区三区| 久久美女精品| 国产亚洲美日韩AV中文字幕无码成人| 特黄日韩免费一区二区三区| 成人精品午夜福利在线播放| 伊人蕉久影院| 青青青国产视频| 午夜a级毛片| 在线观看国产小视频| 欧美精品影院| 欧洲免费精品视频在线| 中国丰满人妻无码束缚啪啪| 无码国内精品人妻少妇蜜桃视频| 无码国产偷倩在线播放老年人| 亚洲中文字幕国产av| 园内精品自拍视频在线播放| 久久精品一卡日本电影| 国产爽妇精品| 99这里只有精品6| 狠狠色噜噜狠狠狠狠奇米777 | 亚洲精品亚洲人成在线| 亚洲欧洲一区二区三区| 欧美一级黄片一区2区| 国产一区二区三区免费观看| 欧美人与牲动交a欧美精品| 久久精品中文字幕免费| 国产亚洲高清在线精品99| 成人中文在线| 99精品免费在线| 国产欧美日韩18| 日韩在线中文| 99久久精品免费看国产电影| 欧美精品亚洲精品日韩专区va| 99久久人妻精品免费二区| 亚洲一区二区黄色| 天堂成人av| 国产精品人莉莉成在线播放| 无码精品国产VA在线观看DVD|