IIC 毛刺

393 阅读1分钟

IIC两线制

I2C sda毛刺:

master向slave发送8bit数据后,sda控制权交给slave,此时slave控制sda发送一个ack反馈信号,sda变低电平信号,在经过sclk为高时接收到sda的低电平信号,在sclk变为低电平时,sda控制权交回到master,在交回过程中有一段时间sda既不由master又不为slave控制的空闲阶段。

在空闲阶段sda默认为高电平,如果master要马上传输低电平。sda将由高变为低电平。会存在一个小毛刺。

毛刺出现的原因,就在于IIC时钟传输的第九位:

主机发送了八个字节以后,需要放弃IIC控制权,将控制权交给从机,需要从机响应应答位;

主机放弃控制权的过程:

1.释放SDA,

2.由于SDA存在上拉电阻,此时SDA被拉高

3.这是从机响应了第九个时钟,开始获取SDA控制,将SDA拉低

以上只是一瞬间,表现为SDA会出现毛刺,且是周期性的。

以上,就是IIC会周期性出现毛刺的原因

使用滤波器 去除有规律的毛刺

此毛刺不会I2C总线的读写时序产生影响。无需处理。