首页 > 范文大全 > 正文

基于HLA―RTI的AOS包信道复用模块的设计与仿真

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于HLA―RTI的AOS包信道复用模块的设计与仿真范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

【摘 要】在系统仿真中,高层体系结构HLA会将通用的运行支持环境与仿真功能分开,以方便仿真系统的管理和集成,实现仿真系统的“即插即用”。运行时间支撑系统rti可以提供一系列用于仿真互连的服务,是依据HLA接口规范开发的仿真支撑工具,它相对独立且通用,是HLA仿真系统的基础,具有分布式仿真、分层管理控制和可重用性的功能。在此基础上并借助VC++平台对CCSDS aos 中的包信道复用功能进行了设计和仿真实现。

【关键词】HLA;RTI;AOS 包信道复用

1 包信道复用的简介

在AOS建议中,CCSDS包是合路过程的协议数据单元,为了使非CCSDS 结构的数据单元同样能复用在虚拟信道内,包装业务把非CCSDS 格式的包化成了CCSDS格式的包,也称为CPPDU。包信道复用过程就是把这些来自多个用户的具有相同或者相似服务质量要求的CCSDS 包合成在一个公共的数据结构内,形成一个MPDU,再分别加入帧头、帧尾,从而生成一帧VCDU,把几个不同的包信道级连在一个虚拟信道上,实现在一个虚拟信道上多路传输用户间的各自通信[1-2]。其中,CCSDS包、多路复用MPDU、虚拟信道传输帧VCDU的数据单元格式详见参考文献[1]。

2 包信道复用模块设计

在本仿真中,根据包信道复用原理,并借助Visual C++[3]中的双向队列容器,对包信道复用模块进行设计。在包信道复用模块内部功能的设计中,主要分三个大部分来实现:

第一,从FileDlg.GetPathname()函数中获得某个其他模块发送过来的文件赋给容器一(此模块的容器一名为SOURCE,定义为dequeSOURCE),然后进入第二部分的操作。

第二,在第二部分中,主要用到四个容器,分别定义为map>CPPDU_POOL、mapMPDU_POOL、map>VCDU_POOL、map > DISPATCH_POOL,它们将对信源进行包信道复用操作。实现过程如图3所示,基本过程如下:

①容器一SOURCE中够20个字节则封成一个CPPDU,如此循环,然后把封好的CPPDU都放到CPPDU_POOL中,即对信源进行CPPDU封装。当CPPDU_POOL中够10个CPPDU时则封成一个MPDU,如此循环,然后把封好的MPDU都放到(下转第116页)(上接第19页)MPDU_POOL中,即在CPP

DU_POOL中进行MPDU封装。

②MPDU_POOL中达到1个MPDU时则封成1个VCDU,如此循环,然后把封好的VCDU放在VCDU_POOL中,即在MPDU_POOL中进行VCDU封装。

③然后把VCDU_POOL中的数据都放到DISPATCH_POOL中,再把CPPDU_POOL、MPDU_POOL和VCDU_POOL中的内容都擦除,准备下一次的封包。

第三,把上述操作得到的最后封包结果的内容保存到新文件中,操作结束。

3 包信道复用模块的仿真结果

基于上述方法,试验过程中在文本文件中输入了一串二进制码元“01010011 00001100 11010000 11101000 11100110 11001101 01100101 11100010 00001111 01001111 00101010 11111001 11011000 00000101 00010001”,经过包信道复用模块,把输入的二进制码中每16比特的数据信息封为1个CPPDU,5个CPPDU封为1个MPDU,1个MPDU封为1个VCDU,得到的仿真结果如图2所示。

由图2可以看出,输入的二进制码元最终被封成了3个VCDU,图中前8行数据为第一个VCDU,在第一个VCDU中,第③行是1个完整的CPPDU,其中第③行的后16比特是原二进制码,同理,第④行、第⑤行、第⑥行和第⑦行也与第③行的结构相同,这5行的数据就组成了5个CPPDU。然后第②行与第③、④、⑤、⑥、⑦这5行组成了1个MPDU,其中第②行是MPDU的主导头。最后第①行、第⑧行与第②、③、④、⑤、⑥、⑦行组成了1个VCDU,其中第①行是VCDU的帧头、第⑧行是VCDU的帧尾,即前8行数据组成了一个完整的VCDU,包信道复用结果正确。同理,可验证剩下的两个VCDU仿真结果全部正确。

【参考文献】

[1]田野,冯永新,马玉峰,刘桂君.高级在轨系统中的多路复用与差错控制技术研究[M].北京:科学出版社,2014,4.

[2]Tian ye,Li Qingfan,Feng yongxin,Gao xiaoling.A virtual channels scheduling algorithm with broad applicability based on movable boundary[J].Mathematical Problems in Engineering,2013,9:1-8.

[3] 谢贤芬.21天学通Visual C++[M].2版.北京:电子工业出版社,2001,2.