MPU6050的运动中断应用

本文详细介绍了MPU6050传感器的运动中断功能,包括自由落体、加速度和静止中断的配置,涉及INT_ENABLE、USER_CTRL、FIFO_EN等关键寄存器的设置,以及中断阈值和时间寄存器的用法。并提供了初始化和中断参考例程。
摘要由CSDN通过智能技术生成

MPU6050运动中断相关寄存器

由于这样或那样的原因,MPU6050的技术文档中省略了很多寄存器,而这些被刻意省略的寄存器往往涉及到各类高级应用,如较为常用的运动中断(自由落体中断、加速度中断和静止中断)、内部DMP数据融合和内部FIFO等。在此感谢运用反编译等技术手段整理出相关寄存器和DMP驱动的各位大神。
除基本寄存器(PWR_MGMT、CONFIG、ACCEL_CONFIG等)之外,运动中断应用所涉及到的相关内部寄存器主要包括:

  1. 中断使能寄存器:INT_ENABLE ,寄存器地址0x38,为MPU6050所有中断输出的开关寄存器,用于使能运动中断、FIFO溢出中断和数据中断等;
  2. FIFO控制寄存器:USER_CTRL,寄存器地址0x6A,该寄存器用于使能FIFO,并可控制MPU6050的I2C主机。应用运动中断功能时,应关闭FIFO和I2C主机;
  3. FIFO使能寄存器:FIFO_EN,寄存器地址0x23,该寄存器用于使能各个FIFO功能,在应用运动中断功能时应关闭;
  4. 中断引脚配置寄存器:INT_PIN_CFG,寄存器地址0x37,该寄存器用于设置INT中断引脚的电平标准和驱动方式(推挽、开漏)等;
  5. 运动状态寄存器:MOT_DETECT_STATUS,寄存器地址0x61,该寄存器用于在触发运动中断(自由落体中断、加速度中断和静止中断)时标示中断的类型。
  6. 自由落体中断阈值寄存器:FF_THR,寄存器地址0x1D,当使能自由落体中断时,该寄存器的值决定中断的触发阈值,数值越高,对自由落体的检测越不灵敏;
  7. 自由落体中断时间寄存器:FF_DUR,寄存器地址0x1E,当使能自由落体中断时,该寄存器的值决定中断的持续时间阈值,当自由落体的持续时间达到设定阈值时触发中断。数值越高,对自由落体检测的时间阈值越长;
  8. 加速度中断阈值寄存器:MOT_THR,寄存器地址0x1F,当使能加速度中断时,该寄存器的值决定中断的触发阈值,数值越高,触发中断所需的加速度越大。
  9. 加速度中断时间寄存器:MOT_DUR,寄存器地址0x20,当使能加速度中断时,该寄存器的值决定中断的持续时间阈值,当加速度值持续时间达到设定阈值时触发中断。数值越高,触发中断所需的加速度持续时间越长;
  10. 静止中断阈值寄存器:ZRMOT_THR,寄存器地址0x21,当使能静止中断时,若当前加速度计输出的三轴值均小于静止中断阈值,则产生静止中断。数值越高,触发静止中断的要求越宽松。
  11. 静止中断时间寄存器:ZRMOT_DUR,寄存器地址0x22,当使能静止中断时,该寄存器的值决定触发静止中断所需的持续时间,数值越高,触发中断所需的静止持续时间越长。

除特殊说明外,各个寄存器均为逻辑1使能

中断使能寄存器:INT_ENABLE

寄存器名 助记符 寄存器地址
中断使能寄存器 INT_ENABLE 0x38
寄存器位 功能
bit7 自由落体中断使能
bit6 加速度中断使能
bit5 静止中断使能
bit4 运动检测中断使能
bit3 FIFO溢出中断使能
bit2 无定义
bit1 无定义
bit0 数据就绪中断使能

FIFO控制寄存器:USER_CTRL

寄存器名 助记符 寄存器地址
FIFO控制寄存器 USER_CTRL 0x6A
寄存器位 功能
bit7 使能内部DMP
bit6 使能内部FIFO
bit5 使能辅助I2C总线主机
bit4 (仅MPU6000)转换为SPI模式
bit3 复位内部DMP
bit2 复位内部FIFO,此时FIFO_EN清零
bit1 复位辅助I2C总线主机
bit0 复位所有传感器寄存器与外设寄存器(软重启)

FIFO使能寄存器:FIFO_EN

寄存器名 助记符 寄存器地址
FIFO使能寄存器 FIFO_EN 0x23
寄存器位 功能
bit7 使能温度FIFO
bit6 使能陀螺仪X轴FIFO
bit5 使能陀螺仪Y轴FIFO
bit4 使能陀螺仪Z轴FIFO
bit3 使能加速度计FIFO
bit2 使能辅助I2C总线从设备2数据FIFO
bit1 使能辅助I2C总线从设备1数据FIFO
bit0 使能辅助I2C总线从设备0数据FIFO

中断引脚配置寄存器:INT_PIN_CFG

寄存器名 助记符 寄存器地址
中断引脚配置寄存器 INT_PIN_CFG 0x37
寄存器位 功能
bit7 配置INT引脚逻辑电平,当设置为0时,INT引脚静息为低电平,触发中断时产生高电平信号
bit6 配置引脚驱动,0:推挽模式;1:开漏模式
bit5 配置中断输出方式,0:50us电平脉冲;1:持续信号直到中断结束
bit4 配置中断锁存清除方式,0:只读(不允许手动清零);1:可读写
bit3 配置FSYNC中断逻辑电平,0:高电平;1:低电平
bit2 FSYNC端口中断使能,0:禁用;1:启用
bit1 I2C辅助总线状态标志位,当此位为1时,主机可以直接访问I2C支路从机
bit0 CLKOUT端口输出使能,0:禁用;1:输出参考时钟

运动状态寄存器:MOT_DETECT_STATUS

寄存器名 助记符
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值