基于DSP的车载GPS/DR组合导航系统硬件设计

基于 DSP 的车载 GPS/DR 组合导航系统硬件设 / 计
2010-03-07 23:38:06 来源: 作者: 北京市北京理工大学信息科学技术学院 杜萌 付梦印 王 美玲 针对低成本组合导航技术发展的需要,结合主要传感器特点,本文介绍了以浮点 DSPTMS320VC33 为组合导航算法实现的核心处理器,利用 TL16C554 进行通信口扩展的 GPS/DR 组合导航系统的设计方案, 给出了系统硬件的设计方法. 所设计的系统具有体积小, 成本低,实时性好,可靠性高,扩展性好等特点,具有广泛的应用价值. 0 引言 目前,差分 GPS 水平定位精度已经达到 3~5m,完全满足车辆定位精度的要求.但是, 由于在城市高建筑群中或穿过立交桥时,常常会出现 GPS 信号遮挡问题,导致 GPS 不能正 常定位.航位推算(DR)是常用的车辆定位技术,但方向传感器随时间积累误差较大,不 能单独,长时间地使用.采用组合导航系统能够利用 GPS 系统提供的位置和速度信息对 DR 系统的误差进行实时的校正和补偿;当 GPS 信号失锁时,又可通过 DR 系统完成航位推算, 提高了组合导航系统的可靠性. 组合导航系统除了要完成大量运算处理工作外, 还要实现惯性测量单元 IMU (陀螺仪和 加速度计)和 GPS 等传感器的数据采集,与外部系统的通信,时序逻辑控制和人机接口等 功能.在这种情况下,如果仅用一片 DSP 芯片,则系统的实时性能较差,因此多数组合系 统都采用两个或多个 DSP 或是由一个或几个通用的微处理器 MPU 加上一个 DSP 构成主从式 多处理器系统的方案.而目前利用 DSP 与 FPGA 结合的方案来处理高速的数字信号越来越 被广泛采用. 1 GPS/DR 组合导航系统组成 该 GPS/DR 组合系统具有接收和处理里程计信息,电子罗盘信息,惯性测量单元 IMU 以 及 GPS 的信息的功能,其系统组成主框图如图 1 所示.

GPS 提供的绝对位置信息可以为 DR 提供推算定位的初始值并进行误差校正; 另一方面, DR 的推算结果可以用于补偿部分 GPS 定位中的随机误差,从而平滑定位轨迹.所以,利用 适当的方法将两种系统组合起来, 充分利用其定位信息的互补性, 就能够获得比单独使用任 何一种方法时都要高的定位精度和可靠性[1]. 2 中心处理单元的组成 目前导航系统已经发展成为采用多传感器数据融合的组合导航系统, 导航计算机在完成 复杂计算的同时,还要进行大量的数据通信,因此必须具有丰富的通信接口,完成传感器数 据的采集,传输任务.这就需要中心处理单元能够在进行与外部通信的同时,还要保证计算 精度和运算速度. 通过对系统进行功能分析,导航计算机需要完成数据采集,数据处理和数据输出功能. 数据输入部分主要完成各种传感器输出数据的采集; 数据处理部分主要完成数据滤波, 微型 惯性测量元件的误差补偿和初始对准, 卡尔曼滤波以及进行导航参数解算等等; 数据输出部 分主要负责导航参数输出,应用于定位导航或者下一步需要的输入. 由于采用多种传感器进行信息融合,需要较多的外围通信接口,同时,外部传感器数据 输出通信主要通过符合 RS-232 标准的异步串行通信口进行,如果和中央处理器直接相连, 大量的中断响应必将影响到 CPU 的处理速度,目前各种 MCU,MPU 可以提供的串口资源也 是有限的. 传统的设计很多都是采用 PC104 作为系统的中心处理器,PC104 体积大,价格高,不 利于系统的小型化, 低功耗和低成本的实现. 因此, 本设计考虑采用 DSP+FPGA+TL16C554 的方案进行设计,其中 DSP 完成主要的导航参数计算,利用 TL16C554 进行外部通信接口 的扩展, FPGA 完成串口的模拟以及相应的逻辑控制以保证三者之间通过数据线的高速通信, 提高系统的运行效率和运算精度. 中心处理单元的核心处理器要完成大规模的矩阵运算和代数运算,因此系统选用浮点 DSP 芯片 TMS320VC33. 该芯片具有 150MFLOPS 和 75MIPS 的运算速度, 单指令周期 13ns. TMS320VC33 通过提高硬件功能来提高速度,而其他处理器是通过改善软件功能或编码速 率来提高速度的.这种通过硬件来提高性能的方式在以往单芯片 DSP 上是不可能实现的.

