新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 一种基于FPGA+DSP的通用飞控计算机平台设计

一种基于FPGA+DSP的通用飞控计算机平台设计

作者:时间:2014-07-08来源:网络收藏

  摘要:针对在舵机、导引头、惯导等弹上设备日益数字化的趋势下飞控系统的需求,提出了一种基于DSP+FPGA结构的通用飞控计算机平台。DSP+FPGA结构能发挥两种处理芯片各自的优势,而且具有良好的通用性和扩展性。针对多个外部设备问题,采用2个交替工作的方法,保证各弹上设备数据帧的同步和完整连续。通过半实物仿真系统的验证,飞控计算机性能良好,性能满足设计要求。

本文引用地址:http://www.eepw.com.cn/article/249384.htm

  关键词:DSP+FPGA;;;

  飞控计算机是现代导弹制导与控制系统的核心装置,其性能的好坏直接关系到精确制导的精度和杀伤目标的概率。近年来舵机、导引头、惯导等弹载设备日益向着数字化方向发展,因此设计一种能兼容多数字式设备的通用飞控计算机平台尤为重要。传统的单处理器核心飞控计算机难以在多通道异步数据收发的同时保证数据处理速度,难以满足现代导弹的要求。本文提出了一种基于DSP+FPGA结构,对外接口为422的通用数字飞控计算机平台。此平台能充分发挥DSP的运算速度,实现飞控算法。采用基于FPGA的双RAM缓冲机制,能很好地解决异步串行数据实时同步数据处理问题,满足飞控系统需求。

  1 设计思想和工作原理

  1.1 设计思想

  对于单DSP核心的飞控计算机,要收发多路异步串行数据就会占用多路中断,导致中断响应不及时造成数据丢失。同时多路中断也会影响到数据传输的实时性。飞控计算机对数据的完整性和实时性要求较高,传统单DSP核心不能满足弹上多数字式设备的要求。由于FPGA具有强大的并行处理能力,所以采用增加一片FPGA用于异步串行数据的收发的方法弥补单DSP核心的缺陷。DSP+FPGA的结构能将DSP从繁琐的外部接口管理中解放出来,充分发挥DSP的运算优势,提高运算效率的同时易于维护和扩展。

  1.2 飞控计算机工作原理

  飞控计算机的一般工作过程如下:飞控计算机上电之后进行自检,向载机发出“导弹存在”指令。飞控计算机接收载机的装订信息,完成初始对准,并且向载机发出“允许发射”指令。当导引头探测到目标向飞控计算机发出导引数据时,飞控计算机向载机发出“目标截获”指令。载机经过判断决策,向飞控计算机给出“发射”指令。发射之后,飞控计算机进行飞行时间计时,并开始按照已有的控制率,结合惯导和导引头输入进行飞控解算,得出四路舵机控制信号信号,控制导弹运动;并将接收到惯导数据、导引头数据、舵控量等内容组成遥测信息,发送给观测人员。

  2 结构和硬件设计

  根据飞控计算机工作原理,它具备以下功能:

  能够收发装订、惯导、导引头和遥测等数据;

  能够实现导引率,完成导航数据解算功能;

  能够控制执行机构——舵机。

  RS422通信协议具有抗干扰能力强,传输距离远,实现简单的特点,已经被各种数字设备广泛采用。本弹载机对外通信接口均采用422通信协议。根据飞控计算机的功能可以得出,此系统至少应该包含装订、惯导、导引头、遥测数据的收发和舵机控制5路数据通信。由于弹载机工作时收发“导弹存在”、“目标截获”、“允许发射”等开关量,还需要开关量的输入输出。故FPGA对外的接口共包括5路RS422和8位DIO通信接口。系统结构简图如图1所示(图中XINTF接口和的说明见本文第4部分)。

  

 

  DSP选用TI公司的高性能浮点处理器,150 MHz主频,性能相比于2812有大幅提升,广泛应用于控制系统。FPGA选用ALTERA的Cyclone II系列,完全满足应用需求。DSP+FPGA组成的最小系统主要由电源、复位电路、晶振、烧写接口等部分组成。电源芯片选用TPS7 67D301PWP,可以为DSP提供3.3 V的工作电压和1.9 V的内核电压;FPGA的内核电压由ASM1117-1.2稳压得到。DSP复位芯片采用MAX809S,晶振采用30 MHz的有源晶振;FPGA用50 MHz的有源晶振。配置芯片选用EPCS1,容量为1M bits,用AS模式烧写。

  对外的RS422接口采用MAX3491协议芯片实现。MAX3491将FPGA的TTL电平转换成422差分电平,和弹上设备通信。由于FPGA引脚的驱动能力弱,因此对外的8位DIO采用74LN244芯片,增强驱动能力。

  3 软件设计

  DSP通过XINTF接口与FPGA通信。DSP将地址传递给FPGA,FPGA经过地址译码操作对应外部设备数据。

  3.1 FPGA软件设计

  FPGA主要功能是完成5路RS422串口数据的同时收发操作开关量的输入和输出,并和DSP交换数据。FPGA可使用进程语句实现并行运行,对各外设的操作都是实时并行的,相互之间没有影响。

  3.1.1 串口通信

  先将时钟通过分频得到8倍于波特率的串口时钟。数据接收时,根据串口通信的特点,首先判断低电平起始位。检测到起始位之后,按照严格地每八个时钟一位的关系采集一个字节8位的电平。由于噪声的存在可能会导致采集到的瞬时电平有误,此时采用表决机制,即在8个时钟期间采样3次,以其中2次相同的电平为准。实验证明,表决机制能极大排除随即噪声干扰,降低串行通信的误码率。接收到数据之后存储在对应的双端口RAM中,等待DSP读取。串口数据接受流程如图2所示。

  

 

  数据发送时先从双端口RAM中读出需要发送的数据,按照串口时钟,先发送起始位(低电平),再依次通过移位寄存器将8位的数据转换成串行的‘0’/‘1’发出。主要由下面语句实现:

  txd<=txd_buf(0);

  txd_buf(6 downto 0)<=txd_buf(7 downto 1);

  其中txd是要发送的1位逻辑电平,txd_buf中存储着将要发送的数据。发送流程如图3所示。

  

fpga相关文章:fpga是什么


晶振相关文章:晶振原理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