基于DSP 的嵌入式系统在组合导航系统中的应用
作者:杜亚玲 刘建业 姜涌 刘瑞华 时间:2006-12-22 00:18 来源:
摘要: 基于通用的计算机平台搭建的组合导航系统不适于小型化应用场合, 本文自行研制开发了DSP 嵌入式系
统, 成功搭建了低成本小型组合导航系统。针对系统的特殊需要, 嵌入式系统设计为“DSP+ 单片机”主从式双
CPU 结构, 设计了U SB 总线海量存储、串口更新软件等各种功能, 并将导航算法进行合理分配和实现, 应用数值分解法提高系统精度。实验表明: 基于DSP 的嵌入式系统在组合导航系统中的应用, 与通用的PC 机搭建的系统性能和精度相当, 且该系统的体积仅为65mm ×80 mm ×10 mm , 功率小于2W。
组合导航系统是一个复杂的多传感器信息融合系统。由于其导航运算不仅涉及到多种传感器数据的采集与处理, 还必须保证系统的实时性, 以及和控制系统实时有效的通讯, 所以组合导航系统对其核心器件——导航计算机提出了较高的要求。目前, 国内一般采用通用计算机外加扩展卡作为导航计算机, 其体积大、功耗大、成本高, 制约了导航系统在微小型领域的推广使用。
DSP 嵌入式系统, 就是将DSP 系统嵌入到应用电子系统中的一种通用系统, 它不仅具有DSP系统的所有技术特征, 还具有应用目标所需要的技术特征, 其中最显著的技术特征是: 高速的数据处理能力和丰富的系统资源, 可以用简单方法和技术实现复杂系统的多任务调度和实时操作, 提高系统性能和技术指标, 降低成本。
结合组合导航系统的特点, 本文自行研制开发了基于DSP 的嵌入式系统。利用该系统作为计算平台和陀螺、加速度计以及GPS 接收机等多种传感器, 成功地搭建了低成本小型组合导航系统, 并取得了很好的效果。
组合导航系统的硬件实现
系统整体硬件结构
组合导航系统利用DSP 嵌入式系统, 接收控制计算机的指令, 并采集六自由度惯性组件
( IMU )、GPS 信号, 进行导航运算, 最后实时输出高精度的水平姿态角和航向角, 提供给显示控制计算机, 从而达到导航指示和控制的目的。图1 为组合导航系统整体硬件结构框图, 其中虚线框部分表示DSP 嵌入式系统。
基于DSP 的主从式双CPU 结构
根据以上分析, DSP 嵌入式系统必须具有: (1) 丰富的外设接口, 保证系统和外设的通信畅通以及实时采集各种传感器信息; (2) 强大的计算能力, 保证大量的导航运算实时完成; (3) 数据实时存储, 保证大量的导航数据实时存储, 便于事后分析。

考虑到单片机扩展接口方便, 可以实现数据的采集和预处理算法, 能够应用先进的U SB 接口存储数据, 更利于系统的小型化和降低功耗。因此, 系统采用DSP+ 单片机的主从式双CPU 的系统结构。系统选用T I 公司的TM S320C5416 DSP芯片作为主处理器, 选用Cygnal 公司的C8051F020MCU作为从处理器, 双CPU 的设计保证了系统的接口和运算能力。系统利用拥有最新的存储器外设, 更高的设计速度, 更方便和可靠的存储器结构。
铁电存储器接口 由于导航系统每次运行完毕, 有一些重要的参数要存储下来, 以供下次系统运行使用。虽然存储数据量不大, 但要求存储速度高、可靠性好。系统使用了新型的铁电存储器(FRAM ) 来实现非易失性存储功能。FRAM 采用Ram t ron 公司的FM 25CL 64, 它提供的SP I 接口可方便地与DSP 的M cBSP 直接相连。DSP 对FRAM 进行读写操作时, 无需对存储器空间进行擦除, 能够达到总线速度。经实验, 系统每次读取数据时间为微秒级, 很好地满足了系统实时性。该芯片面积仅为30 mm
2, 功耗为EEPROM 的1/2 500, 有利于导航计算机小型化。系统灵活配置了FRAM 的写保护功能, 保证了数据存储的可靠性。
USB 接口
为了将导航数据和传感器原始数据实时记录下来以供事后分析处理, 系统将U SB 技术和单片机技术相结合, 实现了嵌入式系统的外挂式海量存储。这样, 提取导航计算机中的大容量数据就显得方便快捷。应用U SB 总线的系统优势明显: 传输速度快,U SB1.1 总线规范规定的最大传输速度可达12 M b/s; 支持即插即用设备; 支持双向、同步传输, 能够保证连续数据流传输; 同时具有较高的性价比, 有利于系统的小型化。
系统选用SL 811HS 型U SB 接口控制器, 采用主模式(HO ST ) 进行研制开发, 将单片机的P3 和P4 口配置为控制和数据信号端口。SL 811HS 的片选信号/CS 须由单片机片选和读写信号相或得到,以确保读写信号和片选信号同时有效。
组合导航系统的软件实现
系统软件体系结构 系统软件分别在3 个平台上加以实现, 即控制计算机、单片机和DSP。一般在调试过程中, 单片机和DSP 下载程序需要使用硬件仿真器。为了使软件升级更新更加简单快捷, 系统设计开发了DSP嵌入式系统软件快速更新。系统程序更新软件流程见图2, 该流程分为3 个步骤: (1) 控制计算机通过网络, 接收更新文件。为了防止指令代码文件在未经许可情况下被查看或修改, 控制计算机需要利用Delph i 附带的工具B rcc32, 把更新文件编译成资源文件嵌入到最终的可执行文件中。(2) 控制计算机通过串口, 更新单片机内部FLA SH 的固化程序。串行方式更新程序的工作过程与个人计算机系统的引导过程类似, 关键是保证单片机程序存储空间可通过软件擦写、合理分配单片机存储空间和中断资源, 以及对单片机程序的重定位。(3) 单片机通过DSP 的HP IBoo t 方式, 把指令代码上传到DSP, 并启动DSP。更新程序完成后,DSP 和单片机重新初始化, 配置各种端口, 初始化各种外设, 然后进入导航程序。
GPS/SINS 组合导航系统算法及模块化实现 GPS/SINS 组合导航系统采用先进的卡尔曼滤波技术, 进行闭环反馈控制校正, 以提高系统精度。整个系统的算法由捷联惯性导航、卡尔曼滤波和校正算法组成。其程序实现该算法的数据流如图3 所示。


