MTK GPS问题调试

目录

1、基本概念

2、MTK 平台相关参数说明

3、Log 抓取分析

4、常见问题分析

参考链接


1、基本概念

1.1、GPS定位和网络定位有什么不同?

GPS定位是需要卫星参与的,设备借助搜到的卫星讯号,来计算出来设备的位置。open sky环境下,6颗卫星信号强度大于40db,CEP67=3米

网络定位是指利用基站、WIFI MAC,获取一个粗略的位置。基站定位和覆盖范围有关,所以精度可能很低。WIFI MAC 通过机器能搜到的 WIFI ,从服务器按照 MAC 地址去取到对应 WIFI 的位置信息,及当前信号强度来确定大概位置,精度相对会比基站高点

1.2、3D定位和2D 定位的区别?

3D一般是指使用至少4颗以上卫星完成的定位。

2D一般使用3颗卫星完成的定位过程。

3D相比于2D 定位,即定位精度更高。

1.3、卫星分布对GPS performance有很大影响吗?

是的。在NMEA 中GPGGA、GPGSA都有相关数据精度因子,该值越小越好,建议小于2。设备位于地球上的某一点,可以认为在地球上方,有4个象限,仰角0~90度。好的卫星分布要满足如下条件:

  • 每个象限都有卫星;
  • 卫星不能在同样的仰角上。
  • 低仰角卫星被干扰的可能性更大、传输距离更远,容易出现问题。

解释常见的卫星分布:

  • open sky的环境下,各个象限都有卫星。
  • 窗边的环境下,只能看到半边天的卫星,即半圆内有卫星。
  • 在闹市中,高楼围起来的街道上,只能看到高仰角的卫星。

1.4、如何同步GPS时间到本地时间?

Step1:将设置中的时间选项,设置为用GPS时间同步。

Step2:将设置中的位置服务打开。

Step3:打开任何的地图应用,定位成功后,就可以看到时间同步了。例如用工程模式下面的YGPS定位APK。

计算方式:GPS UTC 时间 + 当前时区,例如 GPS UTC 时间为 071249.988 ,对应北京时间就是 15(07+08):12:49.988

1.5、各个卫星系统的卫星编号是多少?

(SatelliteSystem )  (PRN Numbers)   (NMEA/PMTK  SVID)

GPS                      1 ~ 32                   1 ~ 32

WAAS                   120 ~ 138             33 ~ 64

GLONASS            1 ~ 24                   65 ~ 88    (89~96 reserved)

GALILEO              1 ~ 54                   51~104

QZSS                   183 ~ 187             reserved

                             193 ~ 197             193~197

BDS                      1~30                    201~230

2、MTK 平台相关参数说明

2.1、YGPS测试中,FULL start、COLD start、WARM start、HOT start、TTFF 值

定位过程中最重要的辅助资讯包括时间、位置、星历。

FULL start:没有任何的辅助资讯。相当于end user第一次买到手机后使用定位应用的场景。

COLD start:有时间辅助资讯,end user不会遇到该场景。

WARM start:有时间、位置辅助资讯,end user此次定位距离上次定位超过2~4个小时。

HOT start:有所有的辅助资讯,end user此次定位距离上次定位小于2~4小时。

对于终端用户经常会遇到的场景是就是 WARM/HOT start。

TTFF的结果和测试环境、测试的手法、硬件的GPS 性能强相关。MTK给出的数据是基于在open sky的环境下,有6颗卫星SNR》40db。

FULL start TTFF:小于50s。

COLD start TTFF:小于40s。

WARM start TTFF:小于35s。

HOT start TTFF:小于5s。

2.2、MTK 辅助定位技术

辅助方式

辅助数据来源

有效时间

TTFF

AGPS

通过网络连接到AGPS SERVER,从AGPS SERVER获取aiding data(包括参考时间,参考位置,星历和almanac)

2 hours

Spec  <  20s

EPO

EPO file可以通过网络(wifi/数据连接)的方式从MTK Server下载到手机中,在使用GPS时就无需再连接网络。只要使用时间在EPO file的有效期内,就可以利用EPO加速定位。

文件放在data/vendor/gps/EPO.DAT。

EPO是预测未来最多30天所有卫星的ephemeris

Condition:

6SVs CNR > 40dB, (SVs: satellites)

CTTFF <  15s,  WTTFF  <  5s  

HotStill

需要通过实收卫星信号且要解算出其卫星的ephemeris。

预测的数据放在data/vendor/gps/BEE.bin、data/vendor/gps/ARC.bin

预测未来7天的ephemeris

Condition:

6SVs CNR > 40dB, (SVs: satellites)

