找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2241|回复: 0
打印 上一主题 下一主题
收起左侧

mpu6050

[复制链接]
跳转到指定楼层
楼主
ID:296239 发表于 2018-3-24 09:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
仅翻译了有用部分
—— By LeeDy.Li 2013.1.7
《MPU-6000 / MPU-6050 产品说明书》
1. 版本更新
2. 应用范围
3. 产品简介
MPU-60X0 是全球首例 9 轴运动处理传感器。它集成了 3 轴 MEMS 陀螺仪,3 轴 MEMS
加速度计,以及一个可扩展的数字运动处理器 DMP(DigitalMotion Processor),可用 I2C
接口连接一个第三方的数字传感器,比如磁力计。扩展之后就可以通过其 I2C 或 SPI 接口
输出一个 9 轴的信号(SPI 接口仅在 MPU-6000 可用)。MPU-60X0 也可以通过其 I2C 接口
连接非惯性的数字传感器,比如压力传感器。
MPU-60X0 对陀螺仪和加速度计分别用了三个 16 位的 ADC,将其测量的模拟量转化
为可输出的数字量。为了精确跟踪快速和慢速的运动,传感器的测量范围都是用户可控的 ,
陀螺仪可测范围为±250,±500,±1000,±2000°/秒(dps),加速度计可测范围为±2,±4 ,
±8,±16g。
一个片上 1024 字节的 FIFO,有助于降低系统功耗。
和所有设备寄存器之间的通信采用 400kHz 的 I2C 接口或 1MHz 的 SPI 接口(SPI 仅
MPU-6000 可用)。对于需要高速传输的应用,对寄存器的读取和中断可用 20MHz 的 SPI 。
另外,片上还内嵌了一个温度传感器和在工作环境下仅有±1%变动的振荡器。
芯片尺寸 4×4×0.9mm,采用QFN 封装(无引线方形封装),可承受最大 10000g 的冲
击,并有可编程的低通滤波器。
关于电源,MPU-60X0 可支持 VDD 范围 2.5V±5%,3.0V±5%,或 3.3V±5%。另外
MPU-6050 还有一个 VLOGIC 引脚,用来为 I2C 输出提供逻辑电平。VLOGIC 电压可取
1.8±5%或者 VDD。
4. 应用 领域
5. 特征
以数字输出 6 轴或 9 轴的旋转矩阵、四元数(quaternion)、欧拉角格式(EulerAngle forma)
的融合演算数据。
具有 131 LSBs/°/sec 敏感度与全格感测范围为±250、±500、±1000 与±2000°/sec 的
3 轴角速度感测器(陀螺仪)。
可程式控制,且程式控制范围为±2g、±4g、±8g 和±16g 的 3 轴加速器。
移除加速器与陀螺仪轴间敏感度,降低设定给予的影响与感测器的飘移。
数字运动处理(DMP: Digital Motion Processing)引擎可减少复杂的融合演算数据、感测
器同步化、姿势感应等的负荷。 运动处理数据库支持 Android、Linux 与 Windows 内建之
运作时间偏差与磁力感测器校正演算技术,免除了客户须另外进行校正的需求。
以数位输出的温度传感器
以数位输入的同步引脚(Sync pin)支援视频电子影相稳定技术与 GPS
可程式控制的中断(interrupt)支援姿势识别、摇摄、画面放大缩小、滚动、快速下降中
断、high-G 中断、零动作感应、触击感应、摇动感应功能。
VDD 供电电压为 2.5V±5%、3.0V±5%、3.3V±5%;VDDIO 为1.8V± 5%
陀螺仪运作电流:5mA,陀螺仪待命电流:5uA;加速器运作电流:500uA,加速器省
电模式电流:40uA@10Hz
高达 400kHz 快速模式的 I2C,或最高至 20MHz 的 SPI 串行主机接口(serial host
interface)
内建振荡器在工作温度范围内仅有±1%频率变化。可选外部时钟输入 32.768kHz 或
19.2MHz。
6. 电气特征
7. 使用说明
7.1 引脚输出和信号描述
引脚编号 MPU-6000 MPU-6050 引脚名称 描述
1 Y Y CLKIN
可选的外部时钟输入,如果不用则
连到 GND
6 Y Y AUX_DA I2C 主串行数据,用于外接传感器
7 Y Y AUX_CL I2C 主串行时钟,用于外接传感器
8 Y /CS SPI片选(0=SPI mode)
8 Y VLOGIC 数字 I/O 供电电压
9 Y AD0/SDO
I2C Slave 地址 LSB(AD0);
SPI 串行数据输出(SDO)
9 Y AD0 I2C Slave 地址 LSB(AD0)
10 Y Y REGOUT 校准滤波电容连线
11 Y Y FSYNC 帧同步数字输入
12 Y Y INT 中断数字输出(推挽或开漏)
13 Y Y VDD 电源电压及数字 I/O 供电电压
18 Y Y GND 电源地
19, 21, 22 Y Y RESV 预留,不接
20 Y Y CPOUT 电荷泵电容连线
23 Y SCL/SCLK
I2C 串行时钟(SCL);
SPI 串行时钟(SCLK)
23 Y SCL I2C 串行时钟(SCL)
24 Y SDA/SDI
I2C 串行数据(SDA);
SPI 串行数据输入(SDI)
24 Y SDA I2C 串行数据(SDA)
2, 3, 4, 5, 14,
15, 16, 17
Y Y NC 不接
7.2 典型应用
7.3 所用电容规格
器件 标签 规格 数量
校准滤波电容(Pin 10) C1 陶瓷,X7R,0.1uF±10%,2V 1
VDD 旁路电容(Pin 13) C2 陶瓷,X7R,0.1uF±10%,4V 1
电荷泵电容(Pin 20) C3 陶瓷,X7R,10uF±10%,50V 1
VLOGIC 旁路电容(Pin 8) C4 陶瓷,X7R,10uF±10%,4V 1
7.4 上电过程建议
1. VLOGIC 振幅必须≤VDD 振幅
2. VDD 上升时间(T VDDR )为实际值的 10%到 90%之间
3. VDD 上升时间(T VDDR )≤100ms
4. VLOGIC 上升时间(T VLGR )为实际值的 10%到 90%之间
5. VLOGIC 上升时间(T VLGR )≤3ms
6. T VLG-VDD 为从 VDD 上升沿到 VLOGIC 上升沿的时间
7. VDD 和 VLOGIC 必须是单调边沿
7.5 系统结构图
7.6 结构描述
7.7 三轴陀螺仪简介
7.8 三轴加速度计简介
7.9 数字运动处理器(DMP)
DMP 从陀螺仪、加速度计以及外接的传感器接收并处理数据,处理结果可以从 DMP
寄存器读出,或通过 FIFO 缓冲。DMP 有权使用 MPU 的一个外部引脚产生中断。
7.10 主要 I2C 和 SPI 接口
MPU-60X0使用 I2C 或者 SPI 接口和芯片连接,并且总是作为从设备。连接主设备的
逻辑电平用 VLOGIC 引脚(MPU-6050)或 VDD 引脚(MPU-6000)设置。I2C 的Slave
地址的最低有效位(LSB)用Pin9(AD0)设置。
7.11 辅助 I2C 接口
可用来外接磁力计或其他传感器。有两种工作模式:I2C Master Mode,此时 MPU-60X0
作为主设备与外接传感器通信;Pass-Through Mode,此时仅用作连接,允许 MPU 和外接
传感器同时和芯片通信。
7.12 自检
自检可用来测试传感器的机械和电气结构。对每个测量轴的自检可通过设置控制寄存器
GYRO_CONFIG 和 ACCEL_CONFIG 的相关位来进行。自检启动后,电路会使传感器工作
并且产生输出信号。
7.13 使用 I2C 接口的 9 轴传感器方案
下图中,系统芯片(System Processor)作为 MPU的主设备,而 MPU 又作为外接罗
盘传感器的主设备。然而 MPU作为 I2C 主设备的能力很有限,需要系统芯片的支持。
7.14 使用 SPI 接口 MPU-6000
下图中,系统芯片作为主设备通过 SPI 接口和 MPU6000 连接。由于 SPI 接口和 I2C
接口是公用的,所以系统芯片不能直接和辅助 I2C 总线通信,因为辅助 I2C 总线是直接和
主 I2C 总线相连的。
8. 可编程中断
MPU-60X0有一个可编程的中断系统,可在 INT 脚上产生中断信号。状态标志可以表
明中断的来源。下图是一些中断源的列表:
8.1 自由落体中断(Free Fall Interrupt)
通过检测 3 个轴上的加速度测量值是否在规定的阈值内来判断自由落体运动。对每一
次的采样值,如果没达到阈值将会被忽略。一旦达到阈值,即触发自由落体中断,并产生标
志位。直到计数器降到 0,标志才会被清楚。计数器的取值范围在 0 和规定的阈值之间。
可用 FF_THR 寄存器设置阈值,精确到 1mg。用 FF_DUR 寄存器设置持续时间,精确
到 1ms。
使用 MOT_DETECT_CTRL 寄存器,可以设施是否用一个无效的采样值使计数器清零 ,
或者以 1、2 或4 的量衰减。
下图给出了一条轴上的加速度测量值,采样计数器以及自由落体标志位。
8.2 运动中断(Motion Interrupt)
和自由落体中断类似。为了排除重力所产生的误差,加速度计的测量值都要通过一个可
配置的数字高通滤波器(DHPF)。通过高通滤波器后的值如果大于事先规定的阈值,则被
认为是有效的。对每个有效的采样值,计数器加 1,而对无效值则计数器减 1。一旦计数器
值达到用户设定的计数阈值,则触发运动中断。产生运动中断的坐标轴及其方向可以在寄存
器 MOT_DETECT_STATUS 中读出。
类似于自由落体中断,运动中断也有一个可设置的加速阈值寄存器 MOT_THR,精确
到 1mg,以及一个计数阈值寄存器 MOT_DUR,精确到 1ms。同样也有一个寄存器来设置
耍贱率,MOT_DETECT_CTRL。
8.3 静止中断(Zero Motion Interrupt)
静止中断也采用数字高通滤波器(DHPF)以及同样的阈值、计数机制。每根轴上的测
量值通过 DHFT 后必须小于事先规定的阈值,可在 ZRMOT_THR 寄存器设置。这会使计数
器值加 1,当达到在 ZRMOT_DUR 中设置的计数器阈值时,则产生静止中断。
和自由落体中断及运动中断不同的是,当第一次检测到静止以及不再检测到时,静止中
断都会被触发。另外,自由落体中断和运动中断的标志位在读取后就会被清零,而从寄存器
MOT_DETECT_STATUS 读取静止标志位后不会清零。
9. 时钟
9.1 内部时钟机制
MPU-60X0 有着灵活的时钟机制,对于内部的同步电路可使用内部或外部的时钟源。
内部同步电路包括信号调整、ADC、DMP及各样的控制电路和寄存器,其时钟可由一个片
上的 PLL 产生。
允许的内部时钟源:
① 内部的弛豫振荡器
② 陀螺仪的任何一个轴(含有工作温度下±1%漂移的 MEMS 振荡器)
允许的外部时钟源:
① 32.768kHz 方波
② 19.2MHz 方波
时钟源的选择要考虑外部时钟是否有效,功率损耗,时钟精确性等因素。例如,如果功
率损耗是主要考虑因素,当用 DMP 处理加速度计数据时,使陀螺仪关闭,这时最好选择内
部振荡器作时钟;而陀螺仪工作的时候,使用其自带时钟可以保证更好的时钟精确性。
当 MPU-60X0 初次启动时,要先使用其内部时钟,直到系统设置准备好使用其他时钟
源,所以比方说要使用 MEMS 振荡器,就必须等到它可以稳定工作。
9.2 传感器数据寄存器
传感器数据寄存器包含了最新的陀螺仪、加速度计、外接传感器以及温度数据,是只读
的,通过串口连接。数据可以随时读取,并可用中断函数来设置何时新的数据是可用的。
9.3 FIFO
MPU-60X0 包含一个 1024 字节的 FIFO 寄存器。FIFO 配置寄存器可以决定什么让什
么数据进入,可选陀螺仪、加速度计、温度、外部传感器,以及 FSYNC 输入。一个 FIFO
计数器可以跟踪存入 FIFO 的字节数。
9.4 中断
由中断配置寄存器设置。可配置的项目包括 INT 引脚设置,中断关闭和清除方法,以
及中断触发。可以触发中断的事件有:(1)切换时钟源;(2)DMP 完成;(3)有新的数据
可供读取(从 FIFO 和数据寄存器);(4)加速度计中断;(5)MPU-60X0 未收到外接传感
器的回应(辅助 I2C 总线)。中断状态可以从中断状态寄存器读出。
9.5 数字输出温度传感器
片上的温度传感器通过一个 ADC 来产生数字温度测量信号,其值可从 FIFO 或者传感
器数据寄存器读出。
9.6 偏压和LDO(低压差线性稳压器)
偏压和 LDO 部分提供了 MPU-60X0 需要的内部支持以及参考电压和参考电流。它的两
个输入为VDD(2.1V~3.6V)和 VLOGIC 逻辑参考电压(1.71V~VDD),其中 VLOGIC 仅
在 MPU-6050 上可用。LDO 输出在 REGOUT 引脚,连接了一个旁路电容。
9.7 电荷泵
板上的电荷泵提供了 MEMS 振荡器需要的高电压,输出在 CPOUT 引脚,连接了一个
旁路电容。
10. 数字接口
10.1 描述
内部寄存器可通过 400kHz 的I2C 接口或 1MHz 的 SPI 接口来操作。
10.2 I2C 接口
二线接口,包括串行数据线(SDA)和串行时钟线(SCL)。连接到 I2C 接口的设备可
做主设备或从设备。主设备将 Slave 地址传到总线上,从设备用与其匹配的地址来识别主设
备。
当连接到系统芯片时,MPU-60X0 总是作为从设备。SDA 和 SCL信号线通常需要接上
拉电阻到 VDD。最大总线速率为 400kHz。
MPU-60X0 的 Slave 地址为 b110100X,7 位字长,最低有效位 X 由 AD0管脚上的逻
辑电平决定。这样就可以允许两个 MPU-60X0 连接到同一条 I2C 总线,此时,一个设备的
地址为 b1101000(AD0 为逻辑低电平),另一个为b1101001(AD0 为逻辑高)。
10.3 I2C 通讯协议
开始(S)和结束(P)标志
当 SCL 线为高电平时,SDA 线由高到低的下降沿,为传输开始标志(S)。直到主设备
发出结束信号(P),否则总线状态一直为忙。结束标志(P)规定为,当 SCL 线为高电平
时,SDA 线由低到高的上升沿。
数据格式/应答
I2C 的数据字节定义为 8-bits 长度,对每次传送的总字节数量没有限制。对每一次传输
必须伴有一个应答(ACK)信号,其时钟由主设备提供,而真正的应答信号由从设备发出 ,
在时钟为高时,通过拉低并保持 SDA 的值来实现。
如果从设备忙,它可以使 SCL 保持在低电平,这会强制使主设备进入等待状态。当从
设备空闲后,并且释放时钟线,原来的数据传输才会继续。
通信
开始标志(S)发出后,主设备会传送一个 7 位的 Slave 地址,并且后面跟着一个第 8
位,称为 Read/Write 位。R/W 位表示主设备是在接受从设备的数据还是在向其写数据。然
后,主设备释放 SDA 线,等待从设备的应答信号(ACK)。每个字节的传输都要跟随有一
个应答位。应答产生时,从设备将 SDA 线拉低并且在 SCL为高电平时保持低。数据传输总
是以停止标志(P)结束,然后释放通信线路。然而,主设备也可以产生重复的开始信号去
操作另一台从设备,而不发出结束标志。综上可知,所有的 SDA 信号变化都要在 SCL 时钟
为低电平时进行,除了开始和结束标志。
如果要写 MPU-60X0 寄存器,主设备除了发出开始标志(S)和地址位,还要加一个
R/W 位,0 为写,1 为读。在第 9 个时钟周期(高电平时),MPU-60X0 产生应答信号。然
后主设备开始传送寄存器地址(RA),接到应答后,开始传送寄存器数据,然后仍然要有应
答信号,依次类推。
单字节写入时序
连续写入时序
如果要读取 MPU-60X0 寄存器的值,首先由主设备产生开始信号(S),然后发送从设
备地址位和一个写数据位,然后发送寄存器地址,才能开始读寄存器。紧接着,收到应答信
号后,主设备再发一个开始信号,然后发送从设备地址位和一个读数据位。然后,作为从设
备的 MPU-60X0 产生应答信号并开始发送寄存器数据。通信以主设备产生的拒绝应答信号
(NACK)和结束标志(P)结束。拒绝应答信号(NACK)产生定义为 SDA 数据在第 9个
时钟周期一直为高。
单字节读出时序
连续读出时序
10.4 I2C 信号说明
信号 描述
S 开始标志:SCL 为高时 SDA 的下降沿
AD 从设备地址(Slave 地址)
W 写数据位(0)
R 读数据位(1)
ACK 应答信号:在第 9 个时钟周期 SCL 为高时,SDA 为低
NACK 拒绝应答:在第 9 个时钟周期,SDA 一直为高
RA MPU-60X0 内部寄存器地址
DATA 发送或接受的数据
P 停止标志:SCL 为高时 SDA 的上升沿
10.5 SPI 接口(仅 MPU-6000 可用)
SPI 为 4 线同步串行接口,2 个控制线,2 个数据线。其中,串行时钟输出(SCLK) ,
数据输出(SDO)和数据输入(SDI)三条线为所有从设备共享。主设备为每个从设备分配
一个独立的片选(/CS);传输开始后/CS 为低,传输结束/CS 又变为高。当设备没有被片选
信号启动时,它的数据输出线(SDO)保持为高阻态(High-Z)。
SPI 传输特点
1)数据的最高位(MSB)先传,最低位(LSB)后传
2)数据在时钟(SCLK)的上升沿捕获
3)数据在时钟(SCLK)的下降沿转换
4)最大时钟频率为 1MHz
5)SPI的每次读/写操作需要 16 个时钟周期或更多。传输的第一个字节为 SPI地址,
第二个字节为 SPI 数据。首字节的第一位为读/写位,0 为写,1 为读,后面 7 个位为寄存
器地址。如果要发送多个字节,连续发送数据位即可。
SPI 从设备可以公用始终线和数据线,但每个设备都要有自己独立的片选信号线(/CS) ,
且每次只能选择一个设备进行通信。未被选中的设备,其数据输出(SDO)保持在高阻态 。
下图为典型连接。
11. 串口注意事项 ( MPU-6050 )
11.1 MPU-6050 支持接口
在其主要串行接口和辅助接口都支持 I2C 通信。
11.2 逻辑电平
MPU-6050 的 I/O 逻辑电平可设为 VDD 或 VLOGIC,如下表所示。
AUX_VDDIO
微处理器逻辑电平
(Pins:SDA,SCL,AD0,CLKIN,INT)
辅助逻辑电平
(Pins:AUX_DA,AUX_CL)
0 VLOGIC VLOGIC
1 VLOGIC VDD
总有 VLOGIC≤VDD。当 AUX_VDDIO 为 0 时(其上电复位值),VLOGIC 同时为微处
理器总线和辅助 I2C 总线供电;当 AUX_VDDIO 为1 时,VLOGIC 为处理器总线供电,VDD
为辅助 I2C 总线供电。
11.3 AUX_VDDIO=0 时的逻辑电平图解
11.4 AUX_VDDIO=1 时的逻辑电平图解
12. 安装
12.1 坐标轴的取向
下图标明了传感器的参考坐标系(XYZ 组成右手系)以及 3 个测量轴和旋转方向,旋
转的正向可用右手螺旋定则判断。
12.2 封装尺寸
12.3 PCB 设计指导
12.4 安装注意事项
一些关键点:
传感器的周围尽量不要有如按键之类会产生机械震动及应力的元器件;
周围 6mm 之内的区域最好留空;
焊接到到 PCB 板上时,不可避免地会使传感器的方向和 PCB 板的方向有一个很小的
角度差,这会导致当 PCB 仅绕某一个轴旋转时,在另两个轴的方向上也产生运动感应;
传感器封装所能承受的最大冲击约为 10000g;
12.5 封装标识说明


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表