首页> 中国专利> 寄生GPS解算程序和信息服务程序通信方法

寄生GPS解算程序和信息服务程序通信方法

摘要

本发明涉及全球卫星定位与导航领域,例如GPS系统,特别是一种利用虚拟串口实现寄生于同一微处理器的GPS定位解算软件与GIS软件之间通信方法,其方法包括:运行在外部微处理器上GPS定位软件通过虚拟的串口接口和运行在同一微处理器上的GIS进行交互通信,虚拟串口的波特率可以根据需求和系统性能进行配置。这种通信方法使得现有大量GIS服务程序不需要改动即可以直接适用于寄生型GPS接收机系统,不需要作特别的修改,方便灵活,大大提高了适用性,简化了设计,降低了设计和系统成本。

著录项

  • 公开/公告号CN101446633A

    专利类型发明专利

  • 公开/公告日2009-06-03

    原文格式PDF

  • 申请/专利权人 中国科学院微电子研究所;

    申请/专利号CN200710178319.3

  • 发明设计人 郑睿;鲁振鹏;李健;陈杰;

    申请日2007-11-28

  • 分类号G01S5/02(20080101);G01S5/14(20060101);H04H60/68(20080101);

  • 代理机构11021 中科专利商标代理有限责任公司;

  • 代理人周国城

  • 地址 100029 北京市朝阳区北土城西路3号

  • 入库时间 2023-12-17 22:01:59

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-03-27

    专利权的转移 IPC(主分类):G01S5/02 登记生效日:20180308 变更前: 变更后: 申请日:20071128

    专利申请权、专利权的转移

  • 2011-12-07

    授权

    授权

  • 2009-07-29

    实质审查的生效

    实质审查的生效

  • 2009-06-03

    公开

    公开

说明书

技术领域

本发明涉及全球卫星定位与导航领域,例如GPS系统,尤其涉及一种寄生于同一微处理器的GPS定位解算程序与信息服务程序通信方法的领域。

背景技术

全球卫星定位与导航系统,例如美国的全球定位系统(GPS),包括一组发送GPS信号的一个卫星星座(又被称为Navstar卫星),该GPS信号能被接收机用来确定该接收机的位置。卫星轨道被安排在多个平面内,以便在地球上任何位置都能从至少四颗卫星接收该种信号。更典型的情况是,在地球上绝大多数地方都能从六颗以上卫星接收该种信号。

获得接收机的位置坐标是接收机的主要任务,但不是最终目的。接收机需要以接收机的位置坐标为基础,为用户实现多种多样的信息服务,一个典型的应用就是地理信息服务(Geography Information Service,简称GIS),例如导航、规划,防盗等等。

GPS接收芯片是GPS接收机的核心部件,也是GPS接收机实现定位的关键之所在。目前市面上能够见到的GPS接收芯片可以分成两大类:自主型和寄生型。其最大的不同点在于,自主型GPS接收芯片内部包含了一个完整的微处理器,用于完成整个芯片的控制,一些必要的计算以及最终定位结果的获得。而寄生型GPS接收芯片需要利用整体系统中或者上位机中的微处理器才能完整自主性GPS接收芯片等同的工作。一个典型的情况是外部微处理器接收寄生型GPS接收芯片传递来的中间计算结果,利用定位解算程序计算出最终定位结果。由于寄生型GPS接收芯片内部不需要微处理器,而包含GPS接收芯片的系统中为实现GIS服务或其他应用往往拥有性能强大的微处理器,因此包含GPS接收芯片的成本和功耗相对于自主型GPS接收芯片有较大优势,特别是在手持移动等应用领域。

对于自主性GPS接收机而言,定位结果、时间、卫星状况等相关信息经过特定的编码经过特定的接口输入给外部系统或者上位机使用。一个业界通用的编码标准为NMEA0183协议。一个广为使用事实上的工业标准的输出接口为UART串口(RS232)。而典型的GPS接收机的接收方为外部系统处理器中运行的地理信息系统服务程序(GIS服务程序)。GIS服务程序利用来自GPS接收机传递来的定位结果、时间、卫星状况等相关信息实现定位、导航、测绘、测姿、授时等形式多样的服务。GPS接收机和GIS服务必须互相配合才能给用户提供完整的用户体验。对于寄生型GPS接收机而言,其GPS接收机和外部系统中运行的GIS服务程序配合为用户提供完整用户体验的基本架构没有变,只是将部分原本应该在接收机内部处理器实现的功能移至外部系统中的微处理器实现。换而言之,在外部系统微处理器中需要同时运行GPS定位解算程序和GIS服务程序。其中GPS定位解算程序负责利用寄生型GPS接收机传递来的中间计算结果计算出接收机定位结果以及时间、卫星状况等相关信息。由此带来的问题是如何实现运行在同一微处理器的GPS定位解算程序和GIS服务程序之间的通信。目前市面上已经有大量针对自主型GPS接收机的GIS服务程序。其典型的特点为通过串口和GPS接收机,如何让这些GIS服务软件也能服务于寄生型GPS接收机是一个重要的研究方向。

