mtk平台gps配置相关

发布时间:2017-06-23 14:10:15

目录

Q1、如何打开GPS debug log 1

Q2GPS 启动流程  1

Q3EPO辅助定位介绍 2

Q4、如何查看EPO是否下载正常 3

Q5EPO无法下载 4

Q6、如何实现GPS秒定功能 4

Q7、为什么无法5秒内定位 6

Q8Catcher + PowerGPS 联调 6

Q9MT2503内置MT3333 GPS芯片,支持哪些定位系统 7

Q10、如何修改GPS/GNSS/BEIDOU卫星定位方式 8

Q11、如何生成对应的MT3333.bin 8

Q12GPS定位误差大 9

Q1如何打开GPSdebug log

  1打开以下宏

DA_SMART_SELECTION_SUPPORT = TRUE

NTPD_SUPPORT = TRUE

KAL_DEBUG_LEVEL = SLIM_DEBUG_KAL

KAL_TRACE_OUTPUT = FULL

FeaturesCFG_MMI_NITZ(__ON__)、CFG_MMI_WORLD_CLOCK(__ON__)

2请使用移动卡测试,开机会自动同步时间,否则下载的EPO文件不正常,AIDING数据是无效的

3、LOG 查看方法

Catch 中选MOD_GPS ,右键选ALL CLASS ON,就可以看到相应的LOG

Q2GPS 启动流程 

(1)GPS task接到从应用层发送过来的MSG_ID_GPS_UART_OPEN_REQ;

(2)GPS task发送MSG_ID_GPS_MNL_INIT_REQ;

(3)MNL task收到MSG_ID_GPS_MNL_INIT_REQ,交由GPS_MNL_Init接口处理。

(4)MNL task后续的每一秒都会走到mtk_gps_task.c文件中的mtk_gps_sys_callback_func接口,处理MTK_GPS_MSG_FIX_READY ,在这里,会将数据封装成NMEA 标准。上报MSG_ID_UART_READY_TO_READ_IND给GPS Task;

(5)GPS task收到MSG_ID_UART_READY_TO_READ_IND后,开始处理gps 的数据。并给应用层回报如下几个消息:

MSG_ID_GPS_UART_NMEA_SENTENCE

MSG_ID_GPS_UART_NMEA_LOCATION

MSG_ID_GPS_UART_P_INDO_IND

MSG_ID_GPS_UART_RAW_DATA

MSG_ID_GPS_UART_DEBUG_RAW_DATA

一般打开GPS的时候mode选择LOCATION,这样前面三个消息是有的;如果打开的mode还包括RAW_DATA,这样后面的两个msg也有。

目前在MMI层的MDI service层次上有对这几个msg的处理,这一点是在有MMI task的基础上才可以。所以对这几个msg的处理,都可以参考mdi_gps.c文件中的

(6)应用层获到gps 的定位数据后进行处理。可参考engineermodeMinigps.c文件中的em_minigps_gps_callback接口的处理,来书写自己的处理handler。

Q3EPO辅助定位介绍

1、MT2503 辅助定位的方式系统已经默认开启,是以EPO的方式去辅助定位

(1)AGPS 只能下载两个小时的有效星历,MTK不使用此方式,所以代码中无需开启AGPS_SUPPORT这个宏;

(2)EPO下载的数据为3天的辅助定位数,只要在有校时间内不需要连网下载就可以进行AIDING,加速定位;

(3)系统默认开机20秒后下载EPO文件。

2、EPO下载下来之后,在后面使用定位的过程中,就会极大的加速定位过程。

(1)EPO改善最明显的是warm start,可以改善到和hot start一样的效果,即TTFF<5s

(2)cold start可以改善到TTFF< 15s

(3)FULL cold start不能改善 ,因为full cold startend user第一次使用设备定位的情况,没有任何的辅助数据。这种情况EPO 无法改善。

Q4如何查看EPO是否下载正常

1、 确保代码中已经支持以下Featrues

TCPIP_SUPPORT = UDP_TCP

GPS_SUPPORT = MT3333

2、 代码中打开详细的LOG

KAL_DEBUG_LEVEL = SLIM_DEBUG_KAL

KAL_TRACE_OUTPUT = FULL

3、 开机后20秒自动下载EPO文件,在Chater MOD_GPS -->右键 All class on,如下图

4、 通过打开GPS,查看log中是否有EPO辅助定位

5、 下载的EPO文件在根目录下,可以用META工具查看。进入FAT工具后点Get File List:

Q5EPO无法下载

1、 确认主板的性能OK,能够正常的接打电话

2、 写入合法的IMEI,防止连不上网

3、 MAK中打开DA_SMART_SELECTION_SUPPORT = TRUE

4、 查看系统盘的剩余空间,是否大于100Kb,一个文件大概在50Kb

5、 Modem版本epo功能需要下发AT CMD去触发下载,且在enable epo前需要添加网络参数激活网络。

