一种跨平台的卫星导航接收机软件系统的制作方法

文档序号:12061955阅读:313来源:国知局
一种跨平台的卫星导航接收机软件系统的制作方法与工艺

本发明属于通信领域,涉及一种卫星导航接收机软件系统,尤其涉及一种跨平台的卫星导航接收机软件系统。



背景技术:

卫星导航接收机接收GNSS或RDSS卫星信号,一般分为通用型、测绘型与定制型三种。通用型接收机要求实现基本的定位、测速与定时(PVT)功能,倾向采用轻量级、低功耗的ARM处理器基带芯片解决方案;测绘型接收机要求同时跟踪多系统多频点卫星信号,除实现基本PVT功能外,还需实现定向、测姿、RTK等功能,运算量大,倾向采用高性能DSP处理器;定制型接收机按用户具体要求定制,一般采用基于ARM或DSP处理器的通用SOC实现,例如中国专利CN102313891A公开了一种导航接收机,包括:射频模块、FPGA模块和ARM7模块;所述射频模块连接到所述FPGA模块,所述FPGA模块连接到所述ARM7模块;所述射频模块对接收到的基带信号进行处理得到数字中频信号,并将所述数字中频信号发送到所述FPGA模块;所述FPGA模块对所述数字中频信号进行处理,得到卫星的导航电文,并将所述导航电文发送到所述ARM7模块;所述ARM7模块对所述导航电文数据进行解算,得到导航信息。

综上所述,卫星导航接收机软件在不同的应用场合,需运行在不同架构的处理器上。一般地,不同处理器在指令集、中断控制、总线控制等方面存在较大差异,必然导致操作系统及板级支持包设计存在较大差异。因此,接收机软件作为功能实现的主体,在不同处理器平台上进行方便快速移植,是实现产品快速升级、针对不同应用场合灵活设计需要解决的问题。

现有技术:面向不同的处理器平台设计多套接收机软件,在保持核心算法相同的前提下,使用不同的操作系统调用接口、中断响应模式及外围设备驱动接口。

存在问题:多套软件在操作系统、板级支持包、中断服务等方面的实现方式存在较大差异,面对不同处理器平台、存储配置与外设方案可移植性差。开发人员需清晰了解不同平台的底层实现差异,难以进行专业化分工;开发团队需同时维护多个版本软件,难以快速应对多变的市场需求。



技术实现要素:

本发明提供了一种跨平台的卫星导航接收机软件系统,以克服现有技术的开发维护难度大、可移植性差的不足。

为实现上述目的,本发明提供了一种跨平台的卫星导航接收机软件系统,包括信号处理单元、信息处理单元、系统升级单元,所述信号处理单元包括GNSS信号处理部分、RDSS信号处理部分和公共部分;所述GNSS信号处理部分、所述RDSS信号处理部分的各业务模块分离,禁止大模块间的静态变量直接调用,各部分使用模块内部及外部接口头文件的方式固定各模块接口;

所述信息处理单元包括接口层、业务层、平台层及系统管理模块;所述平台层包含操作系统及支持接口、嵌入式文件系统及支持接口、底层驱动及板级支持包,用于操作底层硬件、与信号处理单元进行交互、实现多线程任务调度、隔离不同硬件平台与外设器件之间的差异、向上层软件提供接口统一的运行环境,在跨平台移植时需要对本层进行适应性修改;所述系统管理模块包括中断管理与存储管理模块,所述中断管理模块与存储管理模块在跨平台移植时需要进行修改;

所述系统升级单元分包括上位机模块和下位机模块:所述下位机模块由信息处理单元裁剪修改而成;所述上位机模块采用基于MFC对话框的架构,实现人机交互,包括人机界面、数据解析和串口收发三个模块。

所述GNSS信号处理部分分为五个模块:直流偏置抑制、窄带干扰抑制、捕获引擎、捕获确认和跟踪通道,用于GNSS卫星信号的捕获搜索、相关运算及北斗频点的抗窄带干扰处理。

所述RDSS信号处理部分具体细分为六个模块:抗窄带干扰、带通滤波器、幅度控制、捕获引擎、相关器通道、Viterbi译码,用于北斗卫星RDSS信号的抗窄带干扰,并进行捕获跟踪、维特比译码及电文解码,同时该模块实现L频点发射功能,执行RDSS入站操作。

所述接口层实现接收机与外部设备的交互接口,包含GNSS接口、RDSS接口、公共接口,所述每个接口的子模块内部再细分为通用标准接口和自定义接口。

所述系统升级单元分为接口层、业务层、平台层,所述系统升级单元平台层包括FPGA接口、串口驱动和Flash驱动;所述业务层包含升级操作模块,负责升级程序的固化;所述接口层只包含升级接口模块,负责串口数据收发和自定义升级协议解析。

