首页- 芯片解密常见问题- 正文

惯导芯片的位置信息感知系统应用设计

来源:芯片解密-龙芯世纪   时间:2012-02-08   阅读:3266

  基于惯性导航芯片ADIS16003,在GPS信号中断的情况下,详细设计和验证了模拟GPS系统,实现了移动物体当前GPS信息的推算。系统采用FPGA驱动ADIS16003的SPI接口,依靠惯导原理获取移动物体实时加速度,并以外部中断方式通知DSP从EMIF接口读取。DSP利用信号中断前的有效GPS信息,通过相关位置检测算法,计算出GPS经纬度信息,由HPI接口上报高层,保证了移动物体全天候位置感知能力,已在某大型通信系统中得到应用。
  ADIS16003是一款低成本、低功耗,具有SPI接口的双轴加速度计,属MEMS传感器件。它可以测量动态和静态加速度并以数字量输出,测量范围最小可以达到±1.7 g,同时还集成了温度传感器,可用于惯性导航、振动检测和稳定性测试等场合中。
  SPI是串行外围设备接口,目前已广泛应用在EEPROM、Flash、实时时钟、A/D转换器以及数字信号处理器和数字信号解码器之间,是一种高速的全双工同步通信总线。SPI通信只需要4根线,分别为SDI(数据输入)、SDO(数据输出)、SCK(时钟)和CS(片选)。通信是通过数据交换的方式完成的。SPI接口使用串行通信协议,由SCK提供时钟脉冲,SDI、SDO则基于此脉冲完成数据传输。数据输出通过SDO线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取,完成一位数据传输。数据输入也使用同样的原理。
  本文研究了如何在移动端GPS信息缺失的情况下,使用SPI协议建立FPGA与惯导芯片ADIS16003之间的通信,从而获取移动物体当前的加速度。DSP将通过EMIF接口读取此加速度,并根据之前有效的GPS信息推算出当前的概略GPS信息。
  本系统采用的FPGA芯片为Cyclone III系列的EP3C120F80C7器件,DSP芯片为TMS320VC5510,惯导芯片采用ADIS16003。
  本系统的底层SPI通信部分使用FPGA进行驱动,采用Verilog HDL语言编写程序,并在Quartus 10.1集成环境下进行功能仿真验证。结果显示,数据采集符合设计逻辑,当所有数据采集完成一次之后立即送出中断信号触发DSP读取。
  利用Signal Tap II Logic Analyzer在线逻辑分析仪进行板上硬件实际调试。测试结果显示数据采集和处理符合芯片时序要求;FPGA与DSP的EMIF接口配合良好,经过后续DSP软件算法处理后能成功推算出移动物体当前的GPS信息,及时上报CPU(每秒1 s)。其中SPI总线通信时钟为1.4 MHz。经过测试,系统完全能够达到设计要求,已在某大型通信系统中得到应用。
  通过本系统的设计和调试过程可以看出,使用FPGA作为物理层驱动具有SPI接口的数字芯片是简单而有效的一种数字设计方案,可以较容易地满足芯片的时序要求。通过与EMIF接口的配合还可以很好地利用DSP芯片完成众多嵌入式系统的设计。