IIC协议分析

IIC是一种同步半双工串行总线

同步

说明这个总线有一根SCL线

半双工

可以进行双向通信,但是收发不能同时进行,发的时候禁止接收,接的时候禁止发送

串行

数据是一位一位发送的

总线

两根线(SCL SDA)可以接多个IIC类型器件,如AT24CXX,四针OLED,SHT30,AHT10

如何识别每个器件?

通过从机地址与每个器件通信

以24C02为例,他的从机地址为1010xxx(一共7位),1010固定不变,xxx由硬件的引脚决定,接3V3就是1,接GND就是0,如果三个硬件引脚都接GND,则地址为1010000。

发送要求

从高位开始发(从左到右),例如1010,发送的顺序为1,0,1,0

固定信号 起始信号

数据线的下降沿
时钟线的下降沿

以常用的四针OLED驱动为例子
在这里插入图片描述

固定信号 应答信号

SDA发送高电平
在这里插入图片描述

固定信号 结束信号

时钟线上升沿
数据线上升沿
也就是开始信号的反向
在这里插入图片描述

总结

IIC规范为厂商留下了一些自由度,所以IIC的固定驱动也略有不同

在I2C总线中,一些信号是固定的,不是按照从机设备来定的。以下是这些固定信号:

时钟信号(SCL):主设备控制总线上的时钟信号。时钟信号用于同步数据传输,它的频率决定了数据传输速度。

数据信号(SDA):主设备和从设备都可以在总线上发送和接收数据。SDA线上的电平表示二进制数据的比特值。

起始信号(Start):由主设备发送,用于指示开始一次数据传输。

停止信号(Stop):由主设备发送,用于指示本次数据传输结束。

应答信号(Acknowledge):由从设备发送,用于响应主设备的读写请求。如果从设备正确接收到了数据,则会返回一个应答信号。

设备地址:用于寻址和访问每个设备。每个设备都有一个唯一的地址,用于在总线上进行识别和寻址。

这些信号的作用和使用方法是固定的,不受从机设备的影响。因此,在I2C总线上,这些信号是固定的,而不是根据从机设备来确定的。

猜你喜欢

转载自blog.csdn.net/lllmeimei/article/details/130024415