基于DSP/BIOS多线程的小型组合导航系统设计

2014-09-23 03:19马建仓齐金刚
电子设计工程 2014年13期
关键词:捷联导航系统中断

王 彤,马建仓,秦 涛,齐金刚

(西北工业大学 电子信息学院,陕西 西安 710072)

基于DSP/BIOS多线程的小型组合导航系统设计

王 彤,马建仓,秦 涛,齐金刚

(西北工业大学 电子信息学院,陕西 西安 710072)

将GPS与SINS组合起来可以充分发挥二者的优势,是一种实用的导航方式。但是传统的设计方案都是在双端口RAM的基础上进行数据存储与传输的,因此会带来体积大、成本高、功耗大等问题。基于小型化GPS/SINS组合导航系统的目的,本设计采用DSP/BIOS多线程编程技术对TMS320F28335数字信号处理器进行程序设计。工程实现的结果证明,所设计的系统不仅导航功能完整、性能稳定,更具有成本低、体积小和功耗低的特点,在普通的导航领域有一定的应用价值。

组合导航;MEMS;多线程;双端口RAM

捷联惯性导航 (Strapdown Inertial Navigation System,SINS)是随着MEMS技术的发展而逐渐成熟的一种新兴技术,已经成为了一个国家科技发展水平的重要标志之一。捷联式惯性导航系统省去了惯性平台,直接将惯性器件安装在载体上,所以结构简单、体积小、维护方便。它不依赖外界信息,也不向外界辐射能量,因此不易受到干扰,是一种自主导航方式.但存在误差积累、对准时间长并且不能提供时间信息等缺点。GPS作为一种家喻户晓的卫星导航系统却不存在上述问题,而且导航精度较高。但GPS信号容易被遮挡,数据率较低并且无法再高动态中使用。若将GPS与SINS取长补短,组合起来设计导航系统,便可以实现捷联惯导与GPS的优势互补。在众多应用领域中,二者的有机组合是必要的,即使采用低精度的MEMS传感器,GPS/SINS组合导航系统在许多应用领域中也可以满足用户的导航定位需求。

为了使GPS/SINS组合导航系统体积更小、成本更低,系统在单片机和DSP进行数据通信时,没有采用常用的双口RAM[1-3]思想来实现数据缓存功能,而是充分利用了DSP强大的数据处理能力,利用CCS环境提供的DSP/BIOS多线程工具进行程序进行设计,将单片机发送的数据存储在DSP的扩展RAM中,再进行数据的读取与处理,从而减小了系统体积。

1 系统的硬件组成和工作原理

研制的组合导航系统由传感器单元[4]、信号采集单元、导航解算与组合单元等组成。具体的硬件组成如图1所示。

1.1 传感器单元

传感器单元包括微惯性测量单元(MIMU)及其信号放大电路、磁阻传感器、高度计模块和GPS模块,具体硬件框图如图1所示。

微惯性传感单元是本设计中微惯性测量单元的核心,包括MEMS陀螺和加速度计两部分。其中陀螺选用的是ADXR624,它是由AD公司研制的一款功能全、低成本的单轴角速率传感器,具有体积小、性能稳定的特点。芯片上提供两个自测功能引脚和一个温度补偿输出引脚,用户可以通过编程通过温度补偿算法进一步提高陀螺信号输出的精度。加速度计选用的是AD公司的三轴加速度计ADXL335,既可以用来测量重力引起的静态加速度,也可以用来测量由运动、冲击或者振动引起的动态加速度,3个输出引脚上可各自用一个电容来方便的控制输出信号的带宽。陀螺和加速度计的 输出信号均采用 放大器进行信号隔离放大。

图1 系统硬件框图Fig.1 Hardware diagram of the GPS/SINS integrated navigation system

磁阻传感器用于电子罗盘的设计,采用的是Honeywell公司的HMC1043。该芯片灵敏度较高,可以用来测量从数十微高斯到六高斯强度的磁通量,多用于低磁场强度磁性传感器电路的应用设计中,具有小型化、性价比高、易于装配等优点。 磁阻输出信号经过AD623信号放大电路进行差分放大。

高度计模块选用的是Bosch公司的BMP085,该芯片可以直接与单片机的I2C总线相连,气压和温度数据必须通过BMP085上E2PROM中的矫正数据进行补偿。它具有超低功耗和低工作电压的特点,并且器件工作噪声低,适用于各种移动设备中。由于它输出的是气压数据,因此输出的数据受温度和气候的影响较大。

GPS模块选用的是台湾HOLUX公司的GY—87,它采用的是SiFR star三代芯片,具有很强的搜星能力。该模块具有高性能、低功耗、体积小和易于集成等优点。GY—87的输出语句以及波特率可根据用户需要进行删减和更改。该GPS模块采用NMEA0183 ASCII码输出,为提高系统数据发送效率,设计时定制GPS输出语句仅保留推荐最小化具体卫星定位数据(GPRMC)语句,同时定制波特率为9 600Baud。