捷联惯性导航算法采用四元数和等效转动矢量法, 主要包括惯性仪表的误差补偿、姿态矩阵计算、导航计算和制导控制信息的提取。卡尔曼滤波算法采用位置、速度组合, 系统状态变量考虑为18阶, 以IN S 的误差方程为状态方程; 系统观测量为6维, 以GPS 的输出为观测向量。误差校正算法包括对系统的速度误差校正、位置误差校正、传感器误差校正以及姿态误差的补偿。本文将主要算法模块分为A ,B 两部分(见图3) , 分别在单片机和DSP中加以实现。
数值分解法提高精度 由于TM S320C5416-DSP 受相关支持软件CCS 的限制, 数值只有7 位有效数字(十进制) , 所以位置计算会有较大的计算误差。通过分析, 位置信息的计算只涉及三角函数、积分和加法运算。而三角函数数值的精度对于导航结果的影响完全可以忽略不计。针对位置信息的积分和加法运算, 可以利用DSP 嵌入式系统的特点, 使用数值分解的方法提高运算精度。
具体的算法为: 将位置信息分解为“全值≈ 大值+ 小值”( 如经度1181231 2≈ 1181231 2 +
0.000 053 890 76)。对于积分和加法运算, 采用小值计算; 对于三角函数运算, 使用全值; 系统最后输出大值和小值, 在系统外部整合。
算法实现的具体方法为: (1)MCU 采集信息后, 将GPS 经纬度数值分解, 把全值、大值和小值均传送给DSP; (2) 导航计算的积分过程采用经纬度的小值, 然后与大值相加更新全值, 以供迭代计算使用; (3) 卡尔曼滤波中位置观测量采用小值;(4) 输出经纬度信息的大值和小值, 在外部接收程序中对其进行相加得到全值。
算法改进后的结果: 位置信息数值从7 位有效数字提高到14 位有效数字, 有效地提高了导航系统的精度。
实验结果 针对DSP 嵌入式系统在GPS/SINS 组合导航系统中的应用, 进行了大量的实验。系统使用低成本IMU , 其X 和Y 轴陀螺漂移量为150 °/h, 其Z 轴陀螺漂移为75 °/h, 三轴的加速度计零位偏值均为0.002 g。系统使用的GPS 选用GARM IN 公司的GPS25, 其速度精度为0.1 m/s, 位置精度为15 m。由于使用的IMU 精度较低, 组合导航系统的位置和速度精度主要取决于GPS。
为了检验组合导航系统的姿态精度, 在实验室内进行了静态实验, 将IMU 放置于A S-0011 型转台上, 调整转台使台面水平, 在室温下进行长达40m in 的数据采集与处理。实验结果为, 惯性组合导航系统俯仰和横滚角均保持稳定, 精度分别为0.25°(1σ) 和0.18°(1σ) , 其角度变化曲线如图4, 5所示。由于静态情况下, 航向角的可观测性较差, 所以航向表现出发散的趋势, 漂移量为5 °/h, 见图6。


为了检验组合导航系统动态定位精度, 在南京航空航天大学校内做了一次跑车实验, 结果如图7所示。实验结果表明, 该组合导航系统能够实时准确地反映出组合导航系统的位置变化, 动态定位精度在10 m (CEP) 以内, 动态航向角精度为3°(1σ)。在跑车实验过程中, 系统可以实时正确反映出跑车姿态角度和跑车速度的变化。

实验结果表明, 应用基于DSP 的嵌入式系统的GPS/SINS 组合导航系统性能可靠、能够实时正确反映出载体姿态角度、速度和位置的变化。系统的整体精度与通用的PC 机或者PC104 搭建的捷联惯性组合导航系统精度相当。
结束语
图中的DSP 嵌入式系统是作者自行研制开发的成果, 体积仅为65 mm ×80 mm ×50 mm , 重量不足100 g, 功耗小于2W。DSP 嵌入式系统在组合导航系统中的成功应用, 使系统脱离了通用计算机平台, 从而大大降低了成本, 减小了体积和功耗, 更能够满足微小型导航系统的需要。
基于DSP 的嵌入式系统以其独特的主从式双CPU 结构, 依靠DSP 的高速运算和MCU 丰富的接口资源, 可以实现更为复杂的导航算法, 基于DSP 的嵌入式系统完全可以取代通用计算机, 在导航系统中推广应用。