LM75的I2C的DATA信号在CLK边沿处出现波动

问题没提好,重新编辑修改下:
如图所示为温度传感器LM75AIM的I2C波形,黄色的是CLK信号,蓝色的是DATA信号,DATA信号在CLK边沿处出现波动(红色圈圈处),这应该怎么解决?

img

这很明显就是CLK信号变化引起的啊。你的clk和data都是通过电阻上拉到同一个VCC的。

  1. 当clk由低变高时(即输出三极管关闭),从VCC到clk端口的电流会突然从几mA减小到0,由于走线有寄生电感,而电感电流变化时,电感会产生电动势,这个电动势电动势会叠加到VCC上,VCC电源线上电压就会被突然抬高(你看VCC,也会有同样一个小尖峰),然后你就会在data上看到这么一个向上的小尖峰。
  2. 当CLK由高变低时,即clk端口的三极管突然打开,把上拉电阻的一端接GND。这时就会有电流从VCC流向CLK端口,由于走线寄生电感和VCC滤波电容不够理想的原因,VCC会暂时的跌落,这个跌落也会反应到data端口,所以你就看到了这个向下向下的尖峰。

I2C 的俩线相互干扰
可以在 SCK,SDA 这两条线与地之间各加一个几皮法到几十皮法的电容
1:电容可以加在从设备的芯片管脚附近。
2:电容可以加在主设备的芯片管脚附近。
3:电容在主设备和多个从设备的管脚附近都加,电容的值可以适当减小。