基于dsp和fpga的嵌入式导航信息处理器的制作方法

文档序号:6181583阅读:488来源:国知局
专利名称:基于dsp和fpga的嵌入式导航信息处理器的制作方法
技术领域
本发明涉及导航技术领域,特别是涉及ー种基于DSP和FPGA的嵌入式导航信息处理器。
背景技术
在SINS/GNSS (Strapdown Inertial Navigation System/Global NavigationSatellite System,捷联式惯性导航系统/全球卫星导航系统)组合导航系统中,导航信息处理器需要完成大量的实时数据采集、处理与运算工作,包括完成MU数据采集、预处理、GNSS数据预处理、时钟信号同步、惯性系统初始对准、姿态实时更新计算、载体运动參数计算、组合滤波和误差在线校正等工作,同时还需要完成与外部各种传感器及应用对象设备之间的数据通讯任务,因此导航信息处理器是SINS/GNSS组合导航系统的关键技木。近年来随着导航设备和系统的小型化,SINS/GNSS系统正朝着体积更小、重量更轻、功耗更低的方向发展。现在的技术通常只是强调某一方面,无法满足现代导航系统工程应用的需要。所以,新一代的导航信息处理器应具备体积小、功耗低、实时性高、运算速度快、通讯功能强的特点。

发明内容
发明目的:针对SINS/GNSS组合导航系统小型化、低功耗、高精度的需求,本发明提出一种基于 DSP(Digital Signal Processing,数字信号处理)和 FPGA (Field —Programmable Gate Array,现场可编程门阵列)的嵌入式导航信息处理器,这种嵌入式导航信息处理器能够实时采集惯性测量组件(頂U,Inertial Measurement Unit)和GNSS的输入信号,并经过导航解算后,将输出的导航信息通过双冗余以太网络接ロ实时地发送给其他应用设备。技术方案:一种基于DSP和FPGA的嵌入式导航信息处理器,包括数据采集模块,逻辑控制管理模块、导航数据处理模块、导航数据输出模块和FLASH程序固化模块;其中,数据采集模块包括电平转换芯片和光电耦合器,用于采集MU输出的数据,接收GNSS接收机输出的串ロ报文数据,接收GNSS的IPPS (one pulse per second,秒脉冲)脉冲信号作为同步模块的触发信号,接收上位机发送的固化FLASH串口数据;逻辑控制管理模块包括FPGA、FPGA配置芯片,用于控制和管理基于DSP和FPGA的嵌入式导航信息处理器的外围逻辑电路,实现对外部GNSS接收机IPPS信号的时间同步;导航数据处理模块包括DSP、FLASH、SDRAM (同步动态随机存储器),用于提供数据处理的运算平台,满足SINS初始对准算法、SINS解算算法,以及SINS/GNSS组合导航算法的运行需求以及实现SINS输入/输出数据的高速交換功能;导航数据处理模块的DSP通过EMIF与DSP外部的FLASH、SDRAM以及FPGA芯片连接;导航数据输出模块包括FPGA、专用以太网ロ接ロ芯片,用于将导航解算后得出的导航信息通过双冗余以太网络接ロ实时地发送给其他应用设备;
FLASH程序固化模块包括串ロ通信模块以及DSP中的烧写FLASH模块,用于通过专门设计的FLASH固化程序,获取FLASH程序代码;FLASH程序固化模块通过ロ通信模块与外部设备连接。FLASH程序固化模块的实现方法是:当数据采集模块接收到有效的固化FLASH信号,DSP擦除FLSAH,待擦除完成后,给上位机发送FLASH擦除完毕信号;上位机接收到所述FLASH擦除完毕信号后,向导航信息处理板发送有效的FLSAH固化数据文件,DSP烧写FLASH模块将收到的数据烧写到FLASH。数据采集模块通过UART模块与逻辑控制管理模块连接;逻辑控制管理模块通过FIFO模块与导航数据处理模块连接;逻辑控制管理模块通过以太网接ロ芯片与导航数据输出模块连接。本发明的工作方法是:数据采集模块采集和接收捷联惯性导航系统及GNSS输出的信号,然后通过逻辑控制管理模块进行地址译码和时间同步,输入到DSP的外围SDRAM中;随后通过导航数据处理模块进行捷联解算及相关的滤波算法,得出最終的导航信息数据,并通过导航数据输出模块发送至其他应用设备。本发明采用上述技术方案,具有以下有益效果:1)体积小,重量轻,成本低,功耗小,适用于对于体积、成本、功耗有特殊要求的导航对象,如无人水下航行器、无人机等;2)使用DSP作为导航信息处理器,数据处理能力和实时性强,为后期软件开发提供了较好的平台;3)使用FPGA技术实现常用接ロ、控制电路功能,相对于传统电路和芯片,具有调整灵活、功能扩展方便的优势,可移植性好,易于升级;4)导航数据输出模块采用双冗余网络接ロ设计,具备端ロ的自动切換功能,可靠性高;5) FLASH固化模块通过DSP串ロ直接将程序传入DSP,然后DSP自动完成FLASH程序的擦除和固化写入,大大提高了 DSP的调试、开发效率。


