基于DSP和FPGA的导航计算机的制作方法

文档序号:17065634发布日期:2019-03-08 22:53阅读:234来源:国知局
基于DSP和FPGA的导航计算机的制作方法

本发明实施例涉及导航技术领域,尤其涉及一种基于dsp和fpga的导航计算机。



背景技术:

捷联惯性导航系统的核心是嵌入式导航计算机。嵌入式导航计算机的主要功能包括三部分:数据采集、捷联惯导运算及导航结果输出。因此嵌入式导航计算机的设计优化有利于提高捷联惯性导航系统实时性、可靠性等性能,对于提高捷联惯性导航系统的导航精度有着积极意义。

目前导航计算机采用的嵌入式处理器多为arm、mcu和dsp。单处理器结构的导航计算机具有结构简单的特点,但同一个cpu需要进行数据采集、转化、导航解算和通信接口管理,无法满足高精度、高实时性及多通信接口的要求;双处理器体系的导航计算机具有高精度、高实时性的特点,但两个cpu之间的通信主要采用双口ram的硬件结构设计,这种设计结构复杂,且可能导致两cpu在存取双口ram的数据时发生冲突,可靠性比较难保证。



技术实现要素:

针对现有技术存在的问题,本发明实施例提供一种基于dsp和fpga的导航计算机。

一种基于dsp和fpga的导航计算机包括:

现场可编程门阵列和数字信号处理器;所述现场可编程门阵列与所述数字信号处理器之间通过串行外设接口连接;

所述现场可编程门阵列,用于接收采集数据,并将所述采集数据进行预处理后,发送至所述数字信号处理器;

所述数字信号处理器,用于对预处理后的所述采集数据进行解算,获得导航解算结果。

本发明实施例提供的基于dsp和fpga的导航计算机,结构简单,将dsp强大的数字运算能力和fpga灵活丰富的资源使用能力相结合,仅有dsp一个cpu,由dsp专门进行捷联惯性导航解算,保证了导航解算的高精度和高实时性,但由fpga辅助dsp实现外围数据采集、转化和通信接口的扩展、控制管理,实现了双cpu体系结构的功能,并且dsp和fpga之间通过spi进行通信,避免了双cpu体系结构存在的存取双口ram的数据时会发生冲突的可能,能提高导航计算机内部通信的效率和可靠性,从而能提高导航计算机运行的可靠性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为根据本发明实施例提供的基于dsp和fpga的导航计算机的结构示意图;

图2为根据本发明实施例提供的基于dsp和fpga的导航计算机的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了克服现有技术的上述问题,本发明实施例提供一种基于数字信号处理器(digitalsignalprocessor,简称dsp)和现场可编程门阵列(field-programmablegatearray,简称fpga)的导航计算机,其发明构思是,由dsp负责捷联惯性导航解算,由fpga实现外围数据采集、转化和通信接口的扩展、控制管理;fpga和dsp之间通过串行外设接口(serialperipheralinterface,简称spi)连接,二者之间通过全双工的串行通信协议spi进行通信,在具有导航解算的高精度和高实时性的前提下,可提高导航计算机内部通信的效率和可靠性。

图1为根据本发明实施例提供的基于dsp和fpga的导航计算机的结构示意图。如图1所示,一种基于dsp和fpga的导航计算机包括现场可编程门阵列101和数字信号处理器102;现场可编程门阵列101与数字信号处理器102之间通过串行外设接口连接;现场可编程门阵列101,用于接收采集数据,并将采集数据进行预处理后,发送至数字信号处理器102;数字信号处理器102,用于对预处理后的采集数据进行解算,获得导航解算结果。

具体地,现场可编程门阵列101用于接收采集数据。

fpga器件本身资源可以配置,可以集中实现原本需要很多逻辑功能的分立元器件才能完成的功能。

采集数据,指陀螺仪和加速度计采集的数据。陀螺仪和加速度计均为惯性测量装置。陀螺仪采集的数据至少包括角速度。加速度计采集的数据至少包括加速度。

对于陀螺仪和加速度计的类型,本发明实施例不作具体限制。例如,陀螺仪可以为光纤陀螺。

