标题：GPS模块
常见问题
1。GPS模块的20通道是什么含义？
GPS模块有一个通道数量的参数，例如20通道，它表示该模块最大可以同时和20颗卫星建立通讯，3颗卫星是2D定位，数据不稳定，模块只有同时收到3颗以上卫星信号后，经过复杂运算后才能获得正确的定位数据，如果同时通讯的卫星颗数越多，模块就能越快越准确地获得定位数据，在地球表面上一般的城市环境下通常可以同时和4～11颗卫星同时通讯。　
2。GPS模块为什么开机后很长时间才能获得定位数据？
GPS模块有冷启动，热启动和暖启动（现在的技术基本上已经将该冷启动和暖启动两模式参数做得非常接近，从而就逐步取消了暖启动）三个参数，如果GPS模块初次通电，或者移动超过500公里后通电时，模块要重新计算一次星历数据，一般正常情况下的GPS模块只需要30多秒钟就能正常定位（这就是冷启动），S-87具有内置纽扣电池，可以将星历数据存储在模块内部，当下次模块工作的时候可以很快速的定位，一般像S-87只需要1~3秒就可以实现新的定位，那这种定位就叫做热启动，如果模块断电时间超过4小时，内部RTC没有实时供电，那么再一次的开机也相当于冷启动。
3。如果出现长时间无法冷启动定位时怎么办？
那么就需要检查GPS天线摆放位置是否在一个开阔的环境下，能否读取到GPS模块输出的GPS数据？GPS数据中的GSV语句里面可以观测到GPS卫星信号状态？从这些方面就可以判断具体问题在什么地方！模块可以每秒输出一次：$GPGGA $GPGSA $GPGSV $GPRMC的定位数据，我们通常用$GPRMC精简数据输出这条信息，这条信息包含了目标的：经度、纬度、速度（海里/小时）、运动方向角、年份、月份、时、分、秒、毫秒、定位数据是有效的还是无效的这些重要信息，　GPS模块的芯片大部分还是采用全球市占率第一的SiRFIII系列为主，SiRFIII芯片是20通道，实时解算能力强。该部分模块市面上很常见：环天，达伽马，Ublox等等
4.天线状态监测怎么办？
当天线开短路的时候，需要怎么处理呢？这个最好的办法是GPS模块能输出天线开短路状态的语句来提示客户做这方面的查验，这样的好处就是可以让客户很方便的查看问题点，同时保护模块不受到大电流冲击，市面上很多这样的应用，比方S-87、S-90、S-93和UBLOX一些模块也具有这样的功能，但是区别点就是Ublox的需要搭外围器件来实现这个功能，达伽马的是不用任何外围器件，好像这个功能只能flash版本的才能实现，rom版本的不能配置IO口，这个功能就没办法实现。
规格书
系列GPS模组整合灵敏度高，功耗低，GPS芯片组解决方案，在紧凑的设计里。可将同时追踪多达20颗卫星，并迅速确定，1 Hz导航更新。广泛应用于如掌上电脑，个人数字助理，导航器，手机，电脑或其它的电池操作的导航系统。  sirf4代
基本参数
接收 全球定位系统接收器类型20个频道， L1的频率，1.023兆赫芯片速度， C / A码1.023兆赫芯片速度
水平定位精度 < 2.5m ，< 2.0m (WAAS)，（ 50 % ， 24小时静态的， - 130dbm ） 
速度精度 < 0.01米/秒（高速）<0.01° (heading)，（ 50 % @ 30米/秒） 
时间精度 1微秒同步GPS时间
ttff （时间先定）热起动 1S的（ 50 % ， - 130dbm ，自动的）的热启动，暖启动35s，冷启动： 42s 
灵敏度跟踪 - 159dbm 
动态条件 海拔高度< 1.8万米（ 60,000英尺） 
速度 < 515米/秒（ 1000海里），加速度< 4g
技术参数 
电力 主电源输入3.3伏直流电,电源电流< 80毫安
支持协议讯息 NMEA - 0183 ，SIRF二进制
默认的NMEA gga ， GSA的， gsv (GLL, VTG, and ZDA optional)
波特率 4800名波特率（其他速率可选） 
环境特征 操作温度范围-40 oC to +85 oC，
储存温度范围 -45 oC to +100 oC
外观参数 
尺寸 13 × 15 × 2.4立方毫米
体重 < 4克
性能描述 
高灵敏度GPS芯片组
高性能接收机轨多达20颗卫星
TTL输出用于GPS指挥界面
低功率消耗
平均冷启动时间在35秒
1 MB 的芯片SRAM存储器
重新获得信息时间0.1秒
支持准确1pps输出信号接轨GPS校准
支持标准的NMEA - 0183和SIRF二进制协议
多路径减缓硬件
易于集成到手持式设备  外接GPS模块
  GPS模块
  GPS模块
