CN103017770B - 基于北斗和陀螺仪的安卓系统下组合导航数据适配方法 - Google Patents
基于北斗和陀螺仪的安卓系统下组合导航数据适配方法 Download PDFInfo
- Publication number
- CN103017770B CN103017770B CN201210502590.9A CN201210502590A CN103017770B CN 103017770 B CN103017770 B CN 103017770B CN 201210502590 A CN201210502590 A CN 201210502590A CN 103017770 B CN103017770 B CN 103017770B
- Authority
- CN
- China
- Prior art keywords
- data
- gyrostatic
- android system
- processor
- big dipper
- 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.)
- Active
Links
Landscapes
- Communication Control (AREA)
Abstract
本发明提供了一种基于北斗和陀螺仪的安卓系统下组合导航数据适配方法,把MCU侧的陀螺仪模块数据通过UART串口代理发送给X86侧的Android系统,在Android系统需要对硬件抽象层(HAL层)的代码适配,使得系统上层能够通过HAL层获取到陀螺仪的导航数据。本发明在一种新硬件架构下,通过在硬件抽象层的数据通信适配来解决陀螺仪数据从底层到上层的适配方法,并在其中进行通信优化;快速的获取到陀螺仪的数据。
Description
技术领域
本发明涉及基于北斗和陀螺仪的Android下组合导航数据适配的方法,尤其涉及应用于双CPU架构下的陀螺仪和android系统的数据适配方法。
背景技术
在传统的硬件架构上,陀螺仪和Android系统的CPU直接连接,这样必须等到系统初始化完成才能够读取到陀螺仪缓存的数据,读取到陀螺仪的数据非常慢。
传统陀螺仪和CPU的架构模式,使得只有系统在初始化开辟了设备文件后,才能对陀螺仪的数据进行存储,上层应用才能够读取到陀螺仪的数据;这种架构虽然通信过程比较简单,但是并不能快速的获取到陀螺仪的数据。
发明内容
为了解决现有技术中问题,本发明提供了一种基于北斗和陀螺仪的安卓系统(Android)下组合导航数据适配方法,
步骤1:采用双中央处理器架构的智能系统,第一处理器上集成陀螺仪模块;
步骤2:在第一处理器上采集硬件陀螺仪的数据,进行数据封装;
步骤3:第一处理器通过串口把数据发送给第二处理器,第二处理器的串口代理接收到陀螺仪的数据;
步骤4:在第二处理器串口代理上重新打包数据,并缓存起来;
步骤5:建立套接字通信socket服务端,通过socket服务端把缓存的数据传递到socket客户端;
步骤6:Socket客户端统发送请求标识符,获取陀螺仪模块的数据;
步骤7:Socket客户端获取到陀螺仪的数据,缓存起来;
步骤8:解析socket客户端缓存的数据再通过回调函数把数据传递给陀螺仪读取的文件描述符;
步骤9:通过陀螺仪自身的读取文件描述符的方式获取最后的陀螺仪数据。
作为本发明的进一步改进,所述第一处理器硬件架构上负责底层系统一侧的处理器MCU。
作为本发明的进一步改进,所述第二处理器为硬件架构上负责Android系统一侧的处理器X86。
作为本发明的进一步改进,MCU侧的陀螺仪模块数据通过UART串口代理发送给X86侧的Android系统。
作为本发明的进一步改进,在Android系统对硬件抽象层的代码适配,Android系统上层通过硬件抽象层获取到陀螺仪的导航数据。
本发明的有益效果是在一种新硬件架构下,通过在硬件抽象层的数据通信适配来解决陀螺仪数据从底层到上层的适配方法,并在其中进行通信优化;快速的获取到陀螺仪的数据。
附图说明
图1是本发明陀螺仪数据传递流程图结构示意图;
图2是本发明封装规则示意图;
图3是本发明解析规则示意图。
图中的Cache是指数据缓存,是一个数据存储的空间。
App是指上层的应用软件。
具体实施方式
下面是一种实现本发明目的的具体实施方案。
本发明把MCU侧的陀螺仪模块数据通过UART(UniversalAsynchronousReceiver/Transmitter,通用异步收发器)串口代理发送给X86侧的Android系统,在Android系统需要对硬件抽象层(HAL层)的代码适配,使得系统上层能够通过HAL层获取到陀螺仪的导航数据。
智能系统采用双CPU架构,第一为硬件架构上负责Android系统一侧的处理器X86,Android侧的CPU负责系统运行;第二为硬件架构上负责底层系统一侧的处理器MCU,MCU负责底层的处理。MCU上集成陀螺仪模块。MCU和Android通过串口代理通信,Android获取到MCU侧陀螺仪的数据。
如图1所示,在MCU上采集到硬件陀螺仪的数据,按照一定的数据格式进行封装;
MCU通过串口把数据发送给X86,X86串口代理接收到陀螺仪的数据;
在X86串口代理上按照一定的数据格式重新打包数据,并缓存起来;
建立socket服务端,通过socket服务端把缓存的数据传递到socket客户端;Socket:是指套接字通信,一种通信机制;
Socket客户端统发送请求标识符,获取陀螺仪模块的数据;
Socket客户端获取到陀螺仪的数据,缓存起来;
解析socket客户端缓存的数据再通过回调函数把数据传递给陀螺仪读取的文件描述符;
再通过陀螺仪自身的读取文件描述符的方式获取最后的陀螺仪数据。
数据的封装格式和解析规则如下:
封装规则:如图2所示,
Head:帧头,2个字节,此处为0xa5a5,
Type:通信类型,1个字节,范围0x00~0xff,
DataLength:数据长度,1个字节,即Data的字节总数,
Data:实际传输的数据,长度不定,
CS:校验值,1个字节,type、datalength、data三个域所有字节的异或值,实际中并没用到校验,
End:帧尾,2个字节,此处为0xbeef。
解析规则:见附图3所示。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (5)
1.一种基于北斗和陀螺仪的安卓系统下组合导航数据适配方法,其特征在于:
步骤1:采用双中央处理器架构的智能系统,第一处理器上集成陀螺仪模块;
步骤2:在第一处理器上采集硬件陀螺仪的数据,进行数据封装;
步骤3:第一处理器通过串口把数据发送给第二处理器,第二处理器的串口代理接收到陀螺仪的数据;
步骤4:在第二处理器串口代理上重新打包数据,并缓存起来;
步骤5:建立套接字通信socket服务端,通过socket服务端把缓存的数据传递到socket客户端;
步骤6:Socket客户端统发送请求标识符,获取陀螺仪模块的数据;
步骤7:Socket客户端获取到陀螺仪的数据,缓存起来;
步骤8:解析socket客户端缓存的数据再通过回调函数把数据传递给陀螺仪读取的文件描述符;
步骤9:通过陀螺仪自身的读取文件描述符的方式获取最后的陀螺仪数据。
2.根据权利要求1所述的基于北斗和陀螺仪的安卓系统下组合导航数据适配方法,其特征在于:所述第一处理器硬件架构上负责底层系统一侧的处理器MCU。
3.根据权利要求1或2所述的基于北斗和陀螺仪的安卓系统下组合导航数据适配方法,其特征在于:所述第二处理器为硬件架构上负责Android系统一侧的处理器X86。
4.根据权利要求3所述的基于北斗和陀螺仪的安卓系统下组合导航数据适配方法,其特征在于:MCU侧的陀螺仪模块数据通过UART串口代理发送给X86侧的Android系统。
5.根据权利要求3所述的基于北斗和陀螺仪的安卓系统下组合导航数据适配方法,其特征在于:在Android系统对硬件抽象层的代码适配,Android系统上层通过硬件抽象层获取到陀螺仪的导航数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210502590.9A CN103017770B (zh) | 2012-11-30 | 2012-11-30 | 基于北斗和陀螺仪的安卓系统下组合导航数据适配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210502590.9A CN103017770B (zh) | 2012-11-30 | 2012-11-30 | 基于北斗和陀螺仪的安卓系统下组合导航数据适配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103017770A CN103017770A (zh) | 2013-04-03 |
CN103017770B true CN103017770B (zh) | 2016-03-02 |
Family
ID=47966645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210502590.9A Active CN103017770B (zh) | 2012-11-30 | 2012-11-30 | 基于北斗和陀螺仪的安卓系统下组合导航数据适配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103017770B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103353839A (zh) * | 2013-06-07 | 2013-10-16 | 杭州竞天数码科技有限公司 | 一种基于Android系统的通用串行设备通信模块 |
CN105572704A (zh) * | 2014-10-13 | 2016-05-11 | 航天信息股份有限公司 | Android平台下支持北斗模块的方法 |
CN116680059B (zh) * | 2023-08-01 | 2023-11-14 | 福建福大北斗通信科技有限公司 | 一种基于Android平台的北斗三代管理系统的管理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101957808A (zh) * | 2010-06-04 | 2011-01-26 | 杭州海康威视数字技术股份有限公司 | 多cpu间的通信方法、系统及cpu |
CN102147725A (zh) * | 2011-03-29 | 2011-08-10 | 福州瑞芯微电子有限公司 | 一种Android中支持双摄像头的方法 |
CN102508518A (zh) * | 2011-11-02 | 2012-06-20 | 青岛金弘测控技术发展有限公司 | 一种多个无线射频模块式平板电脑 |
-
2012
- 2012-11-30 CN CN201210502590.9A patent/CN103017770B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101957808A (zh) * | 2010-06-04 | 2011-01-26 | 杭州海康威视数字技术股份有限公司 | 多cpu间的通信方法、系统及cpu |
CN102147725A (zh) * | 2011-03-29 | 2011-08-10 | 福州瑞芯微电子有限公司 | 一种Android中支持双摄像头的方法 |
CN102508518A (zh) * | 2011-11-02 | 2012-06-20 | 青岛金弘测控技术发展有限公司 | 一种多个无线射频模块式平板电脑 |
Also Published As
Publication number | Publication date |
---|---|
CN103017770A (zh) | 2013-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107924371B (zh) | 带有路由器的无限存储器结构硬件实现方案 | |
US20200356298A1 (en) | Infinite memory fabric hardware implementation with memory | |
TWI571087B (zh) | 用於在乙太型網路上對記憶體及輸入/輸出進行遠端存取之非揮發性記憶體快速控制器 | |
US11269514B2 (en) | Memory fabric software implementation | |
CN103017770B (zh) | 基于北斗和陀螺仪的安卓系统下组合导航数据适配方法 | |
CN101917350B (zh) | 一种Linux下基于网卡驱动的零拷贝以太网报文捕获及发送的实现方法 | |
CN107391421B (zh) | 通过串口传输数据的方法、客户端装置及数据转发装置 | |
CN103281311B (zh) | 一种使用Protobuf描述的物联网协议解析方法 | |
WO2016200649A1 (en) | Infinite memory fabric streams and apis | |
CN102968331B (zh) | 一种虚拟机管理系统及其文件访问方法 | |
US9298592B2 (en) | Testing a software interface for a streaming hardware device | |
CN103716691B (zh) | 一种视频采集方法和装置 | |
US9251105B2 (en) | Transmitting an interrupt packet | |
CN109448777A (zh) | 一种nvme固态硬盘的测试方法及装置 | |
CN104536816A (zh) | 提高虚拟机迁移效率的方法 | |
US20220236902A1 (en) | Systems and methods for data transfer for computational storage devices | |
KONG | Design of GeoVideo data model and implementation of web-based VideoGIS | |
TW202230140A (zh) | 管理記憶體的方法及非暫時性電腦可讀媒體 | |
WO2011116770A3 (en) | A method for providing data from a resource weak device to a computer client | |
CN103049409B (zh) | 一种单向高速数据传输的控制方法 | |
TW202324072A (zh) | 用於對記憶體進行管理的方法、用於對功能進行管理的系統、以及非暫時性電腦可讀取媒體 | |
CN103227802B (zh) | 基于udp/tcp协议的多元数据传输方法 | |
US10133685B2 (en) | Bus interface device that merges data request signals, semiconductor integrated circuit device including the same, and method of operating the same | |
TW202248866A (zh) | 對功能進行管理的方法及系統、以及電腦可讀取媒體 | |
CN106209306A (zh) | 一种道路运输车辆卫星定位系统终端通讯方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |