('GPS接收机-0183是美国国家海洋电子协会为海用电子设备制定的标准格式。GPS接收机-0183是美国国家海洋电子协会为海用电子设备制定的标准格式。它是在过去海用电子设备的标准格式0180和0182的基础上,增加了GPS接收机输出的内容而完成的。目前广泛采用的是Ver2.00版本。现在除少数GPS接收机外,几乎所有的GPS接收机均采用了这一格式。为了有效地开发GPS-OEM芯片,必须熟练掌握这一格式。因此,下面介绍两种最常用的GN-77N输出语句格式。a.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度;S(6)方位角(000~359度):240度;(7)信噪比(00~99dB):45dB(后面依次为第10,16,17号卫星的信息);*总和校验域;hh总和校验数:78;(CR)(LF)回车,换行。注:每条语句最多包括四颗卫星的信息,每颗GPS接收机卫星的信息有四个数据项,即:(4)-卫星号,(5)-仰角,(6)-方位角,(7)-信噪比。标签:无标签GPS输出数据的格式分析GPS接收OEM板的型号甚多、性能各异,但它们的GPS定位信息串行输出格式大多采用美国国家海洋电子协会制定的NMEA-0183通信标准格式。其输出数据采用的是ASCII码,内容包含了纬度、经度、高度、速度、日期、时间、航向以及卫星状况等信息,常用语句有6种,包括GGA、GLL、GSA、GSV、RMC和VTG。我们也可以通过GPS专用设置软件或普通的串口调试软件发送相应的命令语句给OEM板,把GPSOEM板设置为每隔若干毫秒发送哪种或哪几种NMEA语句,然后该OEM板将这些设置参数存储到板上的EEPROM芯片内,此后该OEM板将按照这些设置每隔相应的毫秒数发送出一个或几个GPS输出NMEA语句。根据不同的应用需要,设置选择不同的输出记录语句以及它们的发送时间间隔,如本系统我们只关心其时间、经纬度、海拔高度、地面速度信息以及卫星使用数信息,因而可只选用GGA,VTG记录语句并设成每1s发送一次。不过须注意,这些设置信息只在系统本次上电,并设置后方有效,在下次重新上电时需重新设置。一条$GPGGA语句包括17个字段:语句标识头,世界时间,纬度,纬度半球,经度,经度半球,定位质量指示,使用卫星数量,水平精确度,海拔高度,高度单位,大地水准面高度,高度单位,差分GPS数据期限,差分参考基站标号,校验和结束标记(用回车符和换行符),分别用14个逗号进行分隔。该数据帧的结构及各字段释义如下:$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>xx$GPGGA:起始引导符及语句格式说明(本句为GPS定位数据);<1>UTC时间,格式为hhmmss.sss;<2>纬度,格式为ddmm.mmmm(第一位是零也将传送);<3>纬度半球,N或S(北纬或南纬)<4>经度,格式为dddmm.mmmm(第一位零也将传送);<5>经度半球,E或W(东经或西经)<6>定位质量指示,0=定位无效,1=定位有效;<7>使用卫星数量,从00到12(第一个零也将传送)<8>水平精确度,0.5到99.9<9>天线离海平面的高度,-9999.9到9999.9米M指单位米<10>大地水准面高度,-9999.9到9999.9米M指单位米<11>差分GPS数据期限(RTCMSC-104),最后设立RTCM传送的秒数量<12>差分参考基站标号,从0000到1023(首位0也将传送)。语句结束标志符xx从$开始到之间的所有ASCII码的异或校验和回车换行对于VTG信息我们只需要以Km/h为单位的速度信息,就不再累述其格式。MTI-3板输出的信息可通过串口调试工具在PC机的超级终端中显示。如在PC机上看到的实时接收GPGGA语句为:$GPGGA,114641,3002.3232,N,12206.1157,E,1,05,12.9,53.2,M,11.6,M,,4A这是一条GPS定位数据信息语句,意思为世界(格林威治)时间为11时46分41秒,位置在北纬30度2.3232分,东经122度6.1157分,定位有效,接收到5颗卫星,水平精度12.9米,天线离海平面高度53.2米,所在地离地平面高度11.6米,校验和为4AH。从GPS板接收下来的数据流是文本字符串。可根据GPS输出数据NMEA-0183通信标准格式中定义的各种记录语句的结构组成特点,编制程序解析其中包含的有用信息。但在此需要强调的是,GPS输出记录中各ASCII码字段的位数可能随着实际测量计算出的定位数据的不同而有所变化,因此在进行识别、分解、解析记录中各字段时必须以逗号分割符“,”作为各字段的分割标志,而不应该以各字段的字符位数作为分割各字段的依据,否则将会导致严重的数据错位。转载:GPS的数据格式介绍新一篇:转载:GetWindowLong函数详解GPRMC(建议使用最小GPS数据格式)$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>1)标准定位时间(UTCtime)格式:时时分分秒秒.秒秒秒(hhmmss.sss)。2)定位状态,A=数据可用,V=数据不可用。3)纬度,格式:度度分分.分分分分(ddmm.mmmm)。4)纬度区分,北半球(N)或南半球(S)。5)经度,格式:度度分分.分分分分。6)经度区分,东(E)半球或西(W)半球。7)相对位移速度,0.0至1851.8knots8)相对位移方向,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>1)天空中收到讯号的卫星总数。2)定位的卫星总数。3)天空中的卫星总数,00至12。4)卫星编号,01至32。5)卫星仰角,OO至90度。6)卫星方位角,OOO至359度。实际值。7)讯号噪声比(C/No),00至99dB;无表未接收到讯号。8)Checksum.(检查位).第<4>,<5>,<6>,<7>项个别卫星会重复出现,每行最多有四颗卫星。其余卫星信息会于次一行出现,若未使用,这些字段会空白。“1串行通信每个PocketPC都配有一个串行端口,以便PocketPC与外部串行设备之间进行通信。串行端口的本质功能是作为芯片和串行设备之间的编码转换器。当数据从芯片经过串行端口发送出去时,字节数据被转换为串行的位。在接收数据时,串行的位将被转换为字节数据。WindowsCE使用了通信驱动程序Comm.drv,以便使用标准的WindowsAPI函数发送和接收数据。驱动程序通常由串口设备制造商提供,以便将硬件与WindowsCE连接。在程序设计中,模拟了一个COM6串口。先使用Comm6.PoxtOpen打开串口,设置Comm控件的属性,Timer触发OnComm接收GPS信号的事件,实现GPS信号的实时接收。GPS提供串行通信接口,串行通信参数为:波特率=57600bps,数据位=8位,开始位=1位,停止位=1位,无奇偶校验。2GPS数据格式NMEA0183协议是美国国家海洋电子协会(NationaIMarineElectronlcsAssociation)制定的GPS接口协议标准。NMEA0183定义了若干代表不同含义的语句,每个语句实际上是一个ASCII码串。这种码直观,易于识别和应用。在试验中,不需要了解NMEA0183通信协议的全部信息,仅需要从中挑选出需要的那部分定位数据,其余的信息忽略掉。GPS与掌上电脑通信时,通过串口每秒钟发送10条数据。实际导航应用读取GPS的空间定位数据时,可以根据需要每隔几秒钟更新一次经纬度和时问数据,不必频繁地更新数据,否则,会浪费掌上设备有限的电能。如果和卫星通信正常,可以接收到的数据格式如下:$GPGGA,,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,,<12>hh。其具体信息如表l所列。一个完整的NEMA0183语句是从起始符“$GPGGA”到终止符“”为止的一段字符串。需要掌握的信息是经纬度、经纬度方向、GPS定位状态和接收信号的时间。所以当接收到这样一个完整的NEMA0183语句时,提取有用信息的方法是:先判定起始符$GPGGA的位置,从起始符开始读人数据,再通过异或校验后的语句中寻找字符“,”,然后截取前后两个“,”之间的字符(串)获得所关心的数据,并以回车符为一个CPS语句的终止符,得到一个完整的GPS信号。在提取出的GPS语句中,找寻经纬度所在的逗号位置,读出经纬度坐标,再将经纬度坐标进行度数的转换。因为地图的坐标是以度数为标准的。”GPGSA(GPS精度指针及使用卫星格式)$GPGSA,<1>,<2>,<3>,<3>,,,,,<3>,<3>,<3>,<4>,<5>,<6>,<7>1)模式2:M=手动,A=自动。2)模式1:定位型式1=未定位,2=二维定位,3=三维定位。3)PRN数字:01至32表天空使用中的卫星编号,最多可接收12颗卫星信息。4)PDOP-位置精度稀释0.5至99.9.5)HDOP-水平精度稀释0.5to99.9.6)VDOP-垂直精度稀释0.5to99.9.7)Checksum.(检查位).$GPGGA,160000.000,3202.6258,N,12135.8964,E,0,00,0.0,73.2,M,,,,000032$GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.030$GPGSV,3,1,12,22,71,209,00,30,64,109,00,14,54,337,00,05,50,053,0079$GPGSV,3,2,12,18,36,161,00,25,25,259,00,01,21,306,00,09,12,054,0073$GPGSV,3,3,12,22,71,209,00,22,71,209,00,22,71,209,00,22,71,209,007A$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,,,,000033$GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.030$GPGSV,3,1,12,22,71,209,00,30,64,109,00,14,54,337,00,05,50,053,0079$GPGSV,3,2,12,18,36,161,00,25,25,259,00,01,21,306,00,09,12,054,0073$GPGSV,3,3,12,22,71,209,00,22,71,209,00,22,71,209,00,22,71,209,007A$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,,,,000030$GPRMC,062500.000,A,3853.4663,N,11527.4923,E,0.00,,161206,,,A75$GPGGA,062501.000,3853.4663,N,11527.4923,E,1,06,1.4,74.5,M,-10.3,M,,000040$GPGSA,A,3,08,17,20,28,11,04,,,,,,,2.3,1.4,1.93C$GPRMC,062501.000,A,3853.4663,N,11527.4923,E,0.00,,161206,,,A74$GPGGA,062502.000,3853.4663,N,11527.4923,E,1,06,1.4,74.5,M,-10.3,M,,000043$GPGSA,A,3,08,17,20,28,11,04,,,,,,,2.3,1.4,1.93C$GPRMC,062502.000,A,3853.4663,N,11527.4923,E,0.00,,161206,,,A77$GPGGA,062503.000,3853.4663,N,11527.4923,E,1,06,1.4,74.5,M,-10.3,M,,000042$GPGSA,A,3,08,17,20,28,11,04,,,,,,,2.3,1.4,1.93C$GPRMC,062503.000,A,3853.4663,N,11527.4923,E,0.00,,161206,,,A76$GPGGA,062504.000,3853.4663,N,11527.4923,E,1,06,1.4,74.5,M,-10.3,M,,000045$GPGSA,A,3,08,17,20,28,11,04,,,,,,,2.3,1.4,1.93C$GPRMC,062504.000,A,3853.4663,N,11527.4923,E,0.00,,161206,,,A71$GPGGA,062505.000,3853.4663,N,11527.4923,E,1,06,1.4,74.5,M,-10.3,M,,000044$GPGSA,A,3,08,17,20,28,11,04,,,,,,,2.3,1.4,1.93C$GPGSV,2,1,07,28,72,179,33,17,55,313,29,20,46,101,37,11,32,055,3374$GPGSV,2,2,07,04,31,234,39,09,09',)