摘 要: GPS定位信号的提取可以用VB,VC实现,但实际应用时会比较难用。利用C#语言提供的SerialPort类非常简单地实现了GPS定位信号的提取。
关键词: GPS定位信号;C#;SerialPort
全球定位系统(GPS)是一种基于空间卫星导航系统,可在地球上和地球附近提供全天候的位置和时间信息的服务。GPS系统具有高效率、多功能、高精度、操作简便、应用广泛等特点。因此,GPS不仅诸多民用领域广泛应用,在军事领域方面应用更为广泛。
1 GPS信号的格式
GPS接收机工作时会将接收到的GPS导航定位信息通过串口存放在缓存中。只有通过编写程序将各个字段的信息从缓存字节流中提取出来,才能将其转化成我们需要的数据。同任何通讯协议一样,也是通过帧结构完成对各种GPS定位信息的提取。对于本文所使用的GARMIN GPS天线板,它发送到计算机的数据主要由帧头、帧尾和帧内数据组成。帧头表明了后续帧内数据结构的组成。每帧都是用回车符和换行符作为帧尾结束标识。“$GPRMC”帧包含了经纬度、速度、时间等定位数据,我们可以通过处理帧头为“$GPRMC”的数据来获得我们需要的定位数据。如果我们需要的数据在其它帧中时,我们则需要处理相应的帧就可以。处理方法与本文中处理“$GPRMC”帧一样。帧头为“$GPRMC”帧的结构中主要包含了时间、位置、纬度、日期、速度等信息。
本文通过用C#语言编写了利用串口来提取GPS信息的程序,在实验时采用的GPS76接收,GPS76的指标为:定位时间、定位精度、动态性能、速度精度。
2 利用C#通过串口提取GPS信息
作为一个基本的串口通信程序,程序需要包含串口选择,波特率选择,打开,关闭,接受数据,显示。
下面开始具体讲解