WTTFF  < 5s

三种技术可以同时打开提供辅助资讯,MTK GPS 演算法都会接受,不会冲突。目前MTK的solution已经将EPO 、Hotstill默认集成在系统中,默认都是打开的。没有菜单可以供测试者关闭EPO。

调试测试 epo 效果

Step1:确保网络是OK的。

Step2:使用YGPS,将INFORMATION中的Hotstill按钮设置,使其显示为Enable Hotstill[Need Restart]。

Step3:退出YGPS,再打开YGPS,并完成3D fix,并保持定位状态1min。

Step4:关闭网络。

Step5:使用adb删除data/vendor/gps/BEE.bin、data/vendor/gps/ARC.bin。

Step6:在YGPS里,执行WARM start,看是否可以在5s内完成定位,请在open sky下测试。

调试测试 Hotstill 效果

Step1:确保网络是关闭的,使用adb删除data/vendor/gps/EPO*

Step2:使用YGPS,将INFORMATION中的Hotstill按钮设置,使其显示为Disable Hotstill[Need Restart]。

Step3:退出YGPS,再打开YGPS,并完成3D fix,并保持10min。

Step4:在YGPS里,执行WARM start,看是否可以在5s内完成定位,请在open sky下测试。

2.3、获取MNL Version

MNL 是Mediatek Navigation Library的缩写,版本号是以日期标注的,例如MNL_VER_14051401ALPS05_3.60_09。

将设置中的位置服务打开,请进入工程模式下YGPS-----》INFORMATION--àMNL version就可以看到该版本号。

 2.4、Gps在工作期间,上报数据的频率

 1HZ。最高可以调整到5HZ,但不建议修改到5HZ,因为会带来高功耗。

请在linux_gps_init接口中,将g_is_1Hz=5即可。具体修改方法,请参考如下:

修改init.rc:

service mnld /system/xbin/mnld

      class main

      group nvram gps inet misc sdcard_rw sdcard_r media_rw

      socket mnld stream 660 gps system。

2.5、软件配置使用的卫星系统

方法一:

找到mnl.prop file(path: data/vendor/gps/,如果不存在,请创建该文件)

打开该文件,添加GNSS_MODE=value 保存后在push to /data/misc/即可。

方法二

修改mnl_process_6620.c中的mnl_config变量中的的GNSSOPMode的值。

对于6625L,默认是GPS+GLONASS ,可以切换成GPS+BEIDOU,但是不能同时support GPS+GLONASS+BEIDOU;

对于MT3332,默认是GPS+GLONASS ,可以切换成GPS+BEIDOU,但是不能同时support GPS+GLONASS+BEIDOU;

对于MT6630,默认是GPS+GLONASS+BEIDOU;

注意:

软件不支持 Galieo ,支持 QZSS/WASS/EGNOS/MSAS/GAGAN 种类 SBAS 。

如果是在系统运行过程中修改GNSS的配置,为了是修改配置能够生效,请delete data/vendor/gps/mtkgps.dat。

如果gps正在运行中,记得在修改配置后,关闭GPS,然后删除/data/misc/mtkgps.dat。

3、Log 抓取分析

3.1、Gps DebugLog 抓取

工程模式----->Location----->YGPS----->NMEA LOG----->找到dbg2file button,当显示成为Disable dbg2file[Need Restart]表示设置成功,即可抓取GPS DEBUGLOG。默认保存log 路径如下

#define LOG_FILE   “data/vendor/gps/gpsdebug.log”

3.4、上层logcat日志几个关键字

LocationManagerService

GnssLocationProvider

MTK_GPS_MSG_FIX_READY

 D         : mtk_gps_sys_gps_mnl_callback: MTK_GPS_MSG_FIX_READY, GET_RTC_OK, 0.063, 0.002
 D         : mtk_gps_sys_gps_mnl_callback: Age = 2, RTCDiff = 30, Time_interval = 10
 D pseudo  : mtk_gps_sys_nmea_output_to_app: len:46, [vAGPS_Auto_Req]:g_FirstDbtt:0,u2BitMap:0x10f

MTK_GPS_MSG_FIX_READY 这一段表示定时刷新上传数据,关注最后一个 0.002 ,这个表示距离上一次定位成功时间点,如果单位是 s,如果显示太长时间,表示定位功能异常了

 I GnssLocationProvider: WakeLock acquired by sendMessage(REPORT_LOCATION, 1, Location[gps 32.159382,118.693323 hAcc=9 et=?!? alt=58.1 vel=0.48075056 bear=243.04 vAcc=??? sAcc=??? bAcc=???])
 I GnssLocationProvider: WakeLock acquired by sendMessage(REPORT_SV_STATUS, 0, com.android.server.location.GnssLocationProvider$SvStatusInfo@9c51571)
 I GnssLocationProvider: WakeLock released by handleMessage(REPORT_LOCATION, 1, Location[gps 32.159382,118.693323 hAcc=9 et=+1h33m25s726ms alt=58.1 vel=0.48075056 bear=243.04 vAcc=??? sAcc=??? bAcc=??? {Bundle[{satellites=0, maxCn0=0, meanCn0=0}]}])