1.2 信号采集单元

系统设计的数据采集单元由两部分组成,一是初始对准时采用的ADUC842单片机的A/D转换器;二是MIMU工作时采用的ADS8344 A/D转换器。

ADUC842单片机的A/D转换器采集磁阻传感器和MEMS加速度计的数据,用于磁阻电子罗盘设计。ADuc842单片机由外部32.768 KHz的无源晶振提供时钟,经过内部锁相环,时钟倍频后,单片机时钟频率可达16.67 MHz。提供了SCI、SPI和I2C3种类型的串口,设计时,将SPI用于控制采样芯片和接收采样芯片数据,SCI用于单片机向DSP进行数据传送,I2C用于接收高度计气压数据。由于ADuc842的SPI与I2C共用了MOSI、MISO与SCLOCK引脚,因此在同时使用这两个串口模块时,需要将寄存器CFG841/CFG842的MSPI位置位,同时将 SPI的MOSI、MISO与SCLOCK管脚移至P3.3、P3.4 和 P3.5。

ADS8344数据采集芯片用于对精度要求较高的MEMS陀螺和加速度计的数据采集,它是一款16位8通道AD转换器。输入方式采用8通道单端输入,串口异步传输。电路采用SPI串口进行ADS8344和单片机之间的通信和数据的传输。由于芯片上DOUT、DIN和DCLK3个引脚通信时的电压值很低,为避免产生不必要的误码,提高传输质量,在此3个管脚上增加了驱动电路,以提高数据传输的准确性。ADS8344的时钟信号由单片机经分频后提供,一次AD转换时间为24个时钟周期,最高转换速率可达100 kHz,在此情况下多对应的时钟频率 fclk=24×fs=2.4 MHz。

1.3 导航解算与组合单元

系统采用TMS320F28335 DSP用来实现系统初始对准、导航解算以及组合导航的等功能,TMS320F28335提供了高达150 MHz的主频频率,支持32位的浮点运算,具有强大的数据处理能力。设计时,采用数字信号处理器的3个SCI模块作为对外数据传输接口,分别用于接收GPS的数据、接收单片机发送的数据和向上位机发送处理之后的数据。采用BIOS工具进行程序设计,扩展了256K×16的RAM和512K×16的flash以满足DSP数据处理时对存储空间的要求。

2 系统的软件设计

DSP/BIOS[5]是CCS提供的一套支持多线程的程序设计工具,它本身占据很少的CPU资源,可以帮助开发人员更加方便的控制DSP的硬件资源,更加灵活的协调DSP各个模块的工作,从而大大提高软件的开发速度和调试进度。DSP/BIOS提供底层的应用函数接口,支持系统实时分析、线程管理、调度软件中断、周期函数和idle函数(后台运行函数)以及外部硬件中断与各种外设的管理。它提供了 CLK、PRD、HWI、SWI、TSK与IDL等线程类型,同时CCS还提供多种分析和评估代码工具,可以方便直观地了解CPU在代码各个部分的开销情况,功能十分强大。通过线程的调度,可以将数据的存储与读取工作放在DSP处理器中进行,将DSP因此可省去CPU之间数据缓存空间,直接进行CPU间的数据传输。采用DSP/BIOS工具进行DSP程序设计的系统软件流程如图2所示。

在DSP/BIOS环境下,main函数仅仅执行必要的初始化工作,初始化工作结束之后,CPU将控制权交给DSP/BIOS,由DSP/BIOS进行线程的调度,从而实现数据存储与读取、系统初始对准[6]、四元数姿态解算[7]、速度和位置解算和无迹kalman滤波[8]功能。DSP程序中的DSP/BIOS中断线程如表1所示。

表1 .DSP/BIOS配置的中断Tab.1 Interruption configuration of DSP/BIOS

图2 系统软件设计流程图Fig.2 Software diagram of the GPS/SINS integrated navigation system

在多线程调度时,硬中断的优先级要高于软中断的优先级,系统默认从小到大顺序设置硬中断优先级。系统开始运行时只接受单片机送来的初始对准原始数据,触发硬中断PIE_INT9_3,在此硬中断响应函数中发出软中断Init_Align_swi进行初始对准解算。解算完毕后根据GPS和单片机数据到来的先后触发相应的硬中断PIE_INT8_5和PIE_INT9_3,调用各自的数据解算/解析软中断,若在响应PIE_INT9_3中断函数期间,GPS触发PIE_INT8_5,则停止响应PIE_INT9_3,开始接受GPS数据。根据GPS定位状态系统选择是否进行组合导航,最终触发PIE_INT9_2硬中断,将处理后的数据送至上位机显示。

3 实验结果