图1为本发明实施例的硬件框架图;图2为本发明实施例的固化FLASH程序流程图;图3为本发明实施例的工作方法流程图。
具体实施例方式下面结合具体实施例,进ー步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域普通技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。如图1所示,基于DSP和FPGA的嵌入式导航信息处理器包括数据采集模块1、逻辑控制管理模块2、导航数据处理模块3、导航数据输出模块4和FLASH程序固化模块;其中,数据采集模块I包括电平转换芯片和光电耦合器;逻辑控制管理模块2包括FPGA、FPGA配置芯片;导航数据处理模块3包括DSP、FLASH、SDRAM,导航数据处理模块3的DSP通过EMIF与DSP外部的FLASH、SDRAM以及FPGA连接;导航数据输出模块4包括FPGA、专用以太网ロ接ロ芯片;FLASH程序固化模块包括串ロ通信模块以及DSP中的烧写FLASH模块,FLASH程序固化模块通过串ロ通信模块与外部设备连接。
I)作为优选的,数据采集模块I电平转换芯片可以选择RS323或RS422。数据采集模块I的具体实施方式
是:1MU数字信号通过RS422标准的通用异步串ロ输入,并通过MAX3490电平转换芯片转换为TTL电平形式的IMU数字信号。GNSS数字信号通过RS232标准的通用异步串ロ输入,并通过MAX3232电平转换芯片转换为TTL电平形式的GNSS数字信号。IPPS信号通过光电耦合器引入到时钟同步模块中。FLASH固化程序文件通过RS232标准的通用异步串ロ输入,并通过MAX3232电平转换芯片转换为TTL电平形式的数字信号输入到导航信息处理器中。2)逻辑管理模块的作用是:对DSP地址进行译码及相应的逻辑管理。在导航信息处理器中有三路串行通信接ロ:其中一路RS-422异步串行接ロ接收MU输出的数字信号,一路RS-232异步串行接ロ接收GNSS数字信号,一路RS-232异步串行ロ作为接受串ロ固化FLASH程序的数字信号。另外还有两路IOM网络接ロ作为导航信息处理器与上位机通信接ロ。三路串行通信接口和两路网络接ロ的读写地址被映射到DSP的CE3空间,在FPGA中通过对DSP高位地址线的译码产生五个不同的片选信号,能使各个接ロ芯片满足DSP对不同接ロ的读写要求。
·
作为优选的,逻辑控制管理模块的实施方式是:采用FPGA实现译码器模块、同步模块、通用异步接收/发送器模块(Universal Asynchronous Receiver/Transmitter, UART)、异步 FIFO (First In First Out, FIFO)存储器模块、网 ロ芯片驱动模块;译码器模块、同步模块、通用异步接收/发送器模块、网ロ芯片驱动模块都由硬件描述语言(Verilog HDL)实现,异步FIFO存储模块则调用Quartus II软件中的IP软核实现;异步FIFO作为UART的数据缓冲器,它具有两组数据线而无地址线,可在其一端写操作而在另一端进行读操作。FPGA配置芯片用来存贮FPGA的信息;在异步串行通信发送模块中,发送采样频率即为波特率设定值,采用FPGA外接36.864MHz有源晶振来分频产生,可以得到常用波特率的整数分频值。由Verilog HDL语言描述后生成的可视化发送模块elk为外部时钟输入端,即36.864MHz的输入端,clkout为分频后的时钟输出端,可以用来检测分频时钟的频率和稳定性,datain[7:0]为待发送的单字节数据,WR为DSP写信号输入端,rst为外部输入到FPGA的复位信号,TXD为发送串行数据位的输出端,TI为发送完成中断信号的输出端。參数设置:reSet信号为发送模块的总复位信号,datainbuf为发送串行数据缓冲寄存器,TXD_reg为发送串行数据位的寄存器,bincnt为发送串行数据位的计数器,WR.ctr为写入数据的标志位。发送模块在输入时钟elk的上升沿到来时对各状态位进行检测。发送模块的实施方式是:当WR=I吋,DSP向发送模块数据输入端写数据,将待发送数据datain[7:0]加上起始位“ 1 ”和停止位“0”缓存到datainbuf [9:0]中;在一下个elk时钟上升沿到来后,WR变为0,检测WR_ctr是否为I或者TI是否为0,如果TI为0,那么程序将WR_ctr清零,表示发送模块正在将串行数据通过TXD输出端发送出去,如果WR_ctr为1,表示程序准备将串行数据最低位发送出去;在设定波特率(如115200b/s)时钟的每个上升沿到来后,判断datainbuf 中的串行数据是否经过向右移位全部发送出去(向右移位表示先发送低位数据,后发送高位数据),如果没有发送完,即bincnt小于10,将datainbuf中的数据右移bincnt位后,把最低位写到发送寄存器TXD_reg中,等待发送,并将bincnt加1,TI清零;如果发送完成,则将bincnt置为0,TI和TXD_reg都复位为I。至此,一次发送循环完成,等待下一次DSP写信号WR有效后,将datain中的数据发送出去;同步模块的实施方式是:同步IMU数字信号与GNSS数字信号,IPPS信号和时钟信号作为同步模块的输入信号,当第一帧IPPS信号有效时,同步模块产生时钟输出信号发送到IMU,实现GNSS与IMU同步;3)作为优选,导航数据处理模块中DSP为TMS320C6713B,TMS320C6713B是TI公司的C6000系列新一代浮点DSP芯片;扩展外部ROM使用SST公司的小扇区FLASH芯片SST39VF800A,用于保存系统程序代码。因不同容量的FLASH的封装和引脚是兼容的,电路设计时以最大容量1M-16bit的FLASH(AM29LV160B)进行设计,也可以根据不同的需求来选配相应容量的FLASH,导航信息处理器上的实际配置为512K-16bit的SST39VF800A。FLASH被映射到TMS320C6713B的CEl存储空间,其读/写访问的速度为70ns。对FLASH的读/写只支持16位访问,字节地址为0x90000000 0x901FFFFF。由于FLASH是以16位进行访问的,所以对FLASH而言其物理地址以16位为单位进行编址,而程序中使用的逻辑地址是以字节为单位进行编址的,所以物理地址必须左移I位后作为DSP内部的逻辑地址使用;扩展外部RAM选用韩国海力士半导体公司的同步动态随机存储器(SDRAM)芯片HY57V561620BLT。SDRAM被映射到DSP的CEO存储空间,工作频率为100MHz,支持8/16/32-位访问,容量为4Bank-4M-16Bit,字节地址为0x80000000 0x80FFFFFF。在对SDRAM进行读/写访问前,需通过EMIF的CEO控制寄存器CEOCTL将CEO空间配置为16位SDRAM存储器接ロ,及通过SDCTL、SDT頂、SDEXT等寄存器设置SDRAM的读/写时序和參数。当导航信息处理器应用于特定的对象吋,使用基于串ロ固化FLASH程序,设计思想是先用串ロ接收从上位机发送过来的待固化的FLASH数据(一般为十六进制),然后使用串ロ固化FLASH程序模块再进行程序的固化。图2为本发明实施例的固化FLASH程序流程图,其具体实施步骤为:导航信息处理器上电后,等待IOs接受上位机发来的FLASH操作命令。如果导航信息处理器接收到有效的固化FLASH程序命令,DSP先将FLSAH进行擦除,待擦除完成后,给上位机发送FLASH擦除完毕命令。上位机接收到该命令后,再向导航信息处理板发送有效的FLSAH固化数据文件,DSP烧写FLASH模块将收到的数据烧写到FLASH中。为了确保发送到DSP内存中的数据正确写入FLASH中,每次发送32字节数据后进行适当延时,使DSP有足够的时间将内存中的数据写入FLASH。导航数据处理模块的具体实施方式
为:系统上电后等待第一帧GNSS有效导航数据,GNSS将经度、纬度、高度等初始位置信息输入到导航信息处理板中,待导航初始信息有效后,导航模块开始进行捷联惯性导航的初始对准工作,捷联惯性导航初始对准结束后,捷联惯性导航系统开始进入捷联解算模式,利用kalman滤波器使GNSS输出的导航信息对惯性导航解算输出进行修正,从而保持长时间的导航精度。4)作为优选的,导航数据输出模块包括FPGA芯片中专用以太网ロ接ロ芯片为W5300。网络接ロ芯片内部集成了 100M以太网控制器,MAC和TCP/IP协议栈。网络接ロ芯片与DSP采用总线连接,网络接ロ芯片地址线通过FPGA内部的地址译码模块完成。导航数据输出模块的工作原理为,将DSP的地址总线与数据总线都连接到FPGA中,当DSP完成一次导航解算后,将通过EDMA将导航数据发送到EMIF端ロ,进而进入FPGA芯片内,通过专用的网络接ロ芯片向上位机发送导航信息。
具体实施方式
为:当DSP启动后,首先完成对网络接ロ芯片的初始化操作,当导航信息处理器需要输出网络数据吋,DSP的地址总线通过FPGA内的地址译码模块输出有效的地址信号给网络接ロ芯片,从而选中网络接ロ芯片的片选信号,导航信息处理器输出的导航解算信息通过网络接ロ芯片转化为UDP模式的网络信号向其他应用设备发送。当外部网络数据输入时,网络接ロ芯片通过中断方式发出信号,DSP响应中断并完成数据的接收和处理。图3为本发明实施例的工作方法流程图,具体实施方式
为:I)导航信息处理器上电后,系统首先完成初始化操作,GNSS信号通过FPGA芯片的UARTl ロ输入到导航信息处理器内部,IPPS信号通过UART2 ロ输入到导航信息处理器内部。然后系统进入等待状态,等待10s,用于FLASH程序代码的下载。若在此期间接收到FLASH程序代码输入的命令,导航信息处理器对FLASH的内容进行擦写,待擦写成功后给上位机返回擦写成功报文;上位机收到擦写成功报文后,将待固化的FLASH程序文件(即HEX文件)通过RS232接ロ发送到导航信息处理器上,然后由导航信息处理器完成相应的FLASH程序固化操作;若在此期间未接收到FLASH程序代码输入的命令,则系统自动往下执行。2)当IPPS信号将同步模块触发后,发出200HZ的IMU时钟信号;此时,GNSS与IMU同时开始工作。3)当接收到GNSS接收机的有效定位数据后,将解析出的经度、纬度和高度信息作为SINS初始对准的初值,SINS开始初始对准,SINS完成初始对准后,导航信息处理器自动进入组合导航状态。4)当GNSS信号有效时,利用卡尔曼滤波器对捷联惯性导航的数据进行修正,当导航信息处理器检测到GNSS接收机定位无效的信息后,系统并不立即切换到纯惯性模式,而是利用前一次有效定位数据,继续进行组合滤波并校正捷联惯性导航系统的导航參数误差,如果接收机定位无效信号连续5次到来,那么认为系统接收到的最后ー帧有效定位数据已不能再用于组合滤波,系统切换到纯惯性模式下工作;当GNSS接收机重新定位有效后,系统进入组合导航模式,但并不立即校正捷联惯性导航系统的导航參数误差,而是先滤波10次,待滤波器重新估计的状态变量比较稳定后,开始使用GNSS接收机发送的导航数据进行反馈校正。5)导航计算的结果数据通过数据输出模块由两个100M的网ロ向其他应用设备发送;发送最高频率为200Hz,且频率可调(0.1 200Hz),输出IP地址和端口号可以通过程序设定,可采用点对点、组播、广播等多种发送方式。
权利要求
1.一种基于DSP和FPGA的嵌入式导航信息处理器,其特征在于,包括 数据采集模块,包括电平转换芯片和光电耦合器; 逻辑控制管理模块,包括FPGA和FPGA配置芯片,FPGA配置芯片用来存贮FPGA的信息;其中,FPGA包括UART模块、FIFO存储模块、时间同步模块和网ロ驱动模块; 导航数据处理模块,包括DSP、FLASH和SDRAM,所述导航数据处理模块的DSP通过EMIF分别与DSP外部的FLASH、SDRAM以及FPGA连接; 导航数据输出模块,包括FPGA和以太网接ロ芯片;以及 FLASH程序固化模块,包括串ロ通信模块和DSP中的烧写FLASH模块;所述FLASH程序固化模块通过串ロ通信模块与外部开发计算机连接; 所述数据采集模块通过UART模块与所述逻辑控制管理模块连接;所述逻辑控制管理模块通过FIFO模块与所述导航数据处理模块连接;所述逻辑控制管理模块通过以太网接ロ芯片与所述导航数据输出模块连接。
2.根据权利要求1所述的基于DSP和FPGA的嵌入式导航信息处理器,其特征在于:所述数据采集模块以200Hz频率采集IMU输出的数据,接收GNSS接收机输出的串ロ报文数据,接收GNSS的IPPS脉冲信号作为同步模块的触发信号,接收上位机发送的固化FLASH串口数据。
3.根据权利要求1所述的基于DSP和FPGA的嵌入式导航信息处理器,其特征在于:所述逻辑控制管理模块控制和管理所述基于DSP和FPGA的嵌入式导航信息处理器的外围逻辑电路,实现对外部GNSS接收机IPPS信号的时间同步; 所述UART模块、时间同步模块和网ロ驱动模块由硬件描述语言Verilog HDL实现;所述FIFO存储模块通过调用Quartus II软件中的IP软核实现。
4.根据权利要求1所述的基于DSP和FPGA的嵌入式导航信息处理器,其特征在于:所述导航数据处理模块提供数据处理的运算平台,满足SINS初始对准算法、SINS解算算法,以及SINS/GNSS组合导航算法的运行需求以及实现SINS输入/输出数据的高速交换; 所述导航数据处理模块的DSP通过EDMA控制器来对芯片外部存储器和片上外设进行数据传输。
5.根据权利要求1所述的基于DSP和FPGA的嵌入式导航信息处理器,其特征在于:所述导航数据输出模块将导航解算后得出的导航信息通过双冗余以太网络接ロ实时地发送给其他应用设备。
6.根据权利要求1所述的基于DSP和FPGA的嵌入式导航信息处理器,其特征在于:所述FLASH程序固化模块通过专门设计的FLASH固化方法,获取FLASH程序代码。
7.根据权利要求6所述的基于DSP和FPGA的嵌入式导航信息处理器,其特征在于:所述FLASH程序固化模块的实现方法是:当数据采集模块接收到有效的固化FLASH信号,DSP擦除FLSAH,待擦除完成后,给上位机发送FLASH擦除完毕信号;上位机接收到所述FLASH擦除完毕信号后,向导航信息处理板发送有效的FLSAH固化数据文件,DSP烧写FLASH模块将收到的数据烧写到FLASH。
全文摘要
本发明公开了基于DSP和FPGA的嵌入式导航信息处理器,包括数据采集模块、逻辑控制管理模块、导航数据处理模块、导航数据输出模块和FLASH程序固化模块;所述导航数据处理模块的DSP通过EMIF与DSP外部的FLASH、SDRAM和FPGA连接;所述FLASH程序固化模块通过串口与外部开发计算机连接。数据采集模块采集IMU和GNSS输出的数据和同步信号;通过逻辑控制管理模块进行地址译码和时间同步,输入到DSP的SDRAM;导航数据处理模块进行捷联解算及滤波算法;导航信息数据通过导航数据输出模块以网络报文形式发送至其他应用设备。本发明是一种适用于捷联式惯性导航系统的专用导航信息处理器硬件平台,满足了SINS/GNSS组合导航系统小型化、低功耗、高精度的需求。
文档编号G01S19/49GK103116175SQ20131001845
公开日2013年5月22日 申请日期2013年1月18日 优先权日2013年1月18日
发明者徐晓苏, 闫捷, 张涛, 刘锡祥, 王立辉 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1