欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > 【STM32】I2C通信协议MPU6050芯片-学习笔记

【STM32】I2C通信协议MPU6050芯片-学习笔记

2025/3/18 5:10:43 来源:https://blog.csdn.net/2301_81011494/article/details/146295862  浏览:    关键词:【STM32】I2C通信协议MPU6050芯片-学习笔记

有关USART串口知识理论:

 【STM32】USART串口协议&串口外设-学习笔记-CSDN博客

代码部分: 

【江协科技STM32】串口发送&串口发送+接收(学习笔记)-CSDN博客

【STM32】USART串口收发HEX数据包&收发文本数据包-CSDN博客

I2C通信协议

同步时序和异步时序的优缺点:

同步时序电路的优点在于工作状态受统一时钟信号控制,状态变化严格按照时钟节拍进行,工作节奏明确,便于设计和调试,其稳定性和可靠性较高,易于分析和预测电路行为。缺点是时钟信号的传播延迟会限制系统的工作频率,当电路规模较大时,时钟信号到达各触发器的时间差异(时钟偏移)可能导致时序错误。

异步时序电路的优点是不需要统一时钟信号,各部件可根据自身需求自由工作,在某些对速度要求不高但需要灵活响应外部事件的场景下,能有效降低功耗和硬件复杂度。缺点是由于没有统一时钟,状态变化不受统一节拍控制,电路分析和设计难度大,易出现竞争 - 冒险现象,导致电路工作不稳定。

 I2C通信

  • I2C(Inter IC Bus)是由Philips公司开发的一种通用数据总线
  • 两根通信线:SCL(Serial Clock)、SDA(Serial Data)
  • 同步,半双工
  • 带数据应答
  • 支持总线挂载多设备(一主多从、多主多从) 

硬件电路 

 所有I2C设备的SCL连在一起,SDA连在一起

设备的SCL和SDA均要配置成开漏输出模式  

SCL和SDA各添加一个上拉电阻,阻值一般为4.7KΩ左右

硬件电路: 

弱上拉:好处 

I2C时序基本单元

  • 起始条件:SCL高电平期间,SDA从高电平切换到低电平
  • 终止条件:SCL高电平期间,SDA从低电平切换到高电平 

发送一个字节:SCL低电平期间,主机将数据位依次放到SDA线上(高位先行),然后释放SCL,从机将在SCL高电平期间读取数据位,所以SCL高电平期间SDA不允许有数据变化,依次循环上述过程8次,即可发送一个字节 

接收一个字节:SCL低电平期间,从机将数据位依次放到SDA线上(高位先行),然后释放SCL,主机将在SCL高电平期间读取数据位,所以SCL高电平期间SDA不允许有数据变化,依次循环上述过程8次,即可接收一个字节(主机在接收之前,需要释放SDA,交给从机控制) 

当主机发送的时候,可以主动拉低SDA,而主机在被动接收的时候,就必须释放(拉高)SDA. 

不释放SDA,SDA始终是低电平 ,从机就发送不了数据。

 

I2C时序 

 相同芯片挂在同一总线上,就需要用到地址的可变部分了:解释

一般器件地址的最后几位,是可以在电路中改变的。 

  

指定地址写 

对于指定设备(Slave Address),在指定地址(Reg Address)下,写入指定数据(Data) 

 数据帧目的:

当前地址读

对于指定设备(Slave Address),在当前地址指针指示的地址下,读取从机数据(Data)(由于当前地址读并没有指定读的地址,所以这个时序用的不是很多)

当前地址指针指示的地址的意思:当前地址指针

 

指定地址读

对于指定设备(Slave Address),在指定地址(Reg Address)下,读取从机数据(Data) 

是指定地址写和当前地址读的结合,简称复合格式

 

 MPU6050芯片简介

  • MPU6050是一个6轴姿态传感器,可以测量芯片自身X、Y、Z轴的加速度、角速度参数,通过数据融合,可进一步得到姿态角,常应用于平衡车、飞行器等需要检测自身姿态的场景
  • 3轴加速度计(Accelerometer):测量X、Y、Z轴的加速度
  • 3轴陀螺仪传感器(Gyroscope):测量X、Y、Z轴的角速度 

 

加速度计具有静态稳定性,不具有动态稳定性。 陀螺仪具有动态稳定性,不具有静态稳定性。两种传感器特性刚好互补,取长补短,进行互补滤波,就能融合得到静态和动态都稳定的姿态角了

加速度计模型图:辅助理解 

陀螺仪模型图:辅助理解

欧拉角:

欧拉角是用来确定定点转动刚体位置的一组参数。它通过三个彼此独立的角参量,按照一定顺序旋转来描述刚体在三维空间中的方位。常见的欧拉角有“偏航角 - 俯仰角 - 滚转角”组合,偏航角是刚体绕铅垂轴(通常为z轴)旋转的角度;俯仰角是刚体绕垂直于偏航轴的水平轴(通常为y轴)旋转的角度;滚转角是刚体绕垂直于前两个轴的轴(通常为x轴)旋转的角度。欧拉角在航空航天、机器人运动控制、计算机图形学等领域有广泛应用,方便描述物体的姿态变化。 

 MPU6050参数

  • 16位ADC采集传感器的模拟信号,量化范围:-32768~32767
  • 加速度计满量程选择:±2、±4、±8、±16(g),满量程选的越小,测量就会越细腻。
  • 陀螺仪满量程选择: ±250、±500、±1000、±2000(°/sec),满量程选的越大,测量范围就越广,满量程选的越小,测量分辨率就越高。
  • 可配置的数字低通滤波器,数据抖动严重可以加低通滤波
  • 可配置的时钟源
  • 可配置的采样分频,控制分频系数就可以控制AD转换的快慢
  • I2C从机地址:1101000(AD0=0)十六进制就是0x68             1101001(AD0=1)十六进制就是0xD0, AD0就是板子引出来的一个引脚,可以调节I2C从机地址的最低位

 I2C从机地址的两种表示方式:两种表示方式

硬件电路 

  

MPU6050框图 

MPU6050芯片数据手册知识点: 

 

寄存器影像数据手册: 

 

最后注意: 

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com