GPS

GPS是全球卫星定位系统的简称,对于开发人员,最想知道的是GPS的数据输出,这里举例如下:
GPS 数据格式 GPRMC(建议使用最小GPS数据格式) $GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11><CR><LF> 1) 标准定位时间(UTC time)格式:时时分分秒秒.秒秒秒(hhmmss.sss)。 2) 定位状态,A = 数据可用,V = 数据不可用。 3) 纬度,格式:度度分分.分分分分(ddmm.mmmm)。 4) 纬度区分,北半球(N)或南半球(S)。 5) 经度,格式:度度分分.分分分分。 6) 经度区分,东(E)半球或西(W)半球。 7) 相对位移速度, 0.0 至 1851.8 knots 8) 相对位移方向,000.0 至 359.9度。实际值。 9) 日期,格式:日日月月年年(ddmmyy)。 10) 磁极变量,000.0 至180.0。 11) 度数。 12) Checksum.(检查位) GPGSV(所示卫星格式) $GPGSV, <1>,<2>,<3>,<4>,<5>,<6>,<7>,⋯<4>,<5>,<6>,<7>,<8><CR><LF> 1) 天空中收到讯号的卫星总数。 2) 定位的卫星总数。 3) 天空中的卫星总数,00 至 12。 4) 卫星编号, 01 至 32。 5) 卫星仰角, OO 至 90 度。 6) 卫星方位角, OOO 至 359 度。实际值。 7) 讯号噪声比(C/No), 00 至 99 dB;无表未接收到讯号。 8) Checksum.(检查位). 第<4>,<5>,<6>,<7>项个别卫星会重复出现,每行最多有四颗卫星。其余卫星信息会于次一行出现,若未使用,这些字段会空白。 GPGSA(GPS精度指针及使用卫星格式) $GPGSA,<1>,<2>,<3>,<3>,,,,,<3>,<3>,<3>,<4>,<5>,<6>,<7><CR><LF> 1)模式 2:M = 手动, A = 自动。 2)模式 1:定位型式 1 = 未定位, 2 = 二维定位, 3 = 三维定位。 3) PRN 数字:01 至 32 表天空使用中的卫星编号,最多可接收12颗卫星信息。 4) PDOP-位置精度稀释 0.5 至 99.9. 5) HDOP-水平精度稀释 0.5 to 99.9. 6) VDOP-垂直精度稀释 0.5 to 99.9. 7) Checksum.(检查位). GPS固定数据输出语句($GPGGA) 这是一帧GPS定位的主要数据,也是使用最广的数据。为了便于理解,下面举例说明$GPGGA语句各部分的含义。例1是用GN-77N和笔者开发的软硬件接口,在笔者所在地接收到的$GPGGA语句的内容。 例1:$GPGGA,050901,3931.4449,N,11643.5123,E,1,07,1.4,76.2,M,-7.0,M,,*65 其标准格式为:$GPGGA,(1),(2),(3),(4),(5),(6),(7),(8),(9),M,(10),M,(11),(12)*hh(CR)(LF) 各部分所对应的含义为: (1)定位UTC时间:05时09分01秒 (2)纬度(格式ddmm.mmmm:即dd度,mm.mmmm分); (3)N/S(北纬或南纬):北纬39度31.4449分; (4)经度(格式dddmm.mmmm:即ddd度,mm.mmmm分); (5)E/W(东经或西经):东经116度43.5123分; (6)质量因子(0=没有定位,1=实时GPS,2=差分GPS):1=实时GPS; (7)可使用的卫星数(0~8):可使用的卫星数=07; (8)水平精度因子(1.0~99.9);水平精度因子=1.4; (9)天线高程(海平面,-9999.9~99999.9,单位:m);天线高程=76.2m); (10)大地椭球面相对海平面的高度(-999.9~9999.9,单位:m):-7.0m; (11)差分GPS数据年龄,实时GPS时无:无; (12)差分基准站号(0000~1023),实时GPS时无:无; *总和校验域; hh 总和校验数:65 (CR)(LF)回车,换行。 b.可视卫星状态输出语句($GPGSV) 例2:$GPGSV,2,1,08,06,33,240,45,10,36,074,47,16,21,078,44,17,36,313,42*78 标准格式: $GPGSV,(1),(2),(3),(4),(5),(6),(7),…(4),(5),(6),(7)*hh(CR)(LF) 各部分含义为: (1)总的GSV语句电文数;2; (2)当前GSV语句号:1; (3)可视卫星总数:08; (4)卫星号:06; (5)仰角(00~90度):33度; (6)方位角(000~359度):240度; (7)信噪比(00~99dB):45dB(后面依次为第10,16,17号卫星的信息); *总和校验域; hh 总和校验数:78; (CR)(LF)回车,换行。 注:每条语句最多包括四颗卫星的信息,每颗卫星的信息有四个数据项,即: (4)-卫星号,(5)-仰角,(6)-方位角,(7)-信噪比。 GPGSV(所示卫星格式) $GPGSV, <1>,<2>,<3>,<4>,<5>,<6>,<7>,?<4>,<5>,<6>,<7>,<8><CR><LF> 1) 天空中收到讯号的卫星总数。 2) 定位的卫星总数。 3) 天空中的卫星总数,00 至 12。 4) 卫星编号, 01 至 32。 5) 卫星仰角, OO 至 90 度。 6) 卫星方位角, OOO 至 359 度。实际值。 7) 讯号噪声比(C/No), 00 至 99 dB;无表未接收到讯号。 8) Checksum.(检查位). 第<4>,<5>,<6>,<7>项个别卫星会重复出现,每行最多有四颗卫星。其余卫星信息会于次一行出现,若未使用,这些字段会空白。 “1 串行通信
每 个Pocket PC都配有一个串行端口,以便PocketPC与外部串行设备之间进行通信。串行端口的本质功能是作为芯片和串行设备之间的编码转换器。 当数据从芯片经过串行端口发送出去时,字节数据被转换为串行的位。在接收数据时,串行的位将被转换为字节数据。Windows CE使用了通信驱动程序 Comm.drv,以便使用标准的Windows API函数发送和接收数据。驱动程序通常由串口设备制造商提供,以便将硬件与Windows CE连 接。在程序设计中,模拟了一个COM6串口。先使用Comm6.PoxtOpen打开串口,设置Comm控件的属性,Timer触发OnComm接收 GPS信号的事件,实现GPS信号的实时接收。GPS提供串行通信接口,串行通信参数为:波特率=57 600 bps,数据位=8位,开始位=1位,停 止位=1位,无奇偶校验。
NMEA0183协议是美国国家海洋电子协 会(NationaIMarine Electronlcs Association)制定的GPS接口协议标准。NMEA0183定义了若干代表不同含 义的语句,每个语句实际上是一个ASCII码串。这种码直观,易于识别和应用。在试验中,不需要了解NMEA0183通信协议的全部信息,仅需要从中挑选 出需要的那部分定位数据,其余的信息忽略掉。
GPS与掌上电脑通信时,通过串口每秒钟发送10条数据。实际导航应用读取GPS 的空间定位数据时,可以根据需要每隔几秒钟更新一次经纬度和时问数据,不必频繁地更新数据,否则,会浪费掌上设备有限的电能。如果和卫星通信正常,可以接 收到的数据格式如 下:$GPGGA,<l>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<u>,<12>*hh<cR><LF>。 其具体信息如表l所列。