发明内容

本发明提出一种寄生GPS解算程序和信息服务用程序通信方法。

本发明提出的方法利用寄生型GPS定位解算程序在其宿主微处理器中虚拟一个串口,从而实现和信息服务程序的通信。

进一步地,方法中所述寄生GPS定位解算程序和信息服务程序通信共

存于同一微处理器中。

进一步地,方法中所述寄生虚拟串口为模拟物理串口的驱动程序,对其他软件而言具有等同于物理串口的所有属性,能够以物理串口相同的方式发送和接收信息。

进一步地,方法中所述寄生虚拟串口可以根据系统配置和性能需求的不同配置不同波特率。

进一步地,方法中所述波特率和消耗的系统资源成反比,和传输的性能成正比。

进一步地,方法中所述微处理器为GPS接收芯片外部系统所包含的。

这种通信方法使得现有大量信息服务程序不需要改动即可以直接适用于寄生型GPS接收机系统,不需要做特别的修改,方便灵活,大大提高了适用性,简化了设计,降低了设计和系统成本。

附图说明

图1是典型的寄生型GPS接收机的结构示意图;

图2是利用内存公共缓冲区在GPS定位解算程序和GIS服务程序之间进行通信的已有设计示意图;

图3是利用API在GPS定位解算程序和GIS程序之间进行通信的已有设计示意图;

图4是本发明一个较优实施例的利用虚拟串口在解算程序和GIS程序之间进行通信的设计示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。

为方便起见,下文中CPU均指微处理器;GIS服务程序均指信息服务程序;UART、RS232均指串口。

图1描述了一个典型的寄生型GPS接收机的结构示意图。本发明是针对这种构架下的GPS定位解算程序和GIS服务程序而言的。寄生型GPS接收机系统由GPS天线101,GPS射频芯片102,寄生型GPS基带接收芯片103和宿主处理器104组成。寄生型GPS接收机和普通GPS接收机最大不同寄生型GPS基带芯片中不包含微处理器,而是利用宿主处理器进行GPS的定位解算。GPS射频RF信号由GPS天线101接收后进入射频前端102,经过一系列转换成为数字中频交由基带处理部分103作基带处理。寄生型GPS基带芯片和普通GPS基带芯片一样,负责完成对GPS卫星的捕获、跟踪,导航电文的解调,计算出中间计算结果等工作。其中中间计算结果由通过GPS基带芯片相应接口交由宿主微处理器而不是内部微处理器完成解算定位。宿主微处理器上运行着操作系统108,以及在其为基础运行的GPS定位解算程序105,GIS服务程序106以及其他应用程序107。其中GPS定位解算程序负责利用寄生型GPS基带芯片传送过来的中间计算结果解算出接收机位置。而GIS服务程序则负责利用GPS定位解算程序获得的接收机位置进行诸如导航,行程规划等地理信息服务。对于普通GPS接收机而言,接收机位置等信息是通过符合诸如NMEA0183协议的特定标准编码通过诸如RS232的标准接口传递给外部微处理器,从而实现和GIS服务程序的通信。而对于寄生型GPS接收机,GPS定位解算程序和GIS服务程序间的通信因其共处于同一个微处理器,所以要复杂的多。使用何种通讯方式即可以适用于各种GIS服务程序,又能降低微处理器占用率是一个重要的研究方向。

图2描述了一个利用内存公共缓冲区在解算程序和GIS服务程序之间进行通信的已有设计示意图。宿主微处理器系统201等同于图1中的宿主微处理器104。微处理器内存204被划分成为定位信息205,程序堆栈206,程序缓存207以及其他用途208四个部分。其中定位信息是由GPS定位解算程序和GIS服务程序之间共享的区域,通过这块区域GPS定位解算程序和GIS服务程序得以实现通信。这种方法原理简单,但是缺点同样突出。首先GIS服务程序必须针对特定的GPS解算程序进行修改,制定特定的共享区间重新编译后才能实现和GPS定位解算程序之间的通信。换而言之,使用这种通信方式的寄生型GPS只能跟特定的GIS服务程序搭配实现地理信息服务,从而限制了寄生型GPS接收机的使用范围。另外在内存中开辟这样的一块区域容易影响其他城区从而导致系统崩溃,同时资源利用率不高。