处理器具有在单个周期内对整数, 浮点数据同时执行并行乘法算数运算的强大功能. 同时该 芯片具有低功耗,低成本等特点,满足系统的设计要求[2]. FPGA 具有可编程特性,能够方便地完成我们所需要的逻辑功能.利用 FPGA 来扩展外 围通信接口,主要是扩展 TTL 电平的串行通信口作为系统的备用.根据完成串行通信的资 源需求以及今后扩展使用的考虑,这里采用 ALTERA 公司的 ACEX1K30(以下简称 ep1k30) 来完成这项工作.ep1k30 可以提供 119000 门的资源,具有 1728 个逻辑宏单元,可以实现 UART 串口,并同时能够完成相应的译码,逻辑控制等功能[3]. 系统包含有多个传感器,这就要求处理器要扩展出多个串口.DSP 芯片 TMS320VC33 本身 有串行通信口,如果直接利用 DSP 片上的串口资源进行串行通信,只适用于传输数据比较 少, 传输速率慢的场合, []其软件编程比较复杂, 而且控制串行通讯要占用很大的系统资源, 影响传感器的实时处理功能,因此,本系统采用了 TI 公司生产的4通道异步收发器集成芯 片 TL16C554 扩展 DSP 串口,实现传感器与导航计算机的通信.该芯片是一种具有串行异 步通信. 接口的大规模集成电路芯片,可以实现数据的并/串,串/并的转换功能.其内部带有 16 字节的 FIFO 缓冲器.在 FIFO 模式下,传输和接收前将数据缓冲为 16 字节数据包,减 少了 CPU 的中断数量.内部包含 4 片改良的 16C550 异步传输器件,使得串行 I/O 更加可 靠[5]. 中心处理单元的整体硬件设计框图如图 2.

系统充分发挥了 DSP 进行加, 乘运算的优势, 实现了导航参数的实时运算, 并利用 FPGA 和 16C554 扩展外围通信接口,将串行数据转为并行数据后通过数据总线同 DSP 进行通信,

把处理器从大量的 I/O 中断响应负担中解脱出来,提高 CPU 的运行效率.解算后的导航参 数再通过数据总线到 FPGA 经过转化后以串行数据的格式输出.同时,考虑到 IMU 数据量 较大,数据更新率大于 100Hz,并不把收到的每一包数据直接发送到 DSP,而是首先进行滤 波处理后,再通过一个 FIFO,暂时将数据存储起来,在数据量达到一定程度的时候,再通 知 DSP 把这些数据取走,这样做可以进一步减轻 DSP 的负担,提高运行效率. 3 中心处理单元的硬件设计 中心处理单元的硬件部分主要由电源模块,数据通信模块,FPGA 部分,DSP 部分等组 成. 3.1 系统电源模块 整个系统需要使用 1.8V,2.5V,3.3V 和 5V 四种电压.其中 DSP 需要 1.8V 和 3.3V 作 为核心供电和 I/O 供电;FPGA 需要 2.5V 和 3.3V 电压供电;GPS 需要 5V 电压供电,因此 整个系统采用 5V 电压供电. 然后通过两片 TI 公司的 TPS73HD3XX 系列芯片进行电压转换, 可以分别获得所需电压.TPS73HD3XX 系列芯片为双路电压输出转换芯片,具有非常低的 静态电流,即使对于变化负载,静态电流在实际中仍能够保持不变. 3.2 数据通信模块 TL16C554 扩展的数据通信模块的硬件结构图如图 3 所示.

TL16C554 的地址线 A2~A0, 数据线 D7~D0 分别和 DSP 的地址总线 A2~A0, 外部数 据线 D7~D0 直接相连,而片选信号 CSA~CSD,读写信号 IOR/IOW 以及中断信号 INTA~INTD 则接入 FPGA 并由 FPGA 处理. 电路中使用 FPGA 一方面可以对 UART 的地址灵 活配置,另一方面也可以灵活生成 UART 的选通和读写信号,从而增强系统的灵活性,方便 系统调试. 3.3FPGA 部分

