MPU6050部分中文资料.docx
《MPU6050部分中文资料.docx》由会员分享,可在线阅读,更多相关《MPU6050部分中文资料.docx(12页珍藏版)》请在冰豆网上搜索。
![MPU6050部分中文资料.docx](https://file1.bdocx.com/fileroot1/2023-1/12/e9864718-7693-4207-ac86-09397fd84b62/e9864718-7693-4207-ac86-09397fd84b621.gif)
MPU6050部分中文资料
MPU-6050
1MPU-6050简介
MPU-60X0是全球首例9轴运动处理传感器。
它集成了3轴MEMS陀螺仪,3轴MEMS加速度计,以及一个可扩展的数字运动处理器DMP(DigitalMotionProcessor),可用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。
2.应用领域
●AirSign™技术(安全/身份验证)
●TouchAnywhere™技术(“不接触”UI应用程序控制/导航)
●MotionCommand™技术(手势捷径)
●Motion-enabled游戏和应用程序框架
●InstantGesture™iG™手势识别
●基于位置服务的兴趣点、航迹推算
●手机和便携式游戏
●各自游戏控制器
●3d网络连接遥控器,机顶盒,3d小鼠
●可穿戴传感器对健康、健身和体育
●玩具
3特征
以数字输出6轴或9轴的旋转矩阵、四元数(quaternion)、欧拉角格式(EulerAngleforma)的融合演算数据。
具有131LSBs/°/sec敏感度与全格感测范围为±250、±500、±1000与±2000°/sec的
3轴角速度感测器(陀螺仪)。
可程式控制,且程式控制范围为±2g、±4g、±8g和±16g的3轴加速器。
移除加速器与陀螺仪轴间敏感度,降低设定给予的影响与感测器的飘移。
数字运动处理(DMP:
DigitalMotionProcessing)引擎可减少复杂的融合演算数据、感测
器同步化、姿势感应等的负荷。
运动处理数据库支持Android、Linux与Windows内建之运作时间偏差与磁力感测器校正演算技术,免除了客户须另外进行校正的需求。
以数位输出的温度传感器以数位输入的同步引脚(Syncpin)支援视频电子影相稳定技术与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串行主机接口(serialhostinterface)内建振荡器在工作温度范围内仅有±1%频率变化。
可选外部时钟输入32.768kHz或19.2MHz。
6.电气特性
6.1陀螺仪规格
VDD=2.375V-3.46V,VLOGIC(MPU-6050only)=1.8V±5%orVDD,TA=25°C
6.2加速计规格
VDD=2.375V-3.46V,VLOGIC(MPU-6050only)=1.8V±5%orVDD,TA=25°C
6.3电气特性及一些普通规格
VDD=2.375V-3.46V,VLOGIC(MPU-6050only)=1.8V±5%orVDD,TA=25°C
6.4I2C定时特性
6.5额定最大级别
7.使用说明
7.1引脚输出和信号描述
7.2典型控制电路
7.3所用电容规格
器件标签规格数量
校准滤波电容(Pin10)C1陶瓷,X7R,0.1uF±10%,2V1
VDD旁路电容(Pin13)C2陶瓷,X7R,0.1uF±10%,4V1
电荷泵电容(Pin20) C3陶瓷,X7R,10uF±10%,50V1
VLOGIC旁路电容(Pin8)C4陶瓷,X7R,10uF±10%,4V1
7.4上电过程建议
1.VLOGIC振幅必须≤VDD振幅
2.VDD上升时间(TVDDR)为实际值的10%到90%之间
3.VDD上升时间(TVDDR)≤100ms
4.VLOGIC上升时间(TVLGR)为实际值的10%到90%之间
5.VLOGIC上升时间(TVLGR)≤3ms
6.TVLG-VDD为从VDD上升沿到VLOGIC上升沿的时间
7.VDD和VLOGIC必须是单调边沿
7.5系统结构图
7.6数字运动处理器(DMP)
DMP从陀螺仪、加速度计以及外接的传感器接收并处理数据,处理结果可以从DMP寄存器读出,或通过FIFO缓冲。
DMP有权使用MPU的一个外部引脚产生中断。
7.7主要I2C和SPI接口
MPU-60X0使用I2C或者SPI接口和芯片连接,并且总是作为从设备。
连接主设备的逻辑电平用VLOGIC引脚(MPU-6050)或VDD引脚(MPU-6000)设置。
I2C的Slave地址的最低有效位(LSB)用Pin9(AD0)设置。
7.8辅助I2C接口
可用来外接磁力计或其他传感器。
有两种工作模式:
I2CMasterMode,此时MPU-60X0作为主设备与外接传感器通信;Pass-ThroughMode,此时仅用作连接,允许MPU和外接传感器同时和芯片通信。
7.9自检
自检可用来测试传感器的机械和电气结构。
对每个测量轴的自检可通过设置控制寄存器GYRO_CONFIG和ACCEL_CONFIG的相关位来进行。
自检启动后,电路会使传感器工作并且产生输出信号。
7.10使用I2C接口的9轴传感器方案
下图中,系统芯片(SystemProcessor)作为MPU的主设备,而MPU又作为外接罗盘传感器的主设备。
然而MPU作为I2C主设备的能力很有限,需要系统芯片的支持。
8.可编程中断
MPU-60X0有一个可编程的中断系统,可在INT脚上产生中断信号。
状态标志可以表明中断的来源。
下图是一些中断源的列表:
8.1自由落体中断(FreeFallInterrupt)
通过检测3个轴上的加速度测量值是否在规定的阈值内来判断自由落体运动。
对每一次的采样值,如果没达到阈值将会被忽略。
一旦达到阈值,即触发自由落体中断,并产生标志位。
直到计数器降到0,标志才会被清楚。
计数器的取值范围在0和规定的阈值之间。
可用FF_THR寄存器设置阈值,精确到1mg。
用FF_DUR寄存器设置持续时间,精确到1ms。
使用MOT_DETECT_CTRL寄存器,可以设施是否用一个无效的采样值使计数器清零,或者以1、2或4的量衰减。
下图给出了一条轴上的加速度测量值,采样计数器以及自由落体标志位。
8.2运动中断(MotionInterrupt)
和自由落体中断类似。
为了排除重力所产生的误差,加速度计的测量值都要通过一个可配置的数字高通滤波器(DHPF)。
通过高通滤波器后的值如果大于事先规定的阈值,则被认为是有效的。
对每个有效的采样值,计数器加1,而对无效值则计数器减1。
一旦计数器值达到用户设定的计数阈值,则触发运动中断。
产生运动中断的坐标轴及其方向可以在寄存器MOT_DETECT_STATUS中读出。
类似于自由落体中断,运动中断也有一个可设置的加速阈值寄存器MOT_THR,精确到1mg,以及一个计数阈值寄存器MOT_DUR,精确到1ms。
同样也有一个寄存器来设置耍贱率,MOT_DETECT_CTRL。
8.3静止中断(ZeroMotionInterrupt)
静止中断也采用数字高通滤波器(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.3FIFO
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.2I2C接口
二线接口,包括串行数据线(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.3I2C通讯协议
开始(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.4I2C说明
11.串口注意事项(MPU-6050)
11.1MPU-6050支持接口
在其主要串行接口和辅助接口都支持I2C通信。
11.2逻辑电平
MPU-6050的I/O逻辑电平可设为VDD或VLOGIC,如下表所示。
辅助逻辑电平VLOGIC可能设置为VDD或另一个电压。
但是总有VLOGIC≤VDD。
当AUX_VDDIO为0时(其上电复位值),VLOGIC同时为微处理器总线和辅助I2C总线供电;当AUX_VDDIO为1时,VLOGIC为处理器总线供电,VDD为辅助I2C总线供电。
11.3AUX_VDDIO=0时的逻辑电平图解
11.4AUX_VDDIO=1时的逻辑电平图解
12.安装
12.1坐标轴的取向
下图标明了传感器的参考坐标系(XYZ组成右手系)以及3个测量轴和旋转方向,旋转的正向可用右手螺旋定则判断。
12.2封装尺寸
12.3PCB设计指导
12.4安装注意事项
一些关键点:
传感器的周围尽量不要有如按键之类会产生机械震动及应力的元器件;
周围6mm之内的区域最好留空;
焊接到到PCB板上时,不可避免地会使传感器的方向和PCB板的方向有一个很小的角度差,这会导致当PCB仅绕某一个轴旋转时,在另两个轴的方向上也产生运动感应;
传感器封装所能承受的最大冲击约为10000g;