【STM32学习笔记】I2C 简介及其架构

本文详细介绍了I2C协议的物理层和协议层,包括起始和停止信号、数据有效性、地址及数据方向、响应等关键环节。接着,深入讲解了STM32的I2C外设特性,包括通讯引脚、时钟控制逻辑、数据控制逻辑和整体控制逻辑。最后,探讨了I2C的通讯过程和实验应用,为STM32的I2C实践提供了基础。
摘要由CSDN通过智能技术生成

【STM32学习笔记】目录

I2C协议简介

协议 (计算机学科概念)

对于通讯协议,我们以分层的方式来理解,分为物理层协议层

简单来说物理层规定我们用嘴巴还是用肢体来交流,协议层则规定我们用中文还是英文来交流。

物理层

规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输。(硬件)

I2C 通讯设备之间的常用连接方式

常见的I2C 通讯系统

物理层特点:

  • I2C的物理层就是一个总线,多个设备共用的数据线和时钟线。在一个I2C 通讯总线中,可连接多个I2C 通讯设备,支持多个通讯主机及多个通讯从机。
  • 其中的数据线(SCL)是一个双向串行的数据线,时钟线(SDA)是串行时钟线。数据线即用来表示数据,时钟线用于数据收发同步。
  • 总线上的每个设备都有自己的名字(地址)。
  • 设备空闲时会输出高阻态,及与总线断开连接。当所有的设备输出高阻态时,总线会被上拉为高电平。
  • 多个主机同时使用总线时,为了防止数据冲突,会利用仲裁方式决定由哪个设备占用总线。
  • 具有三种传输模式:标准模式传输速率为100kbit/s ,快速模式为400kbit/s ,高速模式下可达 3.4Mbit/s,但目前大多I2C 设备尚不支持高速模式。
  • 连接到相同总线的 IC 数量受到总线的最大电容 400pF 限制 。

协议层

主要规定通讯逻辑,统一收发双方的数据打包、解包标准。(软件)

I2C 的协议定义了通讯的起始和停止信号、数据有效性、响应、仲裁、时钟同步和地址广播等环节。

I2C基本读写过程

写数据

主机写数据到从机
图中阴影部分表示:数据由主机传输至从机
图中空白部分表示:数据由从机传输至主机

  • S:表示一个起始信号,该信号只能由主机发出
  • SLAVE ADDRESS:表示主机发出的一个从机的地址 (待该地址的从机与其匹配后,即可传输数据)
  • R / ~W:表示读写信号,0 表示 “写” ,及主机向从机写数据。
  • A:表示从机向主机发送一个应答信号。在发送数据后的第 9 个时钟脉冲
  • DATA:表示要写入的数据
  • ~A:表示非应答信号,检测到该信号后表示从机不再接收数据
  • P:表示停止信号,该信号只能由主机发出
读数据

主机由从机中读数据
图中阴影部分表示:数据由主机传输至从机
图中空白部分表示:数据由从机传输至主机

  • S:表示一个起始信号,该信号只能由主机发
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值