新闻中心

EEPW首页>模拟技术>设计应用> 基于数据包的航天器数管模拟器软件设计

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

作者: 时间:2012-02-20 来源:网络 收藏

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

本文引用地址://m.amcfsurvey.com/article/186899.htm

e.JPG


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

f.JPG


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

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

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


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