一种原始观测量数据在ANDROID终端中的传输方法及相应的终端技术

技术编号:12266031 阅读:64 留言:0更新日期:2015-10-31 11:55
一种原始观测量数据在ANDROID终端中的传输方法,所述ANDROID终端的导航芯片通过串行接口和应用处理器物理连接,Linux驱动将所述串行接口向ANDROID HAL层映射成设备节点,所述方法包括,所述HAL层读取所述设备节点,如果所述读取的内容为NMEA语句,所述HAL层通过标准接口将所述NMEA语句返回给上层,如果所述读取的内容是原始观测量数据,所述HAL层通过类NMEA语句封装步骤将原始观测量数据封装为类NMEA语句后返回给上层。采用本发明专利技术的方法及终端后,ANDROID终端可以进行原始观测量数据输出,与普通导航定位功能相结合,为用户提供更方便、更高精度、更多功能的导航应用及用户体验。

【技术实现步骤摘要】

本专利技术涉及一种原始观测量数据在ANDROID终端中的传输方法及相应的终端
技术介绍
目前,ANDROID定位子系统所支持的仅仅是NMEA语句的上传:导航芯片通过串行接口(UART/IIC/SPI 等)和 AP (应用处理器,Applicat1n Processor)物理连接,Linux 驱动将串行接口向ANDROID HAL层映射成设备节点,HAL层读取设备节点,读到的内容即是NMEA语句,然后通过标准的接口返回给上层。但是,当导航芯片进入原始观测量模式输出原始观测量数据的时候,ANDROID定位子系统就无法完整的将数据传给上层,原因有: 1、原始观测量数据是二进制流,并不像NMEA那样是字符串,而ANDROID上传NMEA的接口的参数是字符串类型; 2、原始观测量数据并不像NMEA那样以类似$GP…开头,以\r\n作为一行的结束,HAL层无法一帧帧将原始观测量数据上传。
技术实现思路
本专利技术的目的是提供一种原始观测量数据在ANDROID终端中的传输方法及相应的终端,通过利用带卫星导航功能的ANDROID终端进行原始观测量应用,提高定位精度,丰富定位应用。本专利技术提供一种原始观测量数据在ANDROID终端中的传输方法,所述ANDROID终端的导航芯片通过串行接口和应用处理器物理连接,Linux驱动将所述串行接口向ANDROIDHAL层映射成设备节点,所述方法包括,所述HAL层读取所述设备节点,如果所述读取的内容为NMEA语句,所述HAL层通过标准接口将所述NMEA语句返回给上层,如果所述读取的内容是原始观测量数据,所述HAL层通过类NMEA语句封装步骤将原始观测量数据封装为类NMEA语句后返回给上层。更进一步,所述类NMEA语句封装步骤包括,所述HAL层将所述原始观测量数据的每一个字节转换成对应的十六进制字符,然后将转换为十六进制字符的固定长度的数据加一个头部和一个尾部作为一帧上传。更进一步,所述类NMEA语句封装步骤还包括,所述HAL层读取所述串口原始观测量数据后,将每48个字节的每一个字节转换成对应的十六进制字符,然后,在前面加上’$’,’G’,’P’,’B’,’I’,’N’六个字符作为帧头,在后面加上’C’,’A’,’A’,’C,四个字符作为帧尾;最后将6+48*2+4=106个字符作为一帧通过传输NMEA的接口返回给上层。更进一步,所述方法还包括,APK应用发送进入原始观测量模式指令;所述HAL层收到进入原始观测量模式指令后,向所述导航芯片发送指令进入原始观测量模式;所述导航芯片切换到原始观测量模式并输出原始观测量数据;所述HAL层读取所述原始观测量数据,通过所述类NMEA语句往上层发送所述原始观测量数据;所述APK应用通过调用接口获取所述原始观测量数据。更进一步,所述方法还包括,APK应用发送退出原始观测量模式指令;所述HAL层收到退出原始观测量模式指令后,向所述导航芯片发送指令退出原始观测量模式进入正常导航模式,输出NMEA数据;所述HAL层读取所述NMEA数据,往上层发送所述NMEA数据;所述APK应用通过调用接口获取所述NMEA数据。本专利技术还提供一种应用上述传输方法的ANDROID终端。采用本专利技术的方法及终端后,ANDROID终端可以进行原始观测量数据输出,与普通导航定位功能相结合,为用户提供更方便、更高精度、更多功能的导航应用及用户体验。【附图说明】图1为原始观测量数据封装为加头加尾的字符串数据示意图; 图2为ANDROID获取原始观测量数据的详细流程; 图3为开启原始观测量操作流程框图; 图4为关闭原始观测量操作流程框图; 图5为ANDROID终端整体框图。【具体实施方式】以下结合其中的较佳实施方式对本专利技术方案进行详细阐述。基于ANDROID定位子系统无法传输原始观测量数据的局限性,本专利技术如下: 1、重新编码:将原始观测量数据的每一个字节转换成对应的十六进制字符; 2、重新组包:将转为字符串后的固定长度的数据加一个头部和一个尾部作为一帧上传。把原始观测量数据封装成加头加尾的字符串数据的格式,通过系统上传NMEA的接口来上传原始观测量数据,这样实现了上层对原始观测量数据的获取,而且两者的接口统一,保持了系统的兼容性。经过重新编码及组包的语句符合NMEA格式,但内容是重新定义的,这里称之为类NMEA语句。图1为原始观测量数据封装为加头加尾的字符串数据示意图。首先,HAL层读取串口原始观测量数据后,将每48个字节的每一个字节转换成对应的十六进制字符。比如其中某个字节为0xD3,则将其转成字符’ D’和字符’ 3’ ;然后,在前面加上’ $’,’ G’,’ P’,’B’,’I’,’N’六个字符作为帧头,在后面加上’(:’,1’,1’,’(:’四个字符作为帧尾;最后将这6+48*2+4=106个字符作为一帧通过传输NMEA的接口传给上层。图2为ANDROID获取原始观测量数据的详细流程。首先,导航芯片接收到卫星信号后以二进制流的形式从串口输出原始观测量数据,ANDROID HAL层从串口设备读取到二进制流的原始观测量数据后进行编码、组包,然后将编码组包后的数据以帧为单位通过调用 callbacks.nmea_cb (GpsUtcTime system_time, char 氺 buff, int len)接口返回给应用层,APK应用调用 ANDROID 的标准接口 GpsStatus.NmeaListener.0nNmeaReceived(longtimestamp, String nmea)即可读取到原始观测量数据。下面描述原始观测量模式的进入与退出。图3为开启原始观测量操作流程框图。导航芯片的串口默认是输出NMEA语句。首先,系统上电并开启当前第1页1 2 本文档来自技高网...

【技术保护点】
一种原始观测量数据在ANDROID终端中的传输方法,所述ANDROID终端的导航芯片通过串行接口和应用处理器物理连接,Linux驱动将所述串行接口向ANDROID HAL层映射成设备节点,其特征在于,所述方法包括,所述HAL层读取所述设备节点,如果所述读取的内容为NMEA语句,所述HAL层通过标准接口将所述NMEA语句返回给上层,如果所述读取的内容是原始观测量数据,所述HAL层通过类NMEA语句封装步骤将原始观测量数据封装为类NMEA语句后返回给上层。

【技术特征摘要】

【专利技术属性】
技术研发人员:罗深华
申请(专利权)人:泰斗微电子科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1