Q6如何实现GPS秒定功能

1、 最新的GPS Chip MT3333在同时获取以下三类辅助数据的前提下可以实现秒定功能:EPO 、 Reference time(NTP/ NITZ/ GPS Time)、Reference location;

三类辅助数据的命令类型如下:

其中,EPO和Reference time辅助数据的获取,MTK平台默认已经实现。

Reference location部分需要客户客制化来实作,以下对Reference location获取进行说明。

2、位置信息(Reference location)获取:

1)从server上获取当前位置location数据;

2)将location 数据注入MT3333,注入方法可参考: mmi_fmg_gps_ut_send_one_command_test() mmi_fmg_gps_ut_send_ttff() 两个函数。

3)组装PMTK713 PMTK741 命令来注入当前位置信息:

1$PMTK713,Lat,Long,Alt,Unc_SMaj,Unc_SMin,Maj_Bear,Unc_Vert,Conf*CS

例:$PMTK713,24.772816,121.022636,160,333,333,6,50,67*08

The packet indicates that the GPS receiver is at latitude 24.772816 degrees, longitude 121.022636 degrees withuncertainty of 333m in semi-major axis, 333m in semi-minor axis, and 50m in vertical, with 67% confidence.

2$PMTK741,Lat,Long,Alt,YYYY,MM,DD,hh,mm,ss *CS

例:$PMTK741,24.772816,121.022636,160,2016,01,01,12,00,00*17

The packet indicates that the GPS receiver is at latitude 24.772816 degrees, longitude 121.022636 degrees, andaltitude 160m at UTC 2016/1/1 12:00:00. If the GPS receiver was power on @ UTC 2016/1/2 12:00:00. You couldsend the following command to inject the location information to GPS receiver.

3

CS:为Checksum,具体计算方法:将字串“PMTK741,Lat,Long,Alt,YYYY,MM,DD,hh,mm,ss”,从头至尾,两两字符的ASCII码值做异或运算,结果是一个8bit整形值,然后用十六进制数表示即可(即:异或运算结果是8bit整形值35,就表示为23)。

\x0d\0a

4PMTK CMD 发送流程

1GPS chip power on 之后将返回$PMTK010,001*2E”消息,告诉主机可以开始发送辅助定位信息;

2写辅助数据流程time-->EPO-->position只有position需要客户写入,其他系统已经做好

打开GPS两到三秒即可写入position辅助数据)。

Q7为什么无法5内定位

1、 确定测试是在开阔的露天环境测试;

2、 确定 ref timeUTC style

3、 确定 ref location 精确度小于 20 km

4、 确定 EPO文件已经写入 MT 3333

Q8Catcher + PowerGPS联调

1 、设置Catcher:

(1)打开 MOD_GPS 并选中 all classes on:

(2)菜单Tools中打开GPS channel:

(3)配置通信端口,默认是7005:

2、设置PowerGPS:

(1)设置通信接口为socket(port number设置成和catcher一样):

(2)连接catcher:

3、catcher发送命令给mt2503以获得debug log:

(1)发送MOD_GPS 13 1001 使能 catcher log 输出:

(2)发送MOD_GPS 1 1 启动 GPS 模块:

(3)在PowerGPS中可查看到卫星信息。

Q9MT2503内置MT3333 GPS芯片,支持哪些定位系统

MT3333为半软半硬件的定位方式,默认支持GPS+GLONASS,可以修改为GPS+BEIDOU、GPS Only

Q10、如何修改GPS/GNSS/BEIDOU卫星定位方式

1、 如下图所示,根据需要修改gps_init.c 中gps_type 的值:

若不存在以上这段代码,则不支持修改,需要申请相关patch;

2、 改变类型同时,请根据提供的.bin文件替换mcu/gps/core/custom_core目录下对应的MT3333.bin,修改定位的默认配置模式;

3、 改变模式都需要修改MT3333.bin,MTK不推荐动态改变GPS的模式。

Q11如何生成对应的MT3333.bin

可参考文档:《Change_GNSS_mode_to_BEIDOU_inMT2503_V1.0.pdf

1、 使用 corebuilder工具to load MT3333 F/W:

2、 LoadMT3333/FM:

3、 点击“core option”按钮,load MT3333,选择对应的配置文件进行load:

4、 最后 save as 即可:

Q12GPS定位误差

1、确保能收到4颗卫星以上(3D定位);(环境)

2、周边测试环境是否有建筑,建筑反射会造成信号接收计算误差;(环境)

3、天线外置天线用无源陶瓷天线,内置使用有源天线,一般gps天线有源的比无源的好些。

(硬件)

4、EPO是否下载完整;EPO辅助是否已起作用。

卫星讯号进行定位时信号越弱,测量误差就会比较大,当误差大到无法满足定位精度需求时, 也有可能无法成功定位。

mtk平台gps配置相关

相关推荐