I'm doing a project involving a PIC24FJ64GA102 talking to a MPL3115A2 altimeter over I2C. The altimeter is the only slave device.
There are 1K pullups, and the traces from altimeter to mcu are ~5mm long.
When initially setting up the I2C driver, I scoped the start condition and got this:
Now that doesn't look particularly good, so I tried without slew control and got:
Much better without slew control. So any ideas why there's so much ~100MHz oscillation when it's enabled?
Isn't the point of slew control is to reduce EMI and ringing? Seems like it would make it worse in this case.
It will probably work either way, but haven't tried yet. This is going into a gadget that absolutely cannot afford having flipped bits in the I2C bus data.