摘要:为满足弹载飞控软件实时性、可靠性的要求,设计了基于 DSP十
FPGA 硬件结构的某型号激光半主动导弹飞控软件,其中
TMS320C6713 DSP作为主处理器,FPGA作为协处理器,两者进行高度并行数据处理;飞控软件包括测试模式和正常工作模式,测试模式完成弹上设备的测试和维护,正常模式完成导弹的发射和控制;本着高内聚、低耦合原则,对飞控软件采用模块化设计方法,给出了模块组成、模块功能以及模块间的关系;对飞控软件进行了半实物仿真试验,重点对制导逻辑和制导控制算法计算精度进行验证,试验结果表明制导逻辑处理正确,飞控软件计算精度与数字仿真结果一致;最后给出了飞控软件存在的问题及改进方向。
弹载飞控系统通常由传感器(惯组、导引头)、飞控计算机及其内嵌飞控软件、执行机构(舵机)组成。飞控计算机通过内嵌的飞控软件,处理传感器数据进行舵指令计算,引导和控制导弹沿方案弹道飞行,使得在没有人为干预情况下完成自动导航、目标识别、精确控制等智能化任务,飞控软件是飞控系统的核心部分。
飞控软件实时性强,软件的主任务周期时间有严格限制,每周期内必须完成与各种外设的通讯、舵指令计算、数据遥测等任务。飞控软件可靠性要求高,飞行中如果软件出现问题,不但造成飞行失败,可能还会造成人员伤亡,飞控软件要对飞行中出现的各种可能情况做出冗余处理,保证飞行的安全。
为满足飞控软件实时性和可靠性的要求,本文从硬件和软件两方面进行协同设计,硬件方面飞控计算机采用DSP+FPGA结构,软件则采用模块化设计方法
1、飞控计算机原理
飞控计算机组成如图 1所示,包括主机模块、FPGA 模块、DC/DC模块、通信模块、输入输出开关量模块、A/D转换模块,其中主机模块由 DSP和时钟电路组成,FP-GA模块由通信控制逻辑模块、开关量控制模块等组成。
DSP采用 TI公司生产的 TMS320 C6713 核心处理器,具有快速数据处理以及高精度和宽动态范围的浮点计算能力,保证了飞控软件的计算速度和精度,并且外设接口丰富,可实现飞控系统的小型化。DSP通过EMIF 总线与FP-GA相连,使FPGA 充当一个协处理器,FPGA采用成熟的IP 核,通过操作寄存器完成接收帧头、帧尾、帧长、校验方式、发送帧头、帧尾、波特率的配置,FPGA 根据配置对通信数据进行判断,如果数据格式正确,则将数据存储在相应的
FIFO,并将接收完成状态寄存器置为1,否则将数据丢弃,接收完成状态寄存器置为0。DPS只需查询接收完成状态寄存器,利用与协处理器的接口函数就可实现数据接收和发送。
DSPFPGA的硬件结构利用了 FPGA 的控制能力和高度并行化数据处理方面的优势,为 DSP进行流程控制、导航和制导控制算法解算提供了更多的时间余量,减少了DSP计算压力,保证了飞控软件的实时性。
2、飞控软件功能和性能
某激光制导弹飞控软件包括测试工作模式和正常工作模式。测试工作模式主要用于导弹交付用户之后,定期对弹上设备的功能测试、零位测试和校准,正常工作模式完成弹的发射和控制。
正常工作模式由离轨前准备阶段和离轨后自主飞行阶段组成。离轨前准备阶段主要完成飞控计算机硬件初始化、弹上设备自检、传递对准、离轨信号采集和判断;离轨后自主飞行阶段包括导航计算、制导控制指令计算两部分,其中制导控制系统包括中制导阶段、中末制导交接阶段、末制导阶段。
某激光制导弹飞控软件正常模式流程图如图 2所示。
导弹总体方案要求飞控软件严格按照图 2 所示流程进行任务管理和调度,并且要求软件实时性强。DSP每 lms 要查询一次外部通讯接口接收完成状态寄存器,并完成弹上设备数据的接收和解析;每 T1周期执行一次导航、制导与控制算法计算,实现姿态和过载回路控制;每 T2 周期向数据记录设备发送一帧遥测数据。
由飞控软件功能和性能要求可知,飞控软件功能复杂、实时性强。为了程序易于编写、调试和维护,提高软件的可靠性,并且便于功能扩展,采用了模块化设计方法。
3、飞控软件模块化设计
飞控软件总的架构包括硬件配置、定时中断和主程序三部分。飞控计算机上电后立即进行硬件配置且只进行一次,配置完成后进入主程序循环,一旦定时中断触发,则跳出主程序执行中断,中断执行完继续回到主程序。
硬件配置主要完成飞控计算机 EMIF 总线、PLL、中断周期配置和
RS422通讯串口初始化。根据寄存器定义,软件可设置每个 RS422通道接收帧头、帧尾、帧长、奇偶校验方式,FPGA按照设置的帧格式判断接收的数据帧是否正确,如果正确则存放 fifo,否则将数据丢弃。
为了保证数据接收的实时性,飞控软件设置了1 ms 定时中断函数,在中断函数顺序查询各个串口接收完成标志位,如果标志位为1,则读取 fifo 数据,并根据通信协议将接收的数据解析为十进制浮点数,否则继续查询下一个通信接口。
主程序主要完成导弹测试、维护和图 2 所示的飞控软件功能,包括测试维护、设备自检、传递对准、离轨信号判断、组合导航、制导、控制共7 个模块,飞控软件架构和模块结构图如图3所示。
更多详细内容请下载附件查看