CN108170050A - 一种基于Linux系统的高性能陀螺仪数据采集方法 - Google Patents

一种基于Linux系统的高性能陀螺仪数据采集方法 Download PDF

Info

Publication number
CN108170050A
CN108170050A CN201711393677.6A CN201711393677A CN108170050A CN 108170050 A CN108170050 A CN 108170050A CN 201711393677 A CN201711393677 A CN 201711393677A CN 108170050 A CN108170050 A CN 108170050A
Authority
CN
China
Prior art keywords
data
data acquisition
performance
linux system
gyroscope
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
Application number
CN201711393677.6A
Other languages
English (en)
Inventor
游顺兴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Heilongjiang Huida Technology Development Co Ltd
Original Assignee
Heilongjiang Huida Technology Development Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Heilongjiang Huida Technology Development Co Ltd filed Critical Heilongjiang Huida Technology Development Co Ltd
Priority to CN201711393677.6A priority Critical patent/CN108170050A/zh
Publication of CN108170050A publication Critical patent/CN108170050A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24215Scada supervisory control and data acquisition

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于Linux系统的高性能陀螺仪数据采集方法,包含以下步骤:A、在Linux使用dma方式读取陀螺仪芯片的fifo数据;B、在每个dma中断后对所有的fifo数据打时间戳;C、通过共享内存方式映射到用户态。采用本发明的方法,能够同时兼有MPU及CPU两种方式的优点,提高基于Linux系统的陀螺仪数据采集性能,提高数据采集的实时性,对基于IMU的INS姿态计算精度有显著效果。

Description

一种基于Linux系统的高性能陀螺仪数据采集方法
技术领域
本发明涉及一种无人机、机器人领域,具体是一种基于Linux系统的高性能陀螺仪数据采集方法。
背景技术
目前无人机、机器人等领域中,使用的基本都是ARM架构的MPU或CPU,在测量机身姿态时,会采用IMU单元进行测量计算,存在以下几点问题:
1、MPU采集陀螺仪数据方式,虽然比较实时,但MPU主频低,且无OS或采用微内核OS,可维护性低;
2、CPU采集陀螺仪数据方式,采用Linux操作系统,可维护性较高,但是使用通用的POSIX设备读写接口进行数据采集,虽然CPU主频高,但是数据量多的情况会严重占用CPU使用率,且实时性差。
发明内容
本发明的目的在于提供一种基于Linux系统的高性能陀螺仪数据采集方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种基于Linux系统的高性能陀螺仪数据采集方法,包含以下步骤:
A、在Linux使用dma方式读取陀螺仪芯片的fifo数据;
B、在每个dma中断后对所有的fifo数据打时间戳;
C、通过共享内存方式映射到用户态。
作为本发明的进一步技术方案:所述fifo数据具体是:一组数据触发一次数据采集,且每个数据的时间间隔一致。
与现有技术相比,本发明的有益效果是:采用本发明的方法,能够同时兼有MPU及CPU两种方式的优点,提高基于Linux系统的陀螺仪数据采集性能,提高数据采集的实时性,对基于IMU的INS姿态计算精度有显著效果。
附图说明
图1为本发明的原理图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,一种基于Linux系统的高性能陀螺仪数据采集方法,包含以下步骤:
A、在Linux使用dma方式读取陀螺仪芯片的fifo数据;
B、在每个dma中断后对所有的fifo数据打时间戳;
C、通过共享内存方式映射到用户态。
fifo数据具体是:一组数据触发一次数据采集,且每个数据的时间间隔一致。
本发明的工作原理是:1、硬件结构采用arm cpu + 陀螺仪芯片;
2、使用Linux操作系统,并将陀螺仪芯片配置为fifo模式(一组数据触发一次数据采集,且每个数据的时间间隔一致),用于提高IO性能;
3、在Linux使用dma方式读取陀螺仪芯片的fifo数据,在每个dma中断后对所有的fifo数据打时间戳,通过共享内存方式映射到用户态,实现数据的实时性及降低CPU占用率的效果。
采用POSIX标准接口下的CPU占用率为25%,实时性为30ms。
采用本发明方法下的CPU占用率为2%,实时性为1ms。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

Claims (2)

