[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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java图书馆新地址_基于SSM的社区图书馆管理系统的设计与实现[通俗易懂]

    java图书馆新地址_基于SSM的社区图书馆管理系统的设计与实现[通俗易懂]好程序设计擅长JAVA(SSM,SSH,SPRINGBOOT)、PYTHON(DJANGO/FLASK)、THINKPHP、C#、安卓、微信小程序、MYSQL、SQLSERVER等,欢迎咨询在学习社区图书馆管理系统的设计与实现项目的时候,方便日后能及时查阅,在本平台中记录一下社区图书馆管理系统的设计与实现的开发流程。在学习时候的选用了SSM(MYECLIPSE),这个框架…

    2022年7月9日
    82
  • java物联网架构图_java物联网程序设计基础

    java物联网架构图_java物联网程序设计基础物联网架构成长零、说明  说明一下,我写的博客,都是我自己实践后,写下记录,方便以后自己看而已。没有什么系统的教学教程。也没有对底层的原理进行讲解,我觉得这些目前不是我需要注重的,作为一个开发人员,快速实现好需求才是最重要的。而作为一名合格的架构负责人,又必须了解底层,因此需要系统学习的,建议读者看官方文档或者对应的书籍。一、基础  【http://www.cnblogs.com/…

    2026年1月15日
    2
  • android 画图 平面图,房屋平面图 DIY 神工具!「MagicPlan」用手机拍照就自动帮你画好(iPhone, Android)…

    android 画图 平面图,房屋平面图 DIY 神工具!「MagicPlan」用手机拍照就自动帮你画好(iPhone, Android)…不论是新屋装潢还是老屋改装,为了省下设计费,许多人都会想自己动手画平面图,但是如果本身没有相关的底子,从怎么开始动手测量尺寸到画出完整的全屋平面图,每个点都有让人不知所措的地方。来!免惊~「MagicPlan」快拿去用!它简直就是我们这种无设计底子平凡人的救星,只要拿着手机或平板拍几张照,房屋或房间的平面图就完成啦!什么?你说听起来很神吗?没错它就是这么神呀!完全不需测量、不需自己拿笔尺绘制、不需…

    2022年5月25日
    166
  • html 反引号 用法,字符串模板渲染反引号.html

    html 反引号 用法,字符串模板渲染反引号.htmlDocument margin 0 padding 0 li list style none margin bottom 20px h4 font size 20px font weight normal info font size 12px color 888 padding 5px0 info gt span padding right 5px img wi

    2025年10月4日
    6
  • 重写和重载的区别是什么「建议收藏」

    重写和重载的区别是什么「建议收藏」重写和重载的区别是什么

    2025年10月10日
    3
  • 从零开始学习Prometheus监控报警系统[通俗易懂]

    从零开始学习Prometheus监控报警系统[通俗易懂]Prometheus是一个开源的监控报警系统,它被纳入了由谷歌发起的Linux基金会旗下的云原生基金会,并成为仅次于Kubernetes的第二大开源项目。

    2022年6月3日
    34

发表回复

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

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