【004】基于STM32标准库的IMU9250数据读取

基于STM32标准库的IMU9250数据读取

关键词:MPU9250,九轴,STM32,I2C

MPU9250简介

  MPU9250是一款九轴MEMS传感器,由两部分组成一组为三轴加速度传感器及三轴陀螺仪,另一组则是AKM公司的AK8963三轴磁力计。可以理解为将MPU6050和AK8963封装在一个芯片内。MPU9250中的加速度传感器(±2g,±4g,±8g,±16g)和陀螺仪(±250dps,±500dps,±1000dps,±2000dps)均支持量程可编程,加速度计和陀螺仪的测量结果以16数字方式输出,磁力计测量结果以16位或14位数字方式输出。MPU9250还内置温度传感器,可以用来进行不同温度下的校准。图1为MPU9250结构框图,通过结构框图可知,MPU9250通信方式为I2C或SPI。


图1 MPU9250结构框图

  MPU9250应用较为广泛比如:手势控制,体感游戏控制,平衡车,室内定位,可穿戴设备等。除了MPU9250之外,还有很多类似的传感器以满足不同的应用场景。

  要实现MPU9250的数据读取,我们需要了解三个方面的内容:I2C基本通信方式、MPU9250基本寄存器以及STM32的I2C控制模块。

I2C通信协议简介

  这里仅根据满足读取MPU9250需求进行I2C通信方式介绍,不涉及复杂和细致部分。关于细节信息将在后面第二次迭代中讲述。I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。主器件(Master)用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件(Slave)。在总线上主和从、发和收的关系不是恒定的,而取决于此时数据传送方向。SCL为时钟信号线,SDA为数据信号线。图2和图3分别是MPU9250读写单个字节的方式。


图2 MPU9250写单个字节方式


图3 MPU9250读单个字节方式

  对图2和图3中出现的符号进行说明

  S:START,开始信号,对应SCL处于高时,SDA由高到低跳变。

  AD:ADDRESS,从控制器的地址。

  W:WRITE,读写位设置为写,清零。

  • 2
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值