上位机通过MAX3232串口模块接收DSP送来的数据。在上位机上利用MFC编写了显示程序,如图3所示。根据GPS定位状态和用户的选择,系统可输出3种导航信息,分别是GPS导航信息、GPS不工作时的捷联惯导导航信息和GPS工作时的组合导航信息。

GPS定位状态下,采用无迹卡尔曼滤波算法对GPS导航信息和捷联惯导输出信息进行信息融合,利用本系统在西北工业大学长安校区部分学院楼及教学楼周边进行了跑车实验,轨迹如图4所示。

图4 跑车实验轨迹图Fig.4 Locus diagram of the vehicle experiment

4 结论

设计了一种功耗低、成本低的小型组合导航系统,利用CCS环境提供的BIOS工具降低了硬件设计和DSP程序设计的复杂度,解决了以往双端口RAM硬件设计带来的高功耗、大体积等问题。利用该系统在西北工业大学进行了跑车实验,实验结果证明,该系统功能完整,工作性能稳定,达到了一定的导航精度。

[1]孙华,单志明,杨培科.基于DSP和FPGA的组合导航系统设计[J].计算机应用,2009(29):325-327.

SUN Hua,SHAN Zhi-ming,YANG Pei-ke.Design of integrated navigation system based on DSP and FPGA[J].Journal of computer applications,2009(29):325-327.

[2]黎玉刚.DSP在INS/GPS组合导航系统中的应用[D].西安:西北工业大学,2005.

[3]郭薇,廖林炜.基于MEMS的GPS/SINS舰船组合导航系统设计[J].船舶,2003(24):63-65.

GUO Wei,LIAO Lin-wei.A GPS/SINS integrated navigation system based on MEMS[J].SHIP&BOAT,2003(24):63-65.

[4]郝鹏,马建仓.基于DSP测量的捷联惯导系统设计[J].电子设计工程,2011(19):120-122

HAO Peng,MA Jian-cang.Design of SINS based on DSP measurement[J].Electronic Design Engineering,2009(19):120-122.

[5]彭启琮,管庆.DSP集成开发环境—CCS及DSP/BIOS的原理与应用[M].北京:电子工业出版社,2004.

[6]邵婷婷,马建仓,胡士峰,等.电子罗盘倾斜及罗差补偿算法研究[J].传感技术学报,2007(20):1335-1337.

SHAO Ting-ting,MA Jian-cang,HU Shi-feng,et al.Research on tilt and Environment error compensation of electronic compass[J].Chinese Journal of Sensors and actuators,2007(20):1335-1337.

[7]张荣辉,贾宏光,陈涛,等.基于四元数法的捷联式惯性导航系统的姿态解算[J].光学精密工程,2008(16):1963-1970.

ZHANG Rong-hui,JIA Hong-guang,CHEN Tao,et al.Attitude solution for strapdown inertial navigation system based on quaternion algorithm [J].Optics and Precision Engineering,2008(16):1963-1970.

[8]周桃庚,郝群,沙定国.U-卡尔曼滤波在状态估计中的应用[J].仪器仪表学报,2003(24):410-412.

ZHOU Tao-geng,HAO Qun,SHA Ding-guo.Applications of Unscented Kalman filtering on the state estimation[J].Chinese Journal of Scientific Instrument,2003(24):410-412.

Design of small-sized integrated navigation system based on DSP/BIOS multithread

WANG Tong,MA Jian-cang,QIN Tao,QI Jin-gang
(College of Electronic Information,Northwesten Polytechnic University,Xi’an 710072,China)

GPS/SINS integrated navigation system can take advantage of both global positioning system and strapdown inertial navigation system,it is an ideal way to navigate.But the traditional design proposals are always based on dual port RAM which are used for data storage and transmission,therefore leads to large size,high cost and high power dissipation.Aiming at miniaturizing the GPS/SINS integrated navigation system,DSP/BIOS multithreading is applied in the programming procedure of DSP TMS320F28335.The results show that,the designed system has not only ideal navigation function and stable performance,but also the advantages of low cost,small size and low power dissipation characteristics,having a value in ordinary navigation field.

integrated navigation;MEMS;multithread;dual port RAM

TN962

A

1674-6236(2014)13-0081-03

2013-10-20 稿件编号:201310126

王 彤(1986—),男,河南杞县人,硕士,助理工程师。研究方向:导航控制。

猜你喜欢
捷联导航系统中断
说说“北斗导航系统”
基于FPGA的中断控制器设计*
“北斗”导航系统是怎样炼成的
弹道导弹的捷联惯性/天文组合导航方法
跟踪导练(二)(5)
千里移防,卫勤保障不中断
一种GNSS/SINS容错深组合导航系统设计
捷联惯性/天文/雷达高度表组合导航
解读全球第四大导航系统
半捷联雷达导引头视线角速度提取