方樱瀚 孟祥富
摘 要:为了满足空间任务的发展需求,使航天器上的数据源封装的空间包可以在同一条虚拟信道中高效传输,AOS(Advanced Orbiting Systems,高级在轨系统)中按照多路复用协议对这些空间包进行复合封装,称为MPDU(Multiplexing Protocol Data Unit,多路复用协议数据单元),进一步通过创建统一的信息数据流在一个信道中传输不同的信息,诸如实验报告、遥测、遥控等。本文中应用Visual C++6.0软件进行编程设计,依据AOS中的MPDU格式,对8bit随机信源数据空间包复合封装成MPDU的过程进行了仿真设计和实现。
关键词:AOS MPDU 8bit随机信源
中图分类号:G64 文献标识码:A 文章编号:1672-3791(2018)03 (A)-0000-00
1 MPDU概述
在AOS系统中,空间包需要经过封装,生成MPDU后,在进行后续的处理[1-3]。在本文采用的是8bit信源空间包数据是通过VC++[4]编程随机产生而封装的,MPDU的格式如图1所示,然后按照图1中MPDU的数据单元格式进行封装,在本仿真中MPDU导头被设置全“0”,而MPDU数据域的大小是可变的,被设置为4,表示每个MPDU数据域包含4个空间包,最后再把封装好的MPDU存放于txt文件之中。
2 MPDU封装的设计实现
在本仿真中,4组8bit信源数据借助VC++[5]中的rand()函数随机产生,之后,再利用向量容器封装成空间包,最后按照AOS的MPDU格式进行封装设计。
整体的设计如下:
第一,通过调用rand()函数得到一个零到RAND_MAX之间的伪随机整数,然后对256进行取余操作,其结果刚好是一组8bit信源可以表示的整数,然后,按照空间包数据单元格式封装成空间包,并存放于容器Space_Pool中。
第二,首先,定义容器“deqMPDU8Bit”、“deqMPDUHead”、“deqMPDUWhole”以及关联容器“MPDU_Pool”,其中,容器deqMPDU8Bit用于存储8比特随机信源的空间包数据;容器deqMPDUHead用来存储MPDU的导头信息;……