微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 基于数据包的航天器数管模拟器软件设计

基于数据包的航天器数管模拟器软件设计

时间:06-12 来源:互联网 点击:


    应用过程层主要完成星上设备数据的管理和分发功能,这个层中不同应用过程构成一个系统,分别对应管理星上某一个任务,对应于与模拟器对接的各个星上设备数据的产生与接收。
    分包层的业务是提供星上设备和数管模拟器之间端对端的用户应用数据传输。数据下传时,分包层接收应用过程层经过格式转换后的具体数据流,将它封装在标准的交换数据格式中,依靠分段层支持,完成数据下传功能。数据上传时,分包层将分段层发送过来的数据解析,并以数据包的形式发送给应用过程层。
    分段层完成数管模拟器与地面总控设备的数据传输。数据下传时,提供的业务是单向的。数据上传时,分段层接收地面总控设备信息,并将数据解析后以数据包发送给不同的星上设备。
    信道业务层是数管模拟器和地面总控设备通信的物理链路,本模拟器使用RS422总线通信,通信速率为115.2kb/s。

3 软件实现
3.1 上下行通道数据帧
    在新一代航天器应用中不同的应用程序产生的数据源包可能是不同的发生率和包长度,这些源包是自主发生的,源包之间是异步的。数管模拟器需要接收组织这些数据包,并在分段层内完成下行数据帧的组织发送,参见CCSDS遥测数据链路协议建议,设计下行数据帧格式如图4所示。


    下行数据帧长度固定,共有768个字节。头两个字节为数据帧的帧同步字,占用两个字节,用于完成相邻帧的区分;星上时间共占用了6个字节的长度:第768个字节为帧计数,大小为0~255:第9个字节到第767个字节存放源包数据,如果源包数据小于767个字节,将下行数据帧中的多余部分填充为0。数据域中的数据包可以是遥测采集数据包、GNC数字量遥测数据包、下卸内存包等。

上行通道是数管模拟器接收地面总控设备发送数据帧的链路。如果使用传统的脉冲编码调制上行数据,航天器需要做二次设计,这样分系统间遥控接口不统一,软件通用化很低,这和软件产品化思想背道而驰。数管模拟器与地面总控设备的上行通道协议,采用数据帧的方式进行,所有数据要求遵循表1的格式。上行数据帧根据数据帧的指令码,共分为器上时间校准数据帧(指令码8e55),间接指令数据帧(指令码d1d1),指令组发送数据帧(指令码5a5a),内存下卸数据帧(指令码b2b2)以及1553B总线数据注入数据帧(指令码b1b1)等。


    数据帧的帧头为EB90,用于完成帧同步,长度字占用了两个字节,表示指令码和数据域总长度,因为每条协议都要有指令码,因此长度字最小值为0002H。指令码用于区分数据域中数据的用途,数据域用来保存有效数据。数管模拟器系统软件接收到地面总控设备发送的数据帧后解析指令码,并根据不同指令码完成特定的操作。
3.2 数管模拟器系统软件
    系统软件每个任务执行周期为150 ms,执行周期定时器通过FPGA硬件实现,单个执行周期误差小于5 ms,时间零点为2010年01月01日00时00分00秒00毫秒。系统软件通过基于时间片的轮转调度分配处理器模块的处理资源,做到对多种任务的准实时处理。
    地面总控通过RS422给数管模拟器发出遥控指令,CPU响应RS422总线中断,置串口中断有效标志,在主程序中,判断中断标志,在处理函数中执行相应的指令动作,通过不同的命令字执行相应的操作。


    系统软件流程图如图5所示,软件开始执行时首先初始化系统的各种资源及寄存器,清看门狗后等待地面总控设备发送的数据帧;如果地面总控设备发送了数据帧,系统软件首先解析数据帧的指令码并根据指令码内容决定本周期执行的任务。系统软件只负责多任务的调度和固定时间片的分配,具体任务由应用过程任务软件来完成。
3.3 遥测采集模块软件
    遥测采集模块软件主要完成接收遥测板发送的传统遥测量,共计164个字节的遥测数据。遥测采集模块组织这些数据并将这些数据以数据包的形式发送给中央处理单元。
    系统软件每150 ms向遥测采集模块发送要数命令,接收到系统软件发送的要数命令后遥测采集模块开始传统遥测量的采集,组包后将数据通过串口发送给数据处理模块。系统软件进入串口中断后,将数据包放入到下行数据帧中,并等待下行数据发送任务执行时,将下行数据帧发送出去。

4 实现与验证
    数管模拟器的CPU模块由TI的DSP器件TMS320F2812和512 kbit的RAM组成,与FPGA一起对各种接口进行控制。
    本文中的软件设计使用C语言来实现,使用CCS3.3软件开发环境开发,调试计算机使用Windows XP操作系统。模拟器进行了100个小时的老练试验,期间进行了遥控指令发送、姿轨控内存数据下载、星上时间校准、模拟量遥测数据采集等功能测试。测试结果表明使用该软件设计的数管模拟器能够可靠、稳定地完成模拟数据管理分系统的任务。相比传统数管模拟器,基于数据包的航天器模拟器能够适应不同的应用程序产生的不同发生率和包长度的数据源包,简化软件的开发过程,提高有效数据利用率。

5 结束语
    在综合分析了模拟器的需求后,实现了数管模拟器的软件设计,其功能和性能在系统试验中得到了充分验证。软件设计体现了模块化设计的思想,使用静态周期轮转的方式实现任务的调度,实现起来比较简单,有助于软件任务正常执行,使用分层设计的思想,实现不同信源信宿数据的统一管理,有利于软件的标准化和组件化。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top