基于FPGA的GPS数据采集器的设计与实现
2014-01-21陈育超黄海生
陈育超,黄海生,张 斌
(西安邮电大学 陕 西 西 安 7 10121)
全球定位系统(Global Position System,GPS)能够提供实时、全天候、全球性和高精度的服务,其广泛应用于各行各业中[1-2]。GPS接收机通过天线单元接收卫星信号,将信号进行带通滤波、下变频混频、AGC放大、A/D转换等一系列处理,得到数字中频信号,进而对中频信号进行捕获、跟踪,解调出用户的纬度、经度、高度、速度、时间等导航信息[3],将这些信息按NMEA-0183协议封装,通过串口输出数据。用户设备中的GPS接收器在收到GPS信息后,需要对相关信息予以解码处理[4],从而得到用户的位置、时间等信息,进而实现用GPS导航和定位的目的。近几年来,现场可编程门阵列(FPGA)凭借其开发过程投资少、设计周期短、灵活方便以及可反复编程等特点[5],在现代电子设计中得到了广泛应用。本设计选择现场可编程门阵列(FPGA)来实现GPS信号的解析处理。
1 NMEA-0183协议的数据格式
NMEA-0183是美国国家海洋电子协会(NMEA,The National Marine Electronics Association)为海用电子设备制定的标准格式,它现在已被广泛地应用于多个领域的设备之间的数据传输[6]。NMEA标准格式输出采用ASCII码,每个ASCII数据码长8位,串行通信的波特率为9600位/秒,数据位8位,开始位1位,停止位1位,无奇偶校验位。
NMEA-0183协议由语句组成,每条语句以字符“$”作为语句起始标志,数据之间以逗号相隔,字符“*”作为校验和前缀,最后以校验和数值和回车/换行字符结束。最常用的有6种语句格式:$GPGGA,$GPGLL,$GPGSA,$GPGSV,$GPRMC,$GPVTG.下面以推荐定位信息GPRMC语句为例介绍数据格式。语句的格式如下:
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*<13>
<1>UTC 时间,格式 hhmmss.sss(时分秒);
<2>定位状态,A=有效定位,V=无效定位;……
