导航计算机的提出
导航计算机主要工作包括:采集IMU信号,并通过解算,得到惯导系统的位置、速度和姿态角信号;采集GPS系统的位置和速度信号;对惯导系统和GPS系统各自提供的导航信息进行组合导航解算,利用两个系统的各自优势,得到更高精度的导航结果。
导航运算一般涉及捷联惯性导航解算和组合导航运算,而这两种算法都比较繁复耗时:首先由于精度要求高,导航运算要求是浮点运算;其次,运算过程中,需要进行多次迭代运算,包括微分方程的求解迭代,等效转动矢量的求解迭代等;最后,为了抑制惯性导航的误差随着时间累积而采用GPS去校正惯导信息,一般会采用卡尔曼滤波运算,运算过程中,系统状态方程的维数高、矩阵的加法、乘法以及求逆运算繁多。这些都要求导航计算机的运算能力足够强大,在精度和速度上能够满足需求。
导航计算机还需要进行惯导和GPS信号的数据采集和导航结果输出,对于数据采集和数据通信任务,如果直接用CPU来实现,将会产生以下两个不利因素:一是接口数量和灵活性受到限制,一般来说,CPU的片上外设数量和种类有限,而导航计算机接收的数据来源却是多种多样的,比如GPS、加速度计信息、陀螺信号、温度、气压等,同时导航结果也需要输出到其他设备,比如显示终端、火控设备、数据记录仪等,普通的CPU几乎不能满足要求;二是CPU的导航运算速度受到影响对多个外设的控制以及和不同外设之间的通讯,都会占用CPU的宝贵时间,使其不能专注于导航解算。这就需要导航计算机将数据的采集,传输以及控制任务和导航运算分离开来,以更好的提高其性能。
另外,对于运载体来说,完成导航的同时,导航系统应该尽可能减少其本身带来的额外影响和负担,尤其是那些对重量、体积、温度和功耗敏感的运载体。这就要求导航计算机向小型化和低功耗的方向不断发展,体现在设计上就是需要对元器件的集成度和工作功耗等方面进行合理的选择。
总的来说,导航计算机平台要具有以下几个特殊性:一是要求运算能力强,能够高精度,实时处理大量的导航解算工作;二是要求接口多,控制能力强,能够满足与卫星,惯导等测量单元以及各种用户设备之间的传输通信;三是要求集成度高,功耗低,能够减少对载体的重量和能耗等方面的影响。1
国内外导航计算机研究发展概况导航计算机从最初的采用个人计算机体系结构到现在的专门为其设计的计算机平台,经历了从低级到高级的发展历程,国内外的大学和科研院所对它的研究也越来越多。下面选取了几种具有典型代表性的导航计算机设计,通过对它们的分析来简要介绍国内外导航计算机的研究发展概况:
基于PC/104的导航计算机PC/104是一种总线标准,它于1992年,在IEEE进行PC标准扩展工作时,作为一种缩小尺寸而适应于嵌入式控制的PC标准被采纳。相比个人PC机系统,PC/104组件在体积、功耗、可靠性和接口灵活性上有着显著的优势。90年代至今,它一直广泛应用于导航计算机的设计。
哈尔滨工程大学提出了一种基于PC/104的惯导计算机设计,该设计将高性能嵌入式PC/104芯片(Core-Module 410)作为计算机的CPU,并且使用了Altera公司的EPM7128STC 100-7型CPLD进行外围控制,一定程度上满足了导航计算机小体积,高性能的要求。
基于DSP+单片机的导航计算机DSP的全称是数字信号处理器,它专门适应于快速数字信号处理,具有特殊的硬件和软件结构。它的出现,大大带动了导航计算机的发展。目前,计算机以DSP作为核心,辅以其他外设来完成导航功能已经成为一种流行趋势。
南京航空航天大学提出了一种基于DSP+单片机的主从式双CPU导航系统,该系统选用TI公司TMS320C5416型DSP芯片作为主处理器,选用Cygnal公司的C805S1F020 MCU作为从处理器,最终的性能和精度与通用的PC机搭建的系统相当,双CPU的设计在一定程度上保证了系统的接口和运算能力。
基于DSP+FPGA的导航计算机FPGA是随着微电子设计技术和工艺的发展而产生的一种现场可编程逻辑门阵列,它能够根据需要,随时对集成电路设计进行重新改版,在流片生产之前就能验证方案,具有极大的灵活性。它的出现使得硬件电路的扩展和升级变得更加容易。另外,FPGA的高度集成大大减少了元器件占用的电路面积,扩充接口和增加控制单元只需FPGA内部资源满足即可,不再会有新增元器件和扩大计算机体积的额外负担。这种特点恰好符合导航计算机的多接口,多流程控制以及小型化的需求,所以可以用它来替代导航计算机中的外设通信和控制单元,分担导航运算中的数据传输和流程控制任务,这样能使导航计算机的体积指标和整体性能得到较大的提高。
印度理工学院于2005年2月提出了一款基于FPGA和DSP(TI公司TMS320vc33)的GPS/INS组合导航系统。该系统中,FPGA内部扩展了一路RS-232串口来接收GPS信号,并通过在其内部建立DPRAM ( Dual Port RandomAxis Memory)来存储GPS数据,然后传输给DSP,导航计算机因FPGA的使用节省了一块GPS接收电路板。最后实验结果中,连续定位精度和GPS定位精度持平。导航计算机基本满足了小型化和高精度的要求。2
组合导航系统对导航计算机的现实需求数据采集和通信接口需求以惯性导航为主,辅以其它导航信息源的组合导航是现代导航系统的主要实现形式。可与惯性系统组合的其他导航信息源种类众多,它们各有优点,提供不同的导航物理量来辅助惯性系统。如图是一个多信息源组合导航系统的组成框图,惯性传感器IMU提供加速度和角速率,GPS提供位置和速度信息,空速表、磁罗盘和高度表是常见的机载仪表,它们分别给出载体速度、航向和高度信息,多普勒测速和远近程无线电测量一直都是航空导航的重要信息源,天文导航和图像匹配导航近年来受到越来越多的关注。导航系统接收更多的导航信息源,可以增加组合选择度,从而提高系统可靠性,通过选择最可信的信息源,有可能获得更高的精度。多信息源组合导航系统需要导航计算机具备相当数量和类型的外设接口。
图中的导航信息源中,有的传感器设备输出信号是模拟形式的电压,有的则是RS-232等数字传输标准。为方便组合导航系统的测试,组合导航结果的存储和传输,在导航计算机上设计USB和以太网接口具有重要意义。
数据处理能力需求导航计算机需进行的导航数据处理任务主要有捷联惯性导航、卡尔曼导航数据处理中涉及大量的矩阵运算,其特点是浮点运算密集、运算导航计算机的数据处理机制应具备一个高性能处理器,从导航工程实践的经验可知,该处理器字长应不小于32位,其主频不应小于200MHz;为适应导航运算浮点密集的特性,导航计算机需具有一个可以以硬件方式处理浮点运算的单元。
存储容量的要求导航信息源的增加、新型数据融合算法的使用以及为提高运行可靠性而设计的异常处理等,促使导航应用程序的规模不断增大。而存储技术的发展使数据存储密度迅速提高,为嵌入式系统扩大存储器规模提供了条件。因此,非易失程序存储器的存储容量应大于4MB,导航程序运行所在的动态存储器空间应大于16MB。3