I²C总线是一种串行通信协议,它两根线(SDA和SCL线)在多个设备之间传输数据。其中,SDA线传输数据,SCL线进行时序控制,包括时钟信号和起始/停止信号。
当一个或多个设备连接到I²C总线上时,它们必须有一个唯一的地址。发送方首先发送起始信号,在SCL上产生一个下降沿之后,SDA线上第一个数据信号出现,即器件地址和读写标志位。地址指定了接收方的目标设备,而读写标志位则指示发送方要发送还是接收数据。
接下来,发送方发送数据或请求数据。数据传输是以字节为单位进行的,发送方每发送一个字节之后都会等待接收方回复一个确认信号。在这个过程中,SCL线上的时钟信号控制数据传输速率。当所有字节都被传输后,发送方会发送一个停止信号,在SCL线上高电平期间,SDA线上一个下降沿标志着传输结束。
总之,I²C通过SDA和SCL线传输数据,其中SDA传输数据,SCL进行时序控制,使用地址和读写标志位指定目标设备,并且通过字节为单位进行数据传输,同时使用起始和停止信号控制传输开始和结束。