MPU6050是一种广泛使用的MEMS三轴加速度计和三轴陀螺仪组合。它能够提供使用者高质量的数据捕捉、数据整合和数据输出,有利于设计者实现出高度复杂的运动控制。
MPU6050的数据输出速率分为两种,一种是加速度计数据输出速率,另一种是陀螺仪数据输出速率,它们的输出率都是独立可编程。当两种数据输出速率相等的时候,会使用同一个采样计数器来驱动AD转换器。当同步时,数据将时间同步,这样数据的完整性就得到了保障,输出数据也就更加可靠。
mpu6050数据输出速率对于中断时间的影响主要体现在对应的储存器中的采样数据数量上。比如,当加速度和陀螺仪的输出速率分别为1kHz和8kHz时,SPI中断引脚的中断时间是5ms。那么,这个时间究竟是如何产生的呢?
引脚INT的功能是中断引脚,是用于驱动内部或外部应用的接口之一。当MPU6050的中断使能位被打开或中断状态位被设定时,INT引脚将会拉低,直到内部清除该中断。
在MPU6050的默认情况下,中断引脚的中断时间是5ms。
在MPU6050工作的过程中,当中断功能使能之后,对应的传感器数据的采集会在中断状态下发生。采集的时间间隔由数据输出速率决定,然后,生成一个真实的中断时间。所以,当陀螺仪和加速度计的输出速率都是1kHz时,中断时间的间隔就是5ms。
考虑到数据的采集时间等,接口芯片在编写中断程序的时候会对接口中的FIFO采用一种方式来确保采集的时间与中断时间精确对应。每次发生数据采集的时候,数据都会被写入FIFO中。当FIFO的寄存器数量达到中断触发的阀值之后,中断程序就会自动执行,时间间隔即为采集的时间间隔,所以,中断时间的设定主要是根据FIFO寄存器的阀值来进行的。这一机制是为了保证数据的完整性。
当需要改变mpu6050中断时间时,需要修改FIFO寄存器中的值。当需要更快的数据更新速度时,可以增加FIFO寄存器中的储存量,但是不建议加太多。加多了对系统的运行会产生较大的影响。
需要注意的是,当系统在更改中断时间之后,随着输出数据时的AD转换时间增加,系统的采样频率会发生变化,此时需要适当的增加总线速度,以保证数据的有效输出。
总之,MPU6050的中断时间由FIFO寄存器的阀值决定,而FIFO的数据储存量则需要根据系统要求进行配置,配置不当会直接影响系统的运行效率和数据的准确性。并且,一旦中断时间设定值被修改,需要重新进行总线速度的校准,否则就会导致数据的丢失等情况。