I'm trying to debug an I2C device, and the wave is looking really weird. Why is it curved?
Asked
Active
Viewed 138 times
0

Nathan Ringo
- 103
- 3
-
1R-C time. Your trace capacitance is relatively high, or your pull-up resistors are. – Asmyldof Jul 02 '15 at 23:52
-
2Related: [What happens if I omit the pullup resistors on I2C lines?](http://electronics.stackexchange.com/q/102611/7036) The O.P. in that thread was using internal pull-ups without knowing it. Illuminating oscilloscope plots in that thread. – Nick Alexeev Jul 03 '15 at 00:01
1 Answers
0
The ICs internally use open drain/collector drivers to actively pull the signal low so you see "fast" fall times. In contrast, when the drivers are off the line is pulled high through a pull-up resister and consequently you have a longer RC time, and a slower rise.
You don't say what kind of the design this is. Is it a commercial device or something you've soldered up or perhaps built on a breadboard. Depending on those things you may want to check the connections and size of resisters being used. It might also be that the ICs you're using require that you enable pull-ups.

David Gardner
- 1,583
- 1
- 13
- 15
-
3
-
Yeah, I'm using the Arduino, so it seems I need pullup resistors. Thanks! – Nathan Ringo Jul 03 '15 at 00:10
-
Yep you do. Simple 1/4 watt 4k7 ohms is ok. One on each line. The Arduino does have built-in pull-up resistors, you could try to enable those. – captcha Jul 03 '15 at 03:13