[Motion]MPU9250的详细功能

简述接下来的内容将对MPU9250的基本的功能进行详细的介绍,主要会分模块进行阐述。时钟MPU9250有两个内部时钟源,以及一个PLL。内部时钟源:时钟源说明内部振荡器功耗低,但时钟精度略差X,Y或Z方向的GyroMEMS时钟,功耗较高,但时钟精确(只要Gyro一经启用,就会使用该时钟源)时钟的选择需要综合平衡时钟精度和功耗两个因素,所以从MPU9250的性

大家好,又见面了,我是你们的朋友全栈君。

简述

接下来的内容将对MPU9250的基本的功能进行详细的介绍,主要会分模块进行阐述。

时钟

MPU9250有两个内部时钟源,以及一个PLL。
内部时钟源:

时钟源 说明
内部振荡器 功耗低,但时钟精度略差
X,Y或Z方向的Gyro MEMS时钟,功耗较高,但时钟精确(只要Gyro一经启用,就会使用该时钟源)

时钟的选择需要综合平衡 时钟精度功耗两个因素,所以从MPU9250的性能参数可以看到,一旦Gyro开启,功耗都是在mA级别,而加速度计和磁力计都是在uA级别的功耗。

I2C接口

MPU9250有两个可选I2C接口,一个用来连接外部的第三方传感器(I2C Master方式),另一个I2C接口可以用来发送Motion数据给外部的控制器(I2C Slave方式)。
当然这两个I2C接口都是可选的,连接外部的第三方传感器的I2C接口只有需要连接外部传感器时才用(而且性能有限)。而用来发送Motion数据的I2C接口也是可选的,因为和SPI接口是复用的,因此只能二选一。
MPU9250 I2C接口:
这里写图片描述

第三方传感器的I2C接口

该接口用于接外部的第三方传感器,就是如果觉得MPU9250的9轴传感器还不够用,还可以外接第三方的传感器,比如压力传感器。
这个附加I2C接口有两种模式,I2C Master Mode和Pass-Through Mode。
该I2C接口因为MPU9250的性能限制,其对于外部传感器的初始化管理必须要借助于外部控制器来完成才行。MPU9250中有一个bypass multiplexer的机制,可以将与外部控制器连接的I2C接口(SDA, SCL)直接bypass到外部传感器的I2C接口(AUX_DA, AUX_CL)。
即连接着的外部传感器初始化时,MPU9250会通过bypass multiplexer的机制将其转接到外部控制器的I2C接口进行初始化配置,在配置完成后,MPU9250会关闭bypass multiplexer,接过对外部传感器的控制权,并获取外部传感器的数据。

发送Motion数据的I2C Slave

引脚物理连接要求
SDA, SCL: 通常的I2C这两根引脚是开漏的,支持双向通信(即数据可以Master发往Slave,也可以从Slave发往Master),但是MPU9250的这两根引脚需要通过上拉电阻上拉到VDD,最高速率为400kHz。
I2C通信设备角色划分
I2C通信分为Master和Slave角色,Master角色可以在I2C线上置入Slave地址,对应的Slave就需要向Master做出ACK。
MPU9250的I2C地址
MPU9250的I2C Slave地址为b110100X,其中的X是由AD0引脚的电平来决定的,这样的地址设置,可以在同一I2C总线上连接两个MPU9250的设备。

I2C通信协议

Start与Stop条件
这里写图片描述

数据格式与ACK
这里写图片描述

通信
这里写图片描述

MPU9250 I2C Write
这里写图片描述
这里写图片描述

MPU9250 I2C Read
这里写图片描述

SPI接口

MPU9250只有一个SPI接口(SPI Slave),四线(CS, SDO, SCLK, SDI),两根作为控制线,两根作为数据线。MPU9250作为SPI Slave角色。
CS线为片选,为低时选中,为高时不选。

SPI功能特性
1. 数据传输为MSB first, LSB last
2. 数据在SCLK的上升沿被锁定(latched)
3. 数据在SCLK的下降沿发送
4. SCLK最大频率为1MHz
5. SPI读写操作需要在16个或更多个时钟周期(2个或2个Bytes以上)。第一个Byte包括了SPI地址,接下来的Bytes为SPI data。第一个Byte的第一个Bit为读写标志(Read-1, Write-0)
这里写图片描述

  1. 支持多个字节的读写。

SPI Master与Slave连接图示:
这里写图片描述

自检

自检用于对传感器的机械和电子部分进行测试,自检的触发是通过对应的self-test寄存器来激活的。
自检被激活时,传感器启动并产生输出信号,输出信号用于观察自检回复。

自检回复 = 传感器带自检输出 - 传感器不带自检输出

当自检回复的值在合理范围内,该部分自检就会通过。当自检回复超出合理范围,就表明该部分自检失败。

传感器数据寄存器

