CN108170050A - 一种基于Linux系统的高性能陀螺仪数据采集方法 - Google Patents
一种基于Linux系统的高性能陀螺仪数据采集方法 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24215—Scada 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系统的高性能陀螺仪数据采集方法。
背景技术
目前无人机、机器人等领域中,使用的基本都是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数据具体是:一组数据触发一次数据采集,且每个数据的时间间隔一致。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111679923A (zh) * | 2020-06-11 | 2020-09-18 | 北京经纬恒润科技有限公司 | 实时通信方法和系统 |
Citations (3)
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系统实现外设数据高速传输与处理的方法 |
-
2017
- 2017-12-21 CN CN201711393677.6A patent/CN108170050A/zh active Pending
Patent Citations (3)
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)
Title |
---|
魏效征、等: "综合导航信息融合系统的多串口设计方法", 《自动化与仪表》 * |
Cited By (2)
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 |