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

发布者:玄幻剑客最新更新时间:2014-07-19 来源: 互联网关键字:数字式飞控计算机  双端口RAM  数据同步 手机看文章 扫描二维码
随时随地手机看文章

  飞控计算机是现代导弹制导与控制系统的核心装置,其性能的好坏直接关系到精确制导的精度和杀伤目标的概率。近年来舵机、导引头、惯导等弹载设备日益向着数字化方向发展,因此设计一种能兼容多数字式设备的通用飞控计算机平台尤为重要。传统的单处理器核心飞控计算机难以在多通道异步数据收发的同时保证数据处理速度,难以满足现代导弹的要求。本文提出了一种基于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部分)。

  

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

 

  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所示。

  

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

 

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

  txd<=txd_buf(0);

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

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

  

一种基于FPGA+DSP的通用飞控计算机平台设计
  将按照上述流程设计的程序在FPGA中进行测试。将FPGA串口和PC机连接,采用115 200波特率连续工作3分钟,收发均无错误字节。

  3.1.2 双RAM缓冲机制

  由于串口外设的波特率是115 200,属于低速外设,因此在串口数据和DSP之间采用作为缓冲区。由于此FPGA上自带片上RAM,因此可以利用开发环境自带的IP核生成片上,不用额外增加片外RAM器件(图1)。的实体定义和读写时序:

  

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

 

  

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

 

  将每个RAM中的最后一个字节作为反映RAM存储状态的状态字。RAM的状态字代表的含义如下:

  

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

 

  bit0:1-串口接收到新数据帧 0-无新数据帧;

  bit1:1-数据已经被读取 0-数据未被读取;

  惯导和导引头向弹载机每6 ms传输一帧数据,将数据存储到双端口RAM中,同时将bit0置‘1’,bit1清零,即RAM状态为“新数据帧未被读取”。由于惯导和导引头的数据不同步,因此DSP每1ms就查询一次RAM的状态字。若接收到新的数据帧(bit0=1),则读取RAM数据,并将“数据被读取”位置1(bit1=1)。这样,惯导和导引头给DSP发送的数据延迟不超过1 ms,可以认为惯导和导引头的数据是实时同步的。

  在串口接收数据期间,如果串口和DSP在同一时间操作RAM,可能导致DSP读取到帧错乱的数据。为了保证数据帧的完整,不使两者同时读取RAM,采用双RAM缓冲机制,即为每个串口配置2个双端口RAM的作为缓冲,如图5所示。串口数据接收程序通过查询RAMa和RAMb的状态字,若bit1=1,则将接收到的数据帧存储到对应的RAM中,完成之后将bit0置1,bit1清0,这个周期为6 ms。与此同时,DSP每1 ms查询一次RAMa和RAMb,若bit0为1,则读取对应RAM中的数据帧,同时将bit0清0。bit1置1。串口数据发送过程与接收类似,数据传输方向相反。

  

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

 

  采用双RAM缓冲机制,使得串口和DSP不在同一时间访问同一RAM区,避免了错帧和丢帧,同时保证了数据传输的实时性。

  3.2 DSP软件设计

  DSP软件设计采用模块化设计方式,分为应用层和底层软件两部分。应用层软件主要实现飞控流程和飞控算法;底层软件主要实现数据格式的转换,以便通过DSP总线和FPGA进行数据交换。

  3.2.1 应用层软件设计

  外部的惯导和导引头6 ms产生一次数据,DSP开启1ms的定时器中断,在中断中每1 ms查询一次双端口RAM的状态字,判断是否有新数据产生,这样采集的数据延迟不会超过1 ms。飞控解算的周期为6 ms,遥测数据发送的周期为12 ms,在定时器中断程序中完成飞控解算和遥测数据发送。

  中断服务程序每1 ms运行一次,每次首先查询导引头和惯导有没有更新数据,再读取新数据存储在全局结构体里。每6ms用全局结构体里得到的新数据解算一次飞控指令,得到舵机的输出角度,输出舵控指令,控制舵机。流程如图6所示。

  

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

 

  3.2.2 底层软件设计

  DSP底层软件主要完成外部数据交换和数据格式的转换。DSP通过XINTF产生读写时序(图2图3所示时序),FPGA也设计与之相匹配的时序完成两者之间的数据交换。

  DSP应用层软件使用的是浮点数,而DSP和FPGA之间只能传递二进制数,因此需要按照IEEE标准进行浮点数和二进制数之间的转换。根据IEEE标准,可以用32位,即8个字节表示一个浮点数。如果将代表浮点数的4个字节组合成32位的整型数inte32,进行强制类型转换皆可以得到浮点数,转换函数如下:

  

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

 

  将浮点数转换成整型数的方法与此类似。底层软件按照上述方法实现数据转换,供应用层调用。

  4 系统验证

  弹载机实物设汁制作完成之后可以利用半实物仿真平台进行测试,该半实物仿真平台由上位机、惯导、舵机和三轴转台组成。如图上位机的作用是模拟导弹动力学模型和导引头信息,并控制三轴转台运动模拟导弹姿态。导弹的运动信息由惯导测量之后发送给飞控计算机,飞控计算机根据运动信息解算出舵机控制量控制舵机转动,同时将遥测数据发送给上位机。上位机采集舵机反馈的实际角度,将其代入导弹动力学模型,计算导弹姿态,控制三轴转台,这样就形成了完整的半实物仿真回路。

  

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

 

  仿真实验中,首先不接入飞控计算机,由仿真计算机中的控制系统数学模型直接实现控制算法,所得导弹运动轨迹如图8所示;将飞控计算机接入仿真回路,由飞控计算机实现制导控制算法所得运动轨迹如图9所示。

  由图8和图9的对比可以看出,飞控计算机接入之后飞控系统工作正常,导弹飞行轨迹基本一致,飞控计算机控制效果理想。

  5 结论

  文中提出了一种基于DSP+FPGA的飞控计算机设计方法,在半实物仿真系统中验证了其性能,满足设计要求。解决了在多数字弹上设备存在情况下的数据帧实时同步问题。由于FPGA可以通过编程实现各种时序,所以此飞控计算机可以扩展为除了RS422外部接口外的其他多种数字设备接口,满足模块化、通用化的实际应用需求。

