全球卫星定位系统使用了一个巧妙而有效的方案解决了这一难题。每一颗卫星上仍然使用昂贵的原子钟,但接收机使用的是经常需要调校的普通石英钟。简言之,接收机接收来自四颗或更多卫星的信号并计算自身的误差。换句话说,接收机使用的“当前时间”必须是唯一值。正确的时间值的意义在于,使接收机收到的所有信号就好像都来自太空中的单一点。这一时间值是所有卫星上原子钟的统一时间。因此接收机就可以将自身的时钟调整到这一时间值,进而使接收机的时间与所有卫星上的原子钟相同。GPS接收机就可以“免费”获得原子钟的精确度。
当测量到四颗定位卫星到您所处位置的距离时,您就可以画出相交于一点的四个球面。即使您的数字有误差,三个球面仍然可能相交,但如果您的测量有误,四个球面就不可能相交于一点。由于接收机利用自身内置的时钟来测量所有的距离,距离测量会呈现一定的比例误差。
接收机可以轻易地计算出使四个球面相交于一点所进行的必要调整。基于此,接收机需要重新设置自身的时钟以便和卫星原子钟同步。接收机只要开启就处在不断的调整中,这也意着接收机几乎与卫星中昂贵的原子钟一样精确[10]。
接收机还必须知道卫星的确切位置。这并不是特别难办到的事,因为卫星运行在很高的既定轨道上。GPS接收机储存有星历,其作用是告诉接收机每颗卫星在各个时刻的位置。虽然一些外在因素,如月球和太阳的引力作用,会缓慢地改变卫星运行的轨道,但美国国防部会不断监控卫星的精确位置,并把任何调整信息都作为卫星信号的一部分传送给所有的GPS接收机。
虽然这一系统工作性能不错,但错误还是会不时发生。其中一个原因是,这一测量方式是建立在一种假设上的,即无线电信号会匀速(光速)穿过大气层。事实上,地球大气层在一定程度上减慢了电磁能量的传播速度,特别是当电磁信号进入电离层和对流层时。延迟状况因接收机在地球上所处地点的不同而不同,这意着很难将这一因素准确地纳入距离的计算中去。难题还在于无线电信号可能被大型物体反弹回去,例如摩天大楼,这将导致接收机计算出的与卫星的距离比实际的要远。最糟的情况是,有时卫星会发送错误的星历数据,误报自己的位置。
2.1.3 GPS接收机的参数
普通GPS接收机的发送数据周期为1s,波特率为115200bps。在航空航天及军用领域中,由于对于实时性和数据可靠性的要求更高,GPS接收机的性能也更强,发送周期可以达到50ms。
2.2 RS-232串口
2.2.1 RS-232串口通信标准概述
在计算机网络中,通信发生在不同系统的两个实体之间。所谓协议,就是指在数据通信时彼此共同遵守的规则的集合,或者,协议实际上是指实体间通信时所使用的一种语言[11]。
RS-232是美国电子工业协会(Electronic Industry Association,EIA)与1962年公布并与1969年修订的串行接口标准,它已经成为国际上通用的标准。
RS-232标准(协议)适合于数据传输速度在0~20000b/s范围内的通信。这个标准对于串行通信接口的有关问题,如信号电平、信号线功能、电气特性、机械特性等都作了明确的规定[12]。
2.2.2 RS-232串口接口连接器
由于RS-232并未定义连接器的物理特性,因此,出现了DB-25和DB-9各种类型连接器,其引脚的定义也各不相同。现在计算机上一般只提供DB-9连接器,都为公头。相应的连接器上的串口连接器也有公头和母头之分[13]。
RS-232的每一引脚都有它的作用,也有它信号的流动方向。原来的RS-232是设计用来连接调制解调器作为传输用的,因此它的引脚意义通常也和调制解调器传输有关。 基于MFC的GPS监测软件的设计+流程图(5):http://www.youerw.com/zidonghua/lunwen_2952.html