针对低成本组合导航技术发展的需要,结合主要传感器特点,本文介绍了以浮点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完成串口的vwin 以及相应的逻辑控制以保证三者之间通过数据线的高速通信,提高系统的运行效率和运算精度。
中心处理单元的核心处理器要完成大规模的矩阵运算和代数运算,因此系统选用浮点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.4DSP部分
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的高集成度编程仿真方便、速度快等优点,而且使得系统在今后具有很大的改进余地,可以实现用同样的硬件实现不同的功能。
评论
查看更多