传统的系统设计大部分是以 DSP 为主机负责数据处理,以单片机为从机负责数据采集 的多机并行系统, 但从机单片微控制器的速度限制制约着整个采集处理系统的速度. 针对这 种情况,将传统的多机结构改为宿主式单机结构:系统仍然以 DSP 作数据处理主机,用多 种计数器,逻辑电路,时钟电路组成的纯硬件子系统来代替过去的从机系统[4].但若采用传 统的方法,即用标准的数字电路芯片扩展实现此子系统,必然需要多片电路芯片,这不仅使 系统结构复杂,连线增多,还使可靠性随之降低.因此,系统采用了现场可编程门阵列器件 FPGA 来设计该子系统.用 FPGA 设计本系统最大的优点是节省了 PCB 板子面积,并且满足 低成本的要求.并且在系统设计完成后,如果想升级,改进系统,不必更改任何硬件电路, 只需要将 FPGA 内部逻辑重新编程即可. FPGA 掉电后配置信息不能够保存,再次上电时需要对其重新进行配置,因此需要使用 片外存储器保存配置信息.本设计中选择 ALTERA 公司的 epc2 作为配置芯片.epc2 是一种 可以多次擦写的具有可编程 FLASH 的存储器,专门用于 ALTERA 公司的 FPGA 的配置.同 时,系统板上的 JTAG 口,可以实现对 epc2 进行编程和对 FPGA 的在线配置.通过拨码开 关实现对 FPGA 的在线配置和对 epc2 的编程的切换,具体硬件连接如图 4 所示.

3.4 DSP 部分 DSP 需要系统算法程序存储器,采用 FLASH 存储器进行存储,本系统选用四片 256k×16bCY7C1041 扩展了两个 256k×32b 的 RAM,为复杂组合算法提供了存储空间;选 用了两片 16 位 SST39VF400FLASH 芯片作为系统的程序存储器. 采用 FLASH 存储器克服了 传统 EPROM 体积大的缺点,同时有利于减小电路板的面积.通过 DSP 仿真器,按照 FLASH 的烧写算法可以将程序写入到 FLASH 中, 完成 DSP 算法的存储. 系统上电时通过自举方式, 可以快速加载程序.这样做可以降低系统的成本,体积和功耗. 在 DSP 之前增加一个 FIFO,等待数据满足要求后由 DSP 一起读取,由此解决 IMU 输 出数据量大造成 CPU 响应频繁的问题.优化了系统的效率.IMU 数据中各数据都由高字节 和低字节两部分组成,通过串口接收数据后,可以合并为 16 位的形式.16C554 芯片具有 16 字节的 FIFO 缓存器,满足系统的要求.利用 FIFO 的半满信号作为通知 DSP 接收数据的 中断信号,通知 DSP 进行读取.根据 DSP 进行数据读写的开销时间以及所进行的运算量,

并考虑实际接收数据的大小和传输波特率,计算出 DSP 对一包数据进行所花费的时间以及 FIFO 中写入一包数据花费时间,从而使系统能够顺利完成解算任务. 4 结束语 GPS/DR 车辆组合定位导航系统将 GPS 系统与 DR 系统相结合,提高了系统的有效性, 完整性和精度.利用 DR 航迹推算系统能保证卫星信号丢失时车辆位置信息输出.系统具有 全方位,全天候,无遮挡,高精度的特点,具有良好的应用前景.此组合导航系统具有强大 数据处理能力,同时具有体积小,低成本,高可靠性,实时性好等优点.该设计充分发挥了 DSP 强大的数据处理能力,利用了 FPGA 的高集成度编程仿真方便,速度快等优点,而且使 得系统在今后具有很大的改进余地,可以实现用同样的硬件实现不同的功能. 参考文献 [1]毕军.车辆 GPS/DR 定位地系统,地图匹配及路经规划技术的研究[D].北京:北京理工大 学,2003. [2]支长义,雷天友,蔡丽丽.TMS320C3x 系列浮点 DSP 原理及应用[M].成都:电子科技大 学出版社,2002. [3]赵雅兴.FPGA 原理,设计与应用[M].天津:天津大学出版社,2000. [4]吴越,林支付,葛霁光.持续高速数据采集与过程控制并行工作的单机系统设计[J].化工 自动化及仪表.1996,(5). [5]雷平,缪玲娟,沈军.TMS320VC33 扩展异步串口及串口通信的实现[J].微计算机信息, 2006 年第 22 卷第 1-2 期,140-142


相关文档

基于S3C2440的车载导航系统硬件设计
GPS_DR组合导航系统研究及GPS_GSM车载系统实现
车载GPS北斗DR组合导航系统研究
基于FPGA和DSP的MIMU/GPS组合导航系统设计
车载导航系统现状及GPS/DR定位系统车载实验
基于GPSGPRS的车载导航系统的设计与实现
车载GPS_北斗_DR组合导航系统研究
车载GPS_DR组合导航系统卡尔曼滤波方法的改进
电子地图匹配算法在GPS和DR组合车载导航系统中的作用
电脑版