dsp并不能直接处理由陀螺仪和加速度计采集的采集数据,需要对采集数据进行预处理,转化为dsp能直接处理的形式。为了保证数字信号处理器102的解算能力,使数字信号处理器102专注于解算,解放dsp的cpu,现场可编程门阵列101接收采集数据后,由现场可编程门阵列101对采集数据进行预处理。现场可编程门阵列101对采集数据进行预处理,将采集数据转化为dsp能直接处理的形式之后,现场可编程门阵列101通过spi将预处理后的采集数据发送至数字信号处理器102。

spi是一种高速的、全双工、同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为pcb的布局上节省空间,提供方便。

spi的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(单向传输时)。也是所有基于spi的设备共有的,它们是sdi(数据输入)、sdo(数据输出)、sclk(时钟)、cs(片选)。

现场可编程门阵列101与数字信号处理器102之间通过spi进行通信,避免了基于双口ram的通信可能存在的时序冲突,大大提高了导航计算机内部通信的效率和可靠性。

数字信号处理器102接收经现场可编程门阵列101预处理的采集数据之后,对预处理后的采集数据进行捷联惯性导航解算,通过解算获得导航解算结果。

导航解算结果包括位置、姿态信息。根据导航解算结果,可以对航空器、航天器、无人机、舰船、车辆等进行导航和对武器进行制导。

本发明实施例提供的基于dsp和fpga的导航计算机,结构简单,将dsp强大的数字运算能力和fpga灵活丰富的资源使用能力相结合,仅有dsp一个cpu,由dsp专门进行捷联惯性导航解算,保证了导航解算的高精度和高实时性,但由fpga辅助dsp实现外围数据采集、转化和通信接口的扩展、控制管理,实现了双cpu体系结构的功能,并且dsp和fpga之间通过spi进行通信,避免了双cpu体系结构存在的存取双口ram的数据时会发生冲突的可能,能提高导航计算机内部通信的效率和可靠性,从而能提高导航计算机运行的可靠性。

图2为根据本发明实施例提供的基于dsp和fpga的导航计算机的结构示意图。如图2所示,基于上述各实施例的内容,导航计算机还包括:第一闪存103;第一闪存103与数字信号处理器102连接,用于扩展数字信号处理器102的内部存储。

具体地,为了保证数字信号处理器102的解算能力,导航计算机还包括与数字信号处理器102连接的第一闪存103。第一flash即第一闪存103。

闪存,即flash存储芯片,全称flasheeprommemory。闪存结合了rom和ram的长处,不仅具备电子可擦除可编程(eeprom)的性能,还可以快速读取数据(nvram的优势),使数据不会因为断电而丢失。

为了保证数字信号处理器102的解算能力,使数字信号处理器102的绝大部分处理能力用于捷联惯性导航解算,可以通过第一闪存103扩展数字信号处理器102的内部存储,将解算程序存储于第一闪存103上;数字信号处理器102进行解算时,读取第一闪存103上存储的解算程序并运行即可。

本发明实施例通过第一闪存与数字信号处理器连接,扩展数字信号处理器的内部存储,能将数字信号处理器尽量多的处理能力用于捷联惯性导航解算,能提高解算的精度和实时性。

如图2所示,基于上述各实施例的内容,导航计算机还包括:静态随机存取存储器104;静态随机存取存储器104与数字信号处理器102连接,用于扩展数字信号处理器102的内部存储。

具体地,为了保证数字信号处理器102的解算能力,导航计算机还包括与数字信号处理器102连接的静态随机存取存储器104。

静态随机存取存储器(staticrandomaccessmemory,简称sram),是随机存取存储器的一种。所谓的“静态”,是指这种存储器只要保持通电,里面储存的数据就可以恒常保持。sram不需要刷新电路即能保存它内部存储的数据。而dram(dynamicrandomaccessmemory,动态随机存取存储器)每隔一段时间要刷新充电一次,否则内部的数据即会消失,因此sram具有较高的性能。

为了保证数字信号处理器102的解算能力,使数字信号处理器102的绝大部分处理能力用于捷联惯性导航解算,可以通过静态随机存取存储器104扩展数字信号处理器102的内部存储,将数据存储于静态随机存取存储器104上。存储于静态随机存取存储器104上的数据可以是解算的原始数据、中间数据和最终结果中的至少一种。

