NMEA-0183GPS定位信息显示系统方案设计
GPS NEMA 0183 协议解析说明
GPS_NMEA0813协议解析1 信息源标识(Talker Identifiers)2 语句标识符与格式(Sentence Identifiers and Formats)在此,只列出语句标识符及中文解释,具体格式内容详见各设备相关语句。
3 属性语句(Some Proprietary Sentences)4 NMEA0813 GPS相关4.1 信息源4.2 GPS相关语句NMEA 0183 输出语句包括GGA、GSA、GSV、RMC 、VTG、GLL。
可通过GPS串口调试软件发送相应的命令语句给GPS OEM 板,此后GPS OEM板会跟据设置参数决定每隔若干毫秒发送哪种或哪几种NMEA 语句。
4.2.1 GGA格式解析例:$GPGGA,062320,3537.8333,N,13944.6667,E,0,00,99.9,0100,M,,M,000,0000*7D111 2 3 4 5 6 7 8 9 10| 12 13 14 15| | | | | | | | | | | | | | |$--GGA,hhmmss.ss,llll.ll,a,yyyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxxx*hh1) UTC时间2) 纬度3) N=北纬S=南纬4) 经度5) E=东经W=西经6) GPS性能指示0=未定位1=误差分定位信息2=带差分定位信息7) 使用卫星号00-128) 精度百分比9) 大地水准面高度10) 天线高度单位米12) 高度单位米13) 带差分GPS定位数据时间,未使用DGPS时此字段为空14) 差分站ID号0000-102315) 校验位4.2.2 GSA格式解析例:$GPGSA,A,1,,,,,,,,,,,,,99.9,99.9,99.9*091 2 3 14 15 16 17 18| | | | | | | |$--GSA,a,a,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x.x,x.x,x.x*hh1) 选择模式M=手动A=自动2) 当前状态1=无定位信息2=2D 3=3D3) 使用卫星号14) 使用卫星号2...14) 使用卫星号1215) 位置精度米16) 水平精度米17) 垂直精度米18) 校验位4.2.3 GSV格式解析例:$GPGSV,1,1,00,,,,,,,,,,,,,,,,*791 2 3 4 5 6 7 n| | | | | | | |$--GSV,x,x,x,x,x,x,x,...*hh1) GSV语句的总数目2) 当前GSV语句总数3) 显示卫星的总数目4) 卫星的PRV号星号5) 卫星仰角6) 卫星旋角/方位7) 信噪比... 更多颗卫星数据省略,其中每颗卫星数据包括<4>星号<5>仰角<6>旋角<7>信噪比n) 校验位4.2.4 RMC格式解析例:$GPRMC,062321,V,3537.8333,N,13944.6667,E,000.0,000.0,030222,,*0C $GPRMC,154916,A,3140.0488,N,12112.8300,E,000.0,000.0,080416,,,A*7D121 2 3 4 5 6 7 8 9 10 11 || | | | | | | | | | | | $--RMC,hhmmss.ss,A,llll.ll,a,yyyyy.yy,a,x.x,x.x,xxxx,x.x,a*hh1) UTC时间2) 状态位V=导航报警接收器3) 纬度4) N=北纬S=南纬6) E=东经W=西经7) 对地速度哩/小时8) 航迹度数真实9) 日期日月年10) 磁变度数11) E=东经W=西经12) 校验位4.2.5 VTG格式解析例:$GPVTG,000.0,T,,M,000.0,N,000.0,K*601 2 3 4 5 6 7 8 9| | | | | | | | |$--VTG,x.x,T,x.x,M,x.x,N,x.x,K*hh1) 轨迹度数2) T=真实3) 轨迹度数4) M=磁罗经5) 速度哩/小时6) N=哩/小时7) 速度千米每小时8) K=千米每小时9) 校验位4.2.6 GLL格式解析例:$GPGLL,3537.8333,N,13944.6667,E,062321,V*3A1 2 3 4 5 6 7| | | | | | | $--GLL,llll.ll,a,yyyyy.yy,a,hhmmss.ss,A*hh1) 纬度2) N=北纬S=南纬3) 经度4) E=东经W=西经5) UTC时间6) 状态位A-数据有效V-数据无效7) 校验位4.2.7 ZDA格式解析例:$GPZDA,062321,03,02,2022,,*4F1 2 3 4 5 6 7| | | | | | |$--ZDA,hhmmss.ss,xx,xx,xxxx,xx,xx*hh1) 当地时区分钟描述,类似于当地时间2) 当地时区描述0- +/-13小时3) 年4) 月1-125) 日1-316) UTC时间4.2.8 RMO格式解析1 2 3| | |$PGRMO,ccccc,c*hh1) 目标语句描述2) 目标语句模式0=指定语句不可用1=指定语句可用2=所有不可用3=所有输出语句可用3) 校验位4.2.9 RME格式解析1 2 3 4 5 6 7| | | | | | |$PGRME,x.x,M,x.x,M,x.x,M*hh1) Estimated horizontal position error (HPE) 水平估计位置错误2) Unit, metres 单位米3) Estimated vertical error (VPE) 垂直估计错误4) Unit, metres 单位米5) Overall spherical equivalent position error 全球等效位置错误6) Unit, metres 单位米7) Checksum 校验位4.2.10 RMF格式解析10 12 151 2 3 4 5 6 7 8 9 | 11| 13 14 |16| | | | | | | | | | | | | | | | $PGRMF,x.x,x.x,ddmmyy,hhmmss,x.x,ddmm.mmmm,c,dddmm.mmmm,c,c,c,x.x,x.x,c,c*hh1) GPS week number (0 - 1023) 定位周期号0-10232) GPS seconds (0 - 604799) GPS秒0-6047993) UTC date of position fix 安装位置的UTC日期4) UTC time of position fix 安装位置的UTC时间5) GPS leap second count GPS闰秒数6) Latitude 纬度7) N or S 北纬或南纬8) Longitude 经度9) E or W 东经或西经10) Mode 模式M=手动A=自动11) Fix type 安装类型0=未固定1=2D固定2=3D位置12) Speed over ground, 0 to 999 kilometers/hour 对地速度0-999千米每小时13) Course over ground, 0 to 359 degrees, true 对地方位0-359度真实14) Position dilution of precision, 0 to 9 (rounded to nearest integer value) 位置精确百分比0-915) Time dilution of precision, 0 to 9 (rounded to nearest integer value) 时间精确百分比0-916) Checksum 校验位4.2.11 RMI格式解析1 2 3 4 5 6 7| | | | | | |$PGRMI,ddmm.mmm,N,ddmm.mmm,E,ddmmyy,hhmmss*hh1) Latitude 纬度3) Longitude 经度4) E or W 东经或西经5) Current UTC date 当前UTC日期6) Current UTC time 当前UTC时间7) Checksum 校验位4.2.12 RMM格式解析1 2| |$PGRMM,c---c*hh1) Currently active horizontal datum (WGS-84, NAD27 Canada, ED50, a.s.o) 现行水平数据-WGS-842) Checksum 校验位4.2.13 RMT格式解析1 2 3 4 5 6 7 8 9 10| | | | | | | | | |$PGRMT,c...c,c,c,c,c,c,c,x.x,c*hh1) Product, model and software version 产品、模型、软件版本2) Rom checksum test ROM校验检测P=通过F=失败3) Receiver failure discrete 接收器失败P=通过F=失败4) Stored data lost 存储数据丢失R=保持L=丢失5) Real time clock lost 真实时间丢失R=保持L=丢失6) oscillator drift discrete 振荡频率漂移P=通过F=检测出额外的漂移7) Data collection discrete 数据搜集C=正在搜集中如果没有搜集则为NULL8) Board temperature in degrees C 面板温度摄氏度9) Board configuration data 面板配置数据R=保持L=丢失10) Checksum 校验位4.2.14 RMV格式解析1 2 3 4| | | |$PGRMV,x.x,x.x,x.x*hh1) True east velocity, -999.9 to 9999.9 meters/second 真实的向东速率2) True north velocity, -999.9 to 9999.9 meters/second 真实的向北速率3) Up velocity, -999.9 to 9999.9 meters/second 向上速率4) Checksum 校验位4.2.15 RMZ格式解析1 2 3 4| | | |$PGRMZ,x.x,f,h*hh1) Altitude 海拔高度2) Unit, feets 单位英尺3) Position fix dimensions 位置安装尺寸2 user altitude 用户高度3 GPS altitude GPS高度4) Checksum 校验位5.1 信息源5.2 罗经相关语句罗经分为磁罗经和电罗经两种,航海船舶一般都会安装两种罗经。
nmea 0183 标准
nmea 0183 标准NMEA 0183 标准。
NMEA 0183 标准是一种用于船舶和航海设备之间通信的电子数据标准。
它由National Marine Electronics Association(NMEA)制定,旨在提供一种统一的数据格式,以便不同制造商生产的设备之间可以进行数据交换和通信。
NMEA 0183 标准已经成为船舶和航海设备行业的主流标准,被广泛应用于全球各种船舶和航海设备中。
NMEA 0183 标准采用了一种基于ASCII字符的数据格式,用于传输位置、导航、速度、时间等信息。
它定义了一系列数据语句(Sentence),每个语句包含特定的信息,如GPS位置、航向、航速、时间等。
这些语句以特定的格式和规则进行组织和传输,以确保设备之间可以正确解析和处理这些信息。
NMEA 0183 标准定义了一些常用的数据语句,如GGA、RMC、VTG、GSA 等,每个语句都有特定的格式和含义。
例如,GGA语句包含了GPS定位信息,包括经纬度、海拔高度等;RMC语句包含了推荐的最小定位信息,包括地面速度、地面航向、日期、时间等。
通过这些语句,不同设备可以相互交换位置和导航信息,实现船舶和航海设备之间的数据通信和协作。
NMEA 0183 标准还定义了数据传输的物理接口和电气特性,包括串行通信接口、电压电平、数据传输速率等。
这些规范确保了不同制造商生产的设备可以在物理层面进行连接和通信,从而实现数据的交换和共享。
总的来说,NMEA 0183 标准为船舶和航海设备之间的数据通信提供了一种统一的解决方案,使得不同设备可以相互交换位置、导航、速度、时间等信息。
它的广泛应用促进了航海设备的互联互通,提高了船舶的安全性和效率,成为船舶和航海设备行业的重要基础设施之一。
随着技术的不断发展,NMEA 0183 标准也在不断更新和完善,以适应新的应用需求和技术发展。
基于GPS的校园巡航定位系统模型设计
基于GPS的校园巡航定位系统模型设计【摘要】项目采用基于nmea-0183协议的gps模块作定位的数据采集部分,设计制作出一套能够实现校园定位的系统模型,为日后学校继续深入研究校园gps应用指明研究方向,奠定算法基础,以便日后加以改进后能正式投入应用,或应用于校园导航或应用于校园车辆监控。
【关键词】gps;校园巡航定位系统;设计一、gps校园巡航定位系统硬件设计方案我们设计了一套硬件系统,发送模块作为手持终端,接收模块接收手持终端传来的数据并送至pc,在pc软件界面中观察手持终端的位置信息,从而实现定位功能。
硬件设计方案如下图所示:(1)接收在线数据。
此模块通过打开现存在的串口,从而实时的接收下位机上传的定位数据。
对现有串口进行打开的时候,必须设置波特率,校验位,停止位等相关参数。
(2)接收离线数据。
此模块是用于读取已经采集的定位数据,只能进行离线数据的解析。
(3)提取经纬度。
软件只针对gprmc的定位信息进行解析,其他类型的定位信息过滤掉。
从而提取出有效的经纬度。
(4)显示位置。
通过提取到的有效经纬度,根据已知点的经纬度,从而计算出现有经纬度在地图上的位置,从而显示出来二、项目研究过程中的难点及解决途径,应用的关键技术1.硬件设计过程中遇到的问题及解决方法。
硬件程序设计中的难点是数据传输方面的问题,gps模块与单片机进行通信把信息数据传入单片机,单片机把数据放入其外部缓存,无线数据传输模块再将数据从单片机缓存区中取出放入自己的数据寄存器然后打包发送,这之间遇到的问题是数据传输过程中的格式问题。
nrf905在进行数据传输时是先把数据放入数组里再进行传输并且它只能以十六进制的数据形式发送数据,而gps模块接收到的数据虽然是16进制的,但没有添加0x标志,这样nrf905发送出的数据就会是乱码。
我们采取的解决方案就是把接收到的数据进行从16进制到ascii码的整形,这样数据就有了统一格式,问题也得到了解决。
NMEA0183 协议
NMEA0183 协议NMEA0183协议一、引言NMEA0183协议是一种用于航海和船舶导航设备之间进行数据交换的通信协议。
该协议定义了数据格式、语句结构和通信规则,旨在实现不同设备之间的互操作性和数据共享。
本协议旨在确保数据的准确性、一致性和可靠性,以提高航海安全和导航效率。
二、术语和定义1. NMEA:National Marine Electronics Association,美国国家海洋电子协会。
2. 数据帧:NMEA0183协议中的数据传输单位,由起始字符、数据字段和结束字符组成。
3. 语句:由数据帧组成的完整数据包,包含特定的数据类型和信息。
4. 起始字符:数据帧的第一个字符,用于标识数据帧的开始。
5. 数据字段:数据帧中包含的具体数据,根据数据类型和信息的不同而有所变化。
6. 结束字符:数据帧的最后一个字符,用于标识数据帧的结束。
三、协议规范1. 数据格式a. NMEA0183协议使用ASCII字符集进行数据传输。
b. 数据帧由起始字符、数据字段和结束字符组成,每个字段之间使用逗号分隔。
c. 数据字段可以是数字、字母或特殊字符的组合,根据数据类型和信息的不同而有所变化。
d. 数据帧的最大长度为82个字符,包括起始字符、数据字段、逗号和结束字符。
2. 数据语句a. NMEA0183协议定义了多种语句类型,用于传输不同类型的数据。
b. 每个语句以'$'字符作为起始字符,以回车换行符(CR/LF)作为结束字符。
c. 语句中的数据字段按照特定的顺序排列,每个字段的含义由协议规定。
d. 语句的类型由语句标识符(Sentence Identifier)确定,标识符通常由两个字符组成。
3. 数据校验a. 为了确保数据的完整性和准确性,NMEA0183协议使用校验和机制。
b. 校验和是一个两位的十六进制数,表示数据帧中所有字符的异或值。
c. 校验和紧跟在数据字段的结束字符之后,以'*'字符开始,后跟两位十六进制数。
GPS NMEA-0183协议详解
GPS NMEA-0183 协议详解NMEA 协议是为了在不同的 GPS(全球定位系统)导航设备中建立统一的 BTCM(海事无线电技术委 员会)标准,由美国国家海洋电子协会(NMEA-The National Marine Electronics Associa-tion)制定 的一套通讯协议。
GPS 接收机根据 NMEA-0183 协议的标准规范,将位置、速度等信息通过串口传送 到 PC 机、PDA 等设备。
NMEA-0183 协议是 GPS 接收机应当遵守的标准协议,也是目前 GPS 接收机上使用最广泛的协议,大 多数常见的 GPS 接收机、GPS 数据处理软件、导航软件都遵守或者至少兼容这个协议。
不过,也有少数厂商的设备使用自行约定的协议比如 GARMIN 的 GPS 设备(部分 GARMIN 设备也可 以输出兼容 NMEA-0183 协议的数据)软件方面, 。
我们熟知的 Google Earth 目前也不支持 NMEA-0183 协议,但 Google Earth 已经声明会尽快实现对 NMEA-0183 协议的兼容。
呵呵,除非你确实强壮到可 以和工业标准分庭抗礼,否则你就得服从工业标准。
NMEA-0183 协议定义的语句非常多,但是常用的或者说兼容性最广的语句只有$GPGGA、$GPGSA、 $GPGSV、$GPRMC、$GPVTG、$GPGLL 等。
下面给出这些常用 NMEA-0183 语句的字段定义解释。
$GPGGA例:$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,19.7,M,,,,0000*1F 字段 0:$GPGGA,语句 ID,表明该语句为 Global Positioning System Fix Data(GGA)GPS 定位信 息 字段 1:UTC 时间,hhmmss.sss,时分秒格式 字段 2:纬度 ddmm.mmmm,度分格式(前导位数不足则补 0) 字段 3:纬度 N(北纬)或 S(南纬) 字段 4:经度 dddmm.mmmm,度分格式(前导位数不足则补 0) 字段 5:经度 E(东经)或 W(西经) 字段 6:GPS 状态,0=未定位,1=非差分定位,2=差分定位,3=无效 PPS,6=正在估算字段 7:正在使用的卫星数量(00 - 12)(前导位数不足则补 0) 字段 8:HDOP 水平精度因子(0.5 - 99.9) 字段 9:海拔高度(-9999.9 - 99999.9) 字段 10:地球椭球面相对大地水准面的高度 字段 11:差分时间(从最近一次接收到差分信号开始的秒数,如果不是差分定位将为空) 字段 12:差分站 ID 号 0000 - 1023(前导位数不足则补 0,如果不是差分定位将为空) 字段 13:校验值 $GPGSA例:$GPGSA,A,3,01,20,19,13,,,,,,,,,40.4,24.4,32.2*0A 字段 0:$GPGSA,语句 ID,表明该语句为 GPS DOP and Active Satellites(GSA)当前卫星信息 字段 1:定位模式,A=自动手动 2D/3D,M=手动 2D/3D 字段 2:定位类型,1=未定位,2=2D 定位,3=3D 定位 字段 3:PRN 码(伪随机噪声码),第 1 信道正在使用的卫星 PRN 码编号(00)(前导位数不足则 补 0) 字段 4:PRN 码(伪随机噪声码),第 2 信道正在使用的卫星 PRN 码编号(00)(前导位数不足则 补 0) 字段 5:PRN 码(伪随机噪声码),第 3 信道正在使用的卫星 PRN 码编号(00)(前导位数不足则 补 0) 字段 6:PRN 码(伪随机噪声码),第 4 信道正在使用的卫星 PRN 码编号(00)(前导位数不足则 补 0) 字段 7:PRN 码(伪随机噪声码),第 5 信道正在使用的卫星 PRN 码编号(00)(前导位数不足则 补 0) 字段 8:PRN 码(伪随机噪声码),第 6 信道正在使用的卫星 PRN 码编号(00)(前导位数不足则 补 0)字段 9:PRN 码(伪随机噪声码),第 7 信道正在使用的卫星 PRN 码编号(00)(前导位数不足则 补 0) 字段 10:PRN 码(伪随机噪声码),第 8 信道正在使用的卫星 PRN 码编号(00)(前导位数不足则 补 0) 字段 11:PRN 码(伪随机噪声码),第 9 信道正在使用的卫星 PRN 码编号(00)(前导位数不足则 补 0) 字段 12:PRN 码(伪随机噪声码),第 10 信道正在使用的卫星 PRN 码编号(00)(前导位数不足 则补 0) 字段 13:PRN 码(伪随机噪声码),第 11 信道正在使用的卫星 PRN 码编号(00)(前导位数不足 则补 0) 字段 14:PRN 码(伪随机噪声码),第 12 信道正在使用的卫星 PRN 码编号(00)(前导位数不足 则补 0) 字段 15:PDOP 综合位置精度因子(0.5 - 99.9) 字段 16:HDOP 水平精度因子(0.5 - 99.9) 字段 17:VDOP 垂直精度因子(0.5 - 99.9) 字段 18:校验值 $GPGSV例:$GPGSV,3,1,10,20,78,331,45,01,59,235,47,22,41,069,,13,32,252,45*70 字段 0:$GPGSV,语句 ID,表明该语句为 GPS Satellites in View(GSV)可见卫星信息 字段 1:本次 GSV 语句的总数目(1 - 3) 字段 2:本条 GSV 语句是本次 GSV 语句的第几条(1 - 3) 字段 3:当前可见卫星总数(00 - 12)(前导位数不足则补 0) 字段 4:PRN 码(伪随机噪声码)(01 - 32)(前导位数不足则补 0) 字段 5:卫星仰角(00 - 90)度(前导位数不足则补 0)字段 6:卫星方位角(00 - 359)度(前导位数不足则补 0) 字段 7:信噪比(00-99)dbHz 字段 8:PRN 码(伪随机噪声码)(01 - 32)(前导位数不足则补 0) 字段 9:卫星仰角(00 - 90)度(前导位数不足则补 0) 字段 10:卫星方位角(00 - 359)度(前导位数不足则补 0) 字段 11:信噪比(00-99)dbHz 字段 12:PRN 码(伪随机噪声码)(01 - 32)(前导位数不足则补 0) 字段 13:卫星仰角(00 - 90)度(前导位数不足则补 0) 字段 14:卫星方位角(00 - 359)度(前导位数不足则补 0) 字段 15:信噪比(00-99)dbHz 字段 16:校验值$GPRMC例:$GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,,,A*50 字段 0: $GPRMC, 语句 ID, 表明该语句为 Recommended Minimum Specific GPS/TRANSIT Data RMC) ( 推荐最小定位信息 字段 1:UTC 时间,hhmmss.sss 格式 字段 2:状态,A=定位,V=未定位 字段 3:纬度 ddmm.mmmm,度分格式(前导位数不足则补 0) 字段 4:纬度 N(北纬)或 S(南纬) 字段 5:经度 dddmm.mmmm,度分格式(前导位数不足则补 0) 字段 6:经度 E(东经)或 W(西经)字段 7:速度,节,Knots 字段 8:方位角,度 字段 9:UTC 日期,DDMMYY 格式 字段 10:磁偏角,(000 - 180)度(前导位数不足则补 0) 字段 11:磁偏角方向,E=东 W=西 字段 16:校验值 $GPVTG例:$GPVTG,89.68,T,,M,0.00,N,0.0,K*5F 字段 0:$GPVTG,语句 ID,表明该语句为 Track Made Good and Ground Speed(VTG)地面速度信 息 字段 1:运动角度,000 - 359,(前导位数不足则补 0) 字段 2:T=真北参照系 字段 3:运动角度,000 - 359,(前导位数不足则补 0) 字段 4:M=磁北参照系 字段 5:水平运动速度(0.00)(前导位数不足则补 0) 字段 6:N=节,Knots 字段 7:水平运动速度(0.00)(前导位数不足则补 0) 字段 8:K=公里/时,km/h 字段 9:校验值 $GPGLL例:$GPGLL,4250.5589,S,14718.5084,E,092204.999,A*2D 字段 0:$GPGLL,语句 ID,表明该语句为 Geographic Position(GLL)地理定位信息 字段 1:纬度 ddmm.mmmm,度分格式(前导位数不足则补 0)字段 2:纬度 N(北纬)或 S(南纬) 字段 3:经度 dddmm.mmmm,度分格式(前导位数不足则补 0) 字段 4:经度 E(东经)或 W(西经) 字段 5:UTC 时间,hhmmss.sss 格式 字段 6:状态,A=定位,V=未定位 字段 7:校验值。
NMEA0183 协议
NMEA0183 协议NMEA0183协议一、引言NMEA0183协议是一种用于船舶和海洋设备之间的数据通信协议。
该协议规定了数据的格式、传输方式和通信规则,使得不同厂商的设备能够互相通信并实现数据交换。
本协议旨在确保数据的准确性、一致性和可靠性,以满足海洋导航和相关应用的需求。
二、术语和定义1. NMEA0183:指代本协议的名称。
2. 设备:指代使用NMEA0183协议进行通信的船舶和海洋设备。
3. 数据:指代通过NMEA0183协议传输的信息,包括位置、速度、方向等。
4. 航海数据:指代与航海导航相关的数据,如GPS定位数据、罗经数据等。
5. 传输速率:指代数据在通信中传输的速度,单位为波特(Baud)。
三、协议规范1. 数据格式a) NMEA0183协议规定了数据的格式为ASCII码,每条数据以'$'符号开始,以回车和换行符结束。
b) 数据分为不同的数据类型,如位置数据、速度数据等,每种数据类型有特定的标识符。
c) 数据的字段使用逗号进行分隔,每个字段具有固定的含义和长度。
2. 数据类型和标识符a) 位置数据:标识符为"$GPGGA",包括UTC时间、纬度、经度、定位质量等信息。
b) 速度数据:标识符为"$GPVTG",包括地面速度、地面航向等信息。
c) 方向数据:标识符为"$GPRMC",包括UTC时间、纬度、经度、地面速度、地面航向等信息。
3. 数据字段a) 数据字段使用逗号进行分隔,每个字段具有固定的含义和长度。
b) 数据字段的顺序和含义如下:- UTC时间:格式为HHMMSS.SS。
- 纬度:格式为ddmm.mmmm,其中dd表示度,mm.mmmm表示分和小数部分。
- 纬度方向:N表示北纬,S表示南纬。
- 经度:格式为dddmm.mmmm,其中ddd表示度,mm.mmmm表示分和小数部分。
- 经度方向:E表示东经,W表示西经。
GPS 协议简体中文文档 nmea 0183 format v3.01
gps 语句说明NMEA-08132010-03-16 16:20NMEA-0813数据格式说明(转)2008-06-11 09:11NMEA-0183是美国国家海洋电子协会(National Marine Electronics Association )为海用电子设备制定的标准格式。
统一标准格式NMEA-0183输出采用ASCII 码,其串行通信的参数为:波特率=4800bps,数据位=8bit,开始位=1bit,停止位=1bit,无奇偶校验。
NMEA-0183 的每条语句的格式如下表所示。
符号(ASCII)——定义——HEX——DEX“$”——语句起始位——24——36aaccc——地址域,前两位为识别符,后三位为语句名“,”——域分隔符——2C——44ddd…ddd——发送的数据内容“*”——效验和符号,后面的两位数是效验和——2A——42hh——效验和<CR>/<LF> ——终止符,回车或换行——OD,OA——13,10不同的GPS OEM接收板提供的NMEA语句有很大差异,主要表现在字段的意义和位置上。
我们需要先弄清楚需要哪些信息,然后对照GPS OEM接收板的技术资料,寻找那些包括所需信息的NMEA语句。
1 GPRMC语句(Recommended Minimum Specific GPS/TRANSIT Data-RMC,推荐定位信息1次/1秒)对于一般的GPS动态定位应用,GPRMC语句完全满足要求。
该语句中包括经纬度、速度、时间和磁偏角等字段,这些数据为导航定位应用提供了充分的信息。
下表详细说明GPRMC语句中的各个字段:$GPRMC, <1>,<2>,<3>,<4>,<5>,<6>,<7>, <8>,<9>,<10>,<ll>,<12>字段 $GPRMC语句意义——取值范围<1> UTC时间:hhmmss.ss——000000.00~235959.99<2> 状态,有效性——A表示有效;V表示无效<3> 纬度格式:ddmm.mmmm——0000.00000~8959.9999<4> 南北半球——N北纬;S南纬<5> 经度格式:dddmm.mmmm——00000.0000~17959.9999<6> 东西半球——E表示东经;W表示西经<7> 地面速度——000.00~999.999<8> 速度方向——000.00~359.99<9> 日期格式,月日年——010100~123199<10> 磁偏角,单位:度——00.00~99.99<ll> 磁偏角方向——E表示东;W表示西<12> 模式指示及校验和—— A=自主定位,D=差分,E=估算,N=数据无效例如:$GPRMC,074529.82,A,2429.6717,N,11804.6973,E,12.623,32.122,010806,,W, A*082 GPGGA语句(Global Positioning System Fix Data-GGA,GPS定位信息, 输出1次/1秒)GPS定位主要数据,该语句中包括经纬度、质量因子、HDOP、高程、基准站号等字段。
NMEA-0183协议说明(中文)
NMEA-0183协议说明V2.20 2004年1月注:因本人水平有限,难免出现错,敬请修改。
1、NMEA输出报文A. GGA –全球定位系统固定数据$GPGGA,161229.487,3723.2475,N,12158.3416,W,1,07,1.0,9.0,M,,,,0000*18B. GLL –地理信息——纬度/经度$GPGLL, 3723.2475,N,12158.3416,W,161229.487,A*2CC. GSA –GNSS DOP(定位点)活动卫星$GPGSA, A,3,07,02,26,27,09,04,15,,,,,,1.8,1.0,1.5*33D. GSV –GNSS DOP(定位点)活动卫星$GPGSV,2,2,07,07,79,048,42,02,51,062,43,26,36,256,42,27,27,138,42*71E. RMC –推荐的最小具体定位数据$GPRMC,161229.487,A,3723.2475,N,12158.3416,W,0.13,309.62,120598,,*10$GPVTG,309.62,T,,M,0.13,N,0,2,K*6ENMEA 输入报文提供了允许通过NMEA协议控制GPS的方法。
传输格式:1.起始符包含3个字节,从MID100开始(Message identifier consisting of three numeric characters. Input messages begin at MID 100.)。
??????2.具体数据,特定的数据序列<data>…<date>。
3.NMEA定义的校验是2个HEX的字符,适用于所有输入报文。
4.所有输入报文都以回车符(CR)和换行符<LF>结束,即\r\n,十六进制码为0D0A。
因为\r\n 是不可打印的ASCII字符,是示例字符串,但必须发送强制其作为输入报文的终止符。
GPS车载导航系统的设计
GPS车载导航系统的设计施文灶;王平【摘要】GPS车载导航系统融合了车辆、交通、计算机、通信、系统科学等领域的相关技术,逐渐成为交通导航的重要工具。
本设计以处理器为S3C6410A的开发板作为开发平台,采用Linux作为嵌入式操作系统,选用GPS模块GR-87采集GPS数据,对GPS车载导航系统的方案进行论证,介绍了GPS数据的获取、电子地图的生成和显示。
以福建师范大学校园为实测环境,实现实时定位、动态路径规划等功能。
%GPS car navigation system which combined relatedifleds such as vehicles, transportation, computer, communication and systems science has gradually become an important tool for trafifc navigation. The design uses development board based on S3C6410A pro-cessor as a development platform, adopts Linux as an embedded operating system, selects GPS module GR-87 to collect GPS data. It dem-onstrated the design program for GPS car navigation system, GPS data acquisition, generation and display of the electronic map. This design uses Fujian Normal University as the measured environment, and achieves the function of real-time positioning and dynamic path planing.【期刊名称】《软件》【年(卷),期】2014(000)004【总页数】5页(P32-36)【关键词】GPS;导航;Linux;电子地图【作者】施文灶;王平【作者单位】福建师范大学光电与信息工程学院,福建福州 350117;福建师范大学光电与信息工程学院,福建福州 350117【正文语种】中文【中图分类】TP24本文著录格式:[1]施文灶,王平. GPS车载导航系统的设计[J].软件,2014,35(4):32-361.1 系统功能目前关于GPS/GIS的研究已成为一个热点主题,并得到迅猛的发展,地图数据公司崛起,导航软件推陈出新,往嵌入式发展的趋势已经很明显[1]。
GPS_NMEA_0183标准介绍
【转】GPS NMEA-0183标准数据介绍GPS数据遵循NMEA-0183协议,该数据标准是由NMEA(National Marine Electronics Association,美国国家海事电子协会)于1983年制定的。
统一标准格式NMEA-0183输出采用ASCII 码,其串行通信的参数为:波特率=4800bps,数据位=8bit,开始位=1bit,停止位=1bit,无奇偶校验。
数据传输以“语句”的方式进行,每个语句均以“$”开头,然后是两个字母的“识别符”和三个字母的“语句名”,接着就是以逗号分割的数据体,语句末尾为校验和,整条语句以回车换行符结束。
NMEA-0183的数据信息有十几种,这些信息的作用分别是:$GPGGA:输出GPS的定位信息;$GPGLL:输出大地坐标信息;$GPZDA:输出UTC时间信息;$GPGSV:输出可见的卫星信息;$GPGST:输出定位标准差信息;$GPGSA:输出卫星DOP值信息;$GPALM:输出卫星星历信息;$GPRMC:输出GPS推荐的最短数据信息等。
分别介绍如下:1. GPRMC语句(Recommended Minimum Specific GPS/TRANSIT Data-RMC,推荐定位信息1次/1秒)对于一般的GPS动态定位应用,GPRMC语句完全满足要求。
该语句中包括经纬度、速度、时间和磁偏角等字段,这些数据为导航定位应用提供了充分的信息。
下表详细说明GPRMC语句中的各个字段:$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<ll>,<12>字段 $GPRMC语句意义——取值范围<1> UTC时间:hhmmss.ss——000000.00~235959.99<2> 状态,有效性——A表示有效;V表示无效<3> 纬度格式:ddmm.mmmm——0000.00000~8959.9999<4> 南北半球——N北纬;S南纬<5> 经度格式:dddmm.mmmm——00000.0000~17959.9999<6> 东西半球——E表示东经;W表示西经<7> 地面速度——000.00~999.999<8> 速度方向——000.00~359.99<9> 日期格式,月日年——010100~123199<10> 磁偏角,单位:度——00.00~99.99<ll> 磁偏角方向——E表示东;W表示西<12> 模式指示及校验和—— A=自主定位,D=差分,E=估算,N=数据无效例如:$GPRMC,074529.82,A,2429.6717,N,11804.6973,E,12.623,32.122,010806,,W,A *082. GPGGA语句(Global Positioning System Fix Data-GGA,GPS定位信息, 输出1次/1秒)GPS定位主要数据,该语句中包括经纬度、质量因子、HDOP、高程、基准站号等字段。
NMEA-0183
GPS固定数据输出语句,这是一帧GPS定位的主要数据,也是使用最广的数据。
$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,< 14>*<15><CR><LF><1> UTC时间,格式为hhmmss.sss。
<2> 纬度,格式为ddmm.mmmm(前导位数不足则补0)。
<3> 纬度半球,N或S(北纬或南纬)。
<4> 经度,格式为dddmm.mmmm(前导位数不足则补0)。
<5> 经度半球,E或W(东经或西经)。
<6> 定位质量指示,0=定位无效,1=定位有效。
<7> 使用卫星数量,从00到12(前导位数不足则补0)。
<8> 水平精确度,0.5到99.9。
<9> 天线离海平面的高度,-9999.9到9999.9米<10> 高度单位,M表示单位米。
<11> 大地椭球面相对海平面的高度(-999.9到9999.9)。
<12> 高度单位,M表示单位米。
<13> 差分GPS数据期限(RTCM SC-104),最后设立RTCM传送的秒数量。
<14> 差分参考基站标号,从0000到1023(前导位数不足则补0)。
<15> 校验和。
GPGSAGPS精度指针及使用卫星格式$GPGSA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,< 14>,<15>,<16>,<17>*<18><CR><LF><1> 模式2:M = 手动, A = 自动。
GPS NMEA0183协议解析
份相对较完整的协议文本,并且编写了一个相对较完善的GPS协议解析程序。
字段5:经度dddmm.mmmm,度分格式(前导位数不足则补0)字段6:经度E(东经)或W(西经)字段7:速度,节,Knots(一节也是1.852千米/小时)字段8:方位角,度(二维方向指向,相当于二维罗盘)字段9:UTC日期,DDMMYY格式字段10:磁偏角,(000 - 180)度(前导位数不足则补0)字段11:磁偏角方向,E=东,W=西字段12:模式,A=自动,D=差分,E=估测,N=数据无效(3.0协议内容)字段13:校验值对应的程序代码如下:[csharp]view plaincopy1.//运输定位数据2.private bool GPRMC_Parse(string data)3. {4.string[] source = Split(data, "$GPRMC");5.if (source != null && source.Length >= 12)6. {7.//状态8.this.AnchorState = source[2];9.//纬度10.if (source[4].Length > 0 && source[3].Length > 2)11. {titude = string.Format("{0}{1},{2}", source[4], source[3].Substring(0, 2), source[3].Substring(2));13. }14.else15. {titude = "";17. }18.//经度19.if (source[6].Length > 0 && source[5].Length > 3)20. {21.this.Longitude = string.Format("{0}{1},{2}", source[6], source[5].Substring(0, 3), source[5].Substring(3));22. }23.else24. {25.this.Longitude = "";26. }27.//速度28.if (source[7].Length > 0)29. {30.this.NSpeed = double.Parse(source[7]);31. }32.else33. {34.this.NSpeed = 0;35. }36.//方位37.if (source[8].Length > 0)38. {39.this.Track = double.Parse(source[8]);40. }41.else42. {43.44.this.Track = 0;45. }46.//磁偏角和方位47.if (source[10].Length > 0 && source[11].Length > 0)48. {49.this.Magnetic = string.Format("{0} {1}", source[11], source[10]);50. }51.else52. {53.this.Magnetic = "";54. }55.//模式56.if (source.Length >= 13)57. {58.this.WorkMode = source[12];59. }60.//时间61.try62. {63.if (source[9].Length == 6 && source[1].Length >= 6)64. {65.string dtString = string.Format("{0}-{1}-{2} {3}:{4}:{5}",66. source[9].Substring(4),67. source[9].Substring(2, 2),68. source[9].Substring(0, 2),69. source[1].Substring(0, 2),70. source[1].Substring(2, 2),71. source[1].Substring(4));72.this.UTCDateTime = DateTime.Parse(dtString);73. }74. }75.catch { return false; }76.return true;77. }78.return false;79. }。
NMEA0183完整版介绍说明
NMEA0183完整版介绍说明NMEA 0183是一套用于航海电子设备之间通信的协议。
它由全球卫星导航系统协会(National Marine Electronics Association,简称NMEA)制定并标准化。
NMEA 0183协议允许各种航海设备之间进行数据传输和共享,包括GPS接收器、雷达、声纳、自动驾驶仪和其他航海仪器等。
本文将详细介绍NMEA 0183协议的结构、数据格式和常见应用。
接下来,让我们了解NMEA 0183数据格式。
每个字段在语句中都有不同的含义和格式,这些格式通常由协议定义。
例如,经度和纬度使用度、分、秒(degree, minute, second)的形式表示,而日期和时间使用年、月、日、小时、分钟和秒的形式表示。
除了传输基本数据外,NMEA 0183还支持一些特殊功能,如校验和和定向(checksum and heading)。
校验和用于检测和纠正数据传输中的错误。
它是语句最后两个字符的十六进制表示,和是通过将每个字符的ASCII码进行异或运算得到的。
接收设备可以使用校验和来验证数据的完整性,以确保数据的准确性。
如果校验和不匹配,则意味着数据可能已经损坏或被篡改。
最后,让我们了解NMEA0183的常见应用。
NMEA0183协议被广泛应用于各种航海电子设备和应用中,包括小型船只、商业船舶、飞机和车辆等。
GPS接收器是最常用的NMEA0183设备之一,它可以通过NMEA0183协议将定位信息传输给其他设备,如雷达、声纳和自动驾驶仪。
此外,NMEA0183还可以与计算机和移动设备等外部设备进行通信,以实现位置跟踪、导航和地图显示等功能。
总结起来,NMEA0183是一套用于航海电子设备之间通信的协议。
它采用文本格式,基于串行通信,并使用唯一的标识符和字段来传输各种航海数据。
NMEA0183的数据格式和功能丰富,包括校验和和定向等特殊功能。
它被广泛应用于航海行业,为导航、定位和地图显示等功能提供了重要支持。
NMEA-0183GPS定位信息显示系统方案设计
中文摘要GPS定位系统在人们的日常生活中已被广泛使用,已然成为人们生活中的重要组成部分。
因其具有定位精度高、价格低廉、适用性强等特点,在许多领域都占有主导地位。
本次设计将介绍一种简易GPS卫星定位显示系统,GPS模块采用ublox 公司旗下的NEO-6M模块,同时主控MCU采用51单片机STC89C52,显示屏幕采用常见的LCD-12864液晶屏,通过对单片机串口接收到的GPS数据包进行解析并显示在12864液晶上,实现实时地理位置信息的采集与显示。
同时采用电池供电以实现体积小巧、携带方便。
关键词:GPS定位;STC89C52 NEO-6M;LCD-12864;第一章绪论1.1 课题背景及意义GPS全球卫星导航系统在军事,商用,民用上都具有广阔的领域,现在应用GPS 的产品已经随处可见,比如常见的汽车导航仪,GPS测距测亩仪,GPS定位追踪搜救系统等等,虽然这些功能都比较强大,但差不多都是应用在特定的领域,结合其他的功能模块一起设计使用的,而且仪器价格高,而且对于需要简单定位功能来说没有必要那么复杂。
所以在这种情况下,本次设计的定位显示系统满基本的GPS的定位系统的需求。
1.2 课题研究的目标和任务本次设计的主要任务是通过单片机与GPS模块进行通信,解析出NEMA-0183语句并提取需要的经纬度、时间日期在12864液晶上进行显示。
在此次设计过程中,主要熟悉所选用的GPS接收模块的性能指标,接收并解析它所输出的数据包,用C语言编写相关单片机控制和解析程序,并在液晶显示器成功的显示相关的信息。
第二章 GPS定位信息显示系统方案设计2.1 全球GPS卫星导航系统系统简介GPS卫星到现在为止已经设计了三代,第一代为实验卫星,一共发射了11颗卫星,设计的寿命是5年,现在已经停止工作了。
第二代称之为工作卫星,一共发射了28颗,寿命是7.5年,从1989年开始发射到1994年上半年发射完成。
第三代卫星尚在设计中计划20颗,用来取代第二代提高并改善卫星定位系统。
NMEA0183 协议
NMEA0183 协议一、背景介绍NMEA0183 协议是一种用于船舶和航海设备之间进行数据通信的标准协议。
该协议定义了数据格式、数据传输方式和通信协议等方面的内容,以确保不同设备之间能够正确地交换和解析数据。
二、协议目的NMEA0183 协议的主要目的是实现船舶和航海设备之间的数据交换和共享。
通过该协议,各种设备可以实时地传输和接收位置信息、速度信息、方向信息等重要数据,从而提高航海安全性和导航效率。
三、协议范围NMEA0183 协议适用于船舶和航海设备之间的数据通信。
涵盖的设备类型包括但不限于GPS接收器、导航显示器、自动驾驶仪、罗盘、声纳等。
四、协议要求1. 数据格式要求:a. 数据格式采用ASCII码表示。
b. 每条数据以'$'字符开头,以回车换行符('\r\n')结尾。
c. 数据字段之间以英文逗号(',')分隔。
d. 数据字段的顺序和内容必须按照协议规定的格式进行组织。
2. 数据传输要求:a. 数据传输采用串行通信方式。
b. 通信波特率为4800bps。
c. 通信接口采用RS-232标准。
3. 通信协议要求:a. 通信协议采用请求-应答模式。
b. 请求消息由数据接收方发送,应答消息由数据发送方返回。
c. 请求消息和应答消息的格式必须符合协议规定。
五、协议内容NMEA0183 协议定义了多种数据消息,包括但不限于以下几种:1. GGA(全球定位系统定位信息)消息:消息格式:$GPGGA,hhmmss.ss,llll.ll,a,yyyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxxx*hh<CR><LF>解析:- hhmmss.ss:UTC时间,时分秒格式。
- llll.ll:纬度,度分格式。
- a:纬度半球,N(北半球)或S(南半球)。
- yyyyy.yy:经度,度分格式。
- a:经度半球,E(东经)或W(西经)。
GPS通讯协议(NMEA0183)解析
说起NMEA协议,只要接触过GPS设备的人,或者说是要用到GPS设备研发的人都知道,这是一个很常用的GPS通讯协议,而且也有很多人遇到关于NEMA协议的一些问题,我忽然有一个想法,就是按照自己对这个协议的一些理解,写一点这方面的东西,看是不是能帮刚刚入门的人解答一些疑问,由于笔者水平有限,这个东西也只能算是一个简单介绍,就算是知识普及吧,希望能引高手出来大家一起讨论。
好了,言归正传,我们开始吧!GPS(全球定位系统)接收机与手持机之间的数据交换格式一般都由生产厂商缺省定制,其定义内容普通用户很难知晓,且不同品牌、不同型号的GPS接收机所配置的控制应用程序也因生产厂家的不同而不同。
所以,对于通用GPS应用软件,需要一个统一格式的数据标准,以解决与任意一台GPS的接口问题。
NMEA-0183数据标准就是解决这类问题的方案之一。
NMEA协议是为了在不同的GPS导航设备中建立统一的RTCM(海事无线电技术委员会)标准,它最初是由美国国家海洋电子协会(NMEA—The NationalMarine Electronics Association)制定的。
NMEA 协议有0180、0182和0183这3种,0183可以认为是前两种的升级,也是目前使用最为广泛的一种NMEA通讯协议硬件接口符合NMEAO183标准的GPS接收机的硬件接口能够兼容计算机的RS-232C协议串口,然而,严格来说NMEA标准不是RS-232C,规范推荐依照EIA422(也称为RS-422)。
是一个与RS-232C不同的系统。
标准RS-232C采用负逻辑,即逻辑“1”表示-5V~ -15v,逻辑“0”表示+5V~+15V,利用传输信号线和信号地之间的电压差进行传输。
而EIA-422是利用导线之间的信号电压差来传输信号的,其每个通道要用两条信号线,一条是逻辑“1”,~条是逻辑“0”,通过传输线驱动器和传输线接收器实现逻辑电平和电位差之间的转换,一般允许驱动器输出为±2V~±6V 。
基于GPS-OEM的GPS定位终端系统设计
基于GPS-OEM的GPS定位终端系统设计摘要:本文对基于GPS-OEM板的GPS定位系统整个硬件电路的设计作了详细的描述。
硬件系统主要包括以下几个模块:S3C44B0X基本工作电路,串口电路,存储器电路,JTAG调试电路和GPS接口电路。
论文首先进行了总体方案介绍,然后分别对主要电路模块进行详细介绍,包括模块功能、芯片选择以及管脚连接方式,并分别给出实际的电路原理图。
最后对整个硬件调试过程做了概述。
关键词:GPS-OEM GPS 定位终端本文采用GPS-OEM板代替传统的GPS接收机接收卫星导航信号。
首先根据需要对OEM板进行初始化设计,即让OEM板工作在设定工作模式下,捕获并跟踪待测卫星,对接收到的信号进行变换、放大和处理,测量出GPS信号从卫星到接收天线的传播时间并解译出GPS 卫星所发送的导航电文,最后实时解算出测量站的三维位置、速度和时间等数据信息。
再经OEM板标准I/O口输出该串行定位数据(NMEA-0183格式)。
然后由微处理器ARM单片机串行口对前向通道传送来的串行信号(经度、纬度)进行接收、校验、显示、存储等。
即通过所编制的单片机软件程序实现对所接收的数据进行读取、判断、运算等一系列处理,以及对本身工作参数的设定,最后将最终处理数据送到输出端口、控制外围驱动电路及上位PC机通讯。
上位机信息处理系统用于人机交互,存储数据形成历史记录,以供需要时调用参考或其它高端处理等。
本系统硬件接口元件包括:THALES(泰雷兹)公司生产的AC12 GPS-OEM板、ARM7为核心技术的微处理器三星S3C44B0X、、RS232接口芯片MAX232、电源专用芯片、大功率驱动芯片、FLASH ROM、SRAM扩展芯片及其他外围辅助芯片等。
整个系统硬件包含以下几个部分:S3C44B0X基本工作电路,串口电路,存储器电路,GPS接口电路。
此外该硬件系统还预留了USB接口,A/D转换接口及网卡口,这些接口是留给以后按需要作功能扩展时用。
NMEA0183 协议
NMEA0183 协议NMEA0183协议一、引言NMEA0183协议是一种用于航海和船舶导航设备之间数据交换的通信协议。
该协议定义了一系列数据格式和通信规则,以确保不同设备之间的数据交换和信息传递的一致性和可靠性。
本协议旨在为船舶导航设备的制造商、开发人员和用户提供一个统一的标准,以便实现设备之间的互操作性。
二、协议规范1. 数据格式NMEA0183协议使用ASCII字符集,并定义了一系列数据格式。
其中,每条数据以美元符号($)开头,以回车(CR)和换行(LF)结束。
数据格式由逗号分隔的字段组成,每个字段代表不同的数据类型或参数。
字段的顺序和数量取决于具体的数据类型。
2. 数据类型NMEA0183协议定义了多种数据类型,包括位置、速度、方向、时间等。
每种数据类型都有特定的数据格式和字段要求。
例如,位置数据使用经度和纬度表示,速度数据使用节和方向表示。
3. 数据标识NMEA0183协议使用三个字母的标识符来表示不同的数据类型。
常见的标识符包括GGA(全球定位系统定位信息)、RMC(推荐最小定位信息)和VTG(地面速度信息)等。
设备在发送数据时,需要在数据前面加上相应的标识符,以便接收方正确解析数据。
4. 通信规则NMEA0183协议定义了一套通信规则,以确保数据的可靠传输和正确解析。
通信规则包括以下几个方面:a. 数据频率:设备应按照一定的频率发送数据,以便接收方能够及时获取最新的信息。
b. 数据校验:每条数据都包含一个校验和字段,用于验证数据的完整性和准确性。
c. 数据解析:接收方需要按照协议规定的格式和字段要求解析数据,并对数据进行相应的处理和显示。
d. 错误处理:在数据传输过程中,如果发生错误或丢失数据,设备应采取相应的错误处理措施,如重新发送数据或向用户报告错误信息。
5. 数据传输NMEA0183协议使用串行通信接口进行数据传输。
常见的串行通信接口包括RS-232和RS-422/485。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中文摘要GPS定位系统在人们的日常生活中已被广泛使用,已然成为人们生活中的重要组成部分。
因其具有定位精度高、价格低廉、适用性强等特点,在许多领域都占有主导地位。
本次设计将介绍一种简易GPS卫星定位显示系统,GPS模块采用ublox 公司旗下的NEO-6M模块,同时主控MCU采用51单片机STC89C52,显示屏幕采用常见的LCD-12864液晶屏,通过对单片机串口接收到的GPS数据包进行解析并显示在12864液晶上,实现实时地理位置信息的采集与显示。
同时采用电池供电以实现体积小巧、携带方便。
关键词:GPS定位;STC89C52 NEO-6M;LCD-12864;第一章绪论1.1 课题背景及意义GPS全球卫星导航系统在军事,商用,民用上都具有广阔的领域,现在应用GPS 的产品已经随处可见,比如常见的汽车导航仪,GPS测距测亩仪,GPS定位追踪搜救系统等等,虽然这些功能都比较强大,但差不多都是应用在特定的领域,结合其他的功能模块一起设计使用的,而且仪器价格高,而且对于需要简单定位功能来说没有必要那么复杂。
所以在这种情况下,本次设计的定位显示系统满基本的GPS的定位系统的需求。
1.2 课题研究的目标和任务本次设计的主要任务是通过单片机与GPS模块进行通信,解析出NEMA-0183语句并提取需要的经纬度、时间日期在12864液晶上进行显示。
在此次设计过程中,主要熟悉所选用的GPS接收模块的性能指标,接收并解析它所输出的数据包,用C语言编写相关单片机控制和解析程序,并在液晶显示器成功的显示相关的信息。
第二章 GPS定位信息显示系统方案设计2.1 全球GPS卫星导航系统系统简介GPS卫星到现在为止已经设计了三代,第一代为实验卫星,一共发射了11颗卫星,设计的寿命是5年,现在已经停止工作了。
第二代称之为工作卫星,一共发射了28颗,寿命是7.5年,从1989年开始发射到1994年上半年发射完成。
第三代卫星尚在设计中计划20颗,用来取代第二代提高并改善卫星定位系统。
GPS 卫星定位系统给民用开放的定位精度是10米,对外提供了地精度的卫星信号,如果发生战争将随时关闭对某个地区的服务。
欧盟Galile卫星导航计划,该系统由30颗高轨道卫星组成,卫星将给用户提供精准的定位时间和误差不超过1米的定位精度,面对的困难:“Galile系统”的开发成本高达30亿欧元,还有美国政府的极力反对也推迟了“伽利略”计划的进行。
俄罗斯GLONASS:与GPS导航系统类似是俄罗斯以空间为基础的无线电导航系统,于20世纪70年代开始启动 GLONASS计划,1996年完成24颗卫星的布局,卫星具备完全工作能力,不过由于经济原因现在天空中的GLONASS卫星仅为8颗。
中国北斗系统:我国的北斗是是自主研发独立运行的全球卫星导航系统,在2003年完成了区域导航的测试系统,然后开始构建全球范围的北斗卫星导航系统,在2012年开始为亚太大部分地区提供服务,并计划在2020年搭建完成全球卫星导航系统。
北斗卫星的特点为快速定位、简短通信、实时导航、等,目前主要的优势用于军事的通讯、集团用户的调度和派遣。
2.2 GPS接收机的组成及其工作原理GPS接收机的重要组成部分为:天线(带前置放大器)、信号处理器(用于信号的识别和处理)、微处理器(用于接收机的控制,数据采集和导航的计算)、用户信息传输、精密振荡器(产生标准频率)、电源组成。
天线的基本作用就是采集信号,把采集到的信号的能量转化为电流值,但这个电流值是很小的需要进行放大,放大后在变成频率用来对卫星进行跟踪。
接收机的工作原理:当GPS卫星在用户视界升起时,接收机能够捕获到按一定卫星高度截止角所选择的待测卫星,并能够跟踪这些卫星的运行;对所接收到的GPS信号,具有变换、放大和处理的功能,以便测量出GPS信号从卫星到接收天线的传播时间,解译出GPS卫星所发送的导航电文,实时地计算出测站的三维位置,甚至三维速度和时间。
GPS信号接收机不仅需要功能较强的机内软件,而且需要一个多功能的GPS数据测后处理软件包。
接收机加处理软件包,才是完整的GPS信号用户设备。
2.2 GPS接收方案的选取要想接收并显示GPS定位信息,首先要接收GPS发送的数据包。
在接收GPS数据上有两种选择方案:第一:自己购买GPS芯片,GPS芯片是模块的核心部分,可以根据GPS芯片技术手册设计外围电路,并制作PCB板,这种方案的优点是可以自己动手亲自实践,并可以学习到电路设计、天线接收等方面的知识,增强动手的能力,但这种方案的缺点也是很明显的,手工焊接不了,需要贴片机焊接,而且电路做的不好阻抗不匹配很容易影响GPS信号的接收质量,成功率低,费用比较高。
第二:选择现成的GPS接收模块,现在GPS应用技术已经非常成熟,模块也是多种多样供我们选择,购买也十分方便,各种天线接口的都有,而且性能非常稳定,应用很方便,可以直接输出GPS数据包供我们解析,价格方面由于已经形成产业化所以我们能够接受。
结合以上两点为了很好的完成本次设计应用,我选择第二种。
2.3 总体方案的设计本设计的最终目标就是利用单片机的串行通信接收GPS模块的数据包并提取需要的信息进行解析,然后单片机驱动液晶进行数据的显示。
有如下几个组成部分:(1):处理单元采用51单片机STC89C52作为中央控制器。
(2): GPS使用UBLOX 公司NEO-6M模块。
(3):显示屏选择12864图形液晶信息显示屏。
(4):电源考虑到携带方便采用4节5号干电池进行供电。
第三章基于单片机的GPS硬件电路设计3.1系统整体结构框图根据总体设计方案,可以做出以下体结构框图,图中电源分别给隔各个模块供电,GPS天线用的是有源3米长的天线接到模块上,GPS模块输出数据包给单片机,单片机解析后显示在液晶上如图3.1所示。
图3.1系统结构框图3.2 系统各部分模块电路简介3.2.1单片机 STC89C52简介STC89C52单片机是深圳宏晶STC出品公司具有低功耗,高性能的8位微控制处理器,具有8K擦除闪存。
它使用了经典的C51内核,在51内核基础上做了多次改进和升级,比传统的51单片机功能丰富多样,所以应用领域非常广阔,价格低廉从而大大降低了产品的开发成本,因此成功的应用到了众多个嵌入式领域。
STC89C52工作电压很宽在3.5~5.5V,拥有8K字节的闪存,SRAM 512个字节,5K具有EEPROM功能可以保存数据不丢失,多个定时计数器,抗干扰能力强,速度快。
基本参数如下:1. 增强型C51内核,6 T和12T时钟周期可以选择,完全兼容传统C51的指令并且拥有双数据指针。
2. 工作电压3.5V~5V。
3. 0~40MHz的工作频率,类似于传统C51单片机的0~80MHz的工作频率。
4. 8K字节的闪存用于用户编译程序。
5. 集成512个外部SRAM。
6. 通用I/O口为32个,扩展外部总线时可以用P0和P2,P0是开漏极输出,使用时必须要接上拉电阻才能用,其他三个可以直接使用。
7. 拥有ISP(在系统可编程)功能,不需要编程器和专用芯片下载程序,只需下载官方提供的ISP烧写工具即可,烧写十分方便快速。
8. 拥有5K字节EEPROM 存储区,可以存储用户的重要数据,掉电保存数据,不用再单独购买EEPROM芯片。
9. 拥有看门狗功能,程序跑死时可以复位系统,保证系统的可靠性。
10. 3个可编程16位的定时计数器,即T0、T1、T2。
11. 外部中断功能,可设置为上升沿中断和下降沿中断。
12. 拥有串行通信接口UART,还可以结合定时器模拟出其他串口,解决串口不足问题。
13. 具有超低的功耗:设置成睡眠模式后可以由外部中断唤醒,非常适用于选用电池供电的系统功。
14.工作的温度范围为-40~85度,15.封装模式为PDIP、LQFP、PQFP等。
单片机电路图如图3.2所示:由于通电后NEO-6M默认为9600bps的波特率,,所以单片机需也要产生9600bps 的波特率,根据计算波特率的公式选择11.0592M的晶振产生波特率是没有误差的。
图32单片机电路3.2.2 NEO-6M GPS信号接收模块本设计采用瑞士u-blox公司的第6代GPS芯片NEO-6M接收模块,配备了一个50通道u-blox的高性能6技术,100多万个多个有效的相关器32通道采集引擎的处理能力,使模块可用于大规模并行搜索。
具有SuperSense @ kickstart启动技术,可以加快微弱信号的捕获能力。
采用先进的噪声抑制技术和创新的RF 架构平台使得u-blox GPS接收机具有更强的抗干扰能力。
同时,u-blox还具有惯性导航GPS接收机的能力,A-GPS技术和精确定时等。
同时该芯片还兼容其他卫星导航系统,具有-160dBm的弱信号捕获能力等特点,且在价位上合适,接口电路简单直接输出TTL电平,可直接与单片机相连不需要其他转化电路,结合以上的特点我选用GPS模块是NEO-6M。
技术指标:接收机类型 50通道。
最大更新速度:5HZ精度:定位 2.5m CEP冷启动:26S辅助启动:1S热启动:1S运行限制:速度 500m/s高度 50,000m电源:2.7 到 3.6V功耗;50mW 3.0V(连续)图3.3 GPS模块电路图3.2.3 12864液晶显示模块介绍本设计采用显示部分采用LCD-12864,可显示图形和汉字,并且具有光标闪烁、画面位置移动等多种功能,12864液晶显示模块跟系统连接电路如图3.3所示。
主要技术参数和显示特性:电源部分可以选3.3V的液晶和5V的液晶。
显示格式:128 列× 64 行显示颜色:黄绿与单片机接的数据口可以设置成:并行可以设置成8位的或者4位的,串行可以设置成3位的。
配置LED 背光多个显示的效果:显示光标并闪烁、移动画面位置、用户可以自己定义字符等。
电源地(GND):0V它的工作温度是:常温在0~60℃ ;宽温在-20~75℃。
引脚说明如下所示:电路连接图如下如所示:图3.4 12864液晶连接电路由上图可知液晶的数据口跟单片机的P0口由于是开漏输出所有必须接10K的上拉电阻才行,而且P0口与液晶典型的的接法是DB0接到P00,DB1接到P01,依次类推,但这样接的话会导致焊接电路时十分不方便,所以用图上所示的接法焊接起来十分方便,避免了不必要的飞线,飞线太多容易碰断线容易短路,效果也不太美观,只需编写程序时只需要把数据反转就行了。
按照液晶的操作时序编写了液晶的主要驱动函数如下:液晶写时序:单片机模拟时序对液晶进行写指令的操作函数:voidLcd_write_Cmd(ucharcmd){chk_busy();//检测忙LCD12864_RS = 0;/RS拉低选择写命令操作LCD12864_RW = 0;//写模式LCD_data = fan_zhuan_dat(cmd);//将数据进行反转后赋值给P0口(传送到12864)LCD12864_EN = 1; //拉高EN使能端Nop();//延时Nop();Nop();Nop();Nop();Nop();Nop();Nop();LCD12864_EN = 0; //拉底EN使能端}单片机模拟时序对液晶进行写数据的操作函数:voidLcd_write_Dat(uchardat){LCD12864_RS = 1; ;/RS拉高选择写数据操作LCD12864_RW = 0;//写模式LCD_data = fan_zhuan_dat(dat); //将数据进行反转后赋值给P0口(传送到12864)LCD12864_EN = 1;//拉高EN使能端Nop();//延时Nop();Nop();Nop();Nop();Nop();Nop();Nop();LCD12864_EN = 0;//拉底EN使能端}3.2.4 系统电源给系统供电有多种供电方式可以选择,比如USB供电、直流电源供电、电池供电等等,但USB供电直流电源供电大部分都是在室内,这样出去的话不太方便,因此我考虑到系统携带方便、小巧美观,所以选择用四节五号电池供电,四节五号电池电压大概是6V,电压偏高,所以串联一个二极管降压,降压后电压为5.3V 左右满足系统要求。