IIC通信协议中SCL和SDA电平变化

本文重点叙述IIC通信时SCL和SDA两条线上的电平变化,这其实对应了IIC通信的通信协议。本文将利用逻辑分析仪观察IIC通信时的通信协议,即SCL和SDA两条线上的电平变化。

通道“0”为“SCL”(即时钟线)的电平变化;

通道“1”为“SDA”(即数据线)的电平变化;

1、扫描阶段

①主机发出起始信号。SCL高电平期间,SDA由高电平向低电平的跳变(主机将SDA电平拉低),如下图中的绿色S圆点;

②主机发出8位(7位地址+1位读/写)数据以检查从机地址和选择读写模式(主机通过拉低与释放SDA电平发出数据)。如下图,主机依次发出每个地址(0x00~0xFF,并检查是否有回应,下图中的二进制数(或十六进制数)即为设备地址信息,可见主机从0x00一直发到0xFF。下图中,主机发出的地址信息的最后一位就代表读写位(1为读操作,0为写操作),图中写符号为“W”(或“Wr”),读符号为“R”(或“Rd”);

③从机发出应答信号。在主机发出8位(7位地址+1位读/写)数据后,从机发出应答或非应答信号(从机通过拉低与释放SDA电平发出应答或非应答信号),SDA低电平为应答信号,SDA高电平为非应答信号;

注意:当主机发送完②中8位数据后,主机解除SDA线的控制权,此时从机可以控制SDA的电平。也就是说,前8个时钟信号对应的SDA电平是主机控制SDA发出的,而第9个时钟信号对应的SDA电平是从机控制SDA发出的。

2、主机读操作

此时,主机已经过扫描阶段找到了从机,开始进行读/写操作。

①主机发出起始信号。SCL高电平期间,SDA由高电平向低电平的跳变(主机将SDA电平拉低),如下图中的绿色S圆点;

②主机发出8位(7位地址+1位读/写)数据以确认从机地址和选择读写模式(1为读操作,0为写操作)主机通过控制SDA电平发出数据);

#注意,下图中紫色即为过程①和②。

从机发出数据。从机通过控制SDA电平传递数据(一个字节,即8位),从机发送完最后一位数据(一个字节的最后一位)后,从机解除SDA线的控制权,此时主机可以控制SDA的电平发送应答或非应答信号,以此循环,直到全部数据发送完成;

3、主机写操作

(本次写的内容为:AA 00 27 00 00 00)

此时,主机已经过扫描阶段找到了从机,开始进行读/写操作。

①主机发出起始信号。SCL高电平期间,SDA由高电平向低电平的跳变(主机将SDA电平拉低),如下图中的绿色S圆点;

②主机发出8位(7位地址+1位读/写)数据以确认从机地址和选择读写模式(1为读操作,0为写操作)主机通过控制SDA电平发出数据);

主机发出数据。主机通过控制SDA电平传递数据(一个字节,即8位),主机发送完最后一位数据(一个字节的最后一位)后,主机解除SDA线的控制权,此时从机可以控制SDA的电平发送应答或非应答信号,以此循环,直到全部数据发送完成;

(本次写的内容为:AA 00 0A 01 90 BB)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值