日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MTK GPS问题调试

發布時間:2023/12/9 编程问答 64 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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/misc/EPO.DAT。

EPO是預測未來30天所有衛星的ephemeris

Condition:

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

CTTFF <??15s,??WTTFF??<??5s??

HotStill

需要通過實收衛星信號且要解算出其衛星的ephemeris。

預測的數據放在/data/misc/BEE.bin、/data/misc/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/misc/BEE.bin、/data/misc/ARC.bin。

Step6:在YGPS里,執行WARM start,看是否可以在5s內完成定位,請在open sky下測試。

調試測試 Hotstill?效果

Step1:確保網絡是關閉的,使用adb刪除/data/misc/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/misc/,如果不存在,請創建該文件)

打開該文件,添加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/misc/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/misc/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.002D : mtk_gps_sys_gps_mnl_callback: Age = 2, RTCDiff = 30, Time_interval = 10D 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: gpsD 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調試寶典

總結

以上是生活随笔為你收集整理的MTK GPS问题调试的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。