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

发布者:JoyfulMelody最新更新时间:2010-01-13 来源: 电子技术应用关键字:DSP  卫星导航  软件接收机  多星座 手机看文章 扫描二维码
随时随地手机看文章

  目前,卫星定位系统的应用越来越广泛,中国、欧盟和日本等国都在积极发展自己独立的卫星定位系统。自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设备进行异步数据传输。

2 系统软件结构设计

2.1多星座接收机软件设计

  在多星座软件接收机中,对于来自多个不同星座的中频数据的一部分软件处理模块可能是相同的。例如,对于GPS导航接收机和Galileo导航接收机可以采用共同的定位模块。与单星座的软件接收机相比,多星座的软件接收机可能会有多个EDMA/McBSP的中断处理程序和信号跟踪处理模块。因此,在针对多星座接收机的软件设计中,对这些模块的处理需要额外进行。软件接收机的结果输出如图4所示。

2.2 自举引导功能的实现

  为了保证接收机能够脱离主机独立工作,本设计采用ROM自举加载模式,接收机程序作为固件存储在外部的非易失存储器Flash中,DSP复位后,先把外部存储的程序加载到片上高速内存中,然后顺序执行片上RAM中的程序。由于C64x只自动复制1 KB到片上内存,而接收机的程序远远大于这个数量,所以需要采用二级程序加载的方法。二级程序加载按照如下方式进行:

  编写二次引导程序代码,然后烧写到Flash中。系统复位后,DSP将通过EDMA控制器按照默认的时序自动二次引导代码加载到片上内存的首地址中,传输完成后CPU从首地址开始执行这段二次引导程序。二次引导代码首先配置EMIFB的相关寄存器,使其工作在16 bit总线时序下,然后将卫星导航接收机相关程序加载到CPU的片上指定空间。当二次引导程序执行完毕后自动跳转到主程序的入口处,开始执行软件接收机的相关程序。

  值得注意的是本设计中Flash采用16 bit数据线,所以EMIFB的地址线的最低位BEA1没有连接到Flash芯片地址线的最低位A-1,而C64x在ROM加载模式下是使用默认时序8 bit加载,即在自加载情况下EMIFB不能访问本设计中Flash的奇地址。为了保证自加载成功,需要对二次引导程序生成的二进制(.bin)文件进行修改,将有效数据存放在偶地址单元,在奇地址单元填充任意数据。图5所示为16 bit Flash与DSP的连接及自举示意图。

2.3 接收机任务调度设计

  软件接收机程序是在CCS3.1开发环境下用C语言开发移植完成的。由于DSP平台资源有限,为了满足实时性,TI公司的DSP/BIOS操作系统将应用程序按线程结构化设计,每个线程完成1个模块化的功能,并允许高优先级线程抢占低优先级线程以及线程间的同步和通信[5]。把接收机的跟踪、捕获、定位等功能模块设置成相互独立的线程,线程之间的切换通过硬件中断或软件中断来实现,并根据实时性要求为各个线程分配优先级,其中跟踪优先级最高,捕获优先级最低,定位线程通过周期(PRD)函数来实现,优先级介于跟踪和捕获之间。软件接收机各个线程的功能以及它们之间的关系如下:

  (1) 数据采集硬件中断

  EDMA触发的硬件中断具有最高优先级。该中断由McBSP端口产生,并通过EDMA中断触发,每20 ms中断1次。中断响应程序中主要完成乒乓缓冲区的切换和数据拷贝工作。中断处理完成后,会立刻触发跟踪软中断,以保证及时完成卫星信号的跟踪。

  (2) 信号处理软中断

  跟踪线程软中断处理程序如果发现有需要跟踪的导航卫星,则对缓冲区中的数据进行跟踪运算。跟踪线程结束后,会根据当前DSP处理器占用情况分时隙调用捕获软中断。跟踪线程具有最高的软中断优先级。该中断执行时间与同时跟踪的卫星数量有关。

  捕获线程中断处理程序可被所有其他线程抢占,当所有高优先级的线程执行完毕后,捕获才能继续执行。捕获线程对缓冲区数据进行捕获处理,将已捕获的卫星信息告知系统,以在下一次硬件中断后对其进行跟踪,在DSP平台的平均执行时间为50 ms。

  (3) 定位线程周期中断

  定位周期线程执行1次定位解算任务,并将定位结果写入专门开辟的缓冲区中,随后EDMA控制器会自动将结果通过McBSP1端口传输到显示设备。该中断的优先级高于捕获线程,但低于跟踪线程,在DSP平台的平均执行时间为3 ms。

  图6所示为软件接收机各线程之间的调度流程框图。

