前言
前面几篇文章,通过一个基带板配上带有射频的底板已经组成了一台卫星导航数字接收机,并且验证了它的基本功能,表明他已经具备了成为接收机的前提,本章对它的软件和硬件结构做一个整体的介绍。
硬件结构
GPS 接收机要实现定位功能,除了必备处理GPS 扩频信号的能力外,还应能提供观测量给导航解算模块。常用的观测量包括伪距、伪距变换量、载波相位和多普勒频率。下图是一个数字式接收机的结构。
接收机的信号处理是GPS 接收机的核心,它执行如下的功能:
(1)把接收信号分配到多个信号处理通道以进行多颗卫星的信号处理;
(2)产生PRN 码;
(3)捕获卫星信号;
(4)进行码跟踪和载波跟踪;
(5)从卫星信号中解调出导航电文;
(6)从卫星信号的PRN 码中提取码相位(伪距)观测量;
(7)从卫星信号的载波中提取载波频率(伪距变化率)、载波相位和伪距变化量等观测量;
(8)估计GPS 系统时间。
信号处理模块的输出是伪距、伪距变化率、伪距变化量和卫星的导航电文,所有的数据都为导航应用处理模块使用。
导航应用处理模块控制信号处理过程,并对信号处理模块输出的观测量进行数据处理以满足不同应用的需求。
电路框图如下
RFIC实现射频到中频信号的变换,FPGA作为相关通道进行数字信号处理,微处理器(ARM)完成基带信号处理的控制、导航电文提取和定位解算以及数据输出等功能。
软件架构
软件总体流程
软件总体流程图如图3,GPS信号在下变频之后经过A/D转换成为数字中频信号,这一中频信号包含了所有的GPS信息,软件流程就是获取这些信息的过程。
图3 接收机软件总体流程
GPS接收机软件实现过程包含了从数字中频信号进入FPGA到ARM解算得到导航定位结果的全部过程。在FPGA中的程序由VHDL语言编程实现,重点是相关器的设计;ARM中的软件由freeRTOS实时操作系统实现多任务处理,根据功能划分为八个任务和两个硬件中断,中断优先级高于任务,中断响应之后调用相应的任务,任务与任务之间通过邮箱传递信息,实现任务切换。
FPGA软件组成
FPGA要实现的功能有时钟生成,用于提供FPGA程序运行的时钟;时序生成,通过对本地时钟计数,在中断时刻到达时向DSP发出中断信号;DSP地址译码,为每个相关通道和串口输入输出分配地址,用于提供ARM的读写时序;捕获通道和相关通道,用于GPS中频信号的解调,是FPGA程序的关键。软件结构图见图4。
图4 FPGA程序结构图
总结
本文对接收机的硬件和软件框架做了一个大致的介绍,下一篇将讲解接收机的具体功能:GPS信号捕获的实现。