这段log,第一行 REPORT_LOCATION 表示底层数据传递到FWK层了,包含了 location 数据, 准备发往APP层。第三行表示发生完毕,释放wakeLock

 D LocationManagerService: incoming location from: gps
 D LocationManagerService: incoming location from: gps

 这里判断定位类型,包含 gps network 等。

3.3、GPS Host Log

mtklogger目录下 connsyslog\gpshost\ 路径下,保存原始的 GPS 数据日志,包含 Nmea 和 其他MTK加的数据,便于分析查看GPS数据信息

4、常见问题分析

4.1、GPS软件工作正常。open sky的环境下有卫星讯号,但是设备一颗星搜不到。

硬件先排查电路设计,目前GPS的硬件设计,一般都是需要在卫星讯号进入到chip之前,会有一块处理电路。

软件上看,需要先check LNA有没有使能,即ANT_SEL0有没有拉高。如果发现没有拉高,就需要检查dws文件配置是否有问题。

4.2、偶现 GPS 搜不到星,Cold 启动或者重启手机后恢复

可能是 epo 相关配置问题。将 epo 关闭后复测看下,如果是 epo 问题,抓取log给MTK具体解决。

epo hal 层代码

vendor/mediatek/proprietary/hardware/connectivity/gps/mtk_mnld/mnld_entity/src/epo.c

把代码中 gps_epo_enable 都强制赋值成 0

或者修改系统配置参数

vendor/mediatek/proprietary/hardware/connectivity/gps/mtk_mnld/etc/gps.conf

EPO_ENABLE=1 // 0表示关闭 1开启
DW_DAYS=9 //默认最大下载天数
EPO_WIFI_TRIGGER=0
RAW_DEBUG_MODE=1

参考链接

mtk平台gps配置相关

MTK 秒定位 检测EPO流程注意事项

MTK 驱动(100)---GPS调试宝典

