Software GPS原理及应用
Software GPS的原理
所谓Software base 全球卫星定位方案,简单地说就是将软件移植到主机(Host base)上执行,以分享*处理单元(CPU)、存储芯片等,进而达到省电、低成本、低功耗及small board level size的需求。其架构可由图3表示:
这样的方案只需要外部一个射频芯片,其它都是利用主机(Host base)的固有资源。前端射频芯片将射频信号降到基带适用的频率,再经由模拟/数字转换器将信号快速取样出来,一般是由SPI (serial port interface)或SD Interface接到主机上的*处理单元,接着由移植到Host processor的量测演算单元(Measurement Engine)将射频取样信号转换出原始的GPS各种量测信息(raw GPS measurements),再由导航演算单元(Navigation Engine)计算出所有的定位资料、速度和时间等。在硬件部分,一般冷开机模式下大约需share掉主机上的*处理单元约占50MIPS~400MIPS不等,不同厂家的方案会有不同的系统需求。
Software GPS的应用
本节将以一个RF Micro Devices之RF8110为设计实例来说明Soft GPS之技术应用,由前一环节所述的原理可知,Soft GPS需要将其计算软件移植到Host端的应用处理器上。其硬件架构如图4所示。
接着,我们再选用INTEL XScale的PXA-27X为Host的应用处理器,并以Single SPI (Serial Port Interface)模式来加以说明,其界面的明确接线如下:
在这个应用范例中,这个接口使用4-wire SPI slave port来传送控制信号及GPS的数据流。其中MISO (Master In Salve Out)及MOSI (Master Out Slave In)分别作为单向GPS串行数据传输用,而SPI RDY则告诉Host其GPS数据流己available,然后Host就要下read命令。在软件移植上,则由图6做说明。
RF8110 提供可移植性高的ANSI C sGPS library,负责从GPS取样信号中计算出位置、速度及时间,sGPS Library与系统软件的接口为SAL(System Abstraction Layer)。Host端并可以在其上开发导航应用软件,可以只是简单的NMEA输出,或是到复杂的地图导航。
Aiding GPS
辅助式全球卫星定位系统的好处主要有两方面:一是提供更便捷、快速的TTFF性能,二是在卫星信号强度极弱的状况下,持续提供定位导航。如前文所述,一个几何定位的计算主要是由伪距(pseudorange,一个纯量的距离)和各个卫星方位、航向(方向)组合成向量所计算得出,伪距的求得是依据接收端与卫星间识别码的时间差而得到。
而卫星的方位航向,是由卫星所送出的Ephemeris及Almanac得到。当卫星信号强度衰减到-155dBm~160dBm的大小时,卫星所送出的Ephemeris及Almanac资料已无法被正确的解调出来,这时就可以使用辅助式的定位机制。一般而言,辅助资料有:(1)Time Aiding,可以辅助识别码的辨认,增加伪距的准确度;(2)Ephemeris/Almanac Aiding,在弱信号状况下由其它系统(移动通信系统或互联网等)提供资料。
图7所示是一个利用移动通信系统作为媒介来提供time aiding及Ephemeris/Almanac aiding data的示意图,此种架构必须与基地台(即移动通信系统的服务供应商紧密配合)。而图8所示则是另外一种架构,由GPS供应商设置Server,然后通过互联网,使用HTTP protocol作为媒介来提供aiding data,这种方式的好处是不必直接跟移动通信系统的运营商做深度的技术整合,而可以由任一个LBS(Location Base Service)服务厂商通过GPRS来提供aiding data及service。
结 语
本文主要阐述了softGPS如何克服传统方案、standalone GPS应用在手持移动设备上的瓶颈,并说明Soft GPS的原理及其应用。在讲究尺寸,功耗及性能的移动设备上,Soft GPS以仅仅单一射频芯片及可移植性高的运行软件来搭配上Host端的应用处理器,可以容易地达到在尺寸、功耗及性能上的各项要求,使得卫星定位系统内建在Smart Phone、PDA更为普遍。