I2C/IIC学习笔记

I2C/IIC

有些同学I2C和IIC分不清,I2C和IIC实际上是指同一种通信协议。I2C是Inter-Integrated Circuit的缩写,而IIC是它的另一种表述方式,代表的是同一个意思,即"集成电路间总线"。I2C是一种由飞利浦公司(现恩智浦半导体公司)开发的简单、双向二线制同步串行总线,用于连接微控制器及其外围设备。在许多文献和技术资料中,这两个术语是交替使用的。

通信过程

I2C是一种多主机、同步、串行计算机总线,用于连接低速外围设备到微控制器和计算机系统。I2C通信过程包括以下几个关键步骤:

1.开始条件:主机设备通过将SDA从高电平拉低到低电平,同时SCL保持高电平,表示通信开始。

2.地址和读/写位:主机设备发送7位的从设备地址,然后加上一个读/写位(R/W bit)。这个位指示接下来的通信是读(1)还是写(0)操作。

3.确认地址:从设备接收到地址后,如果地址匹配,它会在时钟的下一个脉冲上拉低SDA线,发送一个应答(ACK)信号。

4.数据传输:

写操作:如果主机设备要写数据到从设备,它会在发送完地址和接收到ACK之后,发送数据字节,并在每个字节后等待从设备的ACK。

读操作:如果主机设备要从从设备读取数据,从设备会在接收到读命令后发送数据字节,主机设备在每个字节后发送ACK,除了最后一个字节,最后一个字节后发送非应答(NACK)信号。

5.重复开始条件(Repeated Start Condition):如果主设备想要发送另一个开始条件而不释放SDA线和SCL线,它可以通过发送重复开始条件来继续通信。

6.结束通信:主机设备在完成数据传输后,可以通过拉低SDA线,在SCL为高电平时生成停止条件(Stop Condition),表示通信结束。

建立/保持时间

建立时间:

指在SCL的上升沿或下降沿之前,SDA必须稳定在新的电平状态的最小时间。这个时间确保了从设备能够正确地采样到数据。

保持时间:

指在SCL的上升沿或下降沿之后,SDA必须保持在当前电平状态的最小时间。这个时间确保了数据在时钟边沿之后仍然稳定,直到从设备完成采样。

时序图/学习笔记

《字丑勿喷》

相关推荐
StickToForever2 小时前
第4章 信息系统架构(五)
经验分享·笔记·学习·职场和发展
leegong231115 小时前
学习PostgreSQL专家认证
数据库·学习·postgresql
敲敲敲-敲代码5 小时前
【SQL实验】触发器
数据库·笔记·sql
Moonnnn.6 小时前
51单片机学习——动态数码管显示
笔记·嵌入式硬件·学习·51单片机
南宫生6 小时前
力扣每日一题【算法学习day.132】
java·学习·算法·leetcode
技术小齐7 小时前
网络运维学习笔记 016网工初级(HCIA-Datacom与CCNA-EI)PPP点对点协议和PPPoE以太网上的点对点协议(此处只讲华为)
运维·网络·学习
竹言笙熙7 小时前
代码审计初探
学习·web安全
日记成书7 小时前
物联网智能项目
物联网·学习
虾球xz7 小时前
游戏引擎学习第118天
学习·游戏引擎
gz927cool8 小时前
大模型做导师之开源项目学习(lightRAG)
学习·开源·mfc