一、 NMEA0183标准语句
1、 Global Positioning System Fix Data（GGA）GPS定位信息
$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*hh<CR><LF>
<1> UTC时间，hhmmss（时分秒）格式
<2> 纬度ddmm.mmmm（度分）格式（前面的0也将被传输）
<3> 纬度半球N（北半球）或S（南半球）
<4> 经度dddmm.mmmm（度分）格式（前面的0也将被传输）
<5> 经度半球E（东经）或W（西经）
<6> GPS状态：0=未定位，1=非差分定位，2=差分定位，6=正在估算
<7> 正在使用解算位置的卫星数量（00~12）（前面的0也将被传输）
<8> HDOP水平精度因子（0.5~99.9）
<9> 海拔高度（-9999.9~99999.9）
<10> 地球椭球面相对大地水准面的高度
<11> 差分时间（从最近一次接收到差分信号开始的秒数，如果不是差分定位将为空）
<12> 差分站ID号0000~1023（前面的0也将被传输，如果不是差分定位将为空）
2、 GPS DOP and Active Satellites（GSA）当前卫星信息
$GPGSA,<1>,<2>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<4>,<5>,<6>*hh<CR><LF>
<1> 模式，M=手动，A=自动
<2> 定位类型，1=没有定位，2=2D定位，3=3D定位
<3> PRN码（伪随机噪声码），正在用于解算位置的卫星号（01~32，前面的0也将被传输）。
<4> PDOP位置精度因子（0.5~99.9）
<5> HDOP水平精度因子（0.5~99.9）
<6> VDOP垂直精度因子（0.5~99.9）
3、 GPS Satellites in View（GSV）可见卫星信息
$GPGSV,<1>,<2>,<3>,<4>,<5>,<6>,<7>,…<4>,<5>,<6>,<7>*hh<CR><LF>
<1> GSV语句的总数
<2> 本句GSV的编号
<3> 可见卫星的总数（00~12，前面的0也将被传输）
<4> PRN码（伪随机噪声码）（01~32，前面的0也将被传输）
<5> 卫星仰角（00~90度，前面的0也将被传输）
<6> 卫星方位角（000~359度，前面的0也将被传输）
<7> 信噪比（00~99dB，没有跟踪到卫星时为空，前面的0也将被传输）
注：<4>,<5>,<6>,<7>信息将按照每颗卫星进行循环显示，每条GSV语句最多可以显示4颗卫星的信息。其他卫星信息将在下一序列的NMEA0183语句中输出。
4、 Recommended Minimum Specific GPS/TRANSIT Data（RMC）推荐定位信息
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh<CR><LF>
<1> UTC时间，hhmmss（时分秒）格式
<2> 定位状态，A=有效定位，V=无效定位
<3> 纬度ddmm.mmmm（度分）格式（前面的0也将被传输）
<4> 纬度半球N（北半球）或S（南半球）
<5> 经度dddmm.mmmm（度分）格式（前面的0也将被传输）
<6> 经度半球E（东经）或W（西经）
<7> 地面速率（000.0~999.9节，前面的0也将被传输）
<8> 地面航向（000.0~359.9度，以真北为参考基准，前面的0也将被传输）
<9> UTC日期，ddmmyy（日月年）格式
<10> 磁偏角（000.0~180.0度，前面的0也将被传输）
<11> 磁偏角方向，E（东）或W（西）
<12> 模式指示（仅NMEA0183 3.00版本输出，A=自主定位，D=差分，E=估算，N=数据无效）
5、 Track Made Good and Ground Speed（VTG）地面速度信息
$GPVTG,<1>,T,<2>,M,<3>,N,<4>,K,<5>*hh<CR><LF>
<1> 以真北为参考基准的地面航向（000~359度，前面的0也将被传输）
<2> 以磁北为参考基准的地面航向（000~359度，前面的0也将被传输）
<3> 地面速率（000.0~999.9节，前面的0也将被传输）
<4> 地面速率（0000.0~1851.8公里/小时，前面的0也将被传输）
<5> 模式指示（仅NMEA0183 3.00版本输出，A=自主定位，D=差分，E=估算，N=数据无效）
6、 Geographic Position（GLL）定位地理信息
$GPGLL,<1>,<2>,<3>,<4>,<5>,<6>,<7>*hh<CR><LF>
<1> 纬度ddmm.mmmm（度分）格式（前面的0也将被传输）
<2> 纬度半球N（北半球）或S（南半球）
<3> 经度dddmm.mmmm（度分）格式（前面的0也将被传输）
<4> 经度半球E（东经）或W（西经）
<5> UTC时间，hhmmss（时分秒）格式
<6> 定位状态，A=有效定位，V=无效定位
<7> 模式指示（仅NMEA0183 3.00版本输出，A=自主定位，D=差分，E=估算，N=数据无效）
二、 GARMIN定义的语句
7、 Estimated Error Information（PGRME）估计误差信息
$PGRME,<1>,M,<2>,M,<3>,M*hh<CR><LF>
<1> HPE（水平估计误差），0.0~999.9米
<2> VPE（垂直估计误差），0.0~999.9米
<3> EPE（位置估计误差），0.0~999.9米
8、 GPS Fix Data Sentence（PGRMF）GPS定位信息
$PGRMF,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>,<15>*hh<CR><LF>
<1> GPS周数（0~1023）
<2> GPS秒数（0~604799）
<3> UTC日期，ddmmyy（日月年）格式
<4> UTC时间，hhmmss（时分秒）格式
<5> GPS跳秒数
<6> 纬度ddmm.mmmm（度分）格式（前面的0也将被传输）
<7> 纬度半球N（北半球）或S（南半球）
<8> 经度dddmm.mmmm（度分）格式（前面的0也将被传输）
<9> 经度半球E（东经）或W（西经）
<10> 模式，M=手动，A=自动
<11> 定位类型，0=没有定位，1=2D定位，2=3D定位
<12> 地面速率（0~1851公里/小时）
<13> 地面航向（000~359度，以真北为参考基准）
<14> PDOP位置精度因子（0~9，四舍五入取整）
<15> TDOP时间精度因子（0~9，四舍五入取整）
9、 Map Datum（PGRMM）坐标系统信息
$PGRMM,<1>*hh<CR><LF>
<1> 当前使用的坐标系名称（数据长度可变，如“WGS 84”）
注：该信息在与MapSource进行实时连接的时候使用。
10、 Sensor Status Information（PGRMT）工作状态信息
$PGRMT,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>*hh<CR><LF>
<1> 产品型号和软件版本（数据长度可变，如“GPS 15L/15H VER 2.05”）
<2> ROM校验测试，P=通过，F=失败
<3> 接收机不连续故障，P=通过，F=失败
<4> 存储的数据，R=保持，L=丢失
<5> 时钟的信息，R=保持，L=丢失
<6> 振荡器不连续漂移，P=通过，F=检测到过度漂移
<7> 数据不连续采集，C=正在采集，如果没有采集则为空
<8> GPS接收机温度，单位为摄氏度
<9> GPS接收机配置数据，R=保持，L=丢失
注：本语句每分钟发送一次，与所选择的波特率无关。
11、 3D velocity Information（PGRMV）三维速度信息
$PGRMV,<1>,<2>,<3>*hh<CR><LF>
<1> 东向速度，514.4~514.4米/秒
<2> 北向速度，514.4~514.4米/秒
<3> 上向速度，999.9~9999.9米/秒
12、 DGPS Beacon Information（PGRMB）信标差分信息
$PGRMB,<1>,<2>,<3>,<4>,<5>,K,<6>,<7>,<8>*hh<CR><LF>
<1> 信标站频率（0.0，283.5~325.0kHz，间隔为0.5kHz）
<2> 信标比特率（0，25，50，100或200bps）
<3> SNR信标信号信噪比（0~31）
<4> 信标数据质量（0~100）
<5> 与信标站的距离，单位为公里
<6> 信标接收机的通讯状态，0=检查接线，1=无信号，2=正在调谐，3=正在接收，4=正在扫描
<7> 差分源，R=RTCM，W=WAAS，N=非差分定位
<8> 差分状态，A=自动，W=仅为WAAS，R=仅为RTCM，N=不接收差分信号
介绍
我们常说的GPS定位模块称为用户部分，它像“收音机”一样接收、解调卫星的广播C/A码信号，中以频率为1575.42MHz。GPS模块并不播发信号，属于被动定位。通过运算与每个卫星的伪距离，采用距离交会法求出接收机的得出经度、纬度、高度和时间修正量这四个参数，特点是点位速度快，但误差大。初次定位的模块至少需要4颗卫星参与计算，称为3D定位，3颗卫星即可实现2D定位，但精度不佳。GPS模块通过串行通信口不断输出NMEA格式的定位信息及辅助信息，供接收者选择应用。 
GPS模块性能的*价指标主要有接收灵敏度、定位时间、位置精度、功耗、时间精度等。模块开机定位时间在不同的启动模式下有很大不同。一般来说，冷启动时间是指模块内部没有保存任何有助于定位的数据的情况，包括星历、时间等，一般标称在1分钟以内;温启动时间是指模块内部有较新的卫星星历(一般不超过2小时)，但时间偏差很大，一般标称在45秒以内;热启动时间是指关机不超过二十分钟，并且RTC时间误差很小时的情况。一般标称在10秒以内;重新捕捉时间就如同汽车钻过了一个隧道，出隧道时重新捕捉卫星。一般标称在4秒以内。
如果模块在定位后放的时间很久，或模块在定位后运输到几百公里以外的地方，这样模块内部有星历，但是这个星历是错误的或不具有参考意义的。在这些情况下，定位时间可能要几分钟甚至更久的时间。所以一般GPS模块出厂时要将模块内部的星历等数据清掉，这样客户拿到模块后可以冷启动方式快速定位。
定位精度可在静态与动态情况下进行考察，且动态定位效果优于静态定位。GPS模块所标称的定位参数是指在完全开放的天空下，卫星信号优良的情况下测得。所以在常规的测试中很难达到标称的定位时间与定位精度。常见的水平定位精度描述方式有两种：一是?mCEP，即圆概率误差，意指测出的点有50%的概率位于一个以真实坐标为圆心，以?m为半径的圆内;二是?m2DRMS，即2倍水平均方根误差，意指测出的点有约95.5%的概率位于一个以真实坐标为圆心，以?m为半径的圆内。
精确度
GPS模块的定位精度取决于很多方面，比如来自于GPS系统的卫星钟差及轨道差、可见GPS卫星数量及几何分布、太阳辐射、大气层、多径效应等。另外，同一个GPS模块，还会因为天线及馈线质量、天线位置和方向、测试时间段、开放天空范围及方向、天气、PCB设计等原因产生不同的定位误差。即使是同一个厂家同一个型号的不同GPS模块使用天线分集器同时进行测试时，静态漂移量也会有差别。
GPS模块在实际应用中经常作为时间基准，辅以模块内部的RTC，可获得非常高精度的时间参考，为产品的设计提供了很大的方便。至于GPS测速，只是在获得经纬度的基础上，进行简单的计算实现的一种扩展应用。
GPS常见的天线是陶瓷平板天线，这种天线成本低，外部加有源放大电路，接收信号方向单一，增益比较高，所以采用最多。但它的缺点是体积大，易受温度影响产生频率飘移。如果把陶瓷面积做小，会影响接收增益;如果做薄，会影响接收天线接收带宽，还会受有源放大部分影响。目前使用效果很好的尺寸是25×25×4mm3。陶瓷片天线在实际使用时垂直向上放置时的效果最好。
GPS天线的信号传输线同样非常重要，包括外部馈线与PCB走线。只有在阻抗匹配时输出功率才可能最大。因此整个传输线要保证50Ω的高频阻抗，对于PCB上如何设计RF走线阻抗，有些小软件可以帮您很方便的计算。
问题分析
GPS模块的16通道是什么含义？GPS模块有一个通道数量的参数，例如最新型的为16通道，它表示该模块最大可以同时和16颗卫星建立通讯，模块只有同时收到3颗以上卫星信号后，经过复杂运算后才能获得正确的定位数据，如果同时通讯的卫星颗数越多，模块就能越快越准确地获得定位数据，在地球表面只有在地理条件特别理想的条件下才可能同时和16颗卫星通讯，一般的城市环境下通常可以同时和4～8颗卫星同时通讯。
GPS模块为什么开机后很长时间才能获得定位数据？GPS模块有冷开机和热开机两个参数，如果GPS模块初次通电，或者移动超过1000公里后通电时，模块要重新计算一次星历数据，一般需要1～5分钟，然后将星历数据存储在模块内部，靠模块内部的锂电池保存数据，这叫冷开机，需要较长的时间。如果下次开机，因为锂电池已经保存了有效的星历数据，所以能快速定位，一般在30秒以内，所以叫热开机，如果模块断电时间超过10小时，锂电池放电放光，那么再开机也相当于冷开机。
如果出现长时间无法冷开机时怎么办？只有在极少数情况下会出现超过15分钟无法冷开机，这时一般只要将模块重新断电开机或者将GPS天线移动一段距离再开机就能解决问题，当然GPS天线必须放到室外较为空旷的地方才能收到卫星！这是GPS模块刚开机没有获得有效定位数据时输出的数据GPS模块每秒输出一次：$GPGGA $GPGSA $GPGSV $GPRMC的定位数据，我们通常用$GPRMC精简数据输出这条信息，这条信息包含了目标的：经度、纬度、速度（海里/小时）、运动方向角、年份、月份、时、分、秒、毫秒、定位数据是有效的还是无效的这些重要信息，上图显示的是没有定位成功，所以数据无效。
GPS 和GPRS 有什么不同：
GPS是由美国开发的全球卫星定位系统。就像我国的北斗、俄罗斯的格洛纳斯、欧洲的伽利略一样都是定位用的GPRS它是GSM移动电话用户可用的一种移动数据业务，俗称2.5代通信系统。

