IIC总线调试笔记
1、信号表示
起始信号,在时钟线(SCL)为高的时候,数据线(SDA)产生一个下降沿即为起始信号。
图1 起始信号
如图,即产生了一个起始信号。总线空闲时数据线和时钟线都为高。
数据变化,SCL为低时数据位准备数据,在上升沿时开始采样数据,时钟线高电平数据保持。
图2 数据准备与采样
应答信号:在8bit 数据发送完成以后选择是否发送应答信号,第九个时钟沿采样SDA = 0,即为应答信号,SDA=1,为非应答信号。
图3 应答信号
图4 非应答信号
注意:应答信号是由信号接收方给出的,比如主机向从机发送从机地址,从机接收到地址以后要向主机发送应答信号或非应答信号,从机向主机发送数据以后主机要向从机回复应答或非应答。非应答信号用于结束一次通信,从机接收到非应答信号以后释放数据线主机拉高数据线,即时钟线为高时拉高数据线产生一次结束信号。假如不发送非应答信号,从机会发送下一个字节不会释放数据总线。此时时钟线为高,数据线被从机拉低,从机等待时钟线拉低发送下一位,而主机正在等待数据拉高才生停止信号。
停止信号:在时钟信号为高时,数据线产生一个上升沿即为停止信号,停止信号有主机发出,从机必须释放总线,不然停止信号无法产生。
图5 停止信号
通信实例