Contents 文档的目的 ....................................................................................................................................... 1 版本信息 ........................................................................................................................................... 2 GPS 基本知识 .................................................................................................................................. 4 Ø 1.1)GPS 定位和网络定位有什么不同? ...................................................................... Ø 1.2)3D 定位和2D 定位的区别? ................................................................................. Ø 1.3)卫星分布对GPS performance 有很大影响吗? .................................................... Ø1.4)如何同步GPS 时间到本地时间? ......................................................................... Ø 1.5)各个卫星系统的卫星编号是多少? ...................................................................... Ø 1.6)GPS 定位精度能够达到多少? .............................................................................. MTK ALPS GPS 的特殊知识 .............................................................................................................. Ø 2.1)FULL start、COLD start、WARM start、HOT start 这些启动方式是什么意思? Ø 2.2)各种启动方式的 TTFF 是多少? ............................................................................ Ø 2.3)辅助定位技术有哪些? .......................................................................................... Ø 2.4)如何快速获取 MNL Version? ................................................................................ Ø 2.5)Galieo 是否支持? ..................................................................................................... Ø 2.6)Gps 在工作期间,上报数据的频率是多少?.......................................................... Ø 2.7)是否支持 SBAS? ....................................................................................................... Ø 2.8)对GNSS 的支持是如何的? ...................................................................................... Ø 2.9)GPS 在工作期间,是否有休眠的机制? ................................................................. Ø 2.10)GPS 芯片使用的 TCXO 物料的频偏不同,软件是否需要配置? ........................ Ø 2.11)软件如何配置使用什么卫星系统? ....................................................................... LOG 相关 ......................................................................................................................................... Ø 3.1)MTK 的工程师为什么总是需要提供 gps debug log? ........................................... Ø 3.2)Gps debug log 存放在哪里? .................................................................................. Ø 3.3)Gps debug log 的存放目录是否可以修改? ........................................................... Ø 3.4)抓取什么 log,才能够方便MTK 工程师快速的分析GPS 问题。 ...................... Ø 3.5)GPS NMEA sentence 是否可以在mtklog 中出现? ............................................... Ø 3.6)如何通过 log 判断GPS 软件工作正常? ............................................................... Ø 3.7)如何确定导航系统选择的就是软件配置的 ........................................................... Code Flow 相关 ............................................................................................................................... Ø 4.1)EPO 的下载过程。 ................................................................................................... Ø 4.2)开发GPS tool,参考 CWtest、meta gps、ftm gps 的流程。 ............................... Ø 4.3)GPS LNA GPIO 的控制流程。 .................................................................................. GPS 无法搜到卫星 ......................................................................................................................... Ø 4.1)确认GPS 软件工作正常。在open sky 的环境下是有卫星讯号的,但是为什么我的设 备一颗卫星搜不到?我应该怎么检查这类问题? ...................................... Ø 4.2)对于使用 6752/6732 的平台,对GPS LNA GPIO 的pin 的控制无效,导致无法搜 星 问题如何处理? .......................................................................................................... Coclock 相关 ................................................................................................................................... Ø 5.1)目前支持 Coclock 的平台有哪些? ........................................................................Ø 5.2)什么是Coclock 方案? ............................................................................................ Ø 5.3)Coclock 为何需要校准? ......................................................................................... Ø 5.4)Coclock 方案和TCXO 方案,在end user 使用上有什么不同? .......................... Ø 5.5)Coclock 下软件如何配置? ..................................................................................... Ø 5.6)Log 中有什么地方表示我选择的 coclock 方案? .................................................. Ø 5.7)如何判断有校准成功?........................................................................................... Ø 5.8)如何检查 clock 的稳定性? .................................................................................... AGPS 认证相关 .............................................................................................................................. Ø 6.1)测试AGPS sensitivity 之前,为什么需要先3D fix? ............................................. Ø 6.2)AGPS 认证测试之前,需要经过软硬件的检查有哪些? ..................................... Ø 6.3)AGPS 认证测试的地点一般有哪些? ..................................................................... Ø 6.4)有没有认证测试的 SOP? ....................................................................................... 测试相关......................................................................................................................................... Ø 7.1)如何测试FULL start、WARM start、COLD start、HOT start 这几种启动方式的TTFF? Ø 7.2)GPS field trial 测试,该如何进行? ........................................................................ Ø 7.3)如何去测试EPO 的辅助效果? .............................................................................. Ø 7.4)如何去测试Hotstill 的辅助效果? ......................................................................... Ø 7.6)客户制定了自己的测试方法和标准,测完 fail,why? ...................................... GPS 资料 ......................................................................................................................................... Ø 8.1)请从 DCC 上查找如下: ....................................................................................... Ø 8.2)MTK online 上的eCourse 有哪些GPS 资源? .................................................... Ø 8.3)porting MT3332 有哪些资料? ............................................................................. Ø 8.4)如果我要分析 gps performance,我可以参考什么 log? .................................. MAUI GPS 特殊知识 ...................................................................................................................... Ø 9.1)Makefile 中有哪些GPS 相关项? ........................................................................ Ø 9.2)FULL start、COLD start、WARM start、HOT start 这些启动方式是什么意思? Ø 9.3)各种启动方式的 TTFF 是多少? .......................................................................... Ø 9.4)辅助定位技术有哪些? ........................................................................................ Ø 9.5)GPS 不工作问题如何调试? ................................................................................ Ø 9.6)GPS 搜不到卫星问题如何调试? ........................................................................ Ø 9.7)GPS 搜星慢问题如何调试? ................................................................................ Ø 9.8)如何用 miniGPS tool 检查 gps 搜星状况? ....................................................... Ø 9.9)如何在 MAUI 上开发GPS? ................................................................................. Ø 9.10)如何在 MAUI 上测试 GPS Performance? ......................................................... Ø 9.11)如何调试EPO 下载失败的问题? ..................................................................... Ø 9.12)如何在 PHONE 上将EPO 支持起来? ............................................................... Ø 9.13)GPS 的启动流程是什么样的? .......................................................................... Ø 9.14)GPS 支持哪些command? .................................................................................Ø 9.15)如果将 gps log 保存在本地设备中? ................................................................ Ø 9.16)AGPS 认证需要抓取什么log? .......................................................................... Ø 9.17)MT6261M 是否支持GPS chip MT3332/MT3336? ........................................... Ø 9.18)MAUI 上是否支持MT3333/ MT3339/MT3329/MT3337 等 GPS chip? ........... Ø 9.19)如何同步GPS 到系统时间? ............................................................................ Ø 9.20)MT3332 如何切换到GPS+BEIDOU 模式? ........................................................ Ø 9.21)EPO 是否可以通过BT 下载? ............................................................................ Ø 9.22)Tracker 、IOT 上GPS 的功耗多少? .................................................................
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值