3 实验结果

  在实验中,将接收机平台设置为12 MHz,1 bit采样,通过射频前端与GPS天线相连,实时接收GPS卫星信号,利用RTDX技术通过JTAG口将结果传输到主机进行显示。根据对各线程运算量的分析和实验验证可知,基于独立DSP的卫星导航接收机平台可以很好地完成6~10颗卫星的实时跟踪,并能准确定位。图7所示为对应的电子地图结果。除此之外,本文所提到的多星座软件接收机也开展了仿真试验测试,目前能够对每个星座系统实现4~5颗卫星的实时跟踪,其性能仍需进一步提高。

  本文详细介绍了基于单颗高速定点DSP的实时卫星导航软件接收机平台的设计实现。提供了详细的硬件平台结构设计方案,阐述了系统上电自加载功能的实现方法以及接收机软件任务调度流程。根据本方案实现的卫星导航软件接收机具有低成本、低功耗、通用性好、功能可升级扩展等优点。

关键字:DSP  卫星导航  软件接收机  多星座 引用地址:基于独立DSP平台的实时卫星导航接收机的设计

上一篇:基于CAN总线的并联逆变电源通信监控系统研究
下一篇:赛灵思开始发货目前行业最大性能最高FPGA

推荐阅读最新更新时间:2024-05-02 20:58

采用可高效再配置DSP系统的动态加载技术
新的移动通信市场为DSP 技术带来了一系列新的挑战。我们可采用动态加载技术来有效解决这些难题。 基于 DSP(数字信号处理器)的多功能系统正变得日益普遍,特别在无线通信方面更是如此。新一代超高性能 DSP 使基站可以承载更多的语音、数据以及视频信息通道,而高级低功耗 DSP 则为手持终端系统提供了 Web 浏览及其他多媒体功能。与以往的任何 DSP 系统相比,上述系统都能够实现更强大的多功能软件灵活性,这不仅是因为通信标准具有很高的多样性,而且也由于目前无人知晓众多新兴应用中到底哪些会胜出。 新型移动通信市场较强的开放性提出了一系列新的 DSP 技术挑战,这不足为奇。其中最重要的是在于如何加载并配置资源密集型的多媒体应用,以及如
[应用]
二进制数折半查找算法在DSP上的实现
    摘要: 折半查找是采用跳跃跃方式先将顺序数列中的“中间值”与所查询值进行比较,然后按照比值大于或小于“中间值”来判断所查找数的甩在区域。文章给出了将折半算法应用于数字信号处理器上以实现二进制数的查找算法的一种具体方法。并给出了采用这种方法的软件程序。     关键词: 折半查找 二进制 DSP 1 折半查找的基本原理 近十几年来,随着各类集成化单片数字信号处理器(DSP,Digital Signal Processor)性能的不断改时,相庆的软件和开发工具日臻完善,价格也迅速下降。它们所具有的功能强、集成度高、应用灵活及性能价格比高的优点使其信息处理(如语音与图像各种的处理)、通信、多媒
[嵌入式]
基于DSP的SPWM直接面积等效算法的分析与实现
  变频技术作为现代电力电子的核心技术,集现代电子、信息和智能技术于一体。针对工频(我国为50 Hz)并非是所有用电设备的最佳工作频率,因而导致许多设备长期处于低效率、低功率因数运行的现状,变频控制提供了一种成熟、应用面广的高效节能新技术。   而SPWM(正弦波脉宽调制)波的产生和控制则是变频技术的核心之一。开始的SPWM生成技术是采用模拟电路构成三角波和正弦波发生电路,用比较器来确定他们的交点。这种方法电路复杂,精度较差,早已淘汰。后来人们采用单片机和微机生成SPWM波,但受硬件计算速度和算法计算量的影响,往往无法兼顾计算的精度和速度。再后来随着具有强大运算能力的DSP和一些新算法的出现,这一问题得到了较好地解决。   
