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 acquisition
- data
- linux system
- linux
- method based
- 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 |
---|---|---|
US10646139B2 (en) | Body movement tracking | |
CN110457414B (zh) | 离线地图处理、虚拟对象显示方法、装置、介质和设备 | |
JP6308306B2 (ja) | ウエアラブルデバイスの着用状態の処理方法及び装置 | |
CN106648088B (zh) | 惯性运动捕捉姿态瞬时校准方法及其系统 | |
US11669993B2 (en) | Systems and methods for position and pose determination and tracking | |
CN105359054B (zh) | 在空间中对设备进行定位和取向 | |
US20120277890A1 (en) | Method of Ball Game Motion Recognition, Apparatus for the same, and motion assisting device | |
Lin et al. | Development of the wireless ultra-miniaturized inertial measurement unit WB-4: Preliminary performance evaluation | |
EP2359606A1 (en) | Tracking system calibration with minimal user input | |
WO2017177582A1 (zh) | 实现运动设备速度测量的方法和装置 | |
WO2017086364A1 (ja) | リンク列マッピング装置、リンク列マッピング方法、及びプログラム | |
CN110327048A (zh) | 一种基于可穿戴式惯性传感器的人体上肢姿态重建系统 | |
CN108170050A (zh) | 一种基于Linux系统的高性能陀螺仪数据采集方法 | |
CN107014381A (zh) | Pld、dsp、组合导航系统、数据处理方法和装置 | |
WO2019113374A1 (en) | System for fusing acoustic and inertial position determination | |
CN111420391A (zh) | 一种头戴显示系统及其空间定位方法 | |
CN102538953A (zh) | 一种电线塔振动频率监测方法及系统 | |
Young et al. | Distributed estimation of linear acceleration for improved accuracy in wireless inertial motion capture | |
CN208435653U (zh) | 一种帕金森患者用手抖频率记录装置 | |
CN102564570A (zh) | 一种电线塔振幅监测方法及系统 | |
CN203001823U (zh) | 一种基于物联网和动作识别技术的健康促进系统 | |
CN104516660B (zh) | 一种信息处理方法、系统及电子设备 | |
CN203139506U (zh) | 一种基于动作识别技术的仰卧起坐训练辅助系统 | |
TW201625905A (zh) | 用於電子裝置的使用雙磁力儀的虛擬陀螺儀 | |
US10162909B2 (en) | Device placement automatic calculation apparatus |
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 |