首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

GPS信号中断时惯导芯片的位置信息感知系统设计

GPS信号中断时惯导芯片的位置信息感知系统设计

关键字:惯性导航   GPS   ADIS16003  
引言
当今社会,GPS卫星定位系统早已广泛应用于人们的社会生活中,如交通工具导航、个人定位服务等。但在某些情况下,由于物体遮蔽、散射等原因,我们无法实时接收到GPS卫星信号(比如列车进入隧道)。所以有必要研究在GPS信息缺失的情况下,如何通过一定的算法产生模拟GPS信息,从而实现全天候的无缝位置感知。这在某些对位置信息敏感的场合中就显得非常急迫和重要。

1 惯导芯片简介

ADIS16003是ADI公司的一款低成本、低功耗,具有SPI接口的双轴加速度计,属MEMS传感器件。它可以测量动态和静态加速度并以数字量输出,测量范围最小可以达到±1.7 g,同时还集成了温度传感器,可用于惯性导航、振动检测和稳定性测试等场合中。

SPI是串行外围设备接口,是Motorola公司首先在其MC68HCXX系列处理器上定义的。目前已广泛应用在EEPROM、Flash、实时时钟、A/D转换器以及数字信号处理器和数字信号解码器之间,是一种高速的全双工同步通信总线。SPI通信只需要4根线,分别为SDI(数据输入)、SDO(数据输出)、SCK(时钟)和CS(片选)。通信是通过数据交换的方式完成的。SPI接口使用串行通信协议,由SCK提供时钟脉冲,SDI、SDO则基于此脉冲完成数据传输。数据输出通过SDO线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取,完成一位数据传输。数据输入也使用同样的原理。

ADIS16003的SPI接口通信时序及控制寄存器配置如图1、图2所示。其中,常用控制字为00000100和00001100,分别表示以正常模式采集X轴和Y轴双轴轴向加速度。



ADIS16003的SPI接口通信时序





控制寄存器配置



2 系统工作原理及主要控制信号说明

本文研究了如何在移动端GPS信息缺失的情况下,使用SPI协议建立FPGA与惯导芯片ADIS16003之间的通信,从而获取移动物体当前的加速度。DSP将通过EMIF接口读取此加速度,并根据之前有效的GPS信息推算出当前的概略GPS信息(经纬度、速度和时间等)。

2.1 工作原理

FPGA驱动ADIS16003惯导芯片工作包括初始启动和正常启动两种模式。

(1)初始启动模式

FPGA上电复位时自启动ADIS16003芯片,配置ADIS16003控制寄存器,并读取芯片测得的双轴轴向加速度初始值,存储到EMIF接口的0x068~0x069地址空间供DSP读取,用作误差校正之用(此模式工作在移动端处于静止状态时,且此模式仅由DSP读取1次)。

(2)正常启动模式

初始启动模式完成之后,FPGA将自动转入数据采集阶段,源源不断地通过SPI接口从ADIS16003芯片中采集双轴轴向瞬时加速度,以备DSP使用。加速度每秒采集8次,每隔0.125 s采集一次。每秒都将得到8组结果,分别为ax0ay0、ax1ay1、ay2ay2、ax3ay3、ax4ay4、ax5ay5、ax6ay6和ax7ay7,存储于FGPA内部的8个中间寄存器单元reg0~reg7(非EMIF接口,每个输出结果为12×2位,存储于32位的寄存器组中),并随着时间的推移不断地刷新。这么做的目的是确保这8个寄存器组中始终保存有最近1 s的移动物体加速度信息,以保证加速度信息的准确性和有效性。当CPU通过GPS接收天线检测到GPS信息丢失时,CPU通过PCI接口给FPGA配入spi_cmd_val信号(高电平有效),同时通过HPI接口给DSP写入信息丢失前2 s的GPS信息(包括经纬度、速度和时间),作为定位基点。FPGA检测到spi_cmd_val信号有效后,立即将中间寄存器单元reg0~reg7中存储的瞬时加速度送入EMIF接口的0x060~0x067地址单元(32位),同时拉高int_spi_done信号,产生外部中断(拉低DSP的引脚)通知DSP从EMIF接口读取加速度信息,并通过后续软件算法进行信号处理,转化为移动端经纬度信息。再通过DSP的HPI接口上报给CPU,从而使高层获取移动端当前GPS信息,即完成了GPS位置信息的模拟。加速度存储格式如表1所列。其中包括初始和瞬时加速度值,共占用32位EMIF接口10个地址单元。




返回列表