[嵌入式]
基于<font color='red'>DSP</font>的SPWM直接面积等效算法的分析与实现
详解嵌入式系统技术核心:DSP器件
  嵌入式系统的目的是提供一个以多任务和网络为信心,易于开发的复杂数字系统。从数字技术和信息技术的角度看,嵌入式系统已成为现代信息网络技术应用的基础技术,已成为现代工控领域的基本技术。   使用嵌入式系统技术,不仅可以实现硬件和软件的优化集成,更主要的是提供了使用 “数字基因技术”的基本工具。从计算机和信息网络技术发展的角度看,嵌入式系统标志着网络化计算机时代的到来,标志着计算机应用进入了“通用元素”化和 “数字基因”化发展的新阶段,因此,嵌入式系统在计算机应用具有里程碑的意义。   本文将讨论DSP内核嵌入式系统或芯片的基本技术特征,以及这种嵌入式系统的应用技术特点。    以DSP为核心的嵌入式系统   嵌入式系统实际上就是
[嵌入式]
基于DSP无刷电动机控制系统设计
0 引 言 众所周知,直流电动机调速性能好,但存在机械换向装置易造成换向火花、电磁干扰及需要定期维护等不足;同步电动机效率高,功率因数可调,但存在启动困难,重载时易振荡失步等问题。 随着电力电子技术、计算机技术和新型永磁材料的不断发展,为提出一种利用电子换向原理实现永磁无刷电动机控制创造了条件。特别是近几年推出的数字信号处理器(DSP)芯片,解决了原来微处理器结构复杂,单片微处理速度达不到实时系统控制的要求,为无刷电动机的复杂算法提供了软硬件基础。 1 系统结构和工作原理 无刷电动机属于一种自控同步电动机,它主要由DSP电机专用高速处理器芯片、转子位置传感器、逻辑驱动电路、功率电子开关、电流和电压检测等装置组成。DS
[工业控制]
基于DSP的智能视频监控图像处理电路模块设计
  系统是采用TI TMS320C6211芯片处理通过摄像头拍摄并经过A/D转换后的图像。DSP对图像进行压缩后,由DSP的HPI口通过TI的PCI2040芯片上传到上位机主板上,与上位机的PCI总线进行通信。系统设计中关键是视频处理卡的设计,由于市场上能够买到的视频卡一般功能都有限,不能满足本项目的需求,故自行设计一块视频卡。   本监控系统采用一片TI的TPS3307-33D作为电源检测IC。该器件定义在其供电1.1V时其/Reset即可输出有效的信号。如图4所示,在本系统中,该电路可以完成对5V、3.3V和1.8V三种供电电压的监测,并可以对系统的三种器件(C6211、EPLD和 AT89C2051)同时进行上电复位和手工复
[嵌入式]
基于<font color='red'>DSP</font>的智能视频监控图像处理电路模块设计
数字信号处理器TMS320F241在变频空调中的应用
    摘要: 提出了一种基于TMS320F241数字信号处理器(DSP)的控制系统,可使变频空调实现全数字化调速。该系统充分利用DSP芯片具有高性能处理能力以及先进的控制技术,并用智能功率模块驱动空调压缩机,从而使其结构简单、运行性能好、噪声低、可靠性强。实验结果表明了该方案的可行性以及DSP应用于变频空调控制系统的优越性。     关键词: 数字信号处理器 变频空调 智能功率模块 目前,传统空调器仍然占空调器市场的主要地位。它由室温决定启、停控制方式,利用笼型机电控制压缩机调节冷气和暧气。但因压缩机转速恒定和采用简单的控制方式,因而使传统空调器有温度调节能力差、运行效率不高等缺点。因此我们采用DSP技术、交
[嵌入式]
DSP芯片介绍及其选型
引言 DSP芯片也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器具,其主机应用是实时快速地实现各种数字信号处理算法。根据数字信号处理的要求,DSP芯片一般具有如下主要特点: (1)在一个指令周期内可完成一次乘法和一次加法; (2)程序和数据空间分开,可以同时访问指令和数据; (3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问; (4)具有低开销或无开销循环及跳转的硬件支持; (5)快速的中断处理和硬件I/O支持; (6)具有在单周期内操作的多个硬件地址产生器; (7) 可以并行执行多个操作; (8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。 在我们设计DSP应用系统时
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved