Electrical – How to get rid of this reflection on falling edge of i2c SDA line

edgei2creflectionsignal integrity

This is the scopeshot of the falling edge:

enter image description here

How to get rid of the reflections on the falling edge of this SDA line?

Best Answer

Non-monotonic edges on the I2C SDA line are rarely a problem. During the main part of any transfer, the data is clocked by the SCL line, and this occurs only when the SDA line is stable.

The only time a falling edge on SDA is significant is when it is used to signal the I2C "start" condition — falling edge on SDA while SCL is high.

There is one situation in which this could present a problem. Some devices require a "repeated start" condition — a "start" that is not preceded by a "stop" — in order to properly implement certain read operations.

A glitch during such a repeated start could be interpreted by the device as a "stop" followed by a "start", which would leave it in the wrong state.

The glitch you show is really tiny, and as Wouter says, many I2C devices incorporate Schmitt triggers (hysteresis) in order to mitigate glitches like this.

Any sort of low-pass filtering will also help. A low-value series resistor (on the order of a few tens of ohws) located near the master device, in conjunction with the bus's distributed capacitance, will form such a filter. Experiment to find the best value for your application.