您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术基于独立DSP平台的实时卫星导航接收机的设计 正文
基于独立DSP平台的实时卫星导航接收机的设计

基于独立DSP平台的实时卫星导航接收机的设计

点击数:7785 次   录入时间:03-04 11:42:55   整理:http://www.55dianzi.com   嵌入式系统-技术
目前,卫星定位系统的应用越来越广泛,中国、欧盟和日本等国都在积极发展自己独立的卫星定位系统。自1980年第一台商品GPS信号接收机问世以来,GPS信号接收机不断更新换代,目前的卫星导航接收机主要由专用集成芯片(ASIC)搭建而成,拥有集成度高、速度快的优点。但随着卫星导航系统现代化的开展,在轨飞行的导航卫星日渐增多,卫星导航应用趋于多样化,固定的硬件结构难以完成快速系统更新,暴露出硬件接收灵活度低、升级昂贵的弱点。而软件接收机通常是通过下变频芯片将卫星导航信号降到较低的中频,然后通过模数转换器对信号进行数字化,接收机的捕获、跟踪、定位等功能则由软件在通用的信号处理平台上实现,易于在现有系统的基础上进行性能升级和功能扩展。
  从目前研究现状来看,软件接收机的实现大多基于PC机或FPGA/DSP组合平台[1]。而FPGA平台虽然是一个可编程的平台,但其灵活性和扩展性与纯软件相比仍然有所欠缺,而DSP通常在此平台中仅实现定位解算功能。因此,实现基于独立DSP平台的通用卫星导航接收机是一项十分有意义的工作,可以极大程度地扩展软件接收机的灵活性。本文主要探讨基于独立DSP的软件接收机平台结构设计,讨论如何在现有DSP平台上提供多星座卫星导航软件接收机支持,同时分析系统自举引导功能的实现和基于DSP/BIOS操作系统的软件接收机任务调度管理。
1 接收机平台结构设计
  GNSS软件接收机平台采用模块化设计,可以分为中频数据采集模块、数据存储模块、结果输出模块和电源及复位模块。本文所设计的卫星导航接收机硬件系统原理框图如图1所示。

  基本的工作原理:由射频前端GP2015对天线接收的信号进行下变频,输出模拟中频信号,ADC对中频信号进行采样和量化,然后传输到TMS320C6416 DSP进行相关的运算处理,完成卫星信号的捕获、跟踪和定位解算等功能,最后将解算的结果通过输出模块传送到显示终端显示定位结果及相关信息。
1.1 TMS320C6416简介
  TMS320C6416是TI公司推出的高性能定点DSP[2],其时钟频率可达1 GHz,最高处理能力为8 000 MIPS,软件与C62X完全兼容,采用先进的甚长指令结构(VLIW)的DSP内核有6个ALU(32/40 bit),每个时钟周期可以执行8条指令,所有指令都可以条件执行。该DSP采用二级缓存结构,一级缓存(L1)由128 Kbit的程序缓存和128 Kbit的数据缓存组成,二级缓存(L2)为8 Mbit,有2个扩展存储器接口(EMIF),1个为64 bit(EMIFA),1个为16 bit(EMIFB),可以提供64条独立的DMA通道[3]。
  本系统使用50 MHz有源晶振作为DSP的外部输入时钟,内部锁相环使用×20模式(CLKMODE1=1,CLKMODE0=0),系统的主频为1 GHz。
1.2 多星座数据采集模块
  为了使软件接收机能够支持多卫星导航星座的中频数据采集与处理功能,本系统同时提供了模拟中频采集接口和数字中频采集接口,2个接口可以同时使用,也可以任选其一,从而使系统具备较高的软件可扩展性。多星座中频数据采集模块的原理框图如图2所示。

  在本系统的设计中,采用ADI公司的高速A/D转换器AD9283实现模拟中频信号到数字中频信号的转化。由于接收到的卫星导航信号能量比噪声信号能量低约为20 dB,因此量化位数的高低对检测卫星导航信号的影响是有限的,若采用高位数量化会增加数据运算量和系统的复杂度,通常的商用接收机大多采用1 bit或2 bit量化。本设计中量化位数为1 bit和2 bit可选配置。经过ADC数字化的中频信号送到DSP的McBSP0和McBSP2端口,并随后触发EDMA事件,完成数据拷贝和缓存[4]。与此同时,采样时钟作为McBSP口的外部时钟同步输入信号,将8 bit同步减法计数器74HC40103D设计成32进制计数器对采样时钟进行分频来产生帧同步信号,实现串并数据转换。为避免因负载过多时钟驱动能力不足,采用了可配置时钟驱动芯片CY2308作为时钟驱动。图3所示为多星座数据采集的硬件连接原理图。

  为避免数据丢失,采用乒乓缓存的方法缓冲采集到的数据流,在DSP的片上内存为每个McBSP通道开设乒缓冲区和乓缓冲区。以12 MHz、1 bit采样为例,在片上内存开辟2个30 KB的数据缓冲区,即每个缓冲区能够存放20 ms的数据。系统运行后,EDMA控制器先将McBSP0采集到的数据写入乒缓冲区,20 ms后乒缓冲区满,EDMA控制器向CPU发出中断请求,对缓冲区数据进行运算处理。同时,EDMA向乓缓冲区写数据,这样通过不断的乒乓切换完成数据的缓冲存储。
1.3 查找表数据存储管理
  在捕获、跟踪中需要用到大量查找表,为了降低接收机的启动时间,直接把这些数据表格作为固件烧入到Flash中,而不用每次都由DSP通过程序重新生成。所有查找表需要约15 MB的空间,为了降低存储空间,使用LZW无损压缩算法进行压缩至约2 MB。系统初始化时,DSP先读取Flash中的数据表格,然后执行解压程序对其解压,并存于片外的SDRAM中提供给接收机做运算时调用。
  本设计中使用了2片4 MB×32位的SDRAM芯片MT48LC4M32并联连接到DSP的EMIFA口,把程序运行过程中对实时性要求较低的数据段和查找表分配到SDRAM中。总线运行在166 MHz的高速状态,由专用的可配置的时钟芯片ICS525对50 MHz的时钟倍频产生。
1.4 定位结果输出模块
  卫星导航接收机需要周期性地输出定位结果以及其他相关信息,通常输出速率为1 Hz~5 Hz,DSP的串行接口McBSP即可满足要求。为了能够将结果在显示设备上显示,数据的输出需要兼容NMEA0183协议,因此需要将McBSP口扩展成符合RS-232标准的异步串行接口。
  将DSP的McBSP端口的工作模式设为SPI模式作为主设备,直接与MAX3111进行连接,DSP通过执行相关的指令,设置MAX3111的相关控制字,完成波特率、数据位、奇偶校验等的设定,然后向MAX3111输出有效信息,利用其片内的转换器实现UART到RS-232格式及电平的转换,从而实现DSP与RS-232设备进行异步数据传输。



本文关键字:接收机  卫星导航  嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术

《基于独立DSP平台的实时卫星导航接收机的设计》相关文章>>>