CN105005059A - 一种原始观测量数据在android终端中的传输方法及相应的终端 - Google Patents
一种原始观测量数据在android终端中的传输方法及相应的终端 Download PDFInfo
- Publication number
- CN105005059A CN105005059A CN201510359069.8A CN201510359069A CN105005059A CN 105005059 A CN105005059 A CN 105005059A CN 201510359069 A CN201510359069 A CN 201510359069A CN 105005059 A CN105005059 A CN 105005059A
- Authority
- CN
- China
- Prior art keywords
- observed quantity
- original observed
- nmea
- data
- quantity data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/01—Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/13—Receivers
- G01S19/35—Constructional details or hardware or software details of the signal processing chain
- G01S19/37—Hardware or software details of the signal processing chain
Abstract
一种原始观测量数据在ANDROID终端中的传输方法,所述ANDROID终端的导航芯片通过串行接口和应用处理器物理连接,Linux驱动将所述串行接口向ANDROID?HAL层映射成设备节点,所述方法包括,所述HAL层读取所述设备节点,如果所述读取的内容为NMEA语句,所述HAL层通过标准接口将所述NMEA语句返回给上层,如果所述读取的内容是原始观测量数据,所述HAL层通过类NMEA语句封装步骤将原始观测量数据封装为类NMEA语句后返回给上层。采用本发明的方法及终端后,ANDROID终端可以进行原始观测量数据输出,与普通导航定位功能相结合,为用户提供更方便、更高精度、更多功能的导航应用及用户体验。
Description
技术领域
本发明涉及一种原始观测量数据在ANDROID终端中的传输方法及相应的终端。
背景技术
目前,ANDROID定位子系统所支持的仅仅是NMEA语句的上传:导航芯片通过串行接口(UART/IIC/SPI等)和AP(应用处理器,Application Processor)物理连接,Linux驱动将串行接口向ANDROID HAL层映射成设备节点,HAL层读取设备节点,读到的内容即是NMEA语句,然后通过标准的接口返回给上层。但是,当导航芯片进入原始观测量模式输出原始观测量数据的时候,ANDROID定位子系统就无法完整的将数据传给上层,原因有:
1、原始观测量数据是二进制流,并不像NMEA那样是字符串,而ANDROID上传NMEA的接口的参数是字符串类型;
2、原始观测量数据并不像NMEA那样以类似$GP…开头,以\r\n作为一行的结束,HAL层无法一帧帧将原始观测量数据上传。
发明内容
本发明的目的是提供一种原始观测量数据在ANDROID终端中的传输方法及相应的终端,通过利用带卫星导航功能的ANDROID终端进行原始观测量应用,提高定位精度,丰富定位应用。
本发明提供一种原始观测量数据在ANDROID终端中的传输方法,所述ANDROID终端的导航芯片通过串行接口和应用处理器物理连接,Linux驱动将所述串行接口向ANDROID HAL层映射成设备节点,所述方法包括,所述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' 六个字符作为帧头,在后面加上'C','A','A','C' 四个字符作为帧尾;最后将这6+48*2+4=106个字符作为一帧通过传输NMEA的接口传给上层。
图2为ANDROID获取原始观测量数据的详细流程。首先,导航芯片接收到卫星信号后以二进制流的形式从串口输出原始观测量数据,ANDROID HAL层从串口设备读取到二进制流的原始观测量数据后进行编码、组包,然后将编码组包后的数据以帧为单位通过调用callbacks.nmea_cb (GpsUtcTime system_time, char * buff, int len)接口返回给应用层,APK应用调用ANDROID的标准接口GpsStatus.NmeaListener. onNmeaReceived(long timestamp, String nmea)即可读取到原始观测量数据。
下面描述原始观测量模式的进入与退出。
图3为开启原始观测量操作流程框图。导航芯片的串口默认是输出NMEA语句。首先,系统上电并开启卫星导航功能,APK发送进入原始观测量模式指令;然后,HAL层收到进入原始观测量模式指令后,向导航芯片发送指令进入原始观测量模式;接着,导航芯片切换到原始观测量模式并输出原始观测量数据;然后,HAL层读取数据,并往上层发送原始观测量数据;最后,APK通过调用接口,获取原始观测量数据。
图4为关闭原始观测量操作流程框图。首先,APK发送退出原始观测量模式指令;然后,HAL层收到指令,并向导航芯片发送指令退出原始观测量模式;接着,导航芯片进入正常导航模式,并输出NMEA数据;再接着,HAL层读取数据,并往上层发送NMEA数据;最后, APK通过调用接口,获取NMEA数据。
APK中调用的情况如下:
LocationManager lm;
Bundle mBundle = new Bundle();
mBundle.putInt("firmware_len", len);
mBundle.putByteArray("firmware_data", buff);
lm.sendExtraCommand("gps", "download_firmware", mBundle);
进入原始观测量模式,往下发的命令:
byte buff[] = new byte[]{0xA5,0x5A,0x00,0x01};
int len = 4;
退出原始观测量模式,往下发的命令:
byte buff[] = new byte[]{0xA5,0x5A,0x00,0x02};
int len = 4;
HAL层在收到命令0xA5,0x5A,0x00,0x01或者0xA5,0x5A,0x00,0x01就会通过串口控制导航芯片进入或者退出原始观测量模式。
图5为ANDROID终端整体框图。其主体大致包括AP、FLASH/LPDDR、LCD显示屏和触摸屏等几部分,其中ANDROID操作系统就是运行在AP之中。导航芯片通过UART和AP通信,并且AP还可以通过GPIO控制导航芯片,比如让其进入低功耗模式等。原始观测量数据通过UART传给应用处理器,然后在ANDROID系统里经过层层传递处理,最终给到APK。ANDROID系统包括Linux Driver层,HAL层,JNI/Frameworks层以及Applications层。AP通过UART和GPIO接口与导航芯片进行通信及控制操作,通过存储控制器与FLASH/LPDDR进行通信及控制操作。
以上所述实例仅表达了本发明的实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (6)
1.一种原始观测量数据在ANDROID终端中的传输方法,所述ANDROID终端的导航芯片通过串行接口和应用处理器物理连接,Linux驱动将所述串行接口向ANDROID HAL层映射成设备节点,其特征在于,所述方法包括,所述HAL层读取所述设备节点,如果所述读取的内容为NMEA语句,所述HAL层通过标准接口将所述NMEA语句返回给上层,如果所述读取的内容是原始观测量数据,所述HAL层通过类NMEA语句封装步骤将原始观测量数据封装为类NMEA语句后返回给上层。
2.如权利要求1所述的传输方法,其特征在于,所述类NMEA语句封装步骤包括,所述HAL层将所述原始观测量数据的每一个字节转换成对应的十六进制字符,然后将转换为十六进制字符的固定长度的数据加一个头部和一个尾部作为一帧上传。
3.如权利要求2所述的传输方法,其特征在于,所述类NMEA语句封装步骤还包括,所述HAL层读取所述串口原始观测量数据后,将每48个字节的每一个字节转换成对应的十六进制字符,然后,在前面加上'$', 'G', 'P', 'B', 'I', 'N' 六个字符作为帧头,在后面加上'C','A','A','C' 四个字符作为帧尾;最后将6+48*2+4=106个字符作为一帧通过传输NMEA的接口返回给上层。
4.如权利要求1至3中任意一项所述的传输方法,其特征在于,所述方法还包括,APK应用发送进入原始观测量模式指令;所述HAL层收到进入原始观测量模式指令后,向所述导航芯片发送指令进入原始观测量模式;所述导航芯片切换到原始观测量模式并输出原始观测量数据;所述HAL层读取所述原始观测量数据,通过所述类NMEA语句往上层发送所述原始观测量数据;所述APK应用通过调用接口获取所述原始观测量数据。
5.如权利要求1至3中任意一项所述的传输方法,其特征在于,所述方法还包括,APK应用发送退出原始观测量模式指令;所述HAL层收到退出原始观测量模式指令后,向所述导航芯片发送指令退出原始观测量模式进入正常导航模式,输出NMEA数据;所述HAL层读取所述NMEA数据,往上层发送所述NMEA数据;所述APK应用通过调用接口获取所述NMEA数据。
6.一种应用如权利要求1至5中任意一项所述的传输方法的ANDROID终端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510359069.8A CN105005059A (zh) | 2015-06-26 | 2015-06-26 | 一种原始观测量数据在android终端中的传输方法及相应的终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510359069.8A CN105005059A (zh) | 2015-06-26 | 2015-06-26 | 一种原始观测量数据在android终端中的传输方法及相应的终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105005059A true CN105005059A (zh) | 2015-10-28 |
Family
ID=54377793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510359069.8A Pending CN105005059A (zh) | 2015-06-26 | 2015-06-26 | 一种原始观测量数据在android终端中的传输方法及相应的终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105005059A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108132896A (zh) * | 2018-01-17 | 2018-06-08 | 西安闻泰电子科技有限公司 | 数据传输方法和装置 |
WO2020155911A1 (zh) * | 2019-01-31 | 2020-08-06 | 泰斗微电子科技有限公司 | 定位芯片的信息处理的方法及终端设备 |
WO2021115142A1 (zh) * | 2019-12-13 | 2021-06-17 | 深圳市道通智能航空技术股份有限公司 | 一种串口数据编码方法、装置、嵌入式设备及通信系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101726747A (zh) * | 2009-12-15 | 2010-06-09 | 惠州Tcl移动通信有限公司 | 一种gps手机在pc机上实现导航的方法及其系统 |
CN102625300A (zh) * | 2011-01-28 | 2012-08-01 | 华为技术有限公司 | 密钥生成方法和设备 |
US20140203950A1 (en) * | 2011-07-21 | 2014-07-24 | Mark Zdeblick | Mobile Communication Device, System, and Method |
CN104236579A (zh) * | 2014-10-09 | 2014-12-24 | 武汉大学 | 一种基于Android内核层实现高精度卫星导航定位方法 |
-
2015
- 2015-06-26 CN CN201510359069.8A patent/CN105005059A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101726747A (zh) * | 2009-12-15 | 2010-06-09 | 惠州Tcl移动通信有限公司 | 一种gps手机在pc机上实现导航的方法及其系统 |
CN102625300A (zh) * | 2011-01-28 | 2012-08-01 | 华为技术有限公司 | 密钥生成方法和设备 |
US20140203950A1 (en) * | 2011-07-21 | 2014-07-24 | Mark Zdeblick | Mobile Communication Device, System, and Method |
CN104236579A (zh) * | 2014-10-09 | 2014-12-24 | 武汉大学 | 一种基于Android内核层实现高精度卫星导航定位方法 |
Non-Patent Citations (1)
Title |
---|
王浩等: "《Windows CE 系统应用开发编程》", 30 September 2011 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108132896A (zh) * | 2018-01-17 | 2018-06-08 | 西安闻泰电子科技有限公司 | 数据传输方法和装置 |
CN108132896B (zh) * | 2018-01-17 | 2020-06-09 | 西安闻泰电子科技有限公司 | 数据传输方法和装置 |
WO2020155911A1 (zh) * | 2019-01-31 | 2020-08-06 | 泰斗微电子科技有限公司 | 定位芯片的信息处理的方法及终端设备 |
WO2021115142A1 (zh) * | 2019-12-13 | 2021-06-17 | 深圳市道通智能航空技术股份有限公司 | 一种串口数据编码方法、装置、嵌入式设备及通信系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104956347A (zh) | 将一种互连协议的枚举和/或配置机制用于不同的互连协议 | |
CN105005059A (zh) | 一种原始观测量数据在android终端中的传输方法及相应的终端 | |
CN102640075A (zh) | 半导体系统、半导体装置以及电子装置初始化方法 | |
CN103389669A (zh) | 一种基于fpga/cpld控制器的处理器程序远程动态加载系统及方法 | |
CN103595456A (zh) | 一种多媒体传感器网络数据传输系统的实现方法 | |
CN106470355A (zh) | 在雷电电缆上发送和接收mpeg‑ts的方法 | |
CN105259834B (zh) | 一种固件可重构的手机数据采集控制器 | |
CN102014118A (zh) | 一种实现通用抄读多种电能表的方法 | |
CN103323006A (zh) | 基于omap的光纤陀螺捷联系统的导航计算机 | |
CN102289257A (zh) | 警用身份识别仪主板接口电路 | |
CN102637453B (zh) | 一种包括串行输入输出接口的相变存储器 | |
CN107193769A (zh) | 一种基于asi接口的数据收发系统 | |
CN109634673A (zh) | 星载电子系统管理控制设备 | |
CN202916654U (zh) | 一种嵌入式软plc系统 | |
CN201374062Y (zh) | Fpga在线配置电路 | |
CN106682296A (zh) | 一种面向fpga的多路通用化配置加载控制系统及方法 | |
CN209388294U (zh) | 一种嵌入式串口hub | |
CN103024012B (zh) | 电脑与智能终端调制解调器之间的数据交互方法 | |
CN202907053U (zh) | 一种无线网络摄像机 | |
CN106412118A (zh) | 一种基于物联网的联网装置及方法 | |
CN201886323U (zh) | 矿用控制器上层程序升级装置 | |
CN104484302A (zh) | 基于usb接口的实现两台主机之间双向通信与控制的系统 | |
CN108111380A (zh) | 基于a5平台的n路can通信装置、实现方法及充电设备 | |
CN105677254A (zh) | 一种数据处理方法及装置 | |
CN105224239A (zh) | 一种flash存储器和存储系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Mao Rui Inventor after: Wang Xiaoju Inventor after: Luo Shenhua Inventor before: Luo Shenhua |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151028 |