所述信号处理单元部署在FPGA中运行,所述信息处理单元及系统升级单元的下位机模块部署在浮点DSP或定点ARM处理器中运行,所述系统升级单元的上位机模块部署在PC机上。

根据软件上述架构,本发明还提供了一种跨平台的卫星导航接收机软件系统的实现方法,包括如下步骤:

S1:将卫星导航接收机软件划分为信号处理单元、信息处理单元、系统升级单元;将所述信号处理单元划分为GNSS信号处理部分、RDSS信号处理部分和公共部分;将所述信息处理单元划分为接口层、业务层、平台层及跨层的系统管理模块;

S2:将硬件平台无关的模块直接移植,对硬件平台相关的模块做适应性修改。

进一步地,所述硬件平台相关的模块包括信号处理单元中的接口控制模块、信息处理单元中的平台层和系统管理模块中的中断管理模块、存储管理模块。

进一步地,所述步骤S2中的适应性修改包括对处理器、外部总线、Flash器件、SDRAM器件、FPGA器件、射频器件、RTC器件、文件系统、支持库的代码的修改。

优选的,所述软件系统可用于DSPC6713、DSPC6747或STM32F427平台。

本发明的有益效果是:

1)信息处理软件分层设计:分为平台层、业务层、接口层及系统管理部分,按功能划分独立目录存储各模块的源代码文件,使架构设计与源文件存放路径一一对应,保证软件架构清晰明了,设计与实现相呼应;

2)软件模块化设计:GNSS/RDSS各业务模块分离,禁止大模块间的静态变量直接调用,使用模块内部及外部接口头文件的方式固定各模块接口,提高模块级别可移植性;若以模块为单位进行移植,只需重新实现该模块调用的其他模块外部接口函数即可;

3)架构设计抽象出与硬件相关的平台层,初步抽象出操作系统接口与板级支持包接口,实现业务层、平台层与接口层分离,以适应平台变更;信息处理软件目前可兼容浮点DSPC6713、DSPC6747与定点ARM Cortex-M4F三种处理器平台,基于相同的平台层接口设计业务层与接口层软件,提高可移植性;

4)板级支持包以模块化方式搭建,适应不同的硬件解决方案,如各型射频芯片、Flash、RTC等;方便增加新型硬件接口,如惯导器件等;方便扩展各种物理通信接口,如串口、CAN口等;

5)接口层软件的搭建方式,可按协议内容属性,方便添加实现新的接口协议;

6)开放的软件架构及模块间的解耦,适当使用条件编译,以适应性能的不断提升完善及功能裁剪,如:GNSS/RDSS功能可裁剪、GNSS频点可裁剪、授权服务功能可裁剪、RDSS指挥机功能可裁剪等;

7)数据结构的合理设计使软件在卫星系统、信号频点、信号体制、通道扩展、观测量更新率、解算频率等多方面具有可扩展性;

8)在可移植性与可扩展性上具有大幅度提升。

附图说明

图1是本发明软件架构的组成框图;

图2是本发明软件架构的软件单元部署关系图;

图3是本发明软件架构的信号处理单元及信息处理单元的体系结构图;

图4是本发明软件架构的系统升级单元的体系结构图。

具体实施方式

为了更好的理解本发明所提出的技术方案,下面结合附图和具体的实施例对本发明作进一步阐述。

如图1所示,一种跨平台的卫星导航接收机软件系统,包括信号处理单元、信息处理单元、系统升级单元,所述信号处理单元包括GNSS信号处理部分、RDSS信号处理部分和公共部分;所述GNSS信号处理部分、所述RDSS信号处理部分的各业务模块分离,禁止大模块间的静态变量直接调用,各部分使用模块内部及外部接口头文件的方式固定各模块接口;

所述信息处理单元包括接口层、业务层、平台层及系统管理模块;所述平台层包含操作系统及支持接口、嵌入式文件系统及支持接口、底层驱动及板级支持包,用于操作底层硬件、与信号处理单元进行交互、实现多线程任务调度、隔离不同硬件平台与外设器件之间的差异、向上层软件提供接口统一的运行环境,在跨平台移植时需要对本层进行适应性修改;所述系统管理模块包括中断管理与存储管理模块,所述中断管理与存储管理模块在跨平台移植时需要进行修改。

如附图2所示,信号处理单元部署在FPGA中运行,信息处理单元及系统升级单元的下位机模块部署在浮点DSP或定点ARM处理器中运行,系统升级单元的上位机模块部署在PC机上。

如图3所示,信号处理单元划分为三部分:GNSS信号处理部分、RDSS信号处理部分和公共部分。

1)GNSS信号处理部分主要负责GNSS卫星信号的捕获搜索、相关运算及北斗频点的抗窄带干扰处理,具体细分为五个模块:直流偏置抑制、窄带干扰抑制、捕获引擎、捕获确认和跟踪通道。

