I2C Waveform Issue

Thread Starter

NikoTek

Joined Sep 8, 2020
8
Hello all,

I am using an MPU9250 via I2C and used an oscilloscope to observe the I2C waveforms. The SCL and SDA waveforms are attached. SCL seemed ok being square enough. But SDA waveform doesn't go to zero completely rather there are small steps where it goes to zero. Just want to understand if this is normal behavior, if not what might be causing this and how to address it. I am using 1k pull ups and the bus speed is 400khz.
 

Attachments

Papabravo

Joined Feb 24, 2006
21,227
You need to look at the pullup resistors on the SCL and SDA lines. If the resistors are too small leading to faster risetimes then the Master I2C device may not be able to pull them all the way to GROUND. It also looks like the bits that are pulled to GROUND are in the ACK slot. It that the case? You should be aware that there are both high and low limits for the pullup value.
 

Attachments

Ian0

Joined Aug 7, 2020
9,844
What you can see are the attempts by two different devices to pull the bus down to 0V. One has a higher drive capability than the other.
In the left half of the display the device with better drive is providing the "acknowledge" pulses.
At the right of the display, the device with the better drive is sending data,
 

drjohsmith

Joined Dec 13, 2021
852
Hello all,

I am using an MPU9250 via I2C and used an oscilloscope to observe the I2C waveforms. The SCL and SDA waveforms are attached. SCL seemed ok being square enough. But SDA waveform doesn't go to zero completely rather there are small steps where it goes to zero. Just want to understand if this is normal behavior, if not what might be causing this and how to address it. I am using 1k pull ups and the bus speed is 400khz.

The "high" low level of the SDA looks about 0.6 volts,
if so thats rather high,

what is your pull up voltage on the I2C resistors ,
What are you using to drive the I2C to the MPU9250 ?

The MPU9250, is also switched between I2C and SPI mode,
ensure its not in SPI mode if your driving it I2C,

Also note, the AUX_DA , AUX_CL outputs are notorious hard to interface any IC to, due to the compass part of the chip using that

May be you could provide a schematic of the bit your looking at
 
Top