主要故障
NO.1 第一种现象故障是模块完全没有工作　　这种情况有很多方面的原因都会出现,首先要测量管脚电压,这是最容易也是最简单的判断方法,如果电压有异常,则又要分开检查,是否是供电电路的问题,还是模块焊接的时候有短路,如果是来路不明的模块要考虑是否内部短路损坏,比如如果是从飞扬科技采购的u-blox的样品,有防静电的包装,不用考虑这些影响,而从网上来路不明的渠道采购的模块则要考虑是否是坏品等可能,这也要作为一个考虑的重点.
一般来讲,如果怀疑质量问题,名牌元器件的正规代理机构的可能性会比较小,但如果是从电子市场买回来的产品则首先要考虑货源的情况,这种情况下做实验无异于雪上加霜.
如果是短路情况,可以采取测电流的方式,如果不方便测试电流,则要摸PCB的底板是否哪个元器件或模块有发热的迹象,对于发热的部分,要仔细分析可能性.
u-blox的产品在实验当中的焊接过程中,可能会出现手工焊接的模块底部短路却又无法肉眼观察的现象,这个时候要仔细用万能表来测试是否两个邻近脚之间短路现象,如果有这种情况,则该部分也会发热,当然也要先排队外围没有短路的情况,这个时候应该用烙铁再次加温对该部分重新加助焊剂进行焊接,有的时候短路在底部,焊锡可能太多,这个时候需要用热风枪从底部拆卸模块并对拆下来的模块进行焊锡整理,再进行重新的再次焊接,在焊接中一定要严格注意各种温度控制,模块的最大温度不能超过250度10秒,要切记所有的操作流程都要正确,才能让模块在实验当中的损坏率尽可能低.
一般来说如果电路本身成熟,则重点要考虑上述提到的底部短路焊接问题,换完之后如果各脚电压正确,原则上来说通过的可能性就会大.
NO.2 第二种现象故障是模块电压正常却没有NMEA码输出　　这种情况的原因是可能是TTL电平的VCC供应端没有加3V的电压,先测试管脚接线是否正常,一般来讲都和TTL电平的电路有关系.
NO.3 第三种现象是模块电压正常有NMEA输出却没有定位信息　　这种情况分很多种情况,但以下的情况是测试时机器置于室外,不考虑信号强度问题.　　如果是无源天线,则在室外使用时要注意是否外围线路正确　　如果使用的是外置有源天线,则一定要考虑RF[_]IN脚是否有3V的供电电压,如果没有,则是RF部分3V的供电电路没有提供,重点检查RF部分的电源供电部分.
NO.4 第三种现象是模块电压正常有NMEA输出却不能使用USB接口来通讯　　这种情况主要考虑模块的USB的供电端是否正常,DP+/DP-的数据线是否接反,还有一种情况就是它的保护管子钳位或是损坏,在紧急情况下可以先拆除保护二极管先进行通讯操作,以后再具体实验.[1]