艾巴生活网

您现在的位置是:主页>科技 >内容

科技

i2c传输协议_I2C基本的传输方式知识整理

2024-05-04 16:49:49科技帅气的蚂蚁
I2C是内部集成电路的缩写,也称为TWI。它只需要两条物理传输线,分别命名为SDA和SCL,用于传输串行数据和串行时钟。I2C以主从模式工作,但

i2c传输协议_I2C基本的传输方式知识整理

I2C是内部集成电路的缩写,也称为TWI。它只需要两条物理传输线,分别命名为SDA和SCL,用于传输串行数据和串行时钟。I2C以主从模式工作,但同一总线上可以有多台主机。连接到总线的每个设备可以通过唯一的地址连接到总线,主机控制主机处于发送器模式或接收器模式。当多个主机控制时,可以通过冲突检测和仲裁来防止数据被破坏。I2C公交有几种不同费率的工作模式。标准模式速率100kbps,快速模式速率400kbps,高速模式速率3.4Mbps,梳理一下I2C的基本传输模式。

数据传输过程

从开始到传输结束,是一个完整的传输过程,如图。开始后,首先发送地址信息,R/W表示写入或读取数据。如果在一个进程中需要在读和写操作之间切换,需要重新传输start。SDA线路上的每个字节都必须是8位,每次传输可以发送的字节数没有限制,每个字节后面都必须有一个响应位。当从机由于其他事件而无法接收数据时,它可以通过控制SCL保持低电平来等待数据接收,并在准备好继续传输时释放SCL。每个模块在总线上都有一个唯一的地址。当然,可以设计一个广播地址来通知所有其它模块。

开始和停止

当I2C不工作时,民主行动党和SCL都在高位,SCL仍然很高。当SDA由高变低时,表示开始传输,而SCL保持高,当SDA由低变高时,表示停止传输。Sr和S完全一样,唯一的区别是第一次启动后,不进行停止,重新启动。

数据生成

SDA上传输的数据在时钟为高电平时必须稳定,只有SCL为低电平时数据才会发生变化,SCL由主机控制。

冲突仲裁

当总线空闲时,主机开始传输。但当总线上有多台主机时,可能会出现同时启动的冲突,所以需要仲裁。仲裁方式是当SCL线为高电平时,在SDA线上进行仲裁,这样当其他主机发送低电平时,发送高电平的主机将关闭其数据输出级,因为总线上的电平与自身电平不同,当一个输出为低电平时,总线上的电平始终为低电平。仲裁可以持续一位以上。当仲裁失败的主机同时具有从机功能时,需要立即切换从机状态。

从属待定数据传输示例