九轴(陀螺仪+加速器+电子罗盘)MEMS运动感测追踪(MotionTracking)组件OverviewClicktoEnlargeMPU-9150为全球首例九轴运动感测追踪(MotionTracking)组件,专为如智能型手机、平板电脑、配戴式传感器等须要低功耗、低成本、高性能的消费性电子产品设备设计。MPU-9150包含InvenSense的运动感测融合演算(MotionFusion)与运行校正韧件(run-timecalibrationfirmware),可让采用运动感测功能之产品的制造商,省去挑选、检测、在系统阶段整合各别组件时所须的费用与麻烦,并保证其感测组件融合算法(sensorfusionalgorithms)与校正程序(calibrationprocedures),能提供消费者最佳性能(optimalperformance)。运动感测人机界面(Motioninterface)已快速成为如智能型手机、平板电脑、游戏机、智能型电视等许多消费性电子产品的关键功能。能够在自由空间追踪动作,将动作转换成输入指令,使消费者能直觉性的与其电子产品互动。MPU-9150内含运动感测融合演算与运行校正韧件,可让消费性电子产品的制造商将具有成本效益的运动感测功能(costeffectivemotion-basedfunctionality)商业化。MPU-9150为系统级封装(SiP:SysteminPackage)产品,整合了两个芯片:一为MPU-6050,含三轴陀螺仪、三轴加速器,内建可处理复杂之九轴运动感测融合算法的数字运动感测处理器(DMP:DigitalMotionProcessor);另一为AK8975,是三轴数字电子罗盘。MPU-9150所含之九轴运动感测融合算法,可连接所有内部的传感器,收集整组感测数据。此产品为4x4x1mm的LGA包装,为MPU-6050整合性六轴运动感测追踪组件的兼容升级版,提供简单的升级路径,易于安装在空间受限的板子上。伴随于MPU-9150的InvenSense运动感测应用(MotionApps)平台,排除了采用运动感测之产品的复杂度(motion-basedcomplexities),降低了运作系统在管理传感器时的负荷,并为应用开发提供结构化的一套APIs。为了精准追踪快速与慢速的动作(motions),此产品内含之陀螺仪的可程控(user-programmable)全格感测范围(full-scalerange)为±250、±500、±1000、±2000°/sec(dps),加速器的可程控全格感测范围为±2g、±4g、±8g、±16g,电子罗盘的全格感测范围为±1200µT。MPU-9150系统图(SystemDiagram)STM32陀螺仪MPU6050/MPU9150数据读取I2C总线波形和分析2014-3-913:33上传下载附件(29.92KB)1.首先是起始操作(图中红色线条处)2.接下来是设备地址,共9个时钟,前面7个是地址,然后是读写标志,最后是MPU6050/MPU9150应答标志。我们看到,前面7个数是:1101000,换算成16进制,就是0x68。第8个是0,表明是写传输,第9个是0,是由MPU6050/MPU9150芯片驱动的,表明MPU6050/MPU9150芯片应答了这个地址。如果MPU6050/MPU9150芯片没有应答这个0x68地址信号,那么第9个数会显示1。3.接下来是STM32发送要读的MPU6050/MPU9150芯片寄存器地址,共9个时钟。前面8个依次是:01110101,换算成16进制,就是0x75。第9个是0,是由MPU6050/MPU9150芯片驱动的,表明MPU6050/MPU9150芯片应答了这个操作。4.前面STM32发送完MPU6050/MPU9150芯片设备地址0x68,,寄存器地址0x75后,要告诉MPU6050/MPU9150芯片,接下来STM32要读数据了。所以STM32重新发送了一个起始操作,表示在上图中的一个时钟。5.接下来,STM32重复发送MPU6050/MPU9150芯片地址,在图中,我们看到9个数据位,前面7个依次是1101000,即0x68,第8个数据位变成了1,表明接下来的是读操作。第9个是0,表明MPU6050/MPU9150芯片应答了这个地址。6.接下来总线上出现了9个时钟,前面8个时钟对应的数据01101000,换算成16进制,就是0x68。这个刚好是MPU6050/MPU9150芯片的ID.即MPU6050/MPU9150芯片的WHOAMI寄存器。第9个时钟对应的数据是1,表明STM32不再需要读数据,即I2C总线中的NACK.7.由于数据读取结束,STM32发送结束标志。至此,通讯完成。