MPU-60501MPU-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°C6.2加速计规格VDD=2.375V-3.46V,VLOGIC(MPU-6050only)=1.8V±5%orVDD,TA=25°C6.3电气特性及一些普通规格VDD=2.375V-3.46V,VLOGIC(MPU-6050only)=1.8V±5%orVDD,TA=25°C6.4I2C定时特性6.5额定最大级别7.使用说明7.1引脚输出和信号描述7.2典型控制电路7.3所用电容规格器件标签规格数量校准滤波电容(Pin10)C1陶瓷,X7R,0.1uF±10%,2V1VDD旁路电容(Pin13)C2陶瓷,X7R,0.1uF±10%,4V1电荷泵电容(Pin20)C3陶瓷,X7R,10uF±10%,50V1VLOGIC旁路电容(Pin8)C4陶瓷,X7R,10uF±10%,4V17.4上电过程建议1.VLOGIC振幅必须≤VDD振幅2.VDD上升时间(TVDDR)为实际值的10%到90%之间3.VDD上升时间(TVDDR)≤100ms4.VLOGIC上升时间(TVLGR)为实际值的10%到90%之间5.VLOGIC上升时间(TVLGR)≤3ms6.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.3FIFOMPU-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)。直到主设备发出结