关键字:数字式飞控计算机  双端口RAM  数据同步 引用地址:一种基于FPGA+DSP的通用飞控计算机平台设计

上一篇:基于DSP28335的飞控计算机DAC扩展电路设计
下一篇:一种基于DSP的MIMO系统空时编码盲识别方法

推荐阅读最新更新时间:2024-05-02 23:05

多通道同步数据采集及压缩系统的设计方案
   1 引言   现代遥测系统中为了尽可能少地占用传输时间和存储空间,在有限的信道容量内传输更多的有用信息,采用数据压缩技术,有助于降低功率和带宽要求,改善通信效率。这里提出一种基于DSP与CPLD的多通道同步数据采集与压缩系统设计方案,该系统应用于遥测多路噪声数据,其中多通道同步数据采集可实现同时测量信号。并进行相关分析后,得到信号间的相关信息,而DSP内嵌的数据压缩算法实现其数据压缩的功能。    2 系统的硬件结构   2.1 系统设计思路   图1为系统设计的硬件框图。基于CPLD和DSP的多通道同步数据采集及压缩系统主要由数据采集模块、数据处理模块以及数据接口模块3部分构成。前端由传感器输人的模拟信号经信号调理
[嵌入式]
多通道<font color='red'>同步</font><font color='red'>数据</font>采集及压缩系统的设计方案
基于嵌入式系统的隔离硬件设计
1 引言 Internet的迅猛发展使信息共享的程度进一步提高,因而信息安全的问题也日益突出,这时唯一的解决方法只能是主动解决信息安全和网络安全问题。目前国内外采用最多的、最普遍的网络安全措施是使用防火墙类软件,但是防火墙类软件本身存在两大先天缺陷:其一是防火墙隔离的网络还是基于 TCP/IP协议来进行信息交换的,而TCP/IP 协议存在漏洞,它无法防止协议本身的漏洞;其二是防火墙的运行离不开操作系统,操作系统和防火墙软件都存在漏洞,因而不能阻止由这些漏洞而引起的网络安全问题 。因此,开发相应的应用系统是必要的。本文在对已有的防火墙技术及物理隔离技术进行分析的基础上,提出了带缓冲区的双通道实时开关技术,通过该技术所设计出的网络隔
[单片机]
基于嵌入式系统的隔离硬件设计
高科技智能牙刷 蓝牙纽带实现数据同步
    蓝牙?智能?没错,虽然听起来有些过头了,但其实它的用途非常实际。     现在的时代是智能的时代,智能手机,智能电视,智能手表,现在连牙刷也与时俱进的智能了。     没有计时器的帮助,如何保证刷牙的时间达到推荐的2分钟?来自智能牙刷Beam Brush的幕后人员表示:人们平均的刷牙时间仅有46秒,但是一个简单的定时器,就能让50%以上的人们达到2分钟的推荐时间。该团队的蓝牙牙刷,在1年前的CES上首次亮相,并在6月得到了FDA的批准,上周正式上市的价格为49.99美元。除了一个跟踪刷牙的频率和时间的传感器,它还有一个可以播放2分钟音乐的定时器。       通过牙刷柄上的一个按钮,用户还可以将数据同步到
[医疗电子]
利用RTSI总线实现运动控制和数据采集之间的同步
  1 引言   许多测试系统要求在连续运动的同时能实时进行数据采集。如果测试过程不连续,或者测试位置在前而采集在后,二者之间不能同步,将不可避免地产生误差。为了提高测量精度,运动控制和数据采集必须实现同步。目前,美国NI公司提供的PCI总线E系列采集卡“》数据采集卡和运动控制卡都嵌入了RTSI(Real- Time System Integration)总线,它可以满足需要精确同步和实时数据采集处理的测试系统的要求。本文主要介绍如何利用RTSI总线编程实现运动控制和数据采集之间的同步。   2 RTSI总线   RISI总线是实时系统集成总线,它是一种专用高速数字总线,专门提供NI产品(包括图像采集和数据采集产品)之
[嵌入式]
IDT7007高速双端口RAM及其应用
    摘要: IDT7007是IDT公司推出的异步高速双端口RAM,利用它可以实现两个CPU之间的数据通信。文章介绍了IDT7007静态RAM芯片的结构、特点、功能和工作原理,并给出了典型的应用电路。     关键词: 中断 仲裁 旗语通讯 IDT7007 双端口RAM 1 概述 IDT7007是IDT公司推出的32k×8b异步高速双端口静态RAM。它有两磁疗独立的地址线、数据线和控制信号线,允许两个控制器件中的数据通过共同连接的存储器来进行通信,这两个控制器可以是CPU和磁盘控制器,也可以是两个CPU。该双端口RAM允许两个控制器同时读取任何存储单元(包括同时读同一地址单元),但不允许同时写或一读一
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved