專利名稱:一種衛星在軌大規模程序修改的地面自動驗證系統的制作方法
技術領域:
本發明涉及一種衛星在軌程序修改的自動驗證系統,尤其涉及一種衛星在軌大規模程序修改的地面自動驗證系統,屬于航天技術領域。
背景技術:
海洋二號衛星是我國第一顆海洋應用的微波遙感衛星,該衛星在發射入軌后因羽流問題導致姿態出現異常進入停控模式,處于高速自旋狀態,由于衛星只有兩軸噴氣控制能力,而要完成三軸姿態控制需要制定合理可行的在軌搶救方案。經過科學論證和方案評審,制訂了包括四個階段的在軌搶救方案,由于搶救方案異常復雜,每個階段均需借助在軌程序的修改來實現,而在軌程序修改的正確性直接決定了方案實施正確與否,如果在軌程序修改出錯,可能帶來災難性的后果,這就需要借助高效率、100%可靠的手段來保證在軌程序修改的100%正確。衛星正常運行過程的程序修改一般修改內容很少,少于5個塊的程序修改即可實現修改目標。但海洋二號衛星在軌運行在異常狀態,搶救方案異常復雜,搶救方案的實現過程中程序修改規模大,而且整個搶救過程爭分奪秒,如果靠人工去完成程序塊的生成、注入及比對工作,效率低、耗時長且可靠性低,無法滿足在軌搶救工作零失誤的質量要求。
發明內容
本發明解決的技術問題是:為解決在軌大規模程序修改過程中靠人工進行程序修改驗證效率低、可靠性低的問題,本發明提供一種衛星在軌大規模程序修改的自動驗證系統,大大提高了在軌程序修改的效率和可靠性,為在軌大規模程序的搶救工作提供了可靠的地面保障。本發明的技術方案是:一種衛星在軌大規模程序修改的自動驗證系統,由星載計算機和OBDH模擬器組成,在OBDH模擬器中運行自動驗證軟件,自動驗證軟件包括程序自動生成模塊、程序自動注入模塊和程序自動比對模塊;程序自動生成模塊:讀取待修改的程序,將待修改的程序分割生成符合在軌注入格式的程序塊,然后將待修改程序的總字節數和星載計算機RAM的起始地址添加在第一個程序塊中,在最后一個程序塊中添加4個字節的校驗和,中間的程序塊為待修改程序內容,最后將分割的所有程序塊進行封裝;程序自動注入模塊:將封裝的程序塊注入到星載計算機中;星載計算機:先對封裝的程序塊進行提取,然后查詢封裝的程序塊總數,再按順序提取出待修改程序內容,并將讀取出的待修改程序內容按第一個程序塊中記載的RAM起始地址存儲在RAM中,最后通過內存下卸的方式將提取出的待修改程序內容進行下卸;程序自動比對模塊:將星載計算機下卸的待修改程序內容進行保存,然后將下卸的待修改程序內容與待修改的程序進行逐字節比對,如果比對結果一致,則待修改的程序正確,如果比對結果不一致,則重新進行程序自動生成、自動注入和自動比對,直至待修改的程序驗證正確。本發明與現有技術相比的有益效果是:針對在軌大規模程序修改量大,人工比對效率低、可靠性低的問題分析,本發明提出了一種在軌大規模程序修改的地面自動驗證系統,將待修改的程序自動分割成符合在軌注入要求的程序塊,將程序塊注入星載計算機后,再從星載計算機的內存中下卸程序塊,最后將下卸的修改程序內容與待修改的程序塊進行比對,由此來驗證注入過程中程序修改的正確性,這種方法大大提高了程序修改驗證的效率和可靠性,為海洋二號衛星在軌搶救工作提供了有力的地面支持,衛星在軌搶救節省了寶貴時間,提供的程序修改塊100%正確。
圖1為本發明的系統組成原理圖;圖2為本發明的實現流程圖。
具體實施例方式下面結合附圖和具體實例對本發明做進一步詳細的描述:為解決在軌大規模程序修改過程中靠人工進行程序修改驗證效率低、可靠性低的問題,本發明設計了一套地面自動驗證系統,如圖1所示,該系統主要由星載計算機和OBDH模擬器組成,在OBDH模擬器中運行自動驗證軟件,自動驗證軟件采用VB程序編程器編寫,本軟件可完成修改程序的自動分塊、自動注入和自動一致性比對。自動驗證軟件包括程序自動生成模塊、程序自動注入模塊和程序自動比對模塊。程序自動生成模塊:讀取待修改的程序,將待修改的程序按照通訊協議需求生成符合在軌注入格式的程序塊,然后將待修改程序的總字節數和星載計算機RAM的起始地址添加在第一個程序塊中,在最后一個程序塊添加4個字節的校驗和,中間的程序塊為待修改程序內容,最后將所有的程序塊進行封裝。程序自動注入模塊:將封裝的程序塊注入到星載計算機中。星載計算機:首先對封裝的程序塊進行提取,然后查詢封裝的程序塊總數,并按照順序提取出待修改程序內容,再將讀取出的待修改程序內容按第一個程序塊中記載的RAM起始地址存儲在RAM中,最后通過內存下卸的方式將提取出的待修改程序內容進行下卸。程序自動比對模塊:將星載計算機下卸的待修改程序內容進行保存,然后將下卸的待修改程序內容與待修改的程序進行逐字節比對,如果比對結果一致,如果比對結果一致,則待修改的程序正確,如果比對結果不一致,則重新進行程序自動生成、自動注入和自動比對,直至待修改的程序驗證正確。本發明的實現流程如圖2所示。(I)自動程序生成模塊讀取待修改的程序,將待修改的程序分割成符合在軌注入格式的程序塊。待修改的源程序為txt文本格式,按照每行4字節格式進行存儲,自動程序生成模塊讀取txt文本的總行數后即可得知待修改程序的總字節數,根據注入塊為固定56字節的長度要求,即可計算得到注入的修改程序的總塊數;然后根據程序注入要求,將待修改程序的總字節數和星載計算機RAM的起始地址添加在第一個程序塊中,在最后一個程序塊添加4個字節的校驗和,中間的程序塊為待修改程序內容,最后將所有的程序塊進行封裝。自動程序生成模塊根據待修改的程序生成固定56字節的程序塊,封裝格式為dat格式,并從I到η進行編號,存儲在“程序注入”文件夾下,用于程序注入。(2)程序自動注入模塊將封裝后的程序塊注入到星載計算機。(3)星載計算機首先對封裝的程序塊進行提取,然后查詢封裝的程序塊總數,查詢待修改程序塊的總數η,按照注入程序塊的順序從I到η讀取程序塊的內容,再將讀取出的待修改程序內容按第一個程序塊中記載的RAM起始地址存儲在RAM中,最后通過內存下卸的方式將提取出的待修改程序內容下卸到OBDH模擬器本地。(4)程序自動比對模塊將從星載計算機RAM中讀取的待修改程序內容與待修改的程序進行逐字節比對;(5)如果比對結果一致,則待修改的程序驗證正確,不一致,則重復步驟(I)至步驟
(4),直至待修改的程序驗證正確。說明書中未作詳細描述的內容屬于本領域專業技術人員的公知技術。
權利要求
1.一種衛星在軌大規模程序修改的自動驗證系統,其特征在于:由星載計算機和OBDH模擬器組成,在OBDH模擬器中運行自動驗證軟件,自動驗證軟件包括程序自動生成模塊、程序自動注入模塊和程序自動比對模塊; 程序自動生成模塊:讀取待修改的程序,將待修改的程序分割生成符合在軌注入格式的程序塊,然后將待修改程序的總字節數和星載計算機RAM的起始地址添加在第一個程序塊中,在最后一個程序塊中添加4個字節的校驗和,中間的程序塊為待修改程序內容,最后將分割的所有程序塊進行封裝; 程序自動注入模塊:將封裝的程序塊注入到星載計算機中; 星載計算機:先對封裝的程序塊進行提取,然后查詢封裝的程序塊總數,再按順序提取出待修改程序內容,并將讀取出的待修改程序內容按第一個程序塊中記載的RAM起始地址存儲在RAM中,最后通過內存下卸的方式將提取出的待修改程序內容進行下卸; 程序自動比對模塊:將星載計算機下卸的待修改程序內容進行保存,然后將下卸的待修改程序內容與待修改的程序進行逐字節比對,如果比對結果一致,則待修改的程序正確,如果比對結果不一致,則重新進行程序自動生成、自動注入和自動比對,直至待修改的程序驗證正確。
全文摘要
本發明公開了一種衛星在軌大規模程序修改的自動驗證系統,針對在軌大規模程序修改量大,人工比對效率低、可靠性低的問題分析,本發明提出了一種在軌大規模程序修改的地面自動驗證系統,將待修改的程序自動分割成符合在軌注入要求的程序塊,將程序塊注入星載計算機后,再從星載計算機的內存中下卸程序塊,最后將下卸的修改程序內容與待修改的程序塊進行比對,由此來驗證注入過程中程序修改的正確性,這種方法大大提高了程序修改驗證的效率和可靠性,為海洋二號衛星在軌搶救工作提供了有力的地面支持,衛星在軌搶救節省了寶貴時間,提供的程序修改塊100%正確。
文檔編號G06F11/36GK103116546SQ20131005555
公開日2013年5月22日 申請日期2013年2月21日 優先權日2013年2月21日
發明者曹永梅, 周劍敏, 王勝剛, 王哲, 潘立鑫, 袁軍, 王新民, 趙性頌, 姚寧, 丁建釗, 程莉, 張輝 申請人:北京控制工程研究所