[STM32F3] 基于STM32F103C8T6的MPU6050调试与数字运动处理器DMP

[复制链接]
 楼主| 呈兴 发表于 2022-11-22 22:10 | 显示全部楼层 |阅读模式
基于STM32F103C8T6的MPU6050调试与数字运动处理器DMP

StrongerHangover

笔者之前也接触过MPU6050模块,但是并没有真正的去了解内部的通讯方式与内部的寄存器操作,况且之前接触的程序是基于51单片机的,笔者只是使用者并未自己书写。虽然说,不管是基于51单片机还是基于STM32单片机,它内部的通讯方式和寄存器配置依然相同,主要区别于操作方式有所区别。当然STM32单片机又分为基于寄存器版本和基于库函数版本的,笔者是基于固件库书写的MPU6050测试程序。笔者觉得MPU6050的程序主要分为I2C协议和MPU6050寄存器两部分(基于STM32有一定基础),我主要分为以下:
一、I2C通讯协议
二、MPU6050寄存器解析
三、MPU6050程序调试及Bug

 楼主| 呈兴 发表于 2022-11-22 22:12 | 显示全部楼层
I2C通讯协议
简介:I2C是两线式串行总线。它是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据,一般这两条线是开漏和双向。在CPU与被控IC之间、IC与IC之间进行双向传送,高速IIC总线一般可达400kbps以上。IIC是半双工通信方式。
笔者将以下几点讲解I2C协议:
1)空闲状态:I2C总线的SDA和SCL两条信号线同时处于高电平时,规定为总线的空闲状态。此时各个器件的输出级场效应管均处在截止状态,即释放总线,由两条信号线各自的上拉电阻把电平拉高。 也就是说在没有数据传输时,SDA=1,和SCL=1。可以看下图1空闲状态下两条线都是高电平。
51453637cd882f3cdc.png
 楼主| 呈兴 发表于 2022-11-22 22:13 | 显示全部楼层
Photos 1
2)启动信号START:如上图,当SCL为高期间,SDA由高到低的跳变;启动信号是一种电平跳变时序信号,而不是一个电平信号。简单的说就是SCL=1,SDA=1->SDA=0,意思就是在时钟到来之前把要传输的数据准备好,保证数据有效传输。就相当于,要做某一件事,那是不是要做一定的准备,以保证把这件事做好。一个好的开始嘛!
 楼主| 呈兴 发表于 2022-11-22 22:13 | 显示全部楼层
3)停止信号STOP:如上图,当SCL为高期间,SDA由低到高的跳变;停止信号也是一种电平跳变时序信号,而不是一个电平信号。简单的说就是SCL=1,SDA=0->SDA=1,意思就是时钟线拉高,数据线才会拉高,如果时钟还在允许数据传输的状态下,数据线已经拉低,这样就可能会导致数据丢失,时钟线线拉高是保证数据有效传输。
 楼主| 呈兴 发表于 2022-11-22 22:14 | 显示全部楼层
4)应答信号ACK:发送器每发送一个字节,就在时钟脉冲9期间释放数据线,由接收器反馈一个应答信号。 应答信号为低电平时,规定为有效应答位(ACK简称应答位),表示接收器已经成功地接收了该字节;应答信号为高电平时,规定为非应答位(NACK),一般表示接收器接收该字节没有成功。 对于反馈有效应答位ACK的要求是,接收器在第9个时钟脉冲之前的低电平期间将SDA线拉低,并且确保在该时钟的高电平期间为稳定的低电平。 如果接收器是主控器,则在它收到最后一个字节后,发送一个NACK信号,以通知被控发送器结束数据发送,并释放SDA线,以便主控接收器发送一个停止信号。简单的说就是你叫别人的名字,别人给你一个回应,就说明他听到你的呼应了,这就是有效应答,否则就是得不到回应,不知道别人没有听见你的呼应,这是就是无效应答。
 楼主| 呈兴 发表于 2022-11-22 22:15 | 显示全部楼层
Photos 2
5)数据有效性:I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。即:数据在SCL的上升沿到来之前就需准备好。并在在下降沿到来之前必须稳定。
31561637cd95e345da.png
周半梅 发表于 2024-10-21 07:19 | 显示全部楼层

对称性结构,脉冲变压器原边是两个对称线圈,两只开关管接成对称关系,轮流通断,工作过程类似于线性放大电路中的乙类推挽功率放大器
童雨竹 发表于 2024-10-21 10:18 | 显示全部楼层

A、B组分先分别用手动或机械进行充分搅拌,让A、B灌封料充分融合
Wordsworth 发表于 2024-10-21 11:21 | 显示全部楼层

这时候共模电流会被衰减
Clyde011 发表于 2024-10-21 12:24 | 显示全部楼层

由于铜更难以磨削并且可能导致钻头断裂,
公羊子丹 发表于 2024-10-21 13:17 | 显示全部楼层

前模块电源灌封时用的最多的是加成型有机灌封硅胶
万图 发表于 2024-10-21 14:20 | 显示全部楼层

相反电感量小其阻碍能力也小,它在电路当中抑制的是共模信号
Uriah 发表于 2024-10-21 15:23 | 显示全部楼层

在动态测试中,电源的负载能力是最主要的测试参数
帛灿灿 发表于 2024-10-21 17:19 | 显示全部楼层

给电源加上额定电压,记录输出电流和电压值
Bblythe 发表于 2024-10-21 18:22 | 显示全部楼层

这些半孔就是我们所说的邮票孔焊盘
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

149

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部