專利名稱:通信衛星有效載荷測試系統仿真平臺的制作方法
技術領域:
本發明屬于衛星測試領域,涉及一種通信衛星有效載荷測試系統仿真平臺。
背景技術:
為了確保衛星和飛船等航天器的成功發射和在軌正常運行,航天器在研制、實驗和發射等階段都要進行詳細的電性能測試。采用設置的遙測參數對航天器的電性能進行測試,通過對大量的遙測數據進行處理分析和數據判讀可以判斷各系統的工作狀態。通信衛星載荷測試領域是一個敏感領域,具有一定的特殊性,需要各種通用儀器儀表和專用儀器儀表通過多種互連方法同被測載荷進行連接,并對大量各類數據信息進行處理。由于每個通信衛星載荷的特殊性和缺少通用的測試規則,某些載荷的測試方法與測試指標各不相同。載荷測試的前提是將被測載荷放入到測試環境中,測試環境的改變會影響到測試數據的結果,測試方法的合理與否,測試系統的處理能力與通信能力是否滿足測試方案的需求都要在測試環境搭建好之后通過實際測試才能檢驗出來。傳統測試系統設計和規劃方法主要靠經驗,對于復雜的現代通信衛星有效載荷測試系統,很多地方由于無法預知而抓不住設計的要點,這種測試方法和測試能力的不可預知性不僅增加了測試成本,往往還會拖延測試周期,降低測試的效率。
發明內容
本發明的技術解決問題是克服現有技術的不足,提供了一種通信衛星載荷測試系統的通用仿真平臺,可以在該平臺上預先對通信衛星有效載荷系統級測試方案進行仿真,對測試方案進行可行性分析并做出相應調整,從而降低測試成本,提高測試效率。本發明的技術解決方案是通信衛星有效載荷測試系統仿真平臺,包括測試規則模塊、仿真核心模塊、仿真設計模塊、事件隊列列表、數據采集模塊和數據分析模塊,其中測試規則模塊存儲整個仿真過程中與通信衛星有效載荷測試有關的測試規則;仿真核心模塊包括數據讀寫單元、事件調度器和事件執行單元;數據讀寫單元讀取數據分析模塊的數據判讀結果,同時提供與數據采集單元的數據交互接口 ;事件調度器以數據判讀結果為依據,采用離散事件驅動機理確定事件的執行時間,事件執行單元處理完當前事件后,事件調度器將該當前事件從事件隊列列表中刪除,并獲得下一事件作為將要執行事件;如果將要執行事件的預設執行時間晚于當前仿真時間,則事件調度器將當前仿真時間修改為將要執行事件的預設發生時間并將該將要執行事件交給事件執行單元執行;如果將要執行事件的預設執行時間等于當前仿真時間,則事件調度器直接將該將要執行事件交給事件執行單元執行;仿真設計模塊包括場景設計單元、節點設計單元和進程設計單元,場景設計單元建立測試系統的節點組成及其連接方式;節點設計單元定義測試儀器或衛星有效載荷的屬性,將測試儀器或衛星有效載荷的屬性劃分為不同的工作狀態,同一臺測試儀器或者衛星有效載荷的所有工作狀態形成一個節點;進程設計單元采用有限狀態機來描述測試儀器或衛星有效載荷的不同工作狀態,每一個工作狀態對應一個進程;事件隊列列表存儲仿真核心模塊要執行的所有事件及事件對應的預定執行時間,事件是整個仿真過程向前推進的基本組成單元,每一個事件完成了一定的操作,由一定的事件隊列組成了衛星載荷項目測試的過程;數據采集模塊接收仿真核心模塊中數據讀寫單元送來的仿真過程中某些節點或者進程中所生成的數據,并根據測試規則模塊中的測試規則對接收的數據進行分類并轉發給數據分析模塊;數據分析模塊接收數據采集模塊轉發來的反映仿真狀態的數據,同時從測試規則模塊中獲取與當前測試項目相對應的測試規則判據,根據測試規則判據對接收到的狀態數據進行判讀,判讀結果發送至仿真核心模塊。本發明與現有技術相比的優點在于(1)本發明通信衛星載荷測試系統的通用仿真平臺,可以在其上對通信衛星有效載荷系統級測試方案進行仿真建模,預先對測試方案進行仿真,在具體方案實施之前對測試方案進行可行性分析,盡可能完善的對測試方案的可實施性提供依據,對測試能力進行可預見評估,及時發現方案的瓶頸并做出相應調整,以降低測試成本,提高測試效率;(2)仿真平臺提供場景,節點,進程三層建模機制,三層模型和實際的系統,設備, 協議三層完全對應,全面反映了測試系統的相關特性;(3)采用離散事件驅動的仿真機理,其中“事件”是指測試系統模型狀態的變化,只有測試系統模型狀態發生變化時,仿真平臺才進行仿真,測試系統模型狀態不發生變化的時間段不進行仿真計算,被跳過,即仿真時間是離散的,每當有一個事件出現后時間往前推進,也就是時間是跳躍前進的,一個仿真時間點上可以同時出現多個事件(通過事件的優先級進行先后執行),事件的發生可以有疏密的區別,在離散事件驅動的仿真機理中,仿真核心不必每時每刻都去查詢系統模型的狀態,因為測試系統模型狀態改變時,就會有事件發生,事件的發生會通知仿真核心進行處理,與時間驅動相比,計算效率得到很大提高;(4)仿真平臺創建的所有系統模型都由一系列屬性可配置的設備模型組成。設備模型屬于某個類,類以行為和屬性的方式描述對象的特征,面向過程的仿真平臺相比,面向對象的仿真平臺更利于數據的維護和繼承。
圖1為本發明通信衛星有效載荷測試系統仿真平臺結構圖;圖2為本發明仿真核心模塊組成框圖;圖3為本發明仿真設計模塊組成框圖;圖4為本發明仿真設計模塊的工作流程圖;圖5為本發明事件隊列列表結構圖;圖6為數據采集模塊結構圖;圖7為數據分析模塊結構圖。
具體實施例方式如圖1所示,本發明通信衛星有效載荷測試系統仿真平臺包括測試規則模塊、仿真核心模塊、仿真設計模塊、事件隊列列表、數據采集模塊和數據分析模塊。測試規則模塊中存儲了整個仿真過程中與通信衛星有效載荷測試有關的測試規則。仿真核心模塊讀取數據分析模塊的數據判讀結果,同時提供與數據采集單元的數據交互接口 ;以數據判讀結果為依據,采用離散事件驅動機理確定事件的執行時間并執行事件。仿真設計模塊反映了衛星有效載荷測試系統的組成和狀態,仿真實施者通過仿真設計模塊實現對測試系統的仿真平臺搭建。事件隊列列表存儲了仿真核心模塊要執行的所有事件及事件對應的預定執行時間,仿真核心從該列表中提取將要執行的事件,通過執行具有一定關聯的離散事件可完成對測試項目的測試過程。數據采集模塊接收仿真核心送來的仿真過程中所生成的狀態數據,并對這些狀態數據進行分類存儲管理和轉發。數據分析模塊接收數據采集模塊轉發過來的反映仿真狀態的數據,并對其進行分析和轉發。事件是組成測試項目的單元,也即在進行測試項目的測試時,由若干個事件組成了測試過程,例如測試功率這個項目,需要信號發生器發生數據事件,數據進入被測系統事件,被測系統進行響應事件,響應數據進入功率計或頻譜儀事件。整個測試系統中的每一個狀態的改變都是由響應時間觸發的,不同的事件按照時間先后順序進行觸發,組成了一定的測試項目的完成。如圖2所示,為仿真核心模塊組成框圖。包括數據讀寫單元、事件調度器和事件執行單元。數據讀寫單元讀取數據分析模塊的數據判讀結果,由此作為仿真核心模塊下一步操作的依據,例如是讓事件調度器繼續工作還是結束仿真并報警。事件調度器對所有進程模塊希望完成的事件和計劃該事件發生的時間進行列表和維護。事件調度器采用的離散事件(其中“事件”是指仿真環境狀態的變化,也就是說,只有測試系統狀態發生變化時,仿真核心模塊才工作,測試系統狀態不發生變化的時間段不執行任何仿真計算,即被跳過)驅動機理決定了其時間推進機制執行事件部分處理完當前事件后,事件調度器把該事件從事件列表中刪除,并獲得下一事件,作為將要執行事件。如果將要執行事件希望發生的時間晚于當前仿真時間,仿真核心模塊將仿真時間推到將要執行事件的希望發生時間,并且事件調度器會把將要執行事件交給執行事件部分執行;如果將要執行事件的希望執行時間等于當前仿真時間,仿真時間將不推進,直接把將要執行事件交給執行事件部分執行;事件執行單元則是根據仿真核心模塊下一步操作的結果進行相關事件的操作。如圖3所示,為仿真設計模塊組成框圖。包含了場景設計單元,節點設計單元和進程設計單元,分別和實際衛星有效載荷測試系統的系統,設備和協議操作一一對應,全面反映了測試系統的相關特性。場景設計單元反映了測試系統的節點組成及其連接方式,采用通用測試儀器,專用測試儀器及通信鏈路等建立測試場景模型,實現對測試環境的形象化映射。節點設計單元抽象了具體節點的屬性,也就是測試儀器或衛星有效載荷的整體屬性,節點設計基于節點模塊,每個節點模塊實現節點行為的某一方面,諸如數據生成,數據存儲,數據的處理和數據的傳輸等。多個節點模塊的集合構成功能完整的節點。單個節點內部的節點模塊可能是幾十個甚至是上百個。進程設計單元則是節點的內部實現抽象,使用有限狀態機來描述進程的邏輯,主要用來刻畫節點模型內不同功能模塊內的實現,可以模擬大多數軟件或者硬件系統,包括通信協議,算法,排隊策略,共享資源,特殊的業務源等。最底層為進程設計單元,其以狀態機來描述協議操作;其次為節點設計單元,由相應的協議模型構成,反映了設備的特性;最上層為場景設計單元。這種分層建模的方式和單一層次的對系統中所有層面進行統一建模相比,有很多的優點,它給仿真實施者提供了一個直觀的建模環境,最大限度地貼近實際測試系統。場景設計單元的主要功能是從高層設備對系統進行規范,高層設備也就是節點和通信鏈路。節點對應測試設備,也包括一些業務配置模塊;通信鏈路對應于現實網絡中的連接鏈路,也包括邏輯鏈路。節點設計單元的主要功能是從應用,進程,隊列和通信接口等功能模塊對節點的功能進行規范。節點包含通用測試儀器和專用測試儀器。通用測試儀器包含示波器,信號源,頻譜儀等由通用儀器生廠商生產的儀器,仿真平臺有專門的通用儀表庫,專用測試儀器則是根據具體測試方案抽象出的專用測試儀器,仿真平臺可通過節點設計部分對專用儀器儀表進行設計。這些設備與現實中所使用的設備具有相同的功能。因此,節點的屬性與設備功能密切相關。進程設計單元的主要功能是對系統內節點所含進程的行為進行規范,包括決策進程和算法。在進行進程建模時,最重要的工作就是設計進程組,使其中的各個進程能夠各盡其職并且協調運作。有限狀態機設計采用圖形和代碼相結合的方式創建進程模型,有限狀態機采用狀態轉移圖(State Transition Diagram,STD)來描述狀態的轉移,進程模型所執行的操作用C或C++語言來描述。狀態和狀態之間是通過狀態轉移線相連,轉移線可以是帶條件的(必須滿足條件才能轉移)或者是無條件的(直接轉移)。狀態的上半部分可以關聯狀態入口代碼,狀態的下半部分可以關聯狀態出口代碼,當仿真核心進入有限狀態機的某個狀態時,入口代碼將被執行,當仿真核心離開有限狀態機的某個狀態時,出口代碼將被執行。有限狀態機的狀態有強制狀態和非強制狀態兩種,有限狀態機進入強制狀態時,依次執行入口代碼和出口代碼,然后將控制權交給下一個狀態;有限狀態機進入非強制狀態時,在執行完入口代碼后暫停,將控制權交給仿真核心,仿真核心開始查找下一個事件隊列列表中的事件并執行,直到相應的事件觸發了該有限狀態機從非強制狀態中離開,才執行出口代碼。在進行仿真設計時,根據測試方案使用場景設計單元進行場景設計,即根據衛星有效載荷測試方案確定測試項目,據此確定衛星有效載荷測試系統的組成及連接方式,測試系統(場景)由不同的測試儀器(節點)和被測衛星有效載荷連接而成,測試儀器優先使用平臺所提供設備庫中的設備模型,如果設備庫中沒有相應設備模型,需要使用節點設計單元進行設備模型搭建。設備由不同的功能模塊組成,通常由配置模塊,計算處理模塊, 輸入輸出模塊,通信模塊和存儲模塊構成(不同設備可能全部或部分覆蓋這五個模塊),每個功能模塊完成設備一定的功能。配置模塊負責仿真平臺初始化時對設備進行初始化,是對設備軟件硬件的配置進行抽象,仿真(測試)開始時要根據測試項目對測試設備的工作模式和配置進行設置;計算處理模塊負責設備的計算和處理部分,是對設備的核心處理器進行抽象,仿真(測試)過程中測試設備要根據測試項目對接收到的數據進行相應處理;輸入輸出模塊負責設備的人機交互,是對設備同人交互進行抽象,仿真(測試)過程中,操作人員需要通過軟件或者設備面板對設備進行相應操作,設備則需要進行相應操作和反饋; 通信模塊負責設備間的信息交互,是對設備間數據交互進行抽象,仿真(測試)過程中不同設備相互配合,通過數據交互共同完成相關測試項目;存儲模塊負責將測試過程中仿真實施者感興趣的數據進行存儲,是對本地數據存儲的抽象,仿真(測試)過程中,衛星有效載荷出現異常,通過存儲的數據可以方便的進行仿真(測試)過程重現,利于問題排查與定位。仿真實施者使用進程設計單元完成不同功能模塊的設計,進而完成與設備相應的節點設計。仿真(測試)開始時,所有設備的不同功能模塊首先通過狀態機的“開始”狀態進行初始化,然后進入“等待”狀態,等待與之相關的事件的發生,在仿真(測試)過程中,如果仿真核心執行的事件列表中的事件和某設備中的某模塊相關,仿真核心會對該模塊的狀態機進行事件中斷,使狀態機進入“處理”狀態,進入“處理”狀態之前,首先執行“處理”狀態的入口代碼,當相應操作(即執行“處理”狀態中的相應代碼)完成之后,執行“處理”狀態的出口代碼,然后狀態機又回到“等待”狀態,再次等待與之相關的事件發生。所有事件的執行不會向前推進仿真時間,只消耗電腦的執行時間,仿真核心執行完事件后會根據下一事件希望執行的時間來推進仿真時間。通過有限狀態機的創建,完成不同功能模塊的設計, 進而完成測試儀器(節點)設計,最終由不同的測試儀器(節點)共同組成測試系統(場景)ο圖4是使用仿真設計模塊進行仿真系統設計的基本流程。該基本流程包含了開始場景設計,是否有模型庫中不覆蓋的設備,開始節點設計,節點內不同模塊的設計,開始進程設計,進程中有限狀態機設計,狀態機功能是否滿足進程設計,所有模塊的進程設計完備,節點功能是否滿足設計,使用設備模型進行場景設計,運行仿真,場景設計是否與預期相同。開始場景設計。是整個仿真開始的第一步,也就是根據測試系統方案進行測試系統的搭建。是否有模型庫中不覆蓋的設備。測試系統是由測試設備組成,同樣,仿真場景是由仿真節點組成。仿真平臺為設備的詳細建模提供了豐富的模型庫,標準設備庫包含了數百個制造商的特殊模型和通用模型,包括頻譜儀,矢量網絡分析儀等。在進行仿真場景搭建時,首先要對測試方案中涉及到的測試設備進行清點,查看仿真平臺設備庫中的設備模型是否覆蓋了所有的測試設備,如果沒有覆蓋,則需要對測試設備進行設計建模,即需要進行節點設計,進入節點設計;如果仿真平臺模型庫中的模型可以覆蓋測試方案中的所有測試設備,則可以進行場景搭建,進入使用設備模型進行場景設計。開始節點設計。如果仿真平臺庫中沒有測試方案涉及的設備,則需要對這些設備進行設計建模,即開始節點設計。節點內不同模塊設計。每臺設備都由不同的功能模塊組成,同樣,作為設備抽象的節點設計,首先要進行的就是不同功能模塊的規劃與設計。開始進程設計。不同的模塊設計就是通過不同的進程設計來完成的。進程中有限狀態機設計。在進行進程設計時,首先要對狀態轉移圖進行設計,即確定進程有哪幾種狀態,并且其中有幾種是強制狀態,幾種是非強制狀態,然后再確定狀態之間的轉移條件,最后在狀態入口出口處添加代碼,完成整個進程設計。狀態機功能是否滿足進程設計。進程中的有限狀態機設計完成后,檢驗其功能是否滿足進程設計要求,如過不滿足,返回重新進行有限狀態機設計,如果滿足,進入下一步。所有模塊的進程設計完成。節點由多個具有不同功能的模塊組成,模塊功能由進程即有限狀態機實現。檢驗是否所有的模塊設計完成,如果沒完成,則進入開始節點內不同模塊的進程設計;如果完成,進入下一步。
節點功能是否滿足設計。節點內具有不同功能的模塊設計完成后,節點設計完畢, 檢驗該節點的功能是否滿足設計要求,即模塊的屬性和功能是否能真實的反應測試設備的屬性和功能。如果不能,返回重新開始節點設計;如果能則返回檢驗是否還有模型庫不覆蓋的設備。使用設備模型進行場景設計。如果方案中所涉及到的設備均被模型庫中的設備模型覆蓋或通過節點設計完成了相應模型的建模,則可以開始使用設備模型進行場景設計, 使用通信連路將各個設備模型連接起來,準備開始仿真。運行仿真。在場景模型搭建好之后,測試系統的仿真平臺搭建完成,此時運行仿真以檢驗場景模型,運行仿真前需要進行仿真環境配置,仿真運行中需要對運行過程進行數據采集,仿真運行完之后要進行數據分析。場景設計是否與預期相同。仿真運行完之后,查看仿真的運行結果是否與預期相同,如果相同,從仿真角度上看方案具有一定的可行性,結束仿真環境搭建;如果不同,一般有兩方面的原因,一是由于模型中的流程沒有嚴格地按照系統規定的方案來執行,此時返回“開始場景設計”,重新檢驗或者設計仿真;二是本身系統的方案存在問題,如果是系統的方案本身存在問題,那么仿真的目的之一,驗證方案的不可實施性已經達到,此時應該修改方案,然后返回“開始場景設計”,重新開始仿真設計。圖5為事件隊列列表結構圖,事件隊列列表由離散事件節點前后連接而成,當仿真實施者用仿真設計模塊完成了測試方案的仿真建模之后,仿真平臺根據所建模型中離散事件希望執行時間的先后順序自動生成事件隊列列表。仿真核心通過對一定數量的離散事件的執行,完成衛星有效載荷相關測試項目的測試過程。離散事件節點包含了前一個事件指針,后一個事件指針,執行事件指針和希望執行時間。前一事件指針指向仿真核心模塊前一個已經執行完的事件,仿真實施者可以通過其向前追溯事件;后一事件指針指向仿真核心模塊在執行完當前事件后,希望執行的下一事件,仿真實施者可以通過其向后查詢事件; 執行事件指針指向當前事件在執行時,仿真核心模塊需要執行的具體邏輯,即將計算機跳轉到相應代碼的入口,執行事件指針就指向了該入口,相應的事件也就是代碼結束之后,根據下一事件節點的希望執行時間屬性決定仿真時間的改變;希望執行時間是當前執行事件希望執行的時間。如圖6所示,為數據采集模塊結構圖,主要實現對采集的衛星狀態參數進行管理和發送。包括數據接收單元,數據管理單元和數據轉發單元。數據接收單元接收來自仿真核心模塊的仿真過程中某些節點或者進程中所生成的數據,數據管理單元根據測試規則模塊中的測試規則對接收的數據進行分類存儲,數據轉發單元將采集的數據送至數據分析模塊。如圖7所示,為數據分析模塊結構圖,主要根據測試規則數據庫中的測試規則,對數據采集模塊送來的數據進行分析,形成各種判據。包括數據接收單元、測試規則判據解析單元和數據判讀單元三個部分。數據接收單元主要是從數據采集模塊接收衛星有效載荷測試仿真環境中的測試數據,并交給測試規則判據解析單元進行處理;測試規則判據解析單元是數據分析模塊的核心,其從測試規則模塊中讀取相應規則,對測試數據進行相應解析, 為數據判讀部分提供判讀依據;數據判讀單元根據數據規則判據解析的結果形成數據判讀規則,進而對接收到的數據進行判讀,當數據出現異常時進行報警或進行日志記錄,并且將判讀結果轉送給仿真核心模塊,為其下一步操作提供必要依據。 本發明說明書中未作詳細描述的內容屬本領域技術人員的公知技術。
權利要求
1.通信衛星有效載荷測試系統仿真平臺,其特征在于包括測試規則模塊、仿真核心模塊、仿真設計模塊、事件隊列列表、數據采集模塊和數據分析模塊,其中測試規則模塊存儲整個仿真過程中與通信衛星有效載荷測試有關的測試規則; 仿真核心模塊包括數據讀寫單元、事件調度器和事件執行單元;數據讀寫單元讀取數據分析模塊的數據判讀結果,同時提供與數據采集單元的數據交互接口 ;事件調度器以數據判讀結果為依據,采用離散事件驅動機理確定事件的執行時間,事件執行單元處理完當前事件后,事件調度器將該當前事件從事件隊列列表中刪除,并獲得下一事件作為將要執行事件;如果將要執行事件的預設執行時間晚于當前仿真時間,則事件調度器將當前仿真時間修改為將要執行事件的預設發生時間并將該將要執行事件交給事件執行單元執行; 如果將要執行事件的預設執行時間等于當前仿真時間,則事件調度器直接將該將要執行事件交給事件執行單元執行;仿真設計模塊包括場景設計單元、節點設計單元和進程設計單元,場景設計單元建立測試系統的節點組成及其連接方式;節點設計單元定義測試儀器或衛星有效載荷的屬性, 將測試儀器或衛星有效載荷的屬性劃分為不同的工作狀態,同一臺測試儀器或者衛星有效載荷的所有工作狀態形成一個節點;進程設計單元采用有限狀態機來描述測試儀器或衛星有效載荷的不同工作狀態,每一個工作狀態對應一個進程;事件隊列列表存儲仿真核心模塊要執行的所有事件及事件對應的預定執行時間,事件是整個仿真過程向前推進的基本組成單元,每一個事件完成了一定的操作,由一定的事件隊列組成了衛星載荷項目測試的過程;數據采集模塊接收仿真核心模塊中數據讀寫單元送來的仿真過程中某些節點或者進程中所生成的數據,并根據測試規則模塊中的測試規則對接收的數據進行分類并轉發給數據分析模塊;數據分析模塊接收數據采集模塊轉發來的反映仿真狀態的數據,同時從測試規則模塊中獲取與當前測試項目相對應的測試規則判據,根據測試規則判據對接收到的狀態數據進行判讀,判讀結果發送至仿真核心模塊。
全文摘要
通信衛星有效載荷測試系統仿真平臺,測試規則模塊存儲測試規則。仿真核心模塊讀取數據分析模塊的數據判讀結果,采用離散事件驅動機理確定事件的執行時間并執行相應事件。仿真設計模塊建立測試系統的節點組成及連接,建立時將衛星有效載荷的屬性劃分為不同工作狀態,每一個工作狀態對應一個進程,同一衛星有效載荷的所有工作狀態形成一個節點。事件隊列列表存儲仿真事件及對應的執行時間。數據采集模塊接收仿真時某些節點或者進程中生成的數據,對數據分類并轉發給數據分析模塊。數據分析模塊接收反映仿真狀態的數據,同時獲取與當前測試項目相對應的測試規則判據,根據測試規則判據對接收到的狀態數據進行判讀,判讀結果發送至仿真核心模塊。
文檔編號H04B7/185GK102523030SQ20111038185
公開日2012年6月27日 申請日期2011年11月25日 優先權日2011年11月25日
發明者劉萬富, 張勇, 謝華 申請人:中國空間技術研究院