本发明实施例通过静态随机存取存储器与数字信号处理器连接,扩展数字信号处理器的内部存储,能将数字信号处理器尽量多的处理能力用于捷联惯性导航解算,能提高解算的精度和实时性。

如图2所示,基于上述各实施例的内容,导航计算机还包括:带电可擦写可编程读写存储器105;带电可擦写可编程读写存储器105与数字信号处理器102连接,用于扩展数字信号处理器102的内部存储。

具体地,为了保证数字信号处理器102的解算能力,导航计算机还包括与数字信号处理器102连接的带电可擦写可编程读写存储器105。

带电可擦可编程只读存储器(electricallyerasableprogrammablereadonlymemory,简称eeprom或e2prom),是一种掉电后数据不丢失的存储芯片。eeprom可通过高于普通电压的作用来擦除和重编程(重写),与eprom不同,eeprom不需从计算机中取出即可修改。eeprom,一般用于即插即用。

为了保证数字信号处理器102的解算能力,使数字信号处理器102的绝大部分处理能力用于捷联惯性导航解算,可以通过带电可擦写可编程读写存储器105扩展数字信号处理器102的内部存储,将解算程序存储于带电可擦写可编程读写存储器105上;数字信号处理器102进行解算时,读取带电可擦写可编程读写存储器105上存储的解算程序并运行即可。

本发明实施例通过带电可擦写可编程读写存储器与数字信号处理器连接,扩展数字信号处理器的内部存储,能将数字信号处理器尽量多的处理能力用于捷联惯性导航解算,能提高解算的精度和实时性。

如图2所示,基于上述各实施例的内容,导航计算机还包括:第二闪存106;第二闪存106与现场可编程门阵列101连接,用于存储现场可编程门阵列101运行的程序。

具体地,导航计算机还包括与现场可编程门阵列101连接的第二闪存106。第二flash即第二闪存106。

由于现场可编程门阵列101掉电后,现场可编程门阵列101上存储的内容都会丢失,为了避免重复对现场可编程门阵列101进行编程,可以将现场可编程门阵列101运行的程序存储与第二闪存106上。现场可编程门阵列101每次上电后,读取第二闪存106上存储的解算程序并运行即可。

由于fpga器件本身资源的配置能力非常强大,可以将采集数据预处理、脉冲采样计数、串行外设接口等功能通过编写好的程序实现,将上述编写好的程序存储于第二闪存106上,现场可编程门阵列101读取上述编写好的程序并运行,即可实现采集数据预处理、脉冲采样计数、串行外设接口等功能,因此,可以仅挂外一个flash芯片,而不需要外挂其他芯片。

本发明实施例通过与现场可编程门阵列连接的第二闪存,存储现场可编程门阵列运行的程序,能避免对现场可编程门阵列的重复编程,能提高导航计算机的运行效率,并能减少冗余的片上外设,使得导航计算机的体积更小,应能有效降低功耗,提高导航计算机运行的稳定性。

基于上述各实施例的内容,导航计算机还包括:模数转换芯片107;模数转换芯片107与现场可编程门阵列101连接,用于将采集数据经过模数转换后发送至现场可编程门阵列101。

可以理解的是,根据陀螺仪和加速度计的不同,采集数据的形式可以是模拟信号、数字信号或脉冲信号。例如,光纤陀螺输出的是脉冲信号。

对于数字信号或脉冲信号形式的数据,现场可编程门阵列101可以直接接收,并进行预处理。

对于脉冲信号形式的数据,现场可编程门阵列101可以对其进行脉冲采样计数。可以理解的是,由于采集数据的来源可能是一路或多路,现场可编程门阵列的输入脉冲可以是一路或多路,现场可编程门阵列101可以对上述一路或多路脉冲进行采样计数。

对于模拟信号形式的采集数据,可以通过与现场可编程门阵列101连接的模数转换(a/d)芯片107,将模拟信号形式的采集数据进行模数转换后,发送至现场可编程门阵列101,现场可编程门阵列101接收模数转换后的采集数据并进行预处理。

可以理解的是,由于采集数据的来源可能是一路或多路,模数转换芯片107可以是一个或多个,现场可编程门阵列101可以对上述一路或多路a/d数据进行采集和预处理。

