电子常识
MPU-6500公司的第二代智能手机、平板电脑、可穿戴传感器和其他消费者市场的6轴移动跟踪设备。MPU-6500,交付于3毫米x3毫米x0.9mmQFN包,满足市场对高性能应用程序的需求,如行人导航、上下文感知广告和其他基于位置的服务。该设备还支持新型可穿戴传感器应用的规范,如远程健康监测、运动和健康追踪以及其他消费者应用。
单片机微处理器-6500集成了硬件加速计,使用硬件陀螺仪,运动和机载数字处理器™(DMP)在一个小,3毫米x3毫米x0.9毫米QFN包。6轴装置是世界上第一个以1.8伏特运行的运动传感器,在全工况下仅消耗6.1兆瓦的功率。它只包含了陀螺仪的性能±5dpszero-rate-output和0.01dps/√赫兹的噪音,和提供加速度计规范包括典型的抵消±60毫克,300µg/√赫兹的噪音,和18µA当前的低功耗模式。
1、在mpu_write_mem函数中增加延迟。
2、在实际调试中发现如果在调用dmp_load_motion_driver_firmware函数的过程中有中断相应会很容易错误,由于的我的使用了freertos操作系统,所以在开启线程后会有上下文切换,很容易造成初始化错误。所以将初始化函数全部移到线程启动之前。
3、修改了I2C引脚的驱动,将引脚上拉修改为无上拉,因为不成本身模块上就已经具备了上拉电阻。
实际测试下来基本说不会再出现错误。当然如果频繁进行操作还是会出现错误。
补充:
经过进一步调试,实际测试下来采用如下方式效果更好:
i2cbusy死锁-》i2c失能-》i2c初始化-》sda、scl配饰为输出并置高电平-》sda、scl配置为i2c管教复用。关于dmp_load_motion_driver_firmware错误问题,建议将该线程优先级提高,避免被打断。
mpu6050一般指MPU-6050。MPU-6000(6050)为全球首例整合性6轴运动处理组件,相较于多组件方案,免除了组合陀螺仪与加速器时间轴之差的问题,减少了大量的封装空间。
MPU-6000(6050)的角速度全格感测范围为±250、±500、±1000与±2000°/sec(dps),可准确追踪快速与慢速动作,并且,用户可程式控制的加速器全格感测范围为±2g、±4g±8g与±16g。产品传输可透过最高至400kHz的IIC或最高达20MHz的SPI(MPU-6050没有SPI)。MPU-6000可在不同电压下工作,VDD供电电压介为2.5V±5%、3.0V±5%或3.3V±5%,逻辑接口VDDIO供电为1.8V±5%(MPU6000仅用VDD)。MPU-6000的包装尺寸4x4x0.9mm(QFN),在业界是革命性的尺寸。其他的特征包含内建的温度感测器、包含在运作环境中仅有±1%变动的振荡器。
6500支持SPI和I2C,6050只支持I2C。不过最大的区别还是mpu6500支持SPI通信。
全部0条评论
快来发表一下你的评论吧 !