基于DSP的车载GPS/DR组合导航系统硬件设计
用于传输数据比较少,传输速率慢的场合,[]其软件编程比较复杂,而且控制串行通讯要占用很大的系统资源,影响传感器的实时处理功能,因此,本系统采用了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.3 FPGA部分
传统的系统设计大部分是以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字
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- FPGA的DSP性能揭秘(06-16)
- 用CPLD实现DSP与PLX9054之间的连接(07-23)
- DSP+FPGA结构在雷达模拟系统中的应用(01-02)