本发明实施例通过模数转换芯片与现场可编程门阵列连接,将采集数据经过模数转换后发送至现场可编程门阵列,由专门的模数转换芯片对采集数据进行模数转换,能提高模数转换的效率,能使得现场可编程门阵列尽量多的处理能力用于实现外围数据采集、转化和通信接口的扩展、控制管理,能提高导航计算机运行的稳定性。

基于上述各实施例的内容,数字信号处理器102,还用于将导航解算结果通过串行通信接口协议或通用异步收发传输器协议进行输出。

具体地,可以利用数字信号处理器102的内置通信模块,将导航解算结果通过通信模块进行输出。

数字信号处理器102内部的通信模块输出导航解算结果时,可以采用串行通信接口协议或通用异步收发传输器协议进行输出。

串行通信接口(serialcommunicationinterface,简称sci),是相对于并行通信的,是串行通信技术的一种总称。sci协议用于串行通信,如rs422、rs485、rs232等。在sci中,通信协议体现在sci的数据格式上。通常将sci的数据格式称之为可编程的数据格式,原因在于可以通过sci的通信控制寄存器(serialcommunicationinterfacecommunicationcontrolregister,简称sciccr)来进行设置,规定通信过程中所使用的数据格式。

串行通信接口协议,可以通过芯片实现。

通用异步收发传输器(universalasynchronousreceiver/transmitter,简称uart),是一种异步收发传输器。uart是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,uart常用于主机与辅助设备之间的通信。

通用异步收发传输器协议,可以通过芯片实现。

本发明实施例通过数字信号处理器输出导航解算结果,能提高导航计算机与上位机之间的通信效率。

基于上述各实施例的内容,导航计算机还包括:电平转换芯片108;电平转换芯片108与数字信号处理器102连接,用于将导航解算结果进行电平转换后输出。

具体地,由于上位机的输入信号的电平范围不同,数字信号处理器102输出导航解算结果时,将导航解算结果通过sci协议或uart协议,发送至与的电平转换芯片108。

电平转换芯片108接收导航解算结果后,对导航解算结果进行ttl电平和cmos电平之间的转换,并将进行电平转换后的导航解算结果发送至上位机。

可以理解的是,导航计算机的输出可以是一路或多路,因此,电平转换芯片108可以为一个或多个。

本发明实施例通过与数字信号处理器连接的电平转换芯片对导航解算结果进行电平转换后输出,能适应不同上位机的输入信号电平范围,能提高导航计算机的使用范围。

基于上述各实施例的内容,数字信号处理器102,还用于将导航解算结果发送至现场可编程门阵列101;相应地,现场可编程门阵列101,还用于输出导航解算结果。

具体地,为了保证数字信号处理器102的处理能力,可以不通过数字信号处理器102输出导航解算结果,而通过现场可编程门阵列101输出导航解算结果。

数字信号处理器102通过解算获得导航解算结果后,将导航解算结果通过spi发送至现场可编程门阵列101。

现场可编程门阵列101接收导航解算结果后,将导航解算结果输出至上位机。

本发明实施例通过现场可编程门阵列接收导航解算结果并输出,减少了与dsp通信的外围设备,让dsp免于管理通信接口,能将数字信号处理器尽量多的处理能力用于捷联惯性导航解算,能提高解算的精度和实时性。

基于上述各实施例的内容,导航计算机还包括:数模转换芯片109;数模转换芯片109与现场可编程门阵列101连接,用于将导航解算结果进行数模转换后输出。

具体地,根据上位机的不同,导航计算机需要输出的导航解算结果的形式可以是模拟信号。

当需要输出模拟信号形式的导航解算结果时,可以通过与现场可编程门阵列101连接的数模转换(d/a)芯片109,将模拟信号形式的导航解算结果进行数模转换后输出。

可以理解的是,导航计算机的输出可以是一路或多路,因此,数模转换芯片109可以是一个或多个,实现多路d/a输出。

本发明实施例通过数模转换芯片与现场可编程门阵列连接,将导航解算结果经过数模转换后输出,由专门的数模转换芯片对导航解算结果进行数模转换,能提高模数转换的效率,能使得现场可编程门阵列尽量多的处理能力用于实现外围数据采集、转化和通信接口的扩展、控制管理,能提高导航计算机运行的稳定性。

以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1