引言
随着定位导航技术的飞速发展和日臻成熟,车载导航系统在相关领域得到了越来越广泛的应用。车载导航系统的功能是帮助用户确定车辆位置并提供正确的操纵指示,因此定位的精确程度成为衡量一套系统性能优劣的重要指标。目前,常用的定位手段有 GPS卫星定位、惯性导航定位和组合导航定位等。本文介绍的基于加速度传感器ADXL202的定位方法是惯性导航定位中的一种。在车载导航系统中,加速度传感器完成数据采集任务,获得车辆瞬时加速度值,然后由推算定位法(dead reckoning)计算出当前位置相对于已知参考位置之间的偏移,从而得到车辆的绝对位置。在短时间内,利用这种方法得到的定位精度很高,例如:在平均加速度28.4mg的情况下,10s钟范围内,得到的定位误差大约是0.5m,与GPS单点平均定位误差15m―20m相比,是微不足道的;但是可以想象,由于时间的增加,误差积累效应会越来越大,严重影响导航的精度。因此,加速度传感器通常和GPS一起组合成为组合导航系统,以提高定位精度,增强系统性能。
ADXL202工作原理
ADXL202是Analogy Devices公司出品的一款双轴加速度测量系统,模拟输入,可测量动态加速度和静态加速度,输出为周期可调的脉宽调制信号,可以直接与单片机或计数器连接。并且具有性能高、准确度高、功耗低的特点(输入电流小于0.6mA)。
ADXL202 有很广泛的应用。主要用于惯性导航、倾斜感应、地震监控及汽车保险等领域。ADXL202集成度高、结构简单,为一单片集成电路,其内部包含多晶硅表面微处理传感器和信号控制电路以实现开环加速度测量结构。与其它加速度计相比较,ADXL202可在很大程度上提高工作带宽,降低噪声影响,零重力偏差和温度漂移也相对较低。它的结构框图如图1所示:
ADXL202传感器是由震荡器,X、Y方向传感器,相位检波电路以及占空比调制器组成(如图1所示),而且使用简单,具有数字输出接口和模拟电压信号输出接口。
X、Y方向传感器是两个相互正交的加速度传感器。这两个传感器同时工作,可以测量动态变化的加速度和恒定的加速度。ADXL可以测量正、负两个方向的加速度,而且具有很广的测量范围,可以测量 2g/ 10g的加速度。图2表明,ADXL202相对于地平面方向变化时,X、Y方向对应不同的输出,从而可以计算出恒定的加速度。
传感器之后,级连相位检波器,主要是用来修正信号,并对信号的方向做出判断。
从检波器输出的信号,通过一个32K 的电阻来驱动占空比调制器。我们可以通过在XFILT和YFILT 引脚外接电容CX和CY来改变带宽。外接电容对于滤除噪声和抑制零点漂移都有好处。
信号通过低通滤波器之后,占空比调制器把信号转换为数字信号输出。通过T2脚的外接电阻可以改变T2的周期(0.5ms 到10ms),这很适合于在精度要求不同的场合下使用。
输出的占空比信号通过计数器可以计算出占空比。加速度的计算可以通过公式(1)得到。
A(g)=(T1/T2-0.5)/12.5%..........................(1)
例如,当加速度为0g时,信号宽度T1与空闲宽度(T2-T1)相同,输出信号的占空比为50%;当加速度为1g时,信号宽度T1与空闲宽度(T2-T1)的比值为5:3,输出信号的占空比为62.5%。
ADXL202还可以直接输出模拟信号,模拟信号经过A/D转换处理也可得到加速度值。
基于ADXL202的组合车载导航系统设计
本文介绍的车载导航系统主要是采用加速度传感器和GPS接收机作为信号源进行组合导航。由嵌入式微处理器EP7312作为车载导航的核心处理器,为整个系统的正常运转提供一个工作平台,集中处理来自加速度传感器ADXL202和GPS接收机ITRAX02的定位信号,处理后的结果通过地图匹配算法定位到电子地图上,并经LCD屏输出显示、定时更新。整个导航系统结构框架如图2所示:
加速度传感器ADXL202测量车辆在二维平面X和Y方向的加速度值,以脉宽调制信号的形式输出,经过CPLD得到占空比值(即T1/T2),并触发中断,把比值送入处理器。经过2次积分运算得到相对位移,缓存在内存中;同时,GPS接收机ITRAX02接收基于无线的卫星导航载波信号,解调后通过串行接口将信号帧送入嵌入式微处理器,由微处理器按照规定的传送协议进行信息提取,从而获得二维平面位置、海拔高度、星历时间、误差分析等数据,并进行缓存。得到相对位移和GPS定位数据后,微处理器EP7312将相对位移数据和GPS数据通过分布式数字卡尔曼滤波方式融合在一起,得到精度比较高的定位信息,并采用地图匹配算法在电子地图上标绘出当前位置,通过对LCD屏的刷新,将定位、导航信息及时提供给用户。该系统使用加速度传感器和GPS作为数据源进行组合导航,既可以发挥加速度传感器短期定位精度高、自主导航不受外界干扰的优势,又可以发挥GPS导航长期定位稳定,使用简单的优势,减少了误差积累带来的影响,提高了系统性能。
CPLD设计
在应用车载导航系统中,不可避免的会遇到雷雨天气,以及山岭洼地等路径,这样的条件,自然会对GPS信号产生严重的干扰。为了减少定位的不准确,在使用GPS接收机定位的同时,利用加速度传感器来进一步定位。 CPLD主要实现两路信号占空比的计算。
CPLD的处理过程如图3所示:
记数控制器用于对分频器进行控制,使分频器的输出信号频率为传感器输出频率的1000倍。由分频器输出的信号对传感器输出信号进行采样,统计一个周期内采样值为1的个数,并保存在缓存中。
计数器记满之后,触发中断,通知CPU读取数据。
为了低功耗考虑,通过使能信号EN来控制整个CPLD是否工作。EN信号可以由EP7312的GPIO口控制。
应用软件设计
我们在Windows CE操作系统平台上开发导航程序。Windows CE是Microsoft Windows公司出品的小型的、基于ROM的、具有Win32子集API的操作系统,与其它嵌入式操作系统相比较,具有较强的内存管理、文件管理和 GUI功能。而车载导航系统中,对于显示地图调度、用户交互界面都有很高的要求。因此,基于Windows CE开发应用程序是非常合适的。
车载导航系统应用程序是一个多任务程序,启动后,初始化与GPS接收机ITRAX02相连的处理器串口 1、与ADXL202相连的处理器串口2和与彩色LCD屏相连用于显示车辆行驶位置的LCD控制器。作为中央处理器,EP7312实时监听串口1和串口2 中断信号。当ADXL202的脉冲调制信号经由CPLD换算为占空比值送入处理器,就会引发相应的串口中断。
EP7312检测到中断信号时,由中断控制器判断找到相应中断服务程序的入口地址,调用程序进行处理;当GPS接收到一帧卫星信号时,也引发相应的串口中断,由中断控制器判断找到相应中断服务程序的入口地址,调用程序进行处理。处理占空比值的中断服务程序首先缓冲接收到的数据,滤波后经过两次积分得到一个周期内的相对位移,记录下来退出,交出CPU使用权;处理GPS数据的中断服务程序首先缓冲接收到的数据,按照事先约定的格式,从中提取方向和位置信息,记录下来,退出并交出CPU 使用权。数据处理任务主要是将相对位移数据与GPS位置数据通过分布数字卡尔曼滤波方式融合在一起,弥补GPS数据定位精度不够高的缺陷和加速度传感器误差积累的问题,以得到精度比较高的定位信息,退出并交出CPU使用权。地图匹配任务被调用后采用地图匹配算法把定位信息投影到电子地图上,进行标绘,通过对LCD屏的刷新,将定位信息及时提供给用户。应用程序流程如图4所示。
结束语
目前,该系统已经设计完毕,进入最后的测试阶段,经过一段时间的测试,硬件性能和软件性能良好,是一种可行的设计思路。