I2C troubleshooting

May 14, 2005 4 Replies

Greetings,



I'm currently facing a weird problem trying to have a i2c master and several slaves communicate...



The slave will only send an acknowledge back to the master if the data and clock signals have probes on them. The probes have a 1 M-ohm resistance... As soon as I take the probes off, the master never receives an acknowledge...



Any pointer or tip on how to debug this would be greatly appreciated.



Best regards,


Patrick M.


maybe add a pull-up resistor? 100k or even 1meg rw

The probe is acting like a pull-down resistor (my guess). Look at the rise and fall times on the signal lines. My guess is that if you add a 10k or so pull-down resistor to the lines the fall time will be greatly improved, and the problem will go away.

Some informative links: news:news.announce.newusers http://www.geocities.com/nnqweb/ http://www.catb.org/~esr/faqs/smart-questions.html http://www.caliburn.nl/topposting.html http://www.netmeister.org/news/learn2quote.html

You mean besides the obvious solution of "include free probes with every system ?" :)

Also try unplug of the probes from the CRO end, and see if that changes, and also flick the IP coupling from DC to AC. On most CROs that removes the grounding load, as it adds a CAP in series. Those steps change the capacitance, and parallel resistance, so you can see what element matters most.

-jg

I think you should the datasheets. Pretty much every I2c bus I have seen will require pull-up resistors in the order of 10k or up.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required