GPGSA(GPS精度指针及使用卫星格式)
$GPGSA,<1>,<2>,<3>,<3>,,,,,<3>,<3>,<3>,<4>,<5>,<6>,<7><CR><LF>
1)模式 2:M = 手动, A = 自动。
2)模式 1:定位型式 1 = 未定位, 2 = 二维定位, 3 = 三维定位。
3) PRN 数字:01 至 32 表天空使用中的卫星编号,最多可接收12颗卫星信息。
4) PDOP-位置精度稀释 0.5 至 99.9.
5) HDOP-水平精度稀释 0.5 to 99.9.
6) VDOP-垂直精度稀释 0.5 to 99.9.
7) Checksum.(检查位).
$GPGGA,160000.000,3202.6258,N,12135.8964,E,0,00,0.0,73.2,M,,,,0000*32
$GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30
$GPGSV,3,1,12,22,71,209,00,30,64,109,00,14,54,337,00,05,50,053,00*79
$GPGSV,3,2,12,18,36,161,00,25,25,259,00,01,21,306,00,09,12,054,00*73
$GPGSV,3,3,12,22,71,209,00,22,71,209,00,22,71,209,00,22,71,209,00*7A
$GPRMC,160000.000,V,3202.6258,N,12135.8964,E,0.00,0.00,110206,,*1A
$GPGGA,160001.000,3202.6258,N,12135.8964,E,0,00,0.0,73.2,M,,,,0000*33
$GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30
$GPGSV,3,1,12,22,71,209,00,30,64,109,00,14,54,337,00,05,50,053,00*79
$GPGSV,3,2,12,18,36,161,00,25,25,259,00,01,21,306,00,09,12,054,00*73
$GPGSV,3,3,12,22,71,209,00,22,71,209,00,22,71,209,00,22,71,209,00*7A
$GPRMC,160001.000,V,3202.6258,N,12135.8964,E,0.00,0.00,110206,,*1B
$GPGGA,160002.000,3202.6258,N,12135.8964,E,0,00,0.0,73.2,M,,,,0000*30
$GPRMC,062500.000,A,3853.4663,N,11527.4923,E,0.00,,161206,,,A*75
$GPGGA,062501.000,3853.4663,N,11527.4923,E,1,06,1.4,74.5,M,-10.3,M,,0000*40
$GPGSA,A,3,08,17,20,28,11,04,,,,,,,2.3,1.4,1.9*3C
$GPRMC,062501.000,A,3853.4663,N,11527.4923,E,0.00,,161206,,,A*74
$GPGGA,062502.000,3853.4663,N,11527.4923,E,1,06,1.4,74.5,M,-10.3,M,,0000*43
$GPGSA,A,3,08,17,20,28,11,04,,,,,,,2.3,1.4,1.9*3C
$GPRMC,062502.000,A,3853.4663,N,11527.4923,E,0.00,,161206,,,A*77
$GPGGA,062503.000,3853.4663,N,11527.4923,E,1,06,1.4,74.5,M,-10.3,M,,0000*42
$GPGSA,A,3,08,17,20,28,11,04,,,,,,,2.3,1.4,1.9*3C
$GPRMC,062503.000,A,3853.4663,N,11527.4923,E,0.00,,161206,,,A*76
$GPGGA,062504.000,3853.4663,N,11527.4923,E,1,06,1.4,74.5,M,-10.3,M,,0000*45
$GPGSA,A,3,08,17,20,28,11,04,,,,,,,2.3,1.4,1.9*3C
$GPRMC,062504.000,A,3853.4663,N,11527.4923,E,0.00,,161206,,,A*71
$GPGGA,062505.000,3853.4663,N,11527.4923,E,1,06,1.4,74.5,M,-10.3,M,,0000*44
$GPGSA,A,3,08,17,20,28,11,04,,,,,,,2.3,1.4,1.9*3C
$GPGSV,2,1,07,28,72,179,33,17,55,313,29,20,46,101,37,11,32,055,33*74
$GPGSV,2,2,07,04,31,234,39,09,09