一,GPS 配置改成不省晶体方式
1.1 查看原理图:
GPS xLNA
–GPIO_GPS_LNA_EN // 据此查到对应GPIO79(AL27)
1.2 修改dws配置gpio模式
1.3. 修改dts:
/* CONSYS GPIO standardization */
&pio {
consys_pins_default: default {
};
gpslna_pins_init: gpslna@0 {
pins_cmd_dat {
pins = <PINMUX_GPIO79__FUNC_GPIO79>;
slew-rate = <0>;
bias-disable;
output-low;
};
};
gpslna_pins_oh: gpslna@1 {
pins_cmd_dat {
pins = <PINMUX_GPIO79__FUNC_GPIO79>;
slew-rate = <1>;
output-high;
};
};
gpslna_pins_ol: gpslna@2 {
pins_cmd_dat {
pins = <PINMUX_GPIO79__FUNC_GPIO79>;
slew-rate = <1>;
output-low;
};
};
&consys {
pinctrl-names = "default", "gps_lna_state_init", "gps_lna_state_oh", "gps_lna_state_ol";
pinctrl-0 = <&consys_pins_default>;
pinctrl-1 = <&gpslna_pins_init>;
pinctrl-2 = <&gpslna_pins_oh>;
pinctrl-3 = <&gpslna_pins_ol>;
status = "okay";
};
1.4 由省gps晶体,改为不省gps晶体
修改alps\device\mediatek\mt6580\WMT_SOC.cfg
- co_clock_flag=1 // 默认为省晶体
+ co_clock_flag=0
1.5 修改alps\vendor\mediatek\proprietary\custom\k80hd_bsp_fwv_512m\cgen\cfgdefault\CFG_GPS_Default.h
ap_nvram_gps_config_struct stGPSConfigDefault =
{
/* if chip detector say it's not 3332 use /dev/stpgps,else use /ttyMT1 */
{'/','d','e','v','/','s','t','p','g','p','s',0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0},
/* 0:s/w, 1:none, 2:h/w */
1,
/* 26MHz */
26000000,
/* default is 0ppm, by chip definetion. 6620 is 500, else 2000 */
0,
/* 0:16.368MHz TCXO */
- 0xFE, // 默认为0xFF,省晶体要配为0xFE
+ 0xFF, // 默认为0xFF,不省晶体要配为0xFF
1.6 更改modem配置-重新配modem
二,GPS的特殊知识
1, FULL start、COLD start、WARM start、HOT start这些启动方式是什么意思?
定位过程中最重要的辅助资讯包括时间、位置、星历。
FULL start:没有任何的辅助资讯。相当于end user第一次买到手机后使用定位应用的场景。
COLD start:有时间辅助资讯,end user不会遇到该场景。
WARM start:有时间、位置辅助资讯,end user此次定位距离上次定位超过2~4个小时。
HOT start:有所有的辅助资讯,end user此次定位距离上次定位小于2~4小时。
所以对于end user经常会遇到的场景是WARM/HOT start。
2, 各种启动方式的TTFF是多少?
TTFF的结果和测试环境、测试的手法、硬件的GPS 性能强相关。
MTK给出的数据是基于在open sky的环境下,有6颗卫星SNR》40db。
FULL start TTFF:小于50s。
COLD start TTFF:小于40s。
WARM start TTFF:小于35s。
HOT start TTFF:小于5s。
3, 辅助定位技术有哪些?
这三种技术可以同时打开,同时提供辅助资讯的时候,MTK 的GPS 演算法会都接受,不会冲突。
4, 如何快速获取MNL Version?
MNL 是Mediatek Navigation Library的缩写,版本号是以日期标注的,例如MNL_VER_14051401ALPS05_3.60_09。
将设置中的位置服务打开,请进入工程模式下YGPS-----》INFORMATION--MNL version就可以看到该版本号。
5, Galieo是否支持?
软件不支持。
6, Gps在工作期间,上报数据的频率是多少?
1HZ。
最高可以调整到5HZ,但不建议修改到5HZ,因为会带来高功耗。
请在linux_gps_init接口中,将g_is_1Hz=5即可。
7, 是否支持SBAS?
QZSS/WASS/EGNOS/MSAS/GAGAN。
8, 对GNSS的支持是如何的?
GNSS即指多卫星系统,例如GPS、GLONASS、BEIDOU。
9, GPS在工作期间,是否有休眠的机制?
没有。
10, GPS 芯片使用的TCXO物料的频偏不同,软件是否需要配置?
只要GPS chip不是6620,软件就不需要配置。
11, 软件如何配置使用什么卫星系统?
方法一:
找到mnl.prop file(path: /data/misc/,如果不存在,请创建该文件)
打开该文件,添加GNSS_MODE=value 保存后在push to /data/misc/即可。
方法二
修改mnl_config变量中的的GNSSOPMode的值。
对于非3332的取值范围:
对于6625L,默认是GPS+GLONASS;
对于MT3332,默认是GPS+GLONASS;
对于MT6630,默认是GPS+GLONASS+BEIDOU;
特别注意:
如果是在系统运行过程中修改GNSS的配置,为了是修改配置能够生效,请delete /data/misc/mtkgps.dat。
如果gps正在运行中,记得在修改配置后,关闭GPS,然后删除/data/misc/mtkgps.dat。