1.一种基于Linux系统的高性能陀螺仪数据采集方法,其特征在于,包含以下步骤:
A、在Linux使用dma方式读取陀螺仪芯片的fifo数据;
B、在每个dma中断后对所有的fifo数据打时间戳;
C、通过共享内存方式映射到用户态。
2.根据权利要求1所述的一种基于Linux系统的高性能陀螺仪数据采集方法,其特征在于,所述fifo数据具体是:一组数据触发一次数据采集,且每个数据的时间间隔一致。
CN201711393677.6A 2017-12-21 2017-12-21 一种基于Linux系统的高性能陀螺仪数据采集方法 Pending CN108170050A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711393677.6A CN108170050A (zh) 2017-12-21 2017-12-21 一种基于Linux系统的高性能陀螺仪数据采集方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711393677.6A CN108170050A (zh) 2017-12-21 2017-12-21 一种基于Linux系统的高性能陀螺仪数据采集方法

Publications (1)

Publication Number Publication Date
CN108170050A true CN108170050A (zh) 2018-06-15

Family

ID=62522949

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711393677.6A Pending CN108170050A (zh) 2017-12-21 2017-12-21 一种基于Linux系统的高性能陀螺仪数据采集方法

Country Status (1)

Country Link
CN (1) CN108170050A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111679923A (zh) * 2020-06-11 2020-09-18 北京经纬恒润科技有限公司 实时通信方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120110297A1 (en) * 2010-10-29 2012-05-03 Unisys Corp. Secure partitioning with shared input/output
CN105404598A (zh) * 2015-12-07 2016-03-16 中国电子科技集团公司第三十二研究所 实时数据采集系统及方法
CN107066395A (zh) * 2017-02-04 2017-08-18 上海市共进通信技术有限公司 基于Linux系统实现外设数据高速传输与处理的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120110297A1 (en) * 2010-10-29 2012-05-03 Unisys Corp. Secure partitioning with shared input/output
CN105404598A (zh) * 2015-12-07 2016-03-16 中国电子科技集团公司第三十二研究所 实时数据采集系统及方法
CN107066395A (zh) * 2017-02-04 2017-08-18 上海市共进通信技术有限公司 基于Linux系统实现外设数据高速传输与处理的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
魏效征、等: "综合导航信息融合系统的多串口设计方法", 《自动化与仪表》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111679923A (zh) * 2020-06-11 2020-09-18 北京经纬恒润科技有限公司 实时通信方法和系统
CN111679923B (zh) * 2020-06-11 2023-08-08 北京经纬恒润科技股份有限公司 实时通信方法和系统

Similar Documents

Publication Publication Date Title
CN109388595B (zh) 高带宽存储器系统以及逻辑管芯
CN107527317B (zh) 基于图像处理的数据传输系统
CN104541228B (zh) 为设备状态提供支持
CN103869292B (zh) 基于嵌入式gpu的通用雷达成像处理系统
CN203405206U (zh) 全景影像无人机采集系统
CN102737416A (zh) 无人飞行器的数据记录仪
TW201636841A (zh) 用於整合在根複合體中的裝置之方法、設備及系統
CN104866444B (zh) 一种分布式pos用数据存储计算机系统
CN108151747A (zh) 一种利用声信号与惯性导航融合的室内定位系统及定位方法
CN103868513A (zh) 一种分布式pos用数据处理计算机系统
CN102253916B (zh) 同异步转换的双端双通道fifo
CN107478222A (zh) 一种基于mems技术的无线穿戴式人体姿态监测系统
CN108170050A (zh) 一种基于Linux系统的高性能陀螺仪数据采集方法
CN104598354B (zh) 基于软硬架构的高端容错计算机fpga专用调试方法及其装置
CN104881951A (zh) 一种行为跟踪系统
US8997121B2 (en) Providing support for position-related applications
CN103853158A (zh) 一种多旋翼飞行机器人的高性能控制与计算系统
CN205844907U (zh) 无人机的飞控系统及无人机
CN110346110B (zh) 一种多通道泥石流冲击状态追踪模拟系统及操作方法
CN205232360U (zh) 无线传输的高清视频监控系统
CN203687956U (zh) 捷联惯性导航系统中的sd卡控制电路
CN116594568A (zh) 一种数据存储方法、装置、电子设备及存储介质
CN204217070U (zh) 可处理多路视频的物联网网关设备
CN107796389A (zh) 一种基于多核dsp的定位导航方法
CN203673351U (zh) 一种基于双陀螺仪的姿态稳定系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20180615

RJ01 Rejection of invention patent application after publication