|
基于SA1110处理器的车辆导航定位模块 |
Integrated Navigation And Positioning Unit Based On SA1110 In Vehicle |
■ 解放军信息工程大学 程娟 李建军 杨天池 岳春生 |
摘 要 :本文介绍了一种基于SA1110嵌入式处理器的高精度嵌入式组合车辆导航定位技术,该技术利用卫星定位(GPS) 接收机和惯导(INS)传感器采集车辆的地理位置信息,然后通过嵌入式处理器进行数据融合,最终得到精确度较
高的结果,较好实现车辆的定位功能。
关键词 :GPS/INS;SA1110 ;ITRAX02;AD9215
组合导航技术
随着科学技术的飞速发展,车辆导航系统得到了越来越广泛的应用,如何在车辆行驶的条件下获得尽可能精确的定位信息成为紧要的问题。目前全球定位(Global
Positioning System)、惯性导航(Inertial Navigation System)是车辆导航领域两大重要技术。但美国针对GPS制定的SA政策,降低了一般民用卫星定位的精度(单点定位精度为25m-30m);再者,GPS本身具有的峡谷效应,在高层建筑耸立的城市中,接收机经常会因为无法锁定卫星信号,失去定位能力,从而单纯使用GPS定位很难取得令人满意的定位效果。惯性导航利用惯导传感器测量运动的加速度,经计算确定车辆位置,实现车辆的自主定位,但惯性元件的漂移误差和标定误差将使累计误差随着时间逐渐积累,最终达到无法忍受的程度。本文介绍的组合导航技术,是将GPS和INS综合在一起,融合两类定位信息,获得优化值,以确定车辆位置,其精度和可靠性优于任何单一的系统,是车辆导航技术发展应用的方向之一。
SA1110处理器
车载导航系统以往多采用小型的计算机,基于微软的windows98/2000/xp操作系统,这种模式有诸多缺点。其一,此类计算机性能并非专为车载设计,无法很好适应车载环境,从而导致性能不稳定;其二,成本比较高,且很多附件是导航系统不需要的,并不适合车上实时操作和推广。如今,随着电子技术的不断发展,高性能、高可靠性、低价位的嵌入式处理器已经广泛应用于工业控制领域,这为车辆导航设备的更新升级提供了条件。
我们选用Intel公司的SA1110芯片作为核心处理器。作为一款嵌入式处理器,SA1110在33MHz时钟下,稳定处理能力达到150MIPS(百万条指令每秒),在最高运行速度206MHz时钟下,峰值处理能力达235MIPS,完全可以满足车载导航系统处理速度快、可靠性能高、稳定性强的要求。SA1110集成了32位StrongARM
RISC处理器核、大的指令Cache和数据Cache、MMU(内存管理单元),支持32位ARM指令集和16位THUMB指令集,有强大的指令操作能力、高速缓冲能力、寄存器读写能力。存储器总线接口可与DRAM、SDRAM、ROM、SMROM、SRAM以及其它潜在的I/O器件共享数据信号,其寄存器与PCMCIA模块支持4个快速页操作模式、扩展数据输出、同步DRAM和6个静态存储器等。SA1110还集成了系统支持逻辑、彩色/灰度LCD控制器、多个串行通信通道、2个PCMCIA控制器和28个GPIO口。SA1110配备的5个独立串行通道可分别执行半双工被动协议的通用串行总线通信、通用异步收发通信、多媒体通信口/同步串行口(MCP/SSP)通信等等,这为车辆导航系统今后的扩展提供了有利条件。此外,SA1110处理器内部具有电源管理功能,可将处理器按照需要设置为正常、空闲、休眠三种状态,这为导航系统的低功耗设计提供了硬件基础。
工作原理
SA1110处理器作为组合车辆导航的核心,为整个系统的正常运转提供一个工作平台,集中处理来自ITRAX02 GPS接收机和经过模数转换后的INS定位信息,处理后的结果通过LCD接口输出到显示屏进行更新,用于显示车辆的位置并提供导航信息。模块结构如图1所示。
图1 组合导航定位系统结构模块图(略)
图1 服务程序流程图(略)
GPS接收机为用户提供全天候、基于无线的卫星导航信息,包括三维位置、三维速度和时间。我们选用的是Fastrax公司生产的ITRAX02接收机。该接收机模块体积小(长
宽 高仅为25.9 25.9 4.6 mm)、工作温度范围大(-40 C~ +85 C)、功耗低(典型功耗为37mA@2.7Vdc),达到商业应用要求。ITRAX02
GPS接收机可以接收来自空间12颗卫星的无线信号,通常情况由4颗卫星提供的数据就可以确定车辆的位置。准全向卫星天线接收其视界内所有GPS卫星辐射的C/A码扩频信号,然后由低噪声前置放大器滤波放大,以减小带外射频干扰,改善信噪比。多颗卫星的信号被同时放大后经电缆送到接收机芯片,经下变频、滤波放大、模数转换后变为数字信号送至多路相关器。多路相关器有12条通道,可以同时并行接收、跟踪12颗卫星的信号。每个相关通道由码延时锁定环和载波锁定环组成。码延时锁定环将本地伪随机码与卫星伪码对齐,实现对卫星信号的捕获、跟踪、识别、时间恢复和伪距测量;载波锁定环是一个惯性环,使本机载波与卫星信号载波同步,解调出卫星定位数据,并可用于载波相位测量。解调后的ITRAX02数据通过I/O接口按照规定的格式输出,并通过串行接口送入SA1110处理器。ITRAX02接收机支持ITALK协议和NMEA-0183协议。本系统使用ITALK协议的数据帧格式为:
起始同步信息(start synchronization):标志此后的数据是有效数据;
系统消息(system message):包括星钟时间、卫星颗数、卫星状态等;
导航消息(navigation message):空间坐标,包括经度、纬度和海拔高度;
校验信息(chuck sum):用于校验信号是否错误传输;
结束同步信息(end synchronization):标志此后的数据无效。
值得一提的是,ITRAX02接收机支持双向传输,数据可以在ITRAX02与SA1110间双向传递,这样用户就能够通过处理器发送控制命令对接收机状态进行调整。在没有GPS接收任务时使接收机休眠,需要接收卫星数据时再唤醒接收机,这样可减少功率消耗,达到系统低功耗设计的要求。
惯导元件中通过罗盘来测量车辆的绝对方向,通过电子陀螺仪感受车辆在运动过程中的相对方向,通过变速检测传感器测量运动距离,由于这些信号都是模拟量,因此需要先进行A/D转换。我们选择美国模拟器件公司AD9215系列中的一款芯片作为模数转换器,它的功耗为75mW,最大转换速率为65MSPS。这款ADC性能适中,可以满足车辆导航需要,在同性能产品中,功耗较低,价格也比较便宜。转换后的数字信号通过串行接口送入处理器,用于获得位置和速度信息。
SA1110处理器的串口1与GPS接收机相连,串口2与A/D转换器相连,LCD控制器外接一个彩色LCD屏用于显示车辆的行驶位置。作为中央处理器,SA1110实时监听串口1和串口2发送的中断信号。当GPS接收到一帧卫星信号或A/D转换器转换完一组数据时,就会引发相应的串口中断。SA1110检测到中断信号时,由中断控制器判断是哪路传感器将要发送数据包,并找到相应中断服务程序的入口地址,调用程序进行处理。处理GPS数据和A/D转换器的中断服务程序流程基本相同。先缓冲接收到的数据,并按照事先约定的格式,从中提取方向和位置信息记录下来,然后退出中断服务程序,将CPU的使用权交给数据程序。数据处理程序主要是将GPS数据和A/D转换器通过分布数字卡尔曼滤波方式融合在一起,得到精度比较高的定位信息,并在电子地图的相应位置标绘出当前位置,通过对LCD屏的刷新,将定位信息及时提供给用户。运行于SA1110处理器的服务程序流程如图2所示。
结束语
目前,按照该原理设计的GPS/INS组合车辆导航系统,已经通过了国家有关部门鉴定,在相关领域得到了广泛应用,创造了一定的经济效益。
|
|