I2C 总线介绍

概要

I2C读写操作都起始于 START信号,START信号是当时钟信号是高电平时,数据信号由高到低的转换。
终止于STOP信号,STOP信号是当时钟信号是高电平时,数据信号由低到高的转换。


START信号


STOP信号

ACK信号指示一次成功的数据传输。发送方传输完8个bit数据后释放数据信号线,在第九个时钟周期,接收方拉低数据信号线 应答成功接收8bit数据。


ACK信号

发送方发送START信号后,接着发送device address byte,这个字节的高7bit代表设备地址,最低bit LSB代表读写标志R/W。R/W等于0表示写,等于1表示读。随后接收方在数据信号线上输出低ACK信号代表收到正确的设备地址,输出高ACK信号代表收到错误的设备地址。

写操作时序

写操作包括START信号、device address byte、寄存器地址字节、一个或多个数据字节和一个STOP信号。

读操作时序

读操作包括START信号、带有写标志的device address byte、寄存器地址字节、第二个START信号、带有读标志的device address byte,随后master是否数据信号线,slave发送ACK信号后,继续发送一个或多个字节,master发送ack信号作为应答。当master接收完数据后发送STOP信号结束读操作。

原文地址:https://www.cnblogs.com/bobfly1984/p/14297984.html