2)RDSS信号处理部分主要负责完成北斗卫星RDSS信号的抗窄带干扰,并进行捕获跟踪、维特比译码及电文解码,同时该模块实现L频点发射功能,执行RDSS入站操作,具体细分为六个模块:抗窄带干扰、带通滤波器、幅度控制、捕获引擎、相关器通道、Viterbi译码。

3)公共部分负责GNSS和RDSS共用功能的实现,分为时间管理、中断管理及接口控制三个模块。时间管理负责内部RTC的实现、RNSS授权信号码流提取、本地时间调整控制以及对外授时接口控制。中断管理负责处理器外部中断信号的管理,相当于处理器外设中断,包括:捕获完成中断、500us定时中断、串口中断、RDSS IC卡中断。接口控制负责实现通用异步串口、同步串口、I2C总线和SPI总线的相应逻辑线路。

信息处理单元采用分层设计,包括接口层、业务层、平台层及跨层的系统管理模块。

1)系统管理:Bootloader及程序入口,提供启动流程控制、时间片调度、系统公共管理服务;包含系统状态管理、中断管理、存储管理、时间管理和公共函数;其中,中断管理与存储管理模块为硬件平台相关模块,跨平台移植时需要进行修改。

2)平台层:操作底层硬件,与信号处理单元进行交互,实现多线程任务调度,隔离不同硬件平台与外设器件之间的差异,向上层软件提供接口统一的运行环境。本层包含操作系统及支持接口、嵌入式文件系统及支持接口、底层驱动及板级支持包三个模块,跨平台移植时需要修改本层软件。

3)业务层:执行GNSS、RDSS实时业务处理,向下调用平台层接口进行硬件操作及消息传递,向上与接口层交互传递GNSS、RDSS业务信息。本层包括GNSS PVT解算、GNSS观测量处理、GNSS电文处理、GNSS捕获跟踪、RNSS授权信号码流控制、RDSS管理控制、RDSS出站控制、RDSS入站控制和RDSS IC控制;本层设计与硬件平台无关,跨平台移植时无须修改。

4)接口层:按具体协议规定,实现接收机与外部设备的交互接口,包含GNSS接口、RDSS接口、公共接口,每个子模块内部再细分为通用标准接口和自定义接口,可根据使用要求,方便添加各类接口协议;本层设计与硬件平台无关,跨平台移植时无须修改。

其中用虚线标识的模块为与硬件平台相关的软件模块(接口),移植时需要作相应修改;其他模块为与硬件平台无关的软件模块,可直接移植。

如图4所示,系统升级单元分上位机模块和下位机模块进行设计。下位机模块设计由信息处理单元裁剪修改而成。平台层驱动仅保留FPGA接口、串口驱动和Flash驱动;业务层只包含升级操作模块,负责升级程序的固化;接口层只包含升级接口模块,负责串口数据收发和自定义升级协议解析。上位机模块采用基于MFC对话框的架构,实现人机交互,包括人机界面、数据解析和串口收发三个模块。

根据上述架构,本发明还提供了一种跨平台的卫星导航接收机软件系统的实现方法,包括如下步骤:

S1:将卫星导航接收机软件划分为信号处理单元、信息处理单元、系统升级单元;将所述信号处理单元划分为GNSS信号处理部分、RDSS信号处理部分和公共部分;将所述信号处理单元划分为接口层、业务层、平台层及跨层的系统管理模块;

S2:将硬件平台无关的模块直接移植,对硬件平台相关的模块做适应性修改。

所述平台相关的模块包括信号处理单元中的接口控制模块、信息处理单元中的平台层和系统管理模块中的中断管理模块、存储管理模块。

所述步骤S2中的适应性修改包括对处理器、外部总线、Flash器件、SDRAM器件、FPGA器件、射频器件、RTC器件、文件系统、支持库的代码的修改。

按照上述的软件架构设计,在如下三个处理器平台上进行卫星导航接收机软件开发工作。与硬件平台无关部分软件保持一致,与硬件平台相关部分软件具体修改情况如下:

1、DSPC6713平台接收机配置及相应移植修改如下表所述。

2、DSPC6747平台接收机配置及相应移植修改如下表所述。

3、STM32F427平台接收机配置及相应移植修改如下表所述。

软件移植结果:

在三个硬件平台上运行的卫星导航接收机软件均能实现对GNSS系统(BD2、GPS、GLONASS)卫星信号的捕获、跟踪及电文解析,实现定位、测速、定时功能;实现BD2RDSS定位、通信、位置报告功能。软件架构保持一致,各模块接口清晰,满足跨平台移植使用的目标。

根据上述说明书的揭示和教导,本发明所属领域的技术人员还可以对上述实施方式的相关模块和软件架构做适应性变更和修改。因此,本发明并不局限于上面揭示和描述的具体实施方式,对发明的一些修改和变更也应当落入本发明的权利要求的保护范围内。此外,尽管本说明书中使用了一些特定的术语,但这些术语只是为了方便说明,并不对本发明构成任何限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1