摘 要:系統仿真中,高層體系結構HLA可以將通用的運行支持環境與仿真功能分開,以方便管理、集成仿真系統,可實現“即插即用”。運行時間支撐系統RTI可以提供一系列用于仿真互連的服務,是依據HLA接口規范開發的仿真支撐工具,是HLA仿真系統的基礎。它相對獨立,具有分布式仿真、分層管理控制和可重用性的功能。在此基礎上借助VC++平臺,對CCSDS AOS中的BPDU封裝功能進行了設計和仿真實現。
關鍵詞:HLA;RTI;VC++;BPDU
中圖分類號:TP399 文獻標識碼:A 文章編號:1674-7712 (2014) 16-0000-01
一、位流業務的介紹
隨著空間科學和空間技術的不斷發展,許多任務要求在航天器與航天器之間、航天器與地面站之間雙向傳輸音頻、視頻、科學實驗等多種不同類型的數據[1-2]。為可靠、有效地傳輸這些數據,可以選用不同的業務類型,位流業務就是其中之一。
位流業務是將非定界的位流數據放入到位流業務協議數據單元B-PDU的數據域中,然后再通過空間鏈路子網進行傳輸[2]。每一個BPDU僅僅可以裝載一個虛擬信道的數據量。傳輸方式可同步也可異步,但是要保持傳輸的順序。本文提到的位流業務BPDU的數據單元格式和數據幀VCDU的單元格式詳見參考文獻[2]。
二、BPDU封裝模塊的設計
在BPDU的封裝中,是位流業務的包封裝過程,可分為包封裝、包處理和幀生成。10個字節大小的數據信息被封成1個位流業務協議數據單元BPDU,1個BPDU被封成1個虛擬信道傳輸幀VCDU。借助Visual C++平臺[3],此功能的實現主要分三個大部分:
第一,從FileDlg.GetPathname()函數中獲得某個模塊發送過來的文件賦給容器一(此模塊的容器一名為SOURCE,定義為deque
第二,在第二部分中,主要用到三個容器,分別定義為map
BPDU_POOL、map 圖1 BPDU封裝的內部實現過程圖 (1)容器一SOURCE中夠80個比特則封成一個BPDU,如此循環,然后把封好的BPDU都放到BPDU_POOL中,即對信源進行BPDU封裝。 (2)BPDU_POOL中夠1個BPDU則封成1個VCDU,如此循環,然后把封好的VCDU放在VCDU_POOL中,即在BPDU_POOL中進行VCDU封裝。 (3)然后把VCDU_POOL中的都放到DISPATCH_POOL中,再把BPDU_POOL和VCDU_POOL中的內容都擦除,準備下一次的封包。 第三,把上述操作得到的最后封包結果的內容保存到文件中,操作結束。 三、BPDU封裝模塊的仿真結果 基于上述方法,借助HLA-RTI相應的功能[4],在本仿真中對二進制碼流信息“11111111 11011000 11111111 11100000 00000000 00010000 01001010 01000110 01001001 01000110 11111111 11011000 11111111 11100000 00000000 00010000 01001010 01000110 01001001 01000110”進行BPDU封裝,得到的仿真結果如圖2所示。 圖2 圖像包封裝后的數據流 由圖2可以看出,輸入的二進制碼最終被封成了2個VCDU,圖中前4行數據為第一個VCDU,后4行數據為第二個VCDU。以第一個VCDU為例,第③行是原信息的前10個字節,第②行是BPDU主導頭,即②、③組成了一個BPDU。第①行是VCDU的幀頭,第④行是VCDU的幀尾,然后一個BPDU加上幀頭、幀尾則組成了一個VCDU,仿真結果正確。同理,原信息中的后10個字節被封裝在第二個VCDU中。經驗證,本試驗得到的仿真結果全部正確。 參考文獻: [1]Tian ye,Li Qingfan,Feng yongxin,Gao xiaoling.A virtual channels scheduling algorithm with broad applicability based on movable boundary.Mathematical Problems in Engineering,2013(09):1-8. [2]田野,馮永新,馬玉峰.高級在軌系統中的多路復用與差錯控制技術研究[M].北京:科學出版社,2014. [3]謝賢芬.21天學通Visual C++(第2版)[M].北京:電子工業出版社,2001. [4]李弘毅.HLA技術在分布交互仿真系統中的應用研究[D].東南大學,2006. [作者簡介]周雅芳(1988.11-),河北秦皇島人,沈陽理工大學在讀研究生,研究方向:高速移動無線信號處理。 [基金項目]遼寧省高等學校優秀人才支持計劃資助;遼寧省教育廳一般項目。