图3描述了一个利用API在GPS定位解算程序和GIS服务程序之间进行通信的已有设计示意图。宿主微处理器系统301同样等同于图1中的宿主微处理器104。GPS定位解算程序302和GIS服务程序303在操作系统305之上运行,分别通过各自的API接口306和307与操作系统之间通信。同时GPS定位解算程序和GIS服务程序之间也通过自定义的API接口得以实现通信。这种方法相对图2描述的方法安全性和鲁棒性有所提高,但是缺点却和图2描述的方法类似。首先GIS服务程序必须经过修改,适应GPS定位解算程序特定的API接口才能实现和GPS定位解算程序之间的通信。换而言之,使用这种通信方式的寄生型GPS只能跟特定的GIS服务程序搭配实现地理信息服务,从而限制了寄生型GPS接收机的使用范围。

图4描述了本发明的一个较优实施例利用虚拟串口在GPS定位解算程序和GIS服务程序之间进行通信的示意图。宿主微处理器系统401同样等同于图1中的宿主微处理器104。和图3所示的方法类似,GPS定位解算程序402和GIS服务程序403在操作系统405之上运行,分别通过各自的API接口406和407与操作系统之接通信。但是GPS定位解算程序和GIS服务程序之间不是通过API接口进行通信,而是利用虚拟串口实现通信。所述虚拟串口是指模拟物理串口的驱动程序,对其他软件而言具有等同于物理串口的所有属性,能够以物理串口相同的方式发送和接收信息。通过这类软件可以实现不同波特率下的接收、发送信息等一系列操作。其具体的实现方式已经有很多种,且有大量免费的开源程序提供,所有的支持串口的操作系统的理论上都实现虚拟串口的功能。事实上,市面上常用的操作系统,例如windows系列包括其掌上产品如windows mobile、windowssmartphone;linux及其各种发行版、简化版;sybian等等都已经有实现虚拟串口的例子。进一步地,实现虚拟串口也并不一定需要操作系统的支持,只是在操作系统下可以更方便的实现。目前市面上几乎所有的GIS服务软件都支持通过串口输入的NMEA0183协议,拥有自动识别串口的功能。因此这类GIS服务软件不需要任何改动就直接可以与有虚拟串口功能的寄生GPS解算软件通信。换而言之,使用虚拟串口的寄生GPS系统可以与任何支持串口的GIS服务程序搭配使用,从而大大提高了寄生GPS系统的适用性。

这种方法相对图2描述的方法安全性和鲁棒性都大大提高,不会因为写入非法内存地址导致系统崩溃,同时适用性大大提高。所述方法针对于图3描述的方法虽然执行效率上可能不及API方式高,但适用性大大提高,应用系统开发成本能够有效降低。本发明提出的方法所付出的代价是值得的。

进一步地,用以实现GPS定位解算程序和GIS程序之间进行通信虚拟串口,其波特率可以根据需求和外部CPU的性能进行配置。波特率越高,传输的性能越好,能够传输的数据量越大,数据输出的延迟越小,但是同时对于CPU资源的消耗越大。通过对虚拟串口波特率的设置,用户或者系统可以在性能和资源之间进行平衡,选取最优点。

尽管本发明的方法和装置是参照GPS卫星来描述的,但应当理解,这些原理同样适用于采用假卫星(pseudolites)或卫星与假卫星的组合的定位系统。假卫星是一种基于地面的发射机,它传播调制在L频段在波信号上PN码(与GPS信号相似),并且通常是与GPS时间同步的。每一发射机可以被赋予一个独特的PN码,从而允许由远端接收机进行识别。假卫星用在这样的情况下,即,来自轨道卫星的GPS信号缺失,如隧道、矿山、建筑物或者其他的封闭区及明显遮挡。这里所使用的术语“卫星”包括假卫星或假卫星的等效,而这里所使用的术语GPS信号包括来自假卫星或者假卫星等效的类似GPS的信号。

在前面的讨论中,本发明是参照美国全球定位系统(GPS)来描述的。然而,应当理解,这些方法同样适用于类似的卫星定位系统,如俄罗斯的格洛纳斯(Glonass)系统,欧洲的伽利略(Galileo)系统和中国的北斗1及北斗2系统。所使用的术语“GPS”还包括这样一些卫星定位系统,如俄罗斯的格洛纳斯(Glonass)系统,欧洲的伽利略(Galileo)系统和中国的北斗1及北斗2系统。术语“GPS信号”包括来自另一些卫星定位系统的信号。

上文中,已经描述了利用虚拟串口实现寄生于同一微处理器的GPS定位解算软件与GIS软件之间通信方法。尽管本发明是参照特定实施例来描述的,但很明显,本领域熟练人员,在不偏移权利要求书所限定的发明范围和精神的情况下,还可以对这些实施例作各种修改和变更。因此,说明书和附图是描述性的,而不是限定性的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号