基于DSP的GPS定位解算算法研究与实现
以下简要说明DSP的工作流程:
(1)DSP系统初始化,等待外部中断;
(2)中断到来,由外部中断4得到时间观测量,由外部中断5得到导航电文;
(3)对时间观测量和导航电文进行拼接组合,由时间观测量得到伪距信息,由导航电文计算卫星发射时刻的位置,其中包括观测卫星在WGS-84坐标系下的三维位置、仰角和方位角等;
(4)根据观测卫星的星历对伪距进行修正,并进行电离层和对流层校正等;
(5)根据定位原理,计算出用户的三维位置,校正本地时间,并将三维位置转换成所需要的坐标格式;
(6)通过McBSP串口输出定位结果,并对输出结果进行记录。
2.1 中断
中断是DSP系统的基本功能。一般而言,中断表明一个特别事件的开始或结束。一个DSP系统需要与多个事件打交道,这些事件可能是内部的,也可能是外部的,而这些事件发生的时间是不确定的,也就是这些事件可能是异步的。异步事件的发生具有时间上的不确定性,一旦异步事件发生,就要求DSP能够随之做出相应的反应和处理。中断就可以提供这样的一种机制,一旦异步事件发生,DP立即暂停CPU当前的处理任务,按预先的安排对该事件进行处理,处理完毕后,CPU再继续原来的任务。中断可以由外部设备产生,也可以由DSP内部产生。由硬件或软件驱动的中断信号可使DSP中止当前程序并执行另一个程序,该程序称为中断服务程序。
TMS320C6713的中断处理过程分为三个阶段:
(1)中断请求。当有中断请求时,DSP将IFR寄存器的相应位置1。
(2)中断确认。对于软件中断和不可屏蔽中断,CPU是立即响应的;对于可屏蔽中断,要满足下列条件才能响应:CSR寄存器的GIE位为0,IER寄存器的NMIE位为1,IER寄存器的相应位为1,优先级最高。
(3)中断处理。保护特定的寄存器,执行中断服务程序,完成后恢复寄存器。
如图2所示,在该系统的设计中,使用了外部中断4和外部中断5。每当DSP接收到中断请求,立即暂停CPU当前的处理任务,进入中断服务程序,处理完毕后,CPU再继续原来的任务。由外部中断4得到时间观测量,由外部中断5得到导航电文。DSP提供的中断是以中断向量表的形式出现的,该系统的部分中断向量表如下:
2.2 EMIF接口
EMIF是外部存储器与TMS320C6713片内单元间的接口。CPU访问片外存储器时一般通过EMIF接口,DSP的EMIF具有很强的接口能力。TMS320~C6713的EMIF接口有20根地址总线,32位数据总线,4个片选信号和多种控制信号,能够支持多种不同类型的外部存储器件。其中,每个片选空间是相对独立的,各自占用一段地址,能够适应不同速率的存储器件。
如图2所示,图中ED[31:0]表示数据总线,EA[21:2]表示地址总线,CE[3:0]为片选信号,AOE为输出使能信号,ARE为读使能信号,AWE为写使能信号。通过控制信号、数据总线和地址总线的配合使用,就可以完成DSP与外部存储器件的数据交换。
图3所示为TMS320C6713EMIF接口的读时序。图中读的建立需要两个时钟周期,之后每个触发需要两个时钟周期,在AlRE的下降沿,FPGA将时间观测量和导航电文放在数据总线上,在ARE的上升沿,也就是数据保持的中间时刻,DSP读取数据,这样就完成了FPGA与DSP的数据交换。
在该系统的设计中,时间观测量的帧格式如图4所示,导航电文的帧格式如图5所示,DSP由EMIF接口接收到时间观测量和导航电文之后,首先进行数据的拼接组合,由时间观测量得到伪距,由导航电文计算出卫星发射时刻的位置。
3 试验结果
在本设计的试验中使用了某种GPS卫星信号模拟器,采用信号直接注入的方法,模拟器模拟用户在WG-84坐标系下某静态位置。接收机经过射频前端模块、数字信号转换模块、基带信号处理模块之后,由EMIF接口将时间观测量和导航电文传给DSP,之后由DSP负责定位解算数据处理。在本系统中,导航电文每6 s发送1次,时间观测量每100 ms发送1次,即每秒进行10次定位解算。由McBSP串口发送连续1 000点定位解算结果,如图6所示,图6(a),(c),(e)为定位解算结果,图6(b),(d),(f)为定位解算结果与模拟位置距离之差。从图中可以看出,定位解算结果与模拟位置之差为5 m左右。
4 结语
本文设计的基于TMS320C6713的GPS定位解算可以完整的实现定位解算功能,但与高精度GPS接收机相比,由于跟踪环路的设计与电离层、对流层修正模型的区别,定位精度还是存在一定的差距,需要进一步改进。
算法 研究 实现 解算 定位 DSP GPS 基于 相关文章:
- 用FPGA实现FFT算法(06-21)
- FIR数字滤波器分布式算法的原理及FPGA实现(08-07)
- 基于算法的DSP硬件结构分析(04-02)
- 基于DSP的音频会议信号合成算法研究(05-10)
- 基于DSP的Max-Log-MAP算法实现与优化(05-27)
- 一种长序列小波变换快速算法的DSP实现(08-11)