数据类别 作用 特性
gyroscope/ accelerometer/ magnetometer/ auxiliary-sensor/ temperature 保存最新的传感器数据 只读,任何时候都可以通过串行口(SPI or I2C)读取

FIFO

大小 配置寄存器 Counter 读取 中断
512bytes 选定哪些数据可以暂存入FIFO,可选gyro-dataaccelerometer-data, temperatureauxiliary-sensor-data, FSYNC-input FIFO中的字节数 串行口访问(SPI or I2C) 支持burst read 可以触发中断

中断

中断功能 详细说明 中断状态
中断配置寄存器 Interrupt Status Register
INT引脚配置 配置引脚中断方式
中断latching 配置中断锁定方式
中断clearing 配置中断清除方式
中断triggers (1)Clock generator locked to new reference oscillator (used when switching clock sources); (2) new data is available to be read (from the FIFO and Data registers); (3) accelerometer event interrupts; (4) the MPU-9250 did not receive an acknowledge from an auxiliary sensor on the secondary I2C bus

INT引脚中断配置

INT引脚上可以配置(enable/disable)如下的中断类型:
这里写图片描述
中断状态标志可以查看是哪一类中断发生。

Motion Detection(Wake-on-Motion)中断

通过编程可以预先设定一个threshold阈值,这样,在动作采样时其采样得到的绝对值超出该threshold,就会发生Wake-on-Motion中断。Wake-on-Motion的配置流程如下:
这里写图片描述

高级硬件特性

通过硬件寄存器配置和使能硬件特性。
初始上电时高级硬件特性均默认关闭,必须要单独打开和配置。

硬件特性 说明
Low Power Quaternion 3轴Gyro和6轴Gyro+Accel
Android Orientation Android屏幕旋转算法低功耗实现
Tap 敲击手势检测
Pedometer 计步
Significant Motion Detection 有效动作检测
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126614.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • phpstorm激活服务器【2022免费激活】

    (phpstorm激活服务器)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html1TCF2R91JZ-eyJsaWNlbnNlSW…

    2022年3月31日
    240
  • 自然语言处理简介(1)—- 服务梳理与传统汉语分词

    1.Nlp技术体系简介1.1基础技术1.2Nlp核心技术1.3NlP+(高端技术)2.知名NLP服务系统简介2.1汉语分词系统ICTCLAS2.2哈工大语言云(LanguageTechnologyPlatform,LTP)2.3AmazonComprehend2.4阿里云NLP2.5腾讯云NLP2.6百度语言处理基础技术2.6.1功能丰富且…

    2022年4月8日
    52
  • Mysql锁机制简单了解一下

    Mysql锁机制简单了解一下一锁分类(按照锁的粒度分类)Mysql为了解决并发、数据安全的问题,使用了锁机制。可以按照锁的粒度把数据库锁分为表级锁和行级锁。表级锁:Mysql中锁定粒度最大的一种锁,对当前操作的整张表加锁,实现简单,资源消耗也比较少,加锁快,不会出现死锁。其锁定粒度最大,触发锁冲突的概率最高,并发度最低,MyISAM和InnoDB引擎都支持表级锁。行级锁Mysql中锁定粒…

    2022年5月1日
    42
  • 神经网络学习 之 BP神经网络

    神经网络学习 之 BP神经网络上一次我们讲了M-P模型,它实际上就是对单个神经元的一种建模,还不足以模拟人脑神经系统的功能。由这些人工神经元构建出来的网络,才能够具有学习、联想、记忆和模式识别的能力。BP网络就是一种简单的人工神经网络。本文具体来介绍一下一种非常常见的神经网络模型——反向传播(BackPropagation)神经网络。概述BP(BackPropagation)神经网络是1986年由Rumelhart和Mc

    2022年5月24日
    32
  • servlet是干什么的?

    servlet是干什么的?知乎上一个名为“servlet的本质是什么,它是如何工作的?”问题下面的各种回答,基本解答了我的疑问。感谢。现在,做一个知识的搬运工……1.浏览器发送一个HTTP请求,HTTP请求由Web容器分配给特定的Servlet进行处理,Servlet的本质是一个Java对象,这个对象拥有一系列的方法来处理HTTP请求。常见的方法有doGet(),doPost()等。Web容器中…

    2022年6月15日
    44
  • 软件激活成功教程工具包_激活成功教程软件网站哪个好

    软件激活成功教程工具包_激活成功教程软件网站哪个好影响共享软件发展的因素很多,被非法激活成功教程可以说是共享软件的头号大敌。那么造成共享软件生存困难的cracker们到底用了那些武器呢?今天就让我让带您去看看神秘的cracker常用的十类软件,它们就是共享软件的十大杀手!  一.调试类工具soft-ice和trw2000。下载:TRW2000V1.22  soft-ice是目前公认最好的跟踪调试工具。使用soft-ice

    2022年10月13日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号