周雅芳 范玉娜 张耀寰 张晓彬(沈阳理工大学,辽宁 沈阳110159)
Visual C++6.0是由Microsoft公司推出的一款面向对象的计算机程序开发工具,是编程入门的良好编译工具。Visual C++6.0集成开发环境功能强大,界面简洁,占用资源少,操作方便,在Windows环境下很常用,是使用最广的开发工具。
AOS系统主要用来达成航天器与地面站之间的双向传送,包括音频、视频、科学实验等多种不同类型的数据[1-2],并通过信道多路复用技术和帧同步技术,来保证数据传输的高质量和高可靠性。帧同步技术是为了使系统接收端能够确定一帧的开始,AOS标准规定数据帧以固定长度传输,在帧前面添加ASM帧同步头,在数据的接收方查找ASM帧同步头,并提取出来[3]。
帧的同步技术实质就是如何检测ASM帧同步头,常用三种不同的ASM帧同步头包括16位的帧同步头EB90(二进制码流形式为11101011 10010000)、32位的帧同步头1ACFFC1D(二进制码流形式为00011010 11001111 11111100 00011101)和64位的帧同步头FFF2D58B65466000(二进制码流形式为11111111 11110010 11010101 10001011 01100101 01000110 01100000 00000000)[3]。
AOS系统的帧同步过程中的四种状态:搜索态L、同步态SL、同步校核态SC与失步校核态LC[3],设计基于VC++的帧同步过程仿真流程图如图1所示。
图1 帧同步过程仿真流程图
根据上述原理,借助Visual C++[4],进行了本次实验,得到的仿真结果如图2、图3所示:
图2 帧同步前仿真结果
图3 帧同步后仿真结果
图2帧同步仿真实验结果显示的是对txt文本数据的帧同步处理,文本中的前两个字节11101011 10010000(EB90)是帧同步过程中搜索的ASM帧同步头,文本数据总帧数为2164帧,总字节数为216400个字节,每个CPPDU含有20个字节,每个MPDU含有5个CPPDU,每个VCDU对应1个MPDU。图3为帧同步后去掉ASM帧同步头的实验结果。经过验证之后,传输的总帧数相同,帧同步完全正确。
[1]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.
[2]田野,冯永新,马玉峰,刘桂君.高级在轨系统中的多路复用与差错控制技术研究[M].北京:科学出版社,2014,4.
[3]李帅.基于AOS的帧同步与链路建立技术的研究[D].沈阳:沈阳理工大学,2010.
[4]谢贤芬.21天学通Visual C++[M].2